skip to main content
research-article
Open access

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

Published: 24 May 2024 Publication History

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.

References

[1]
Deniz Akdur, Vahid Garousi, and Onur Demirörs. 2018. A survey on modeling and model-driven engineering practices in the embedded software industry. Journal of Systems Architecture 91 (2018), 62--82.
[2]
Lorenzo Bettini, Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio. 2022. An executable metamodel refactoring catalog. Software and Systems Modeling 21 (10 2022), 1689--1709. Issue 5.
[3]
Holger Stadel Borum and Christoph Seidl. 2022. Survey of established practices in the life cycle of domain-specific languages. In 25th International Conference on Model Driven Engineering Languages and Systems. 266--277.
[4]
Marco Brambilla, Jordi Cabot, and Manuel Wimmer. 2017. Model-driven software engineering in practice. Morgan & Claypool Publishers.
[5]
Elyes Cherfa, Soraya Mesli-Kesraoui, Chouki Tibermacine, Salah Sadou, and Régis Fleurquin. 2021. Identifying Metamodel Inaccurate Structures During Metamodel/Constraint Co-Evolution. In 2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS). IEEE, 24--34.
[6]
Antonio Cicchetti, Federico Ciccozzi, and Thomas Leveque. 2012. A Solution for Concurrent Versioning of Metamodels and Models. J. Object Technol. 11 (2012), 1. Issue 3.
[7]
Antonio Cicchetti, Federico Ciccozzi, Thomas Leveque, and Alfonso Pierantonio. 2011. On the concurrent versioning of metamodels and models: challenges and possible solutions. In 2nd International Workshop on Model Comparison in Practice. 16--25.
[8]
Eclipse-Foundation. 2023-12-06. Eclipse-Edapt. https://projects.eclipse.org/projects/modeling.emft.edapt
[9]
Eclipse-Foundation. 2023-12-06. Eclipse-EMF. https://projects.eclipse.org/projects/modeling.emf.emf
[10]
Eclipse-Foundation. 2023-12-06. EMF-Compare. https://eclipse.dev/emf/compare/
[11]
Stefan Fischer, Lukas Linsbauer, Roberto Erick Lopez-Herrejon, and Alexander Egyed. 2014. Enhancing clone-and-own with systematic reuse for developing software variants. In 2014 IEEE International conference on software maintenance and evolution. IEEE, 391--400.
[12]
Git. 2023-12-06. Git. https://git-scm.com/
[13]
Regina Hebig, Djamel Eddine Khelladi, and Reda Bendraou. 2017. Approaches to Co-Evolution of Metamodels and Models: A Survey. IEEE Transactions on Software Engineering 43 (5 2017), 396--414. Issue 5.
[14]
Edvin Herac, Wesley K. G. Assunção, Luciano Marchezan, Rainer Haas, and Alexander Egyed. 2023. A flexible operation-based infrastructure for collaborative model-driven engineering. Journal of Object Technology 22, 2 (July 2023), 2:1--14. The 19th European Conference on Modelling Foundations and Applications (ECMFA 2023).
[15]
John Hutchinson, Jon Whittle, Mark Rouncefield, and Steinar Kristoffersen. 2011. Empirical assessment of MDE in industry. In 33rd international conference on software engineering. 471--480.
[16]
Ludovico Iovino, Amleto Di Salle, Davide Di Ruscio, and Alfonso Pierantonio. 2020. Metamodel deprecation to manage technical debt in model co-evolution. 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, 1--10.
[17]
Cory J Kapser and Michael W Godfrey. 2008. "Cloning considered harmful" considered harmful: patterns of cloning in software. Empirical Software Engineering 13 (2008), 645--692.
[18]
Wael Kessentini and Vahid Alizadeh. 2020. Interactive metamodel/model co-evolution using unsupervised learning and multi-objective search. 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, 68--78.
[19]
Wael Kessentini and Vahid Alizadeh. 2022. Semi-automated metamodel/model co-evolution: a multi-level interactive approach. Software and Systems Modeling 21 (10 2022), 1853--1876. Issue 5.
[20]
Wael Kessentini, Houari Sahraoui, and Manuel Wimmer. 2019. Automated meta-model/model co-evolution: A search-based approach. Information and Software Technology 106 (2 2019), 49--67.
[21]
Wael Kessentini, Manuel Wimmer, and Houari Sahraoui. 2018. Integrating the designer in-the-loop for metamodel/model co-evolution via interactive computational search. In 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems. 101--111.
[22]
Djamel Eddine Khelladi, Regina Hebig, Reda Bendraou, Jacques Robin, and Marie-Pierre Gervais. 2015. Detecting complex changes during metamodel evolution. In Advanced Information Systems Engineering: 27th International Conference, CAiSE 2015, Stockholm, Sweden, June 8--12, 2015, Proceedings 27. Springer, 263--278.
[23]
Miryung Kim, Vibha Sazawal, David Notkin, and Gail Murphy. 2005. An Empirical Study of Code Clone Genealogies. In 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering (Lisbon, Portugal) (ESEC/FSE-13). Association for Computing Machinery, New York, NY, USA, 187--196.
[24]
Maximilian Koegel, Markus Herrmannsdoerfer, Jonas Helming, and Yang Li. 2009. State-based vs. operation-based change tracking. In Proceedings of MODELS, Vol. 9.
[25]
Jacob Krüger and Thorsten Berger. 2020. An empirical analysis of the costs of clone-and platform-oriented software reuse. In 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 432--444.
[26]
Feifei Niu, Wesley KG Assunçao, LiGuo Huang, Christoph Mayr-Dorn, Jidong Ge, Bin Luo, and Alexander Egyed. 2023. RAT: A Refactoring-Aware Traceability Model for Bug Localization. In 2023 45th International Conference on Software Engineering (ICSE). IEEE.
[27]
Manuel Ohrndorf, Christopher Pietsch, Udo Kelter, Lars Grunske, and Timo Kehrer. 2021. History-based model repair recommendations. ACM Transactions on Software Engineering and Methodology (TOSEM) 30, 2 (2021), 1--46.
[28]
Mert Ozkaya and Deniz Akdur. 2021. What do practitioners expect from the meta-modeling tools? A survey. Journal of Computer Languages 63 (2021), 101030.
[29]
Davide Di Ruscio, Amleto Di Salle, Ludovico Iovino, and Alfonso Pierantonio. 2023. A modeling assistant to manage technical debt in coupled evolution. Information and Software Technology 156 (4 2023), 107146.
[30]
Douglas C. Schmidt. 2006. Model-driven engineering. Computer 39 (2006). Issue 2.
[31]
Sander D Vermolen, Guido Wachsmuth, and Eelco Visser. 2011. Reconstructing complex metamodel evolution. In International Conference on Software Language Engineering. Springer, 201--221.
[32]
Guido Wachsmuth. 2007. Metamodel adaptation and model co-adaptation. In European conference on object-oriented programming. Springer, 600--624.

Index Terms

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

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICSE-NIER'24: Proceedings of the 2024 ACM/IEEE 44th International Conference on Software Engineering: New Ideas and Emerging Results
    April 2024
    127 pages
    ISBN:9798400705007
    DOI:10.1145/3639476
    This work is licensed under a Creative Commons Attribution International 4.0 License.

    Sponsors

    In-Cooperation

    • Faculty of Engineering of University of Porto

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 24 May 2024

    Check for updates

    Author Tags

    1. metamodel evolution
    2. versioning
    3. recording metamodel history

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ICSE-NIER'24
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 82
      Total Downloads
    • Downloads (Last 12 months)82
    • Downloads (Last 6 weeks)20
    Reflects downloads up to 24 Oct 2024

    Other Metrics

    Citations

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media