An Introduction to Model Versioning

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.

[1]  A. Church,et al.  Some properties of conversion , 1936 .

[2]  B. Randell,et al.  Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7-11 Oct. 1968, Brussels, Scientific Affairs Division, NATO , 1969 .

[3]  Brian Randell,et al.  Software engineering : report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968 , 1969 .

[4]  Annabelle McIver,et al.  Programming Methodology , 1974, Lecture Notes in Computer Science.

[5]  David Lorge Parnas Software Engineering or Methods for the Multi - Person Construction of Multi - Version Programs , 1974, Programming Methodology.

[6]  Hartmut Ehrig,et al.  Graph-Grammars and Their Application to Computer Science and Biology , 1978, Lecture Notes in Computer Science.

[7]  Hartmut Ehrig,et al.  Introduction to the Algebraic Theory of Graph Grammars (A Survey) , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[8]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[9]  Gail E. Kaiser,et al.  Living With Inconsistency in Large Systems , 1988, System Configuration Management.

[10]  M. S. Feather Detecting interference when merging specification evolutions , 1989, IWSSD '89.

[11]  Robert Balzer,et al.  Tolerating Inconsistency , 1991, [1989] Proceedings of the 5th International Software Process Workshop.

[12]  Bernhard Westfechtel,et al.  Structure-oriented merging of revisions of software documents , 1991, SCM '91.

[13]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[14]  Ernst Lippe,et al.  Operation-based merging , 1992 .

[15]  Prasun Dewan,et al.  A flexible object merging framework , 1994, CSCW '94.

[16]  Samir Khuller,et al.  Graph and network algorithms , 1996, CSUR.

[17]  Manfred Nagl,et al.  Building Tightly Integrated Software Development Environments: The IPSEN Approach , 1996, Lecture Notes in Computer Science.

[18]  W. Keith Edwards,et al.  Flexible conflict detection and management in collaborative applications , 1997, UIST '97.

[19]  Reidar Conradi,et al.  Version models for software configuration management , 1998, CSUR.

[20]  Gabriele Taentzer,et al.  The AGG approach: language and environment , 1999 .

[21]  Gabor Karsai,et al.  Metaprogrammable toolkit for model-integrated computing , 1999, Proceedings ECBS'99. IEEE Conference and Workshop on Engineering of Computer-Based Systems.

[22]  Jean-Marc Jézéquel,et al.  Refactoring UML Models , 2001, UML.

[23]  James A. Hendler,et al.  Scientific publishing on the 'semantic web' , 2001 .

[24]  Erhard Rahm,et al.  A survey of approaches to automatic schema matching , 2001, The VLDB Journal.

[25]  Jean Bézivin,et al.  From Object Composition to Model Transformation with the MDA , 2001, TOOLS.

[26]  Richard Riehle,et al.  Proceedings, 39th International Conference and Exhibition on Technology of Object-oriented Languages and Systems : TOOLS 39, 29 July-3 August, 2001, Santa Barbara, California, USA , 2001 .

[27]  Tim Berners-Lee,et al.  Publishing on the semantic web , 2001, Nature.

[28]  Jean Bézivin,et al.  Towards a precise definition of the OMG/MDA framework , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[29]  Heiner Stuckenschmidt,et al.  Ontology-Based Integration of Information - A Survey of Existing Approaches , 2001, OIS@IJCAI.

[30]  Bashar Nuseibeh,et al.  Making inconsistency respectable in software development , 2001, J. Syst. Softw..

[31]  Reiko Heckel,et al.  Confluence of Typed Attributed Graph Transformation Systems , 2002, ICGT.

[32]  Tom Mens,et al.  A State-of-the-Art Survey on Software Merging , 2002, IEEE Trans. Software Eng..

[33]  Mikael Lindvall in Software Engineering , 2002 .

[34]  Peter Fettke,et al.  Model Driven Architecture (MDA) , 2003, Wirtsch..

[35]  Udo Kelter,et al.  Differences between versions of UML diagrams , 2003, ESEC/FSE-11.

[36]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[37]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[38]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[39]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[40]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[41]  Ivan Porres,et al.  Difference and Union of Models , 2003, UML.

[42]  C. Schneider CoObRA - a small step for development tools to collaborative environments , 2004, ICSE 2004.

[43]  Bran Selic,et al.  An MDA Manifesto , 2004 .

[44]  J. Sprinkle,et al.  Model-integrated computing , 2004, IEEE Potentials.

[45]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[46]  Jack Greenfield Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools , 2004, GPCE.

[47]  Bernhard Rumpe,et al.  Meaningful modeling: what's the semantics of "semantics"? , 2004, Computer.

[48]  Reidar Conradi,et al.  Impact of software engineering research on the practice of software configuration management , 2005, ACM Trans. Softw. Eng. Methodol..

[49]  Dewayne E. Perry,et al.  Parallel changes: detecting semantic interferences , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[50]  Jean Bézivin,et al.  AMW: a generic model weaver , 2005 .

[51]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[52]  Motoshi Saeki,et al.  Generative technique of version control systems for software diagrams , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[53]  Tom Mens,et al.  Detecting Structural Refactoring Conflicts Using Critical Pair Analysis , 2005, SETra@ICGT.

[54]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[55]  Jim Steel,et al.  MOF QVT final adopted specification: meta object facility (MOF) 2.0 query/view/transformation specification. , 2005 .

[56]  Stefano Spaccapietra Journal on Data Semantics IV , 2005, Journal on Data Semantics IV.

[57]  Ivan Porres,et al.  Rule-based update transformations and their application to model refactorings , 2005, Software & Systems Modeling.

[58]  John C. Grundy,et al.  A generic approach to supporting diagram differencing and merging for collaborative design , 2005, ASE '05.

[59]  Jérôme Euzenat,et al.  A Survey of Schema-Based Matching Approaches , 2005, J. Data Semant..

[60]  Eleni Stroulia,et al.  UMLDiff: an algorithm for object-oriented design differencing , 2005, ASE.

[61]  Udo Kelter,et al.  A Generic Difference Algorithm for UML Models , 2005, Software Engineering.

[62]  Cláudia Maria Lima Werner,et al.  Odyssey-VCS: a flexible version control system for UML model elements , 2005, SCM '05.

[63]  Hartmut Ehrig,et al.  Overview of Formal Concepts for Model Transformations Based on Typed Attributed Graph Transformation , 2006, Electron. Notes Theor. Comput. Sci..

[64]  Dave Thomas,et al.  ECOOP 2006 - Object-Oriented Programming , 2006 .

[65]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[66]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[67]  Jean-Michel Bruel,et al.  Satellite Events at the MoDELS 2005 Conference , 2006 .

[68]  Hartmut Ehrig,et al.  Conflict Detection for Graph Transformation with Negative Application Conditions , 2006, ICGT.

[69]  Eleni Stroulia,et al.  Refactoring Detection based on UMLDiff Change-Facts Queries , 2006, 2006 13th Working Conference on Reverse Engineering.

[70]  Genny Tortora,et al.  ADAMS: advanced artefact management system , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[71]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[72]  Miryung Kim,et al.  Program element matching for multi-version program analyses , 2006, MSR '06.

[73]  Ralph E. Johnson,et al.  Automated Detection of Refactorings in Evolving Components , 2006, ECOOP.

[74]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[75]  Rocco Moretti,et al.  Model Driven Architecture (MDA) , 2007 .

[76]  Colin Atkinson,et al.  A tour of language customization concepts , 2007, Adv. Comput..

[77]  Mehrdad Sabetzadeh,et al.  Matching and Merging of Statecharts Specifications , 2007, 29th International Conference on Software Engineering (ICSE'07).

[78]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[79]  Jeffrey G. Gray,et al.  DSMDiff: a differentiation tool for domain-specific models , 2007 .

[80]  Antonio Cicchetti,et al.  A Metamodel Independent Approach to Difference Representation , 2007, J. Object Technol..

[81]  Christian Schneider,et al.  Experiences in using Optimisitic Locking in Fujaba , 2007, Softwaretechnik-Trends.

[82]  Leonardo Murta,et al.  Towards odyssey-VCS 2: improvements over a UML-based version control system , 2008, CVSM@ICSE.

[83]  Gregor Engels,et al.  Detecting and Resolving Process Model Differences in the Absence of a Change Log , 2008, BPM.

[84]  Ralph E. Johnson,et al.  Effective Software Merging in the Presence of Object-Oriented Refactorings , 2008, IEEE Transactions on Software Engineering.

[85]  Maik Schmidt,et al.  Constructing difference tools for models using the SiDiff framework , 2008, ICSE Companion '08.

[86]  Antonio Vallecillo,et al.  Representing and Operating with Model Differences , 2008, TOOLS.

[87]  Cédric Brun Obeo,et al.  MODEL DIFFERENCES IN THE ECLIPSE MODELING FRAMEWORK , 2008 .

[88]  Antonio Cicchetti,et al.  Managing Model Conflicts in Distributed Development , 2008, MoDELS.

[89]  Arend Rensink Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings , 2009, ECMDA-FA.

[90]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[91]  Giuseppe Scanniello,et al.  Concurrent Fine-Grained Versioning of UML Models , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[92]  Dimitrios S. Kolovos,et al.  Establishing Correspondences between Models with the Epsilon Comparison Language , 2009, ECMDA-FA.

[93]  Jeffrey G. Gray,et al.  Model Transformation by Demonstration , 2009, MoDELS.

[94]  M. Wimmer,et al.  Why Model Versioning Research is Needed ! ? An Experience Report ? , 2009 .

[95]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[96]  Richard F. Paige,et al.  Different models for model matching: An analysis of approaches to support model differencing , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[97]  Gerti Kappel,et al.  An Example Is Worth a Thousand Words: Composite Operation Modeling By-Example , 2009, MoDELS.

[98]  Markus Herrmannsdoerfer,et al.  Towards a generic operation recorder for model evolution , 2010, IWMCP '10.

[99]  Markus Herrmannsdoerfer,et al.  Operation-based conflict detection , 2010, IWMCP '10.

[100]  Greg Butler,et al.  Mirador: a synthesis of model matching strategies , 2010, IWMCP '10.

[101]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[102]  Gerti Kappel,et al.  Concurrent Modeling in Early Phases of the Software Development Life Cycle , 2010, CRIWG.

[103]  O. Wesendonk,et al.  Merging Model Refactorings-An Empirical Study - , 2010 .

[104]  Gabriele Taentzer,et al.  Conflict Detection for Model Versioning Based on Graph Modifications , 2010, ICGT.

[105]  Richard F. Paige,et al.  Constructing and Navigating Non-invasive Model Decorations , 2010, ICMT@TOOLS.

[106]  Bernhard Rumpe,et al.  A Manifesto for Semantic Model Differencing , 2010, MoDELS.

[107]  Bernhard Westfechtel A formal approach to three-way merging of EMF models , 2010, IWMCP '10.

[108]  Gregor Engels,et al.  Precise detection of conflicting change operations using process model terms , 2010, MODELS'10.

[109]  Sander Vermolen,et al.  Reconstructing Complex Metamodel Evolution , 2011, SLE.

[110]  Antonio Vallecillo,et al.  Objects, Models, Components, Patterns , 2011, Lecture Notes in Computer Science.

[111]  Carlo Ghezzi,et al.  Fundamentals of Software Engineering , 2011, Lecture Notes in Computer Science.

[112]  Udo Kelter,et al.  A rule-based approach to the semantic lifting of model differences in the context of model versioning , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[113]  Gregor Engels,et al.  Detection and resolution of conflicting change operations in version management of process models , 2011, Software & Systems Modeling.

[114]  Andrew D. Gordon,et al.  Maintaining Database Integrity with Refinement Types , 2011, ECOOP.

[115]  Bernhard Rumpe,et al.  CDDiff: Semantic Differencing for Class Diagrams , 2011, ECOOP.

[116]  Bernhard Rumpe,et al.  ADDiff: semantic differencing for activity diagrams , 2011, ESEC/FSE '11.

[117]  Jordi Cabot,et al.  From UML Profiles to EMF Profiles and Beyond , 2011, TOOLS.

[118]  Hartmut Ehrig,et al.  A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications , 2011, FASE.

[119]  Gabriele Taentzer,et al.  A fundamental approach to model versioning based on graph modifications: from theory to implementation , 2012, Software & Systems Modeling.

[120]  Julita Vassileva,et al.  Collaboration and Technology , 2014, Lecture Notes in Computer Science.