Abstract: In model-driven engineering, evolution is inevitable
over the course of the complete life cycle of complex
software-intensive systems and more importantly of entire product
families. Not only instance models, but also entire modelling
languages are subject to change. This is in particular true for
domain-specific languages, whose language constructs are tightly
coupled to an application domain.
The most popular approach to evolution in the modelling
domain is a manual process, with tedious and error-prone migration
of artefacts such as instance models as a result. This paper
provides a taxonomy for evolution of modelling languages and
discusses the different evolution scenarios for various kinds of
modelling artefacts, such as instance models, meta-models, and
transformation models. Subsequently, the consequences of evolution
and the required remedial actions are decomposed into primitive
scenarios such that all possible evolutions can be covered
exhaustively. These primitives are then used in a high-level
framework for the evolution of modelling languages.
We suggest that our structured approach enables the design of
(semi-)automatic modelling language evolution solutions.
Research
highlights
* In model-driven development, evolution of modelling
languages is inevitable. * Necessary migration of (meta-)models
and transformation models is currently manual. * In this paper, a
modelling language evolution taxonomy and different evolution
scenarios are given. * Required remedial actions are decomposed
into primitive scenarios. * Our framework for modelling language
evolution builds on these primitives.