Heterogeneous Coupled Evolution of Software Languages

Sander Vermolen, Eelco Visser. Heterogeneous Coupled Evolution of Software Languages. In Krzysztof Czarnecki, Ileana Ober, Jean-Michel Bruel, Axel Uhl, Markus Völter, editors, Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28 - October 3, 2008. Proceedings. Volume 5301 of Lecture Notes in Computer Science, pages 630-644, Springer, 2008. [doi]


As most software artifacts, meta-models can evolve. Their evolution requires conforming models to co-evolve along with them. Coupled evolution supports this. Its applicability is not limited to the modeling domain. Other domains are for example evolving grammars or database schemas. Existing approaches to coupled evolution focus on a single, homogeneous domain. They solve the co-evolution problems locally and repeatedly. In this paper we present a systematic, heterogeneous approach to coupled evolution. It provides an automatically derived domain specific transformation language; a means of executing transformations at the top level; a derivation of the coupled bottom level transformation; and it allows for generic abstractions from elementary transformations. The feasibility of the architecture is evaluated by applying it to data model evolution.