Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-031-09843-7_7guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Towards Development with Multi-version Models: Detecting Merge Conflicts and Checking Well-Formedness

Published: 07 July 2022 Publication History

Abstract

Developing complex software requires that multiple views and versions of the software can be developed in parallel and merged as supported by views and managed by version control systems. In this context, this paper considers permanent monitoring of merging and related consistency problems at the level of models and abstract syntax. The presented approach introduces multi-version models based on typed graphs that permit to store changes and multiple versions in one graph in a compact form and allow (1) to study well-formedness for all versions without the need to extract each version individually, (2) to report all possible merge conflicts without the need to merge all pairs of versions, and (3) to report all violations of well-formedness conditions that will result for merges of any two versions independent of any merge decisions without the need to merge all pairs of versions. Thereby, the approach aims to permit early and frequent conflict detection while developing in parallel. The paper defines the related concepts and algorithms operating on multi-version models, proves their correctness w.r.t. the usually employed three-way-merge, and reports on preliminary experiments concerning the scalability.

References

[1]
Arendt T, Biermann E, Jurack S, Krause C, and Taentzer G Petriu DC, Rouquette N, and Haugen Ø Henshin: advanced concepts and tools for in-place EMF model transformations Model Driven Engineering Languages and Systems 2010 Heidelberg Springer 121-135
[2]
Barkowsky, M., Giese, H.: Towards Development with Multi-Version Models: Detecting Merge Conflicts and Checking Well-Formedness. arXiv preprint (2022).
[3]
Blanc X, Mougenot A, Mounier I, and Mens T van Eck P, Gordijn J, and Wieringa R Incremental detection of model inconsistencies based on model operations Advanced Information Systems Engineering 2009 Heidelberg Springer 32-46
[4]
Brun Y, Holmes R, Ernst MD, and Notkin D Early detection of collaboration conflicts and risks IEEE Trans. Softw. Eng. 2013 39 10 1358-1375
[5]
Bruneliere, H., Cabot, J., Jouault, F., Madiot, F.: MoDisco: a generic and extensible framework for model driven reverse engineering. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (2010).
[6]
Czarnecki K and Antkiewicz M Glück R and Lowry M Mapping features to models: a template approach based on superimposed variants Generative Programming and Component Engineering 2005 Heidelberg Springer 422-437
[7]
Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness OCL constraints. In: Proceedings of the 5th International Conference on Generative Programming and Component Engineering, GPCE 2006, pp. 211–220. Association for Computing Machinery, New York (2006).
[8]
Diskin, Z., Czarnecki, K., Antkiewicz, M.: Model-versioning-in-the-large: algebraic foundations and the tile notation. In: 2009 ICSE Workshop on Comparison and Versioning of Software Models, pp. 7–12. IEEE (2009).
[9]
Ehrig H, Ehrig K, Prange U, and Taentzer G Fundamentals of Algebraic Graph Transformation 2006 Heidelberg Springer
[11]
Finkelstein ACW, Gabbay D, Hunter A, Kramer J, and Nuseibeh B Inconsistency handling in multiperspective specifications IEEE Trans. Software Eng. 1994 20 8 569-578
[12]
Frühauf K and Zeller A Software configuration management: state of the art, state of the practice System Configuration Management 1999 Heidelberg Springer 217-227
[13]
García-Domínguez, A., Bencomo, N., Parra-Ullauri, J.M., García-Paucar, L.H.: Querying and annotating model histories with time-aware patterns. In: 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 194–204. IEEE (2019).
[14]
Giese, H., Hildebrandt, S., Seibel, A.: Improved flexibility and scalability by interpreting story diagrams. In: Electronic Communications of the EASST, vol. 18 (2009).
[15]
Giese H, Maximova M, Sakizloglou L, and Schneider S Hähnle R and van der Aalst W Metric temporal graph logic over typed attributed graphs Fundamental Approaches to Software Engineering 2019 Cham Springer 282-298
[16]
Git. https://git-scm.com/. Accessed 23 Feb 2022
[17]
Heckel R, Küster JM, and Taentzer G Corradini A, Ehrig H, Kreowski H-J, and Rozenberg G Confluence of typed attributed graph transformation systems Graph Transformation 2002 Heidelberg Springer 161-176
[18]
Koegel, M., Helming, J.: EMFStore: a model repository for EMF models. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 2, pp. 307–308 (2010).
[19]
Küster JM, Gerth C, and Engels G Paige RF, Hartman A, and Rensink A Dependent and conflicting change operations of process models Model Driven Architecture - Foundations and Applications 2009 Heidelberg Springer 158-173
[20]
Mens T A state-of-the-art survey on software merging IEEE Trans. Softw. Eng. 2002 28 5 449-462
[21]
Murta, L., Corrêa, C., Prudêncio, J.G., Werner, C.: Towards odyssey-VCS 2: improvements over a UML-based version control system. In: Proceedings of the 2008 International Workshop on Comparison and Versioning of Software Models (2008).
[22]
Pietsch, C., Kelter, U., Kehrer, T.: From pairwise to family-based generic analysis of delta-oriented model-based SPLs, pp. 13–24. Association for Computing Machinery, New York (2021).
[23]
Reuling, D., Pietsch, C., Kelter, U., Kehrer, T.: Towards projectional editing for model-based SPLs. In: Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems, VAMOS 2020. Association for Computing Machinery, New York (2020).
[24]
Rutle A, Rossini A, Lamo Y, and Wolter U Chechik M and Wirsing M A category-theoretical approach to the formalisation of version control in MDE Fundamental Approaches to Software Engineering 2009 Heidelberg Springer 64-78
[25]
Sakizloglou, L., Ghahremani, S., Barkowsky, M., Giese, H.: Incremental execution of temporal graph queries over runtime models with history and its applications. Softw. Syst. Model. 1–41 (2021).
[26]
Taentzer G, Ermel C, Langer P, and Wimmer M A fundamental approach to model versioning based on graph modifications: from theory to implementation Softw. Syst. Model. 2012 13 1 239-272
[27]
Westfechtel, B.: A formal approach to three-way merging of EMF models. In: Proceedings of the 1st International Workshop on Model Comparison in Practice (2010).
[28]
Westfechtel B and Greiner S Extending single- to multi-variant model transformations by trace-based propagation of variability annotations Softw. Syst. Model. 2020 19 4 853-888

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
Graph Transformation: 15th International Conference, ICGT 2022, Held as Part of STAF 2022, Nantes, France, July 7–8, 2022, Proceedings
Jul 2022
215 pages
ISBN:978-3-031-09842-0
DOI:10.1007/978-3-031-09843-7
  • Editors:
  • Nicolas Behr,
  • Daniel Strüber

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 07 July 2022

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media