Software & Systems Modeling

, Volume 13, Issue 1, pp 239–272 | Cite as

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

  • Gabriele Taentzer
  • Claudia Ermel
  • Philip Langer
  • Manuel Wimmer
Theme Section Paper

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.

Keywords

Model versioning Graph modification Conflict detection Conflict resolution 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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)Google Scholar
  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)Google Scholar
  3. 3.
    Altmanninger K., Seidl M., Wimmer M.: A survey on model versioning approaches. Int. J. Web Inf. Syst. 5(3), 271–304 (2009)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  12. 12.
    Brun, C., Pierantonio, A.: Model differences in the Eclipse Modeling framework. UPGRADE Eur. J. Inform Prof. (2008)Google Scholar
  13. 13.
    Budinsky F., Steinberg D., Merks E., Ellersick R., Grose T.J.: Eclipse Modeling Framework (The Eclipse Series). Addison-Wesley, Reading (2003)Google Scholar
  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)Google Scholar
  15. 15.
    Conradi R., Westfechtel B.: Version models for software configuration management. ACM Comput. Surv. 30(2), 232–282 (1998)CrossRefGoogle Scholar
  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)Google Scholar
  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)CrossRefGoogle Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  25. 25.
    Fuentes-Fernández L., Vallecillo-Moreno A.: An introduction to UML profiles. UPGRADE Eur. J. Inform. Prof. 5(2), 5–13 (2004)Google Scholar
  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)CrossRefMATHMathSciNetGoogle Scholar
  27. 27.
    Jensen K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Springer, Berlin (2003)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  38. 38.
    Mens T.: A state-of-the-art survey on software merging. IEEE Trans. Softw. Eng. 28(5), 449–462 (2002)CrossRefGoogle Scholar
  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)Google Scholar
  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)CrossRefGoogle Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • Gabriele Taentzer
    • 1
  • Claudia Ermel
    • 2
  • Philip Langer
    • 3
  • Manuel Wimmer
    • 3
  1. 1.Philipps-Universität MarburgMarburgGermany
  2. 2.Technische Universität BerlinBerlinGermany
  3. 3.Vienna University of TechnologyViennaAustria

Personalised recommendations