In this paper we adopt a component model based on object-oriented systems, introducing the concepts of components and their structure. A component consists of a dynamically changi...
Types are fundamental for enforcing levels of abstraction in modern high-level programming languages and their lower-level representations. However, some type-related features suc...
Design by Contract (DbC) is widely acknowledged to be a powerful technique for creating reliable software. DbC allows developers to specify the behavior of an operation precisely ...
Inheritance is a useful mechanism for factoring and reusing code. However, it has limitations for building extensible systems. We describe nested inheritance, a mechanism that add...
Abstract. Motivated by the proliferation and usefulness of Domain Specific Languages as well as the demand in enriching well established languages by high level capabilities like p...
Emilie Balland, Claude Kirchner, Pierre-Etienne Mo...