Abstract
The main goal of "Design by Contract" is to improve correctness and robustness of software systems. For this purpose, the interfaces of classes or modules are augmented with precise specifications containing assertions. By means of these assertions, a supplier of a service imposes contractual obligations that his clients have to fulfill. "Componentware" introduces a new software development paradigm. Systems are no longer implemented from scratch, but glued together from existing components. In this paper, we show why and how the concepts of pure design by contract fail in the context of component-based system development. In order to leverage the vision of design by contract to its full extent for component-based system development, we introduce the new concept of "Design by Signed Contract". Signed contracts enable us to specify not only what a supplier provides to its environment, but also what a client needs from its environment. Signed contracts guarantee that client needs are satisfied by corresponding properties provided by suppliers. We show how signed contracts can be used for a more precise specification of the composition of component-based systems and a more formal verification of the correctness of these systems. Thereby, software system defects can already be detected and prevented at the specification level.
Cite
CITATION STYLE
Rausch, A. (2002). “Design by Contract” + “Componentware” = “Design by Signed Contract.” In Journal of Object Technology (Vol. 1, pp. 19–36). Journal of Object Technology. https://doi.org/10.5381/jot.2002.1.3.a2
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.