Albert Benveniste, Werner Damm, Alberto Sangiovanni-Vincentelli, Dejan Nickovic, Roberto Passerone, and Philipp Reinkemeier
This is Part I of a sequence of two papers on Contract-Based Design (CBD). It is intended to: Introduce the concepts underlying CBD; Present the challenges facing facing designers of large-scale complex systems today; Review the design methodologies so far used to address these challenges and show how contracts can be used in all these approaches to enhance their applicability and the quality of the final result, and Present three examples of the use of contracts: one simple example to underline the key steps of contract-based design, one about the use of contracts in enhancing and extending the AUTOSAR automotive standard and one related to analog-mixed signal integrated circuit design. Part II covers the theoretical foundations for contracts that are essential to make the methodology robust and well supported by tools and software frameworks. We believe contract-based design is going to be a key part of the future of system design and for this reason, this contribution is important for the design community.