Abstract
In model-driven engineering (MDE), metamodels and domain-specific languages are key artifacts as they are used to define syntax and static semantics of domain models. However, metamodels are evolving over time, requiring existing domain models to be co-evolved. Though approaches have been proposed for performing such co-evolution automatically, those approaches typically support only specific metamodel changes. In this paper, we present a vision of co-evolution between metamodels and models through consistent change propagation. The approach addresses co-evolution issues without being limited to specific metamodels or evolution scenarios. It relies on incremental management of metamodel-based constraints that are used to detect co-evolution failures (i.e., inconsistencies between metamodel and model). After failure detection, the approach automatically generates suggestions for correction (i.e., repairs for inconsistencies). A case study with the UML metamodel and 23 UML models shows that the approach is technically feasible and also scalable.
Original language | English |
---|---|
Pages (from-to) | 281-297 |
Number of pages | 17 |
Journal | The Journal of Systems and Software |
DOIs | |
Publication status | Published - Jan 2016 |
Fields of science
- 102 Computer Sciences
- 102022 Software development
JKU Focus areas
- Computation in Informatics and Mathematics
- Engineering and Natural Sciences (in general)