Co-evolution of metamodels and models through consistent change propagation

Andreas Demuth, Markus Riedl-Ehrenleitner, Roberto Erick Lopez-Herrejon, Alexander Egyed

Research output: Contribution to journalArticlepeer-review

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 languageEnglish
Pages (from-to)281-297
Number of pages17
JournalThe Journal of Systems and Software
DOIs
Publication statusPublished - 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)

Cite this