Over the course of the complete life cycle of complex softwareintensive
systems and more importantly of entire product families,
evolution is inevitable. Not only instance models, but also entire
modelling languages are subject to change. This is in particular true
for domain-specific languages. Up to this day, modelling languages
are evolved manually, with tedious and error-prone migration of for
example instance models as result. This position paper discusses
the different evolution scenarios for various kinds of modelling artifacts,
such as instance models, meta-models and transformation
models. Subsequently, evolution is de-composed into four primitive
scenarios such that all possible evolutions can be covered. The
pre-requisites for implementing this approach are discussed, showing
how a number of these are not yet supported by Fujaba. We suggest
that using our structured approach in Fujaba will allow a relatively
straightforward implementation of (semi-)automatic model
evolution.
|