"Don’t Touch my Model!" Towards Managing Model History and Versions during Metamodel Evolution

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

Metamodels, as any other software artifact, are expected to evolve. Consequently, the instances of those metamodels - aka the models - must evolve according to the changes made to the metamodels. This is commonly known as co-evolution and is a prominent research topic in Model Driven Engineering. However, co-evolution mostly adopts an all-or-nothing strategy and does not consider two important aspects, namely (i) recording the evolution history of a metamodel and (ii) allowing models to co-evolve at different times. We find that industrial co-evolution is commonly triggered by customer needs (the users of metamodels). For example, in the manufacturing domain, co-evolution tends to be tied to evolving hardware infrastructure. This implies that co-evolution is rarely dictated by the evolution of the metamodel but rather by the evolution needs of the models - and these evolution needs vary. In this paper, we propose an approach that allows engineers to record the history of a metamodel as versions and also create and maintain arbitrary models of those versioned metamodels, thus allowing engineers to co-evolve models at different times.
Original languageEnglish
Title of host publication46th International Conference on Software Engineering (ICSE), Lisbon, Portugal, April 2024
Pages77-81
Number of pages5
DOIs
Publication statusPublished - Apr 2024

Fields of science

  • 102 Computer Sciences
  • 102022 Software development

JKU Focus areas

  • Digital Transformation

Cite this