By Albert Benveniste, INRIA, France, albert.benveniste@inria.fr | Benoît Caillaud, INRIA, France, benoit.caillaud@inria.fr | Dejan Nickovic, Austrian Institute of Technology, Austria, Dejan.Nickovic@ait.ac.at | Roberto Passerone, University of Trento, Italy, roberto.passerone@unitn.it | Jean-Baptiste Raclet, IRIT, France, raclet@irit.fr | Philipp Reinkemeier, Offis and University of Oldenberg, Germany, Philipp.Reinkemeier@offis.de | Alberto Sangiovanni-Vincentelli, University of California at Berkeley, USA, alberto@eecs.berkeley.edu | Werner Damm, Offis and University of Oldenburg, Germany, werner.damm@offis.de | Thomas A. Henzinger, IST Austria, Austria, tah@ist.ac.at | Kim G. Larsen, Aalborg University, Denmark, kgl@cs.aau.dk
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. A number of results have been obtained in this domain but a unified treatment of the topic that can help put contract-based design in perspective was missing. This monograph intends to provide such a treatment where contracts are precisely defined and characterized so that they can be used in design methodologies with no ambiguity. In particular, this monograph identifies the essence of complex system design using contracts through a mathematical “meta-theory”, where all the properties of the methodology are derived from a very abstract and generic notion of contract. We show that the meta-theory provides deep and illuminating links with existing contract and interface theories, as well as guidelines for designing new theories. Our study encompasses contracts for both software and systems, with emphasis on the latter. We illustrate the use of contracts with two examples: requirement engineering for a parking garage management, and the development of contracts for timing and scheduling in the context of the AUTOSAR methodology in use in the automotive sector.
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 has been missing.
Contracts for System Design provides such a treatment where contracts are precisely defined and characterized so that they can be used in design methodologies with no ambiguity. It identifies the essence of complex system design using contracts through a mathematical “meta-theory”, where all the properties of the methodology are derived from a very abstract and generic notion of contract. This meta-theory provides deep and illuminating links with existing contract and interface theories, as well as guidelines for designing new theories. It encompasses contracts for both software and systems, with emphasis on the latter. Contracts for System Design illustrates the use of contracts with two examples: requirement engineering for a parking garage management, and the development of contracts for timing and scheduling in the context of the AUTOSAR methodology in use in the automotive sector.