In object technology, reusability is achieved primarily through class inheritance. In model engineering, where reusability is also important, it should be possible to extend a modeling artifact in a similar manner to add new capabilities. This paper presents a conceptual and practical approach tomodel extensibility, in which new models are created as derivations from base models. There are several situations where such an extensibility mechanism is useful and essential (e.g., in the case of hierarchies of metamodels). In order to achieve the goal of model extension, a precise definition of the extensionmechanism is needed, based on a strictmodel definition. After describing the context of model extension through a motivating example, the paper outlines a practical implementation with characterization of its main conceptual properties. The solution is being implemented as part of the AMMA model engineering platform under Eclipse.
['Mikael Barbero', 'Frédéric Jouault', 'Jeff Gray', 'Jean Bézivin']
A practical approach to model extension