Markus Herrmannsdörfer, Sebastian Benz, Elmar Jürgens. COPE: A Language for the Coupled Evolution of Metamodels and Models. In 1st International Workshop on Model Co-Evolution and Consistency Management. 2008.
Domain-specific modeling promises to increase productivity by offering modeling languages tailored to a problem domain. Such modeling languages are typically defined by a metamodel. In consequence of changing requirements and technological progress, the problem domains and thus the metamodels are subject to change. Manually migrating models to a new version of their corresponding metamodel is costly, tedious and error-prone and heavily hampers cost-efficient model-based development in practice. The coupled evolution of a metamodel and its models is a sequence of metamodel changes and their corresponding model migrations. These coupled changes are either metamodel-specific or metamodel-independent. Metamodel-independent changes can be reused to evolve different metamodels and their models, thus reducing migration effort. However, tool support is necessary in order to exploit these reuse opportunities. We propose a language that allows for decomposition of a migration into manageable, modular coupled changes. It provides a reuse mechanism for metamodel-independent changes, but is at the same time expressive enough to cater for complex, metamodel-specific changes.