Advertisement

Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

A fundamental approach to model versioning based on graph modifications: from theory to implementation

Abstract

In model-driven engineering, models are primary artifacts that can evolve heavily during their life cycle. Therefore, versioning of models is a key technique to be offered by integrated development environments for model-driven engineering. In contrast to text-based versioning systems, we present an approach that takes model structures and their changes over time into account. Considering model structures as graphs, we define a fundamental approach where model revisions are considered as graph modifications consisting of delete and insert actions. Two different kinds of conflict detection are presented: (1) the check for operation-based conflicts between different graph modifications, and (2) the check for state-based conflicts on merged graph modifications. For the merging of graph modifications, a two-phase approach is proposed: First, operational conflicts are temporarily resolved by always giving insertion priority over deletion to keep as much information as possible. Thereafter, this tentative merge result is the basis for manual conflict resolution as well as for the application of repair actions that resolve state-based conflicts. If preferred by the user, giving deletion priority over insertion might be one solution. The fundamental concepts are illustrated by versioning scenarios for simplified statecharts. Furthermore, we show an implementation of this fundamental approach to model versioning based on the Eclipse Modeling Framework as technical space.

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

References

  1. 1

    Alanen, M., Porres, I.: Difference and union of models. In: Proceedings of the International Conference on the Unififed Modeling Language (UML’03). LNCS, vol. 2863, pp. 2–17. Springer, Berlin (2003)

  2. 2

    Altmanninger, K., Brosch, P., Kappel, G., Langer, P., Seidl, M., Wieland, K., Wimmer, M.: Why Model versioning research is needed!? An experience report. In: Proceedings of the Joint MoDSE-MCCM 2009 Workshop at MoDELS’09 (2009)

  3. 3

    Altmanninger K., Seidl M., Wimmer M.: A survey on model versioning approaches. Int. J. Web Inf. Syst. 5(3), 271–304 (2009)

  4. 4

    Barrett, S., Chalin, P., Butler, G.: Model merging falls short of software engineering needs. In: Proceedings of the Workshop on Model-Driven Software Evolution (MoDSE) at MoDELS’08 (2008)

  5. 5

    Beckert, B., Keller, U., Schmitt, P.H.: Translating the object constraint language into first-order predicate logic. In: Proceedings of VERIFY, Workshop at Federated Logic Conferences (FLoC) (2002)

  6. 6

    Biermann E., Ermel C., Taentzer G.: Precise semantics of EMF model transformations by graph transformation. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds) Model Driven Engineering Languages and Systems, 11th International Conference, MoDELS 2008, Toulouse, France, September 28–October 3. Proceedings. Lecture Notes in Computer Science, vol. 5301, pp. 53–67. Springer, Berlin (2008)

  7. 7

    Blanc, X., Mougenot, A., Mounier, I., Mens, T.: Incremental detection of model inconsistencies based on model operations. In: Proceedings of the 21st International Conference on Advanced Information Systems Engineering (CAiSE’09). LNCS, vol. 5565, pp. 32–46. Springer, Berlin (2009)

  8. 8

    Blanc, X., Mounier, I., Mougenot, A., Mens, T.: Detecting model inconsistency through operation-based model construction. In: Proceedings of the 30th International Conference on Software Engineering (ICSE’08), pp. 511–520. ACM, New York (2008)

  9. 9

    Brosch, P., Kappel, G., Langer, P., Seidl, M., Wieland, K., Wimmer, M., Kargl, H.: Adaptable model versioning in action. In: Modellierung 2010. LNI, vol. 161, GI (2010)

  10. 10

    Brosch, P., Kargl, H., Langer, P., Seidl, M., Wieland, K., Wimmer, M., Kappel, G.: Conflicts as first-class entities: a UML profile for model versioning. In: Proceedings of the Models in Software Engineering Workshops at MODELS’10, Reports and Revised Selected Papers. LNCS, vol. 6627, pp. 184–193. Springer, Berlin (2011)

  11. 11

    Brosch, P., Langer, P., Seidl, M., Wieland, K., Wimmer, M.: Colex: a web-based collaborative conflict lexicon. In: Proceedings of the 1st International Workshop on Model Comparison in Practice at TOOLS’10, pp. 42–49. ACM, New York (2010)

  12. 12

    Brun, C., Pierantonio, A.: Model differences in the Eclipse Modeling framework. UPGRADE Eur. J. Inform Prof. (2008)

  13. 13

    Budinsky F., Steinberg D., Merks E., Ellersick R., Grose T.J.: Eclipse Modeling Framework (The Eclipse Series). Addison-Wesley, Reading (2003)

  14. 14

    Cicchetti, A., Ruscio, D., Pierantonio, A.: Managing model conflicts in distributed development. In: Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems (MoDELS’08). LNCS, vol. 5301, pp. 311–325. Springer, Berlin (2008)

  15. 15

    Conradi R., Westfechtel B.: Version models for software configuration management. ACM Comput. Surv. 30(2), 232–282 (1998)

  16. 16

    De Lucia, A. Fasano, F., Oliveto, R., Tortora, G.: ADAMS: advanced artefact management system. In: Proceedings of the 10th European Conference on Software Maintenance and Reengineering (CSMR’06), pp. 349–350. IEEE Computer Society, New York (2006)

  17. 17

    De Lucia A., Fasano F., Oliveto R., Tortora G.: Fine-grained management of software artefacts: the ADAMS system. J. Softw. Pract. Exp. 40(11), 1007–1034 (2010)

  18. 18

    Del Fabro, M.D., Bézivin, J., Jouault, F., Breton, E., Gueltas, G.: AMW: a generic model weaver. In: Proceedings of the 1re Journe sur l’Ingnierie Dirige par les Modles (IDM’05) (2005)

  19. 19

    Diskin, Z., Czarnecki, K., Antkiewicz, M.: Model-versioning-in-the-large: Algebraic foundations and the tile notation. In: Proceedings of the Workshop on Comparison and Versioning of Software Models (CVSM’09) at ICSE’09, pp. 7–12. IEEE Computer Society, New York (2009)

  20. 20

    Eclipse Consortium: Eclipse Modeling Framework (EMF)—Version 2.5. http://www.eclipse.org/emf (2011)

  21. 21

    Eclipse Consortium: EMF Validation Framework. http://www.eclipse.org/modeling/emf/?project=validation#validation (2011)

  22. 22

    Ehrig H., Ehrig K., Prange U., Taentzer G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. Springer, Berlin (2006)

  23. 23

    Ehrig, H., Ermel, C., Taentzer, G.: A formal resolution strategy for operation-based conflicts in model versioning using graph modifications. In: Proceedings of the International Conference on Fundamental Approaches to Software Engineering (FASE’11). LNCS, vol. 6603, pp. 202–216. Springer, Berlin (2011)

  24. 24

    Ehrig, H., Ermel, C., Taentzer, G.: A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications (Extended Version). Technical Report 2011/1, TU Berlin (2011)

  25. 25

    Fuentes-Fernández L., Vallecillo-Moreno A.: An introduction to UML profiles. UPGRADE Eur. J. Inform. Prof. 5(2), 5–13 (2004)

  26. 26

    Habel A., Pennemann K.-H.: Correctness of high-level transformation systems relative to nested conditions. Math. Struct. Comput. Sci. 19(2), 245–296 (2009)

  27. 27

    Jensen K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Springer, Berlin (2003)

  28. 28

    Kehrer, T., Kelter, U., Taentzer, G.: A rule-based approach to the semantic lifting of model differences in the context of model versioning. In: Proceedings of the 26th International Conference on Automated Software Engineering (ASE’11). IEEE Society, New York (2011)

  29. 29

    Kelter, U., Wehren, J., Niere, J.: A generic difference algorithm for UML models. In: Proceedings of Software Engineering 2005. LNI, vol. 64, pp. 105–116, GI (2005)

  30. 30

    Kögel, M.: Towards software configuration management for unified models. In: Proceedings of the Workshop on Comparison and Versioning of Software Models at ICSE’08, pp. 19–24. ACM, New York (2008)

  31. 31

    Kögel, M., Helming, J.: EMFStore: a model repository for EMF models. In: Proceedings of the 32nd International Conference on Software Engineering, vol. 2 (ICSE’10), pp. 307–308. ACM, New York (2010)

  32. 32

    Kolovos, D.: Establishing correspondences between models with the epsilon comparison language. In: Proceedings of the 5th European Conference on Model Driven Architecture—Foundations and Applications (ECMDA-FA’09). LNCS, vol. 5562, pp. 146–157. Springer, Berlin (2009)

  33. 33

    Küster, J.M., Gerth, C., Engels, G.: Dependent and conflicting change operations of process models. In: Proceedings of the 5th European Conference on Model Driven Architecture—Foundations and Applications (ECMDA-FA’09). LNCS, vol. 5562, pp. 158–173. Springer, Berlin (2009)

  34. 34

    Langer, P., Wieland, K., Wimmer, M., Cabot, J.: From UML profiles to EMF profiles and beyond. In: Proceedings of the 49th International Conference on Objects, Models, Components and Patterns (TOOLS’11). LNCS, vol. 6705, pp. 52–67. Springer, Berlin (2011)

  35. 35

    Letkeman K.: Comparing and merging UML models in IBM Rational Software Architect: Part 3—a deeper understanding of model merging. Technical report, IBM Rational (2005)

  36. 36

    Lippe, E., van Oosterom, N.: Operation-based merging. In: ACM SIGSOFT Symposium on Software Development Environment, pp. 78–87. ACM, New York (1992)

  37. 37

    Mehra, A., Grundy, J., Hosking, J.: A generic approach to supporting diagram differencing and merging for collaborative design. In: Proceedings of the 20th International Conference on Automated Software Engineering (ASE’05), pp. 204–213. ACM, New York (2005)

  38. 38

    Mens T.: A state-of-the-art survey on software merging. IEEE Trans. Softw. Eng. 28(5), 449–462 (2002)

  39. 39

    Mens, T., van der Straeten, R., D’Hondt, M.: Detecting and resolving model inconsistencies using transformation dependency analysis. In: Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS’06). LNCS, vol. 4199, pp. 200–214. Springer, Berlin (2006)

  40. 40

    Misue K., Eades P., Lai W., Sugiyama K.: Layout adjustment and the mental map. J. Vis. Lang. Comput. 6(2), 183–210 (1995)

  41. 41

    Mougenot, A., Blanc, X., Gervais, M.-P.: D-Praxis: a peer-to-peer collaborative model editing framework. In: Proceedings of the 9th IFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems (DAIS). LNCS, vol. 3442, pp. 16–29. Springer, Berlin (2009)

  42. 42

    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 2nd International Workshop on Comparison and Versioning of Software Models at ICSE’08, pp. 25–30. ACM, New York (2008)

  43. 43

    Object Management Group (OMG): Meta Object Facility, Version 2.0. http://www.omg.org/spec/MOF/2.0/PDF/ (2006)

  44. 44

    Object Management Group (OMG): OCL Specification—Version 2.2. http://www.omg.org/spec/OCL/(2010)

  45. 45

    Ohst, D., Welle, M., Kelter, U.: Differences between Versions of UML Diagrams. In: Proceedings of the 9th European Software Engineering Conference (ESEC’03), pp. 227–236. ACM, New York (2003)

  46. 46

    Pottinger, R., Bernstein, P.A.: Merging models based on given correspondences. In: Proceedings of the International Conference on Very Large Data Bases (VLDB’03), pp. 826–873. VLDB Endowment (2003)

  47. 47

    Reder, A., Egyed, A.: Model/analyzer: a tool for detecting, visualizing and fixing design errors in UML. In: Proceedings of the 25th International Conference on Automated Software Engineering (ASE’10), pp. 347–348. ACM, New York (2010)

  48. 48

    Rutle, A., Rossini, A., Lamo, Y., Wolter, U.: A category-theoretical approach to the formalisation of version control in MDE. In: Proceedings of the International Conference on Fundamental Approaches to Software Engineering (FASE’09). LNCS, vol. 5503, pp. 64–78. Springer, Berlin (2009)

  49. 49

    Sabetzadeh, M., Nejati, S., Liaskos, S., Easterbrook, S.M., Chechik, M.: Consistency checking of conceptual models via model merging. In: Proceedings of the International Conference on Requirements Engineering (RE’07), pp. 221–230. IEEE, New York (2007)

  50. 50

    Schneider, C., Zündorf, A., Niere, J.: CoObRA—a small step for development tools to collaborative environments. In: Workshop on Directions in Software Engineering Environments at ICSE’04 (2004)

  51. 51

    Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: Conflict detection for model versioning based on graph modifications. In: Proceedings of the International Conference on Graph Transformations (ICGT’10). LNCS, vol. 6372, pp. 171–186. Springer, Berlin (2010)

  52. 52

    Taentzer, G., Rensink, A.: Ensuring structural constraints in graph-based models with type inheritance. In: Proceedings of the International Conference on Fundamental Approaches to Software Engineering (FASE’05). LNCS, vol. 3442, pp. 64–79. Springer, Berlin (2005)

  53. 53

    Westfechtel, B.: A formal approach to three-way merging of EMF models. In: Proceedings of the Workshop on Model Comparison in Practice (IWMCP) at TOOLS’10, pp. 31–41. ACM, New York (2010)

Download references

Author information

Correspondence to Philip Langer.

Additional information

M. Wimmer’s work has been partially funded by the Austrian Science Fund (FWF) under Grant J 3159-N23.

Communicated by Dr. Andy Schürr and Arend Rensink.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

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

Download citation

Keywords

  • Model versioning
  • Graph modification
  • Conflict detection
  • Conflict resolution