Recently, contract-based design has been proposed as an "orthogonal" approach that complements system design methodologies proposed so far to cope with the complexity of system design. Contract-based design provides a rigorous scaffolding for verification, analysis, abstraction/refinement, and even synthesis. Several results have been obtained in this domain but a unified treatment of the topic that can help put contract-based design in perspective...