Skip to main content

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

  • Conference paper
  • First Online:
Graph Transformation (ICGT 2022)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13349))

Included in the following conference series:

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.

This work was developed mainly in the course of the project modular and incremental Global Model Management (project number 336677879) funded by the DFG.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    All experiments were executed on a Linux SMP Debian 4.19.67-2 machine with Intel Xeon E5-2630 CPU (2.3 GHz clock rate) and 386 GB system memory running OpenJDK version 1.8.0_242. Reported execution times correspond to the minimum of at least five runs of the respective experiment. Memory measurements were obtained in a single run using the native Java library. Our implementation and datasets are available under https://github.com/hpi-sam/multi-version-models.

References

  1. Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16145-2_9

    Chapter  Google Scholar 

  2. Barkowsky, M., Giese, H.: Towards Development with Multi-Version Models: Detecting Merge Conflicts and Checking Well-Formedness. arXiv preprint (2022). https://doi.org/10.48550/arXiv.2205.04198

  3. Blanc, X., Mougenot, A., Mounier, I., Mens, T.: Incremental detection of model inconsistencies based on model operations. In: van Eck, P., Gordijn, J., Wieringa, R. (eds.) CAiSE 2009. LNCS, vol. 5565, pp. 32–46. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02144-2_8

    Chapter  Google Scholar 

  4. Brun, Y., Holmes, R., Ernst, M.D., Notkin, D.: Early detection of collaboration conflicts and risks. IEEE Trans. Softw. Eng. 39(10), 1358–1375 (2013). https://doi.org/10.1109/TSE.2013.28

    Article  Google Scholar 

  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). https://doi.org/10.1145/1858996.1859032

  6. Czarnecki, K., Antkiewicz, M.: Mapping features to models: a template approach based on superimposed variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005). https://doi.org/10.1007/11561347_28

    Chapter  Google Scholar 

  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). https://doi.org/10.1145/1173706.1173738

  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). https://doi.org/10.1109/CVSM.2009.5071715

  9. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. EATCS, Springer, Heidelberg (2006). https://doi.org/10.1007/3-540-31188-2

    Book  MATH  Google Scholar 

  10. EMF. https://www.eclipse.org/modeling/emf/. Accessed 23 Feb 2022

  11. Finkelstein, A.C.W., Gabbay, D., Hunter, A., Kramer, J., Nuseibeh, B.: Inconsistency handling in multiperspective specifications. IEEE Trans. Software Eng. 20(8), 569–578 (1994). https://doi.org/10.1109/32.3106670

    Article  Google Scholar 

  12. Frühauf, K., Zeller, A.: Software configuration management: state of the art, state of the practice. In: SCM 1999. LNCS, vol. 1675, pp. 217–227. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48253-9_15

    Chapter  Google Scholar 

  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). https://doi.org/10.1109/MODELS.2019.000-2

  14. Giese, H., Hildebrandt, S., Seibel, A.: Improved flexibility and scalability by interpreting story diagrams. In: Electronic Communications of the EASST, vol. 18 (2009). https://doi.org/10.14279/tuj.eceasst.18.268

  15. Giese, H., Maximova, M., Sakizloglou, L., Schneider, S.: Metric temporal graph logic over typed attributed graphs. In: Hähnle, R., van der Aalst, W. (eds.) FASE 2019. LNCS, vol. 11424, pp. 282–298. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-16722-6_16

    Chapter  Google Scholar 

  16. Git. https://git-scm.com/. Accessed 23 Feb 2022

  17. Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 161–176. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45832-8_14

    Chapter  MATH  Google Scholar 

  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). https://doi.org/10.1145/1810295.1810364

  19. Küster, J.M., Gerth, C., Engels, G.: Dependent and conflicting change operations of process models. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 158–173. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02674-4_12

    Chapter  Google Scholar 

  20. Mens, T.: A state-of-the-art survey on software merging. IEEE Trans. Softw. Eng. 28(5), 449–462 (2002). https://doi.org/10.1109/TSE.2002.1000449

    Article  Google Scholar 

  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). https://doi.org/10.1145/1370152.1370159

  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). https://doi.org/10.1145/3461001.3471150

  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). https://doi.org/10.1145/3377024.3377030

  24. Rutle, A., Rossini, A., Lamo, Y., Wolter, U.: A category-theoretical approach to the formalisation of version control in MDE. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 64–78. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-00593-0_5

    Chapter  Google Scholar 

  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). https://doi.org/10.1007/s10270-021-00950-6

  26. Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: A fundamental approach to model versioning based on graph modifications: from theory to implementation. Softw. Syst. Model. 13(1), 239–272 (2012). https://doi.org/10.1007/s10270-012-0248-x

    Article  Google Scholar 

  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). https://doi.org/10.1145/1826147.1826155

  28. Westfechtel, B., Greiner, S.: Extending single- to multi-variant model transformations by trace-based propagation of variability annotations. Softw. Syst. Model. 19(4), 853–888 (2020). https://doi.org/10.1007/s10270-020-00791-9

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Matthias Barkowsky .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Barkowsky, M., Giese, H. (2022). Towards Development with Multi-version Models: Detecting Merge Conflicts and Checking Well-Formedness. In: Behr, N., Strüber, D. (eds) Graph Transformation. ICGT 2022. Lecture Notes in Computer Science, vol 13349. Springer, Cham. https://doi.org/10.1007/978-3-031-09843-7_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-09843-7_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-09842-0

  • Online ISBN: 978-3-031-09843-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics