Contract Software Model