COPE - Automating Coupled Evolution of Metamodels and Models

Markus Herrmannsdörfer, Sebastian Benz, Elmar Jürgens. COPE - Automating Coupled Evolution of Metamodels and Models. In ECOOP 2009 - Object-Oriented Programming. Volume 5653 of Lecture Notes in Computer Science, Springer Berlin / Heidelberg, 2009. [doi]

Abstract

Model-based development promises to increase productivity by offering modeling languages tailored to a specific domain. Such modeling languages are typically defined by a metamodel. In response to changing requirements and technological progress, the domains and thus the metamodels are subject to change. Manually migrating existing models to a new version of their metamodel is tedious and error-prone. Hence, adequate tool support is required to support the maintenance of modeling languages. This paper introduces COPE, an integrated approach to specify the coupled evolution of metamodels and models to reduce migration effort. With COPE, a language is evolved by incrementally composing modular coupled transformations that adapt the metamodel and specify the corresponding model migrations. This modular approach allows to combine the reuse of recurring transformations with the expressiveness to cater for complex transformations. We demonstrate the applicability of COPE in practice by modeling the coupled evolution of two existing modeling languages.