Multi-Model Evolution through Model Repair

Design and development of complex software systems usually comprises multiple inter-related models, i.e. abstract representations of certain aspects of the underlying system. The relations between these models induce global consistency conditions which the models collectively must fulfill. At the same time, these models are subject to frequent changes, and as a result, maintaining their global consistency over time becomes an important issue in model management in general and Model-Driven Software Engineering in particular. In this paper, we present a comprehensive feature model providing an overview of the current state of the art of model management. In this feature model, we further identify the central role of model repair as an implementation pattern for (multi-)model evolution.

[1]  Colin Atkinson,et al.  The Essence of Multilevel Metamodeling , 2001, UML.

[2]  Hartmut Ehrig,et al.  Correctness of model synchronization based on triple graph grammars , 2011, MODELS'11.

[3]  Haiyan Zhao,et al.  Supporting automatic model inconsistency fixing , 2009, ESEC/SIGSOFT FSE.

[4]  John F. Roddick,et al.  Schema evolution in database systems: an annotated bibliography , 1992, SGMD.

[5]  Heiko Klare,et al.  Commonalities for Preserving Consistency of Multiple Models , 2019, 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C).

[6]  Sahar Kokaly,et al.  Mapping-Aware Megamodeling: Design Patterns and Laws , 2013, SLE.

[7]  Antonio Cicchetti,et al.  JTL: A Bidirectional and Change Propagating Transformation Language , 2010, SLE.

[8]  Bashar Nuseibeh,et al.  Viewpoints: A Framework for Integrating Multiple Perspectives in System Development , 1992, Int. J. Softw. Eng. Knowl. Eng..

[9]  Martin Hofmann,et al.  Edit lenses , 2012, POPL '12.

[10]  Krzysztof Czarnecki,et al.  A three-dimensional taxonomy for bidirectional model synchronization , 2016, J. Syst. Softw..

[11]  Vasco Amaral,et al.  Classification of Model Transformation Tools: Pattern Matching Techniques , 2014, MoDELS.

[12]  Marcelo Arenas,et al.  Foundations of Data Exchange , 2014 .

[13]  Hartmut Ehrig,et al.  Information Preserving Bidirectional Model Transformations , 2007, FASE.

[14]  Michael Johnson,et al.  Unifying Set-Based, Delta-Based and Edit-Based Lenses , 2016, Bx@ETAPS.

[15]  Regina Hebig,et al.  Approaches to Co-Evolution of Metamodels and Models: A Survey , 2017, IEEE Transactions on Software Engineering.

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

[17]  Philip A. Bernstein,et al.  Applying Model Management to Classical Meta Data Problems , 2003, CIDR.

[18]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[19]  Wolfgang Emmerich,et al.  Consistency management with repair actions , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[20]  Benjamin C. Pierce,et al.  Combinators for bi-directional tree transformations: a linguistic approach to the view update problem , 2005, POPL '05.

[21]  Bernard Coulette,et al.  A MDE Approach for Heterogeneous Models Consistency , 2018, ENASE.

[22]  Alcino Cunha,et al.  A Feature-Based Classification of Model Repair Approaches , 2015, IEEE Transactions on Software Engineering.

[23]  Bernard Coulette,et al.  A Collaborative Decision Approach for Alignment of Heterogeneous Models , 2019, 2019 IEEE 28th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE).

[24]  Zinovy Diskin,et al.  Multiple model synchronization with multiary delta lenses with amendment and K-Putput , 2019, Formal Aspects of Computing.

[25]  Perdita Stevens Connecting software build with maintaining consistency between models: towards sound, optimal, and flexible building from megamodels , 2020, Software and Systems Modeling.

[26]  Zinovy Diskin,et al.  Advanced Local Checking of Global Consistency in Heterogeneous Multimodeling , 2016, ECMFA.

[27]  Gabriele Taentzer,et al.  OCL2AC: Automatic Translation of OCL Constraints to Graph Constraints and Application Conditions for Transformation Rules , 2018, ICGT.

[28]  Richard F. Paige,et al.  Detecting and Repairing Inconsistencies across Heterogeneous Models , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[29]  James Cheney,et al.  Towards a Principle of Least Surprise for Bidirectional Transformations , 2015, Bx@STAF.

[30]  Krzysztof Czarnecki,et al.  Specifying overlaps of heterogeneous models for global consistency checking , 2010, MDI '10.

[31]  Holger Giese,et al.  From model transformation to incremental bidirectional model synchronization , 2009, Software & Systems Modeling.

[32]  Shekoufeh Kolahdouz Rahimi,et al.  EVL+Strace: a novel bidirectional model transformation approach , 2018, Inf. Softw. Technol..

[33]  Adrian Rutle,et al.  Towards Multiple Model Synchronization with Comprehensive Systems , 2020, FASE.

[34]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[35]  Zinovy Diskin,et al.  Model Synchronization: Mappings, Tiles, and Categories , 2009, GTTSE.

[36]  Andy Schürr,et al.  Developing eMoflon with eMoflon , 2014, ICMT.

[37]  Houari A. Sahraoui,et al.  Integrating the Designer in-the-loop for Metamodel/Model Co-Evolution via Interactive Computational Search , 2018, MoDELS.

[38]  Hartmut Ehrig,et al.  From Model Transformation to Model Integration based on the Algebraic Approach to Triple Graph Grammars , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[39]  Jordi Cabot,et al.  Feature-based classification of bidirectional transformation approaches , 2014, Software & Systems Modeling.

[40]  Zinovy Diskin,et al.  Efficient Consistency Checking of Interrelated Models , 2017, ECMFA.

[41]  Gregor Hohpe,et al.  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , 2003 .

[42]  Andy Schürr,et al.  Inter-model Consistency Checking Using Triple Graph Grammars and Linear Optimization Techniques , 2017, FASE.

[43]  Facet-oriented modelling: open objects for model-driven engineering , 2018, SLE.

[44]  Reda Bendraou,et al.  Towards Automated Inconsistency Handling in Design Models , 2010, CAiSE.

[45]  Richard F. Paige,et al.  Epsilon Flock: a model migration language , 2012, Software & Systems Modeling.

[46]  Antonio Vallecillo,et al.  Realizing Correspondences in Multi-viewpoint Specifications , 2009, 2009 IEEE International Enterprise Distributed Object Computing Conference.

[47]  Michal Antkiewicz,et al.  Design Space of Heterogeneous Synchronization , 2007, GTTSE.

[48]  Michael Johnson,et al.  Symmetric delta lenses and spans of asymmetric delta lenses , 2017, J. Object Technol..

[49]  Henry Muccini,et al.  A model-driven approach to automate the propagation of changes among Architecture Description Languages , 2010, Software & Systems Modeling.

[50]  Jean Bézivin,et al.  In Search of a Basic Principle for Model Driven Engineering , 2004 .

[51]  Hui Song,et al.  Synchronizing concurrent model updates based on bidirectional transformation , 2013, Software & Systems Modeling.

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

[53]  Tom Mens,et al.  Incremental Resolution of Model Inconsistencies , 2006, WADT.

[54]  Alcino Cunha,et al.  Towards a Framework for Multidirectional Model Transformations , 2014, EDBT/ICDT Workshops.

[55]  Michael Johnson,et al.  Confidentiality in the process of (model-driven) software development , 2018, Programming.

[56]  Adrian Rutle,et al.  Multimodel correspondence through inter-model constraints , 2018, Programming.

[57]  Soichiro Hidaka,et al.  GRoundTram: An integrated framework for developing well-behaved bidirectional model transformations , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[58]  Jean-Marie Favre,et al.  Towards a Megamodel to Model Software Evolution Through Transformations , 2005, SETra@ICGT.

[59]  Houari A. Sahraoui,et al.  Automated metamodel/model co-evolution: A search-based approach , 2019, Inf. Softw. Technol..

[60]  Sander Vermolen,et al.  Heterogeneous Coupled Evolution of Software Languages , 2008, MoDELS.

[61]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[62]  Patrick Albert,et al.  Model Search: Formalizing and Automating Constraint Solving in MDE Platforms , 2010, ECMFA.

[63]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[64]  B. Gruschko Towards Synchronizing Models with Evolving Metamodels , 2007 .

[65]  Gabriele Taentzer,et al.  Co-evolving meta-models and their instance models: A formal approach based on graph transformation , 2015, Sci. Comput. Program..

[66]  Adrian Rutle,et al.  A Diagrammatic Formalisation of MOF-Based Modelling Languages , 2009, TOOLS.

[67]  Benjamin C. Pierce,et al.  Matching lenses: alignment and view update , 2010, ICFP '10.

[68]  Perdita Stevens Bidirectional Transformations in the Large , 2017, 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[69]  Mark von Rosing,et al.  Business Process Model and Notation - BPMN , 2015, The Complete Business Process Handbook, Vol. I.

[70]  Philip A. Bernstein,et al.  Merging Models Based on Given Correspondences , 2003, VLDB.

[71]  Julia Rubin,et al.  Model traceability , 2006, IBM Syst. J..

[72]  Udo Kelter,et al.  Automatically Deriving the Specification of Model Editing Operations from Meta-Models , 2016, ICMT.

[73]  Alexander Egyed,et al.  Model/analyzer: a tool for detecting, visualizing and fixing design errors in UML , 2010, ASE '10.

[74]  Michael Barr,et al.  Category theory for computing science , 1995, Prentice Hall International Series in Computer Science.

[75]  Mehrdad Sabetzadeh,et al.  A manifesto for model merging , 2006, GaMMa '06.

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

[77]  Richard F. Paige,et al.  Evolving models in Model-Driven Engineering: State-of-the-art and future challenges , 2016, J. Syst. Softw..

[78]  Desmond Fearnley-Sander,et al.  Universal Algebra , 1982 .

[79]  Gabriele Taentzer,et al.  Precise Semantics of EMF Model Transformations by Graph Transformation , 2008, MoDELS.

[80]  Hartmut Ehrig,et al.  Concurrent Model Synchronization with Conflict Resolution Based on Triple Graph Grammars , 2012, FASE.

[81]  Nils J. Nilsson,et al.  Artificial Intelligence , 1974, IFIP Congress.

[82]  Adrian Rutle,et al.  A formal approach to the specification and transformation of constraints in MDE , 2012, J. Log. Algebraic Methods Program..

[83]  Artur Boronat,et al.  What Is a Multi-modeling Language? , 2008, WADT.

[84]  Thomas Buchmann BXtend - A Framework for (Bidirectional) Incremental Model Transformations , 2018, MODELSWARD.

[85]  Alexander Egyed,et al.  Fixing Inconsistencies in UML Design Models , 2007, 29th International Conference on Software Engineering (ICSE'07).

[86]  Thorsten Arendt,et al.  Rule-Based Repair of EMF Models: An Automated Interactive Approach , 2017, ICMT.

[87]  Ralf Lämmel,et al.  Bidirectional Transformations: A Cross-Discipline Perspective , 2009, ICMT@TOOLS.

[88]  Colin Atkinson,et al.  Orthographic Software Modeling: A Practical Approach to View-Based Development , 2009, ENASE.

[89]  Mehrdad Sabetzadeh,et al.  An algebraic framework for merging incomplete and inconsistent views , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[90]  Georg Hinkel,et al.  Change propagation and bidirectionality in internal transformation DSLs , 2017, Software & Systems Modeling.

[91]  Federico Ciccozzi,et al.  Supporting Incremental Synchronization in Hybrid Multi-view Modelling , 2011, MoDELS Workshops.

[92]  Bernhard Westfechtel,et al.  BenchmarX Reloaded: A Practical Benchmark Framework for Bidirectional Transformations , 2017, BX@ETAPS.

[93]  Perdita Stevens,et al.  Bidirectional model transformations in QVT: semantic issues and open questions , 2007, MODELS'07.

[94]  Artur Boronat,et al.  An algebraic semantics for MOF , 2009, Formal Aspects of Computing.

[95]  Fiona A. C. Polack,et al.  Towards Efficient Comparison of Change-Based Models , 2019, J. Object Technol..

[96]  Perdita Stevens,et al.  Bidirectional Transformations , 2018, Lecture Notes in Computer Science.

[97]  Zhenjiang Hu,et al.  BiGUL: a formally verified core language for putback-based bidirectional programming , 2016, PEPM.

[98]  Zinovy Diskin,et al.  Multiple Model Synchronization with Multiary Delta Lenses , 2018, FASE.

[99]  Krzysztof Czarnecki,et al.  Intermodeling, Queries, and Kleisli Categories , 2012, FASE.

[100]  Andrea Zisman,et al.  Inconsistency Management in Software Engineering: Survey and Open Research Issues , 2000 .

[101]  Tom Mens,et al.  Badger: A Regression Planner to Resolve Design Model Inconsistencies , 2012, ECMFA.

[102]  Richard F. Paige,et al.  The Design of a Conceptual Framework and Technical Infrastructure for Model Management Language Engineering , 2009, 2009 14th IEEE International Conference on Engineering of Complex Computer Systems.

[103]  Bruno Courcelle,et al.  The Expression of Graph Properties and Graph Transformations in Monadic Second-Order Logic , 1997, Handbook of Graph Grammars.

[104]  Reiko Heckel,et al.  Dynamic Meta Modeling: A Graphical Approach to the Operational Semantics of Behavioral Diagrams in UML , 2000, UML.

[105]  Judea Pearl,et al.  Heuristic Search Theory: Survey of Recent Results , 1981, IJCAI.

[106]  Georg Hinkel NMF: A Multi-platform Modeling Framework , 2018, ICMT.

[107]  Zinovy Diskin,et al.  A Diagrammatic Logic for Object-Oriented Visual Modeling , 2008, Electron. Notes Theor. Comput. Sci..

[108]  Jordi Cabot,et al.  A Feature-based Survey of Model View Approaches , 2018, MoDELS.

[109]  Bernhard Schätz,et al.  Graph and model transformation tools for model migration , 2014, Software & Systems Modeling.

[110]  Adrian Rutle,et al.  Improving Model Repair through Experience Sharing , 2020, J. Object Technol..

[111]  Davide Di Ruscio,et al.  Model Transformations , 2012, SFM.

[112]  Ralf Reussner,et al.  A Categorization of Interoperability Issues in Networks of Transformations , 2019, J. Object Technol..

[113]  Nicolas Spyratos,et al.  Update semantics of relational views , 1981, TODS.

[114]  E. F. Codd,et al.  A relational model of data for large shared data banks , 1970, CACM.

[115]  Rick Salay,et al.  Using Macromodels to Manage Collections of Related Models , 2009, CAiSE.

[116]  F. E.,et al.  A Relational Model of Data Large Shared Data Banks , 2000 .

[117]  Tom Mens,et al.  Assessing the Kodkod Model Finder for Resolving Model Inconsistencies , 2011, ECMFA.

[118]  Annegret Habel,et al.  Correctness of high-level transformation systems relative to nested conditions† , 2009, Mathematical Structures in Computer Science.

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

[120]  Krzysztof Czarnecki,et al.  A Model Management Imperative: Being Graphical Is Not Sufficient, You Have to Be Categorical , 2015, ECMFA.

[121]  Till Mossakowski,et al.  Multi-view Consistency in UML: A Survey , 2018, Graph Transformation, Specifications, and Nets.

[122]  Krzysztof Czarnecki,et al.  From State- to Delta-Based Bidirectional Model Transformations: the Asymmetric Case , 2011, J. Object Technol..

[123]  Alfonso Pierantonio,et al.  Managing uncertainty in bidirectional model transformations , 2015, SLE.

[124]  Perdita Stevens,et al.  Connecting software build with maintaining consistency between models: towards sound, optimal, and flexible building from megamodels , 2018, Software and Systems Modeling.

[125]  Tom Mens,et al.  Resolving model inconsistencies using automated regression planning , 2013, Software & Systems Modeling.

[126]  Birgit Vogel-Heuser,et al.  Managing inter-model inconsistencies in model-based systems engineering: Application in automated production systems engineering , 2019, J. Syst. Softw..

[127]  Michael Johnson,et al.  Fibrations and universal view updatability , 2007, Theor. Comput. Sci..

[128]  Adrian Rutle,et al.  Model Repair with Quality-Based Reinforcement Learning , 2020, J. Object Technol..

[129]  Alexander Egyed,et al.  Computing repair trees for resolving inconsistencies in design models , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[130]  Ekkart Kindler,et al.  Multidirectional Transformations and Synchronisations (Dagstuhl Seminar 18491) , 2018, Dagstuhl Reports.

[131]  Alcino Cunha,et al.  Least-change bidirectional model transformation with QVT-R and ATL , 2014, Software & Systems Modeling.

[132]  Marsha Chechik,et al.  N-way model merging , 2013, ESEC/FSE 2013.

[133]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[134]  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.

[135]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[136]  Jean Bézivin,et al.  On the Need for Megamodels , 2004, OOPSLA 2004.

[137]  SCOTT J AMBLER,et al.  REFACTORING DATABASES : EVOLUTIONARY DATABASE DESIGN ( PAPERBACK ) ( ADDISON-WESLEY SIGNATURE SERIES ( FOWLER ) ) BY , 2017 .

[138]  Gabor Karsai,et al.  Automatic Domain Model Migration to Manage Metamodel Evolution , 2009, MoDELS.

[139]  Yngve Lamo,et al.  Co-ordination of Multiple Metamodels, with Application to Healthcare Systems , 2014, EUSPN/ICTH.

[140]  Yasushi Saito,et al.  Optimistic replication , 2005, CSUR.

[141]  Bashar Nuseibeh,et al.  Leveraging Inconsistency in Software Development , 2000, Computer.

[142]  Bernhard Westfechtel,et al.  Benchmarking bidirectional transformations: theory, implementation, application, and assessment , 2019, Software and Systems Modeling.