Skip to main content

An Introduction to Model Versioning

  • Chapter
Formal Methods for Model-Driven Engineering (SFM 2012)

Abstract

With the emergence of model-driven engineering (MDE), software models are considered as central artifacts in the software engineering process, going beyond their traditional use as sketches. In MDE, models rather act as the single source of information for automatically generating executable software. This shift poses several new research challenges. One of these challenges constitutes model versioning, which targets at enabling efficient team-based development of models. This compelling challenge induced a very active research community, who yielded remarkable methods and techniques ranging from model differencing to merging of models.

In this tutorial, we give an introduction to the foundations of model versioning, the underlying technologies for processing models and their evolution, as well as the state of the art in model versioning. Thereby, we aim at equipping students and researchers alike that are new to this domain with enough information for commencing to contribute to this challenging research area.

This work has been funded by the Vienna Science and Technology Fund (WWTF) through project ICT10-018, by the Austrian Science Fund (FWF) under grant J 3159-N23, and by the fFORTE WIT Program of the Vienna University of Technology and the Austrian Federal Ministry of Science and Research.

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

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Alanen, M., Porres, I.: Difference and Union of Models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 2–17. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  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 MoDSE-MCCM 2009 Workshop @ MoDELS 2009 (2009)

    Google Scholar 

  3. Atkinson, C., Kühne, T.: A Tour of Language Customization Concepts. Advances in Computers 70, 105–161 (2007)

    Article  Google Scholar 

  4. Balzer, R.: Tolerating Inconsistency. In: Proceedings of the 13th International Conference on Software Engineering (ICSE 1991), pp. 158–165. IEEE (1991)

    Google Scholar 

  5. Barrett, S., Butler, G., Chalin, P.: Mirador: A Synthesis of Model Matching Strategies. In: Proceedings of the International Workshop on Model Comparison in Practice (IWMCP 2010), pp. 2–10. ACM (2010)

    Google Scholar 

  6. Berners-Lee, T., Hendler, J.: Scientific Publishing on the Semantic Web. Nature 410, 1023–1024 (2001)

    Article  Google Scholar 

  7. Bézivin, J.: On the Unification Power of Models. Software and Systems Modeling 4(2), 171–188 (2005)

    Article  Google Scholar 

  8. Bézivin, J.: From Object Composition to Model Transformation with the MDA. In: Proceedings of the 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS 2001), pp. 350–355. IEEE (2001)

    Google Scholar 

  9. Bézivin, J., Gerbé, O.: Towards a Precise Definition of the OMG/MDA Framework. In: Proceedings of the 16th Annual International Conference on Automated Software Engineering, ASE 2001, pp. 273–280 (2001)

    Google Scholar 

  10. Booch, G., Brown, A.W., Iyengar, S., Rumbaugh, J., Selic, B.: An MDA Manifesto. MDA Journal (5) (2004)

    Google Scholar 

  11. Brosch, P.: Conflict Resolution in Model Versioning. Ph.D. thesis, Vienna University of Technology (2012)

    Google Scholar 

  12. Brosch, P., Langer, P., Seidl, M., Wieland, K., Wimmer, M., Kappel, G.: Concurrent Modeling in Early Phases of the Software Development Life Cycle. In: Kolfschoten, G., Herrmann, T., Lukosch, S. (eds.) CRIWG 2010. LNCS, vol. 6257, pp. 129–144. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  13. Brosch, P., Langer, P., Seidl, M., Wieland, K., Wimmer, M., Kappel, G., Retschitzegger, W., Schwinger, W.: An Example Is Worth a Thousand Words: Composite Operation Modeling By-Example. In: Schürr, A., Selic, B. (eds.) MoDELS 2009. LNCS, vol. 5795, pp. 271–285. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  14. Brun, C., Pierantonio, A.: Model Differences in the Eclipse Modeling Framework. UPGRADE, The European Journal for the Informatics Professional 9(2), 29–34 (2008)

    Google Scholar 

  15. Church, A., Rosser, J.: Some Properties of Conversion. Transactions of the American Mathematical Society, 472–482 (1936)

    Google Scholar 

  16. Cicchetti, A., Di Ruscio, D., Pierantonio, A.: A Metamodel Independent Approach to Difference Representation. Journal of Object Technology 6(9), 165–185 (2007)

    Article  Google Scholar 

  17. Cicchetti, A., Di Ruscio, D., Pierantonio, A.: Managing Model Conflicts in Distributed Development. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MoDELS 2008. LNCS, vol. 5301, pp. 311–325. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  18. Conradi, R., Westfechtel, B.: Version Models for Software Configuration Management. ACM Computing Surveys 30(2), 232 (1998)

    Article  Google Scholar 

  19. De Lucia, A., Fasano, F., Oliveto, R., Tortora, G.: ADAMS: Advanced Artefact Management System. In: Proceedings of the European Conference on Software Maintenance and Reengineering (CSMR 2006), pp. 349–350. IEEE (2006)

    Google Scholar 

  20. De Lucia, A., Fasano, F., Scanniello, G., Tortora, G.: Concurrent Fine-Grained Versioning of UML Models. In: Proceedings of the European Conference on Software Maintenance and Reengineering, pp. 89–98. IEEE (2009)

    Google Scholar 

  21. Dig, D., Comertoglu, C., Marinov, D., Johnson, R.: Automated Detection of Refactorings in Evolving Components. In: Hu, Q. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 404–428. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  22. Dig, D., Manzoor, K., Johnson, R., Nguyen, T.: Effective Software Merging in the Presence of Object-Oriented Refactorings. IEEE Transactions on Software Engineering 34(3), 321–335 (2008)

    Article  Google Scholar 

  23. Eclipse: Eclipse Modeling Framework Project (EMF), http://www.eclipse.org/modeling/emf (accessed November 04, 2011)

  24. Eclipse: EMF UML2, http://www.eclipse.org/modeling/mdt/?project=uml2 (accessed December 05, 2011)

  25. Edwards, W.K.: Flexible Conflict Detection and Management in Collaborative Applications. In: Proceedings of the 10th Annual ACM Symposium on User Interface Software and Technology, UIST 1997, pp. 139–148. ACM (1997)

    Google Scholar 

  26. Ehrig, H.: Introduction to the Algebraic Theory of Graph Grammars (A Survey). In: Ng, E.W., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1978. LNCS, vol. 73, pp. 1–69. Springer, Heidelberg (1979)

    Chapter  Google Scholar 

  27. Ehrig, H., Ehrig, K.: Overview of Formal Concepts for Model Transformations Based on Typed Attributed Graph Transformation. Electronic Notes in Theoretical Computer Science 152, 3–22 (2006)

    Article  Google Scholar 

  28. Ehrig, H., Ermel, C., Taentzer, G.: A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications. In: Giannakopoulou, D., Orejas, F. (eds.) FASE 2011. LNCS, vol. 6603, pp. 202–216. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  29. Ermel, C., Rudolf, M., Taentzer, G.: The AGG Approach: Language and Environment. In: Handbook of Graph Grammars and Computing by Graph Transformation: Applications, Languages and Tools, ch. 14, vol. 2, pp. 551–603. World Scientific Publishing Co., Inc. (1999)

    Google Scholar 

  30. Estublier, J., Leblang, D., Hoek, A., Conradi, R., Clemm, G., Tichy, W., Wiborg-Weber, D.: Impact of Software Engineering Research on the Practice of Software Configuration Management. ACM Transactions on Software Engineering and Methodology (TOSEM) 14(4), 383–430 (2005)

    Article  Google Scholar 

  31. Fabro, M., 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 2005 (2005)

    Google Scholar 

  32. Feather, M.: Detecting Interference When Merging Specification Evolutions. In: Proceedings of the International Workshop on Software Specification and Design (IWSSD 1989), pp. 169–176. ACM (1989)

    Google Scholar 

  33. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley (1999)

    Google Scholar 

  34. France, R., Rumpe, B.: Model-driven Development of Complex Software: A Research Roadmap. In: Proceedings of Future of Software Engineering @ ICSE 2007, pp. 37–54 (2007)

    Google Scholar 

  35. Gerth, C., Küster, J.M., Luckey, M., Engels, G.: Precise Detection of Conflicting Change Operations Using Process Model Terms. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MoDELS 2010. LNCS, vol. 6395, pp. 93–107. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  36. Gerth, C., Küster, J., Luckey, M., Engels, G.: Detection and Resolution of Conflicting Change Operations in Version Management of Process Models. Software and Systems Modeling, pp. 1–19 (Online First)

    Google Scholar 

  37. Ghezzi, C., Jazayeri, M., Mandrioli, D.: Fundamentals of Software Engineering, 2nd edn. Prentice Hall PTR, Upper Saddle River (2002)

    MATH  Google Scholar 

  38. Greenfield, J., Short, K.: Software Factories: Assembling Applications With Patterns, Models, Frameworks and Tools. In: Proceedings of the Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA 2003), pp. 16–27. ACM (2003)

    Google Scholar 

  39. Harel, D., Rumpe, B.: Meaningful Modeling: What’s the Semantics of Semantics? Computer 37(10), 64–72 (2004)

    Article  Google Scholar 

  40. Heckel, R., Küster, J., 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)

    Chapter  Google Scholar 

  41. Herrmannsdoerfer, M., Koegel, M.: Towards a Generic Operation Recorder for Model Evolution. In: Proceedings of the International Workshop on Model Comparison in Practice @ TOOLS 2010. ACM (2010)

    Google Scholar 

  42. International Organization for Standardization and International Electrotechnical Comission: Information Technology—Syntactic Metalanguage—Extended BNF 1.0 (December 1996), http://standards.iso.org/ittf/PubliclyAvailableStandards/s026153_ISO_IEC_14977_1996E.zip

  43. Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  44. 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 International Conference on Automated Software Engineering (ASE 2011). IEEE (2011)

    Google Scholar 

  45. Kelter, U., Wehren, J., Niere, J.: A Generic Difference Algorithm for UML Models. In: Software Engineering, pp. 105–116. LNI, GI (2005)

    Google Scholar 

  46. Khuller, S., Raghavachari, B.: Graph and network algorithms. ACM Computing Surveys 28(1), 43–45 (1996)

    Article  MATH  Google Scholar 

  47. Kim, M., Notkin, D.: Program Element Matching for Multi-version Program Analyses. In: Proceedings of the International Workshop on Mining Software Repositories (MSR 2006). ACM (2006)

    Google Scholar 

  48. Koegel, M., Herrmannsdoerfer, M., Wesendonk, O., Helming, J.: Operation-based Conflict Detection on Models. In: Proceedings of the International Workshop on Model Comparison in Practice @ TOOLS 2010. ACM (2010)

    Google Scholar 

  49. Koegel, M., Herrmannsdoerfer, M., von Wesendonk, O., Helming, J., Bruegge, B.: Merging Model Refactorings – An Empirical Study. In: Proceedings of the Workshop on Model Evolution @ MoDELS 2010 (2010)

    Google Scholar 

  50. Kolovos, D.S.: Establishing Correspondences between Models with the Epsilon Comparison Language. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 146–157. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  51. Kolovos, D.S., Rose, L.M., Drivalos Matragkas, N., Paige, R.F., Polack, F.A.C., Fernandes, K.J.: Constructing and Navigating Non-invasive Model Decorations. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 138–152. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  52. Kolovos, D., Di Ruscio, D., Pierantonio, A., Paige, R.: Different Models for Model Matching: An Analysis of Approaches to Support Model Differencing. In: Proceedings of the International Workshop on Comparison and Versioning of Software Models @ ICSE 2009. IEEE (2009)

    Google Scholar 

  53. Kühne, T.: Matters of (Meta-) Modeling. Software and Systems Modeling 5, 369–385 (2006)

    Article  Google Scholar 

  54. Küster, J.M., Gerth, C., Förster, A., Engels, G.: Detecting and Resolving Process Model Differences in the Absence of a Change Log. In: Dumas, M., Reichert, M., Shan, M.-C. (eds.) BPM 2008. LNCS, vol. 5240, pp. 244–260. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  55. Lambers, L., Ehrig, H., Orejas, F.: Conflict Detection for Graph Transformation with Negative Application Conditions. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 61–76. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  56. Langer, P.: Adaptable Model Versioning based on Model Transformation by Demonstration. Ph.D. thesis, Vienna University of Technology (2011)

    Google Scholar 

  57. Langer, P., Wieland, K., Wimmer, M., Cabot, J.: From UML Profiles to EMF Profiles and Beyond. In: Bishop, J., Vallecillo, A. (eds.) TOOLS 2011. LNCS, vol. 6705, pp. 52–67. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  58. Ledeczi, A., Maroti, M., Karsai, G., Nordstrom, G.: Metaprogrammable Toolkit for Model-Integrated Computing. In: Proceedings of the IEEE Conference and Workshop on Engineering of Computer-Based Systems, ECBS 1999, pp. 311–317 (March 1999)

    Google Scholar 

  59. Lin, Y., Gray, J., Jouault, F.: DSMDiff: A Differentiation Tool for Domain-specific Models. European Journal of Information Systems 16(4), 349–361 (2007)

    Article  Google Scholar 

  60. Lippe, E., van Oosterom, N.: Operation-Based Merging. In: ACM SIGSOFT Symposium on Software Development Environment, pp. 78–87. ACM (1992)

    Google Scholar 

  61. Madiot, F., Dup, G.: EMF Facet Website (November 2010), http://www.eclipse.org/modeling/emft/facet/

  62. Maoz, S., Ringert, J.O., Rumpe, B.: A Manifesto for Semantic Model Differencing. In: Dingel, J., Solberg, A. (eds.) MoDELS 2010 Workshops. LNCS, vol. 6627, pp. 194–203. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  63. Maoz, S., Ringert, J., Rumpe, B.: ADDiff: Semantic Differencing for Activity Diagrams. In: Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE 2011), pp. 179–189. ACM (2011)

    Google Scholar 

  64. Maoz, S., Ringert, J.O., Rumpe, B.: CDDiff: Semantic Differencing for Class Diagrams. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 230–254. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  65. Mehra, A., Grundy, J., Hosking, J.: A Generic Approach to Supporting Diagram Differencing and Merging for Collaborative Design. In: Proceedings of the International Conference on Automated Software Engineering (ASE 2005), pp. 204–213. ACM (2005)

    Google Scholar 

  66. Mens, T.: A State-of-the-Art Survey on Software Merging. IEEE Transactions on Software Engineering 28(5), 449–462 (2002)

    Article  Google Scholar 

  67. Mens, T., Gorp, P.V.: A Taxonomy of Model Transformation. Electronic Notes in Theoretical Computer Science 152, 125–142 (2006)

    Article  Google Scholar 

  68. Mens, T., Taentzer, G., Runge, O.: Detecting Structural Refactoring Conflicts Using Critical Pair Analysis. Electronic Notes in Theoretical Computer Science 127(3), 113–128 (2005)

    Article  Google Scholar 

  69. Munson, J.P., Dewan, P.: A Flexible Object Merging Framework. In: Proceedings of the 1994 ACM Conference on Computer Supported Cooperative Work, CSCW 1994, pp. 231–242. ACM (1994), http://doi.acm.org/10.1145/192844.193016

  70. Murta, L., Corrêa, C., Prudêncio, J., Werner, C.: Towards Odyssey-VCS 2: Improvements Over a UML-based Version Control System. In: Proceedings of the International Workshop on Comparison and Versioning of Software Models @ MoDELS 2008, pp. 25–30. ACM (2008)

    Google Scholar 

  71. Nagl, M. (ed.): Building Tightly Integrated Software Development Environments: The IPSEN Approach. LNCS, vol. 1170. Springer, Heidelberg (1996)

    Google Scholar 

  72. Naur, P., Randell, B., Bauer, F.: Software Engineering: Report on a Conference Sponsored by the NATO SCIENCE COMMITTEE, Garmisch, Germany, October 7-11,1968. Scientific Affairs Division, NATO (1969)

    Google Scholar 

  73. Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and Merging of Statecharts Specifications. In: Proceedings of the International Conference on Software Engineering (ICSE 2007), pp. 54–64. IEEE (2007)

    Google Scholar 

  74. Nuseibeh, B., Easterbrook, S.M., Russo, A.: Making Inconsistency Respectable in Software Development. Journal of Systems and Software 58(2), 171–180 (2001)

    Article  Google Scholar 

  75. Object Management Group: Diagram Definition (DD), http://www.omg.org/spec/DD/1.0/Beta2/ (accessed: February 21, 2012)

  76. Object Management Group: Common Warehouse Metamodel (CWM) Specification V1.1. (March 2003), http://www.omg.org/spec/CWM/1.1/

  77. Object Management Group: Meta-Object Facility 2.0 (MOF) (October 2004), http://www.omg.org/cgi-bin/doc?ptc/03-10-04

  78. Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Final Adopted Specification (November 2005), http://www.omg.org/docs/ptc/07-07-07.pdf

  79. Object Management Group: Model-driven Architecture (MDA) (April 2005), http://www.omg.org/mda/specs.html

  80. Object Management Group: UML Diagram Interchange, Version 1.0. (April 2006), http://www.omg.org/spec/UMLDI/1.0/

  81. Object Management Group: XML Metadata Interchange 2.1.1 (XMI) (December 2007), http://www.omg.org/spec/XMI/2.1.1

  82. Object Management Group: MOF Model to Text Transformation Language (MOFM2T) (January 2008), http://www.omg.org/spec/MOFM2T/1.0/

  83. Object Management Group: Business Process Modeling Notation (BPMN), Version 1.2 (January 2009), http://www.omg.org/spec/BPMN/1.2

  84. Object Management Group: Object Constraint Language (OCL), Version 2.2 (February 2010), http://www.omg.org/spec/OCL/2.2

  85. Object Management Group: OMG Unified Modeling Language (OMG UML), Infrastructure V2.4.1 (August 2011), http://www.omg.org/spec/UML/2.4.1/

  86. Object Management Group: OMG Unified Modeling Language (OMG UML), Superstructure V2.4.1 (July 2011), http://www.omg.org/spec/UML/2.4.1/

  87. Oda, T., Saeki, M.: Generative Technique of Version Control Systems for Software Diagrams. In: Proceedings of the IEEE International Conference on Software Maintenance (ICSM 2005), pp. 515–524. IEEE (2005)

    Google Scholar 

  88. Ohst, D., Welle, M., Kelter, U.: Differences Between Versions of UML Diagrams. ACM SIGSOFT Software Engineering Notes 28(5), 227–236 (2003)

    Article  Google Scholar 

  89. Oliveira, H., Murta, L., Werner, C.: Odyssey-VCS: A Flexible Version Control System for UML Model Elements. In: Proceedings of the International Workshop on Software Configuration Management, pp. 1–16. ACM (2005)

    Google Scholar 

  90. Opdyke, W.: Refactoring Object-oriented Frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign (1992)

    Google Scholar 

  91. Oracle: Java Metadata Interface (JMI) (June 2002), http://java.sun.com/products/jmi/

  92. Parnas, D.: Software Engineering or Methods for the Multi-person Construction of Multi-version Programs. In: Hackl, C.E. (ed.) IBM 1974. LNCS, vol. 23, pp. 225–235. Springer, Heidelberg (1975)

    Chapter  Google Scholar 

  93. Porres, I.: Rule-based Update Transformations and their Application to Model Refactorings. Software and System Modeling 4(4), 368–385 (2005)

    Article  Google Scholar 

  94. Pressman, R., Ince, D.: Software Engineering: A Practitioner’s Approach. McGraw-Hill, New York (1982)

    Google Scholar 

  95. Rahm, E., Bernstein, P.: A Survey of Approaches to Automatic Schema Matching. The VLDB Journal 10(4), 334–350 (2001)

    Article  MATH  Google Scholar 

  96. Reiter, T., Altmanninger, K., Bergmayr, A., Schwinger, W., Kotsis, G.: Models in Conflict – Detection of Semantic Conflicts in Model-based Development. In: Proceedings of International Workshop on Model-Driven Enterprise Information Systems @ ICEIS 2007, pp. 29–40 (2007)

    Google Scholar 

  97. Rivera, J., Vallecillo, A.: Representing and Operating With Model Differences. In: Paige, R.F., Meyer, B. (eds.) TOOLS EUROPE 2008. LNBIP, vol. 11, pp. 141–160. Springer, Heidelberg (2008)

    Google Scholar 

  98. Schmidt, D.: Guest Editor’s Introduction: Model-driven Engineering. Computer 39(2), 25–31 (2006)

    Article  Google Scholar 

  99. Schmidt, M., Gloetzner, T.: Constructing Difference Tools for Models Using the SiDiff Framework. In: Companion of the International Conference on Software Engineering, pp. 947–948. ACM (2008)

    Google Scholar 

  100. Schneider, C., Zündorf, A.: Experiences in using Optimisitic Locking in Fujaba. Softwaretechnik Trends 27(2) (2007)

    Google Scholar 

  101. Schneider, C., Zündorf, A., Niere, J.: CoObRA – A Small Step for Development Tools to Collaborative Environments. In: Proceedings of the Workshop on Directions in Software Engineering Environments (2004)

    Google Scholar 

  102. Schwanke, R.W., Kaiser, G.E.: Living With Inconsistency in Large Systems. In: Proceedings of the International Workshop on Software Version and Configuration Control, pp. 98–118. Teubner B.G. GmbH (1988)

    Google Scholar 

  103. Selic, B.: The Pragmatics of Model-driven Development. IEEE Software 20(5), 19–25 (2003)

    Article  Google Scholar 

  104. Sendall, S., Kozaczynski, W.: Model Transformation: The Heart and Soul of Model-Driven Software Development. IEEE Software 20, 42–45 (2003)

    Article  Google Scholar 

  105. Shvaiko, P., Euzenat, J.: A Survey of Schema-Based Matching Approaches. In: Spaccapietra, S. (ed.) Journal on Data Semantics IV. LNCS, vol. 3730, pp. 146–171. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  106. Sprinkle, J.: Model-integrated Computing. IEEE Potentials 23(1), 28–30 (2004)

    Article  Google Scholar 

  107. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: Eclipse Modeling Framework 2.0. Addison-Wesley Professional (2008)

    Google Scholar 

  108. Sun, Y., White, J., Gray, J.: Model Transformation by Demonstration. In: Schürr, A., Selic, B. (eds.) MoDELS 2009. LNCS, vol. 5795, pp. 712–726. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  109. Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.-M.: Refactoring UML Models. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 134–148. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  110. Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: Conflict Detection for Model Versioning Based on Graph Modifications. In: Ehrig, H., Rensink, A., Rozenberg, G., Schürr, A. (eds.) ICGT 2010. LNCS, vol. 6372, pp. 171–186. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  111. Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: A Fundamental Approach to Model Versioning Based on Graph Modifications. Accepted for Publication in Software and System Modeling (2012)

    Google Scholar 

  112. Thione, G., Perry, D.: Parallel Changes: Detecting Semantic Interferences. In: Proceedings of the International Computer Software and Applications Conference, pp. 47–56. IEEE (2005)

    Google Scholar 

  113. Vermolen, S., Wachsmuth, G., Visser, E.: Reconstructing Complex Metamodel Evolution. Tech. Rep. TUD-SERG-2011-026, Delft University of Technology (2011)

    Google Scholar 

  114. W3C: Extensible Markup Language (XML), Version 1.0 (2008), http://www.w3.org/TR/REC-xml

  115. Wache, H., Voegele, T., Visser, U., Stuckenschmidt, H., Schuster, G., Neumann, H., Hübner, S.: Ontology-based Integration of Information — A Survey of Existing Approaches. In: Proceedings of the Workshop on Ontologies and Information Sharing (IJCAI 2001), pp. 108–117 (2001)

    Google Scholar 

  116. Westfechtel, B.: Structure-oriented Merging of Revisions of Software Documents. In: Proceedings of the International Workshop on Software Configuration Management, pp. 68–79. ACM (1991)

    Google Scholar 

  117. Westfechtel, B.: A Formal Approach to Three-way Merging of EMF Models. In: Proceedings of the International Workshop on Model Comparison in Practice @ TOOLS 2010, pp. 31–41. ACM (2010)

    Google Scholar 

  118. Wieland, K.: Conflict-tolerant Model Versioning. Ph.D. thesis, Vienna University of Technology (2011)

    Google Scholar 

  119. Xing, Z., Stroulia, E.: UMLDiff: An Algorithm for Object-oriented Design Differencing. In: Proceedings of the International Conference on Automated Software Engineering (ASE 2005), pp. 54–65. ACM (2005)

    Google Scholar 

  120. Xing, Z., Stroulia, E.: Refactoring Detection based on UMLDiff Change-Facts Queries. In: Proceedings of the 13th Working Conference on Reverse Engineering (WCRE 2006), pp. 263–274. IEEE (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Brosch, P., Kappel, G., Langer, P., Seidl, M., Wieland, K., Wimmer, M. (2012). An Introduction to Model Versioning. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds) Formal Methods for Model-Driven Engineering. SFM 2012. Lecture Notes in Computer Science, vol 7320. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30982-3_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30982-3_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30981-6

  • Online ISBN: 978-3-642-30982-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics