In this paper, we present a contract-based language to specify and model the properties of design components and their composition in order to detect and correct composition errors. We show how to represent the instantiation, the evolution and the integration of design components, and how to find design composition errors. One important aspect of many design components is their evolution. Our approach is designed to ensure that the formalization of the design component is preserved in presence of evolution. To enable this, we present a pattern contract language that captures the structural and behavioral requirements associated with a range of patterns, as well as the system properties that are guaranteed as a result.
展开▼