Complexity is an essential property of software systems that increases in a non-linear fashion with the size of the software system. In software engineering, Model Driven Engineering (MDE) aims to alleviate this complexity by utilising models and modelling activities to raise the level of abstraction and to automate the production of artefacts. One specialised technique with this purpose is the model transformation, which allows the automated creation and modification of output models based on input models. As models and model transformations are used in a productive capacity, they underlie the same evolutionary pressure that conventionally build software systems do. Here the tight coupling between model transformations and metamodels becomes problematic, as changing the one often results in the need to check and adapt the other accordingly. This thesis presents an operator-based, stepwise approach to support software architects in the co-evolution of metamodels and model transformations. The approach allows the description of changes done to a metamodel and the automatic or semi-automatic resolution of the impact on related model transformations. Overall the effort needed for co-evolution is reduced.
Complexity is an essential property of software systems that increases in a non-linear fashion with the size of the software system. In software engineering, Model Driven Engineering (MDE) aims to alleviate this complexity by utilising models and modelling activities to raise the level of abstraction and to automate the production of artefacts. One specialised technique with this purpose is the model transformation, which allows the automated creation and modification of output models based on input models. As models and model transformations are used in a productive capacity, they underlie the same evolutionary pressure that conventionally build software systems do. Here the tight coupling between model transformations and metamodels becomes problematic, as changing the one often results in the need to check and adapt the other accordingly. This thesis presents an operator-based, stepwise approach to support software architects in the co-evolution of metamodels and model transformations. The approach allows the description of changes done to a metamodel and the automatic or semi-automatic resolution of the impact on related model transformations. Overall the effort needed for co-evolution is reduced.