Change-driven model transformations

Nowadays, evolving models are prime artefacts of model-driven software engineering. In tool integration scenarios, a multitude of tools and modeling languages are used where complex model transformations need to incrementally synchronize various models residing within different external tools. In the paper, we investigate a novel class of transformations, that are directly triggered by model changes. First, model changes in the source model are recorded incrementally by a change history model . Then a model-to-model transformation is carried out to generate a change model for the target language. Finally, the target change history model is processed (at any time) to incrementally update the target model itself. Moreover, our technique also allows incremental updates in an external model where only the model manipulation interface is under our control (but not the model itself). Our approach is implemented within the VIATRA2 framework, and it builds on live transformations and incremental pattern matching.

[1]  Stéphane Ducasse,et al.  Modeling history to analyze software evolution , 2006, J. Softw. Maintenance Res. Pract..

[2]  Dániel Varró,et al.  The model transformation language of the VIATRA2 framework , 2007, Sci. Comput. Program..

[3]  Dániel Varró,et al.  Termination Analysis of Model Transformations by Petri Nets , 2006, ICGT.

[4]  Charles L. Forgy,et al.  Rete: A Fast Algorithm for the Many Patterns/Many Objects Match Problem , 1982, Artif. Intell..

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

[6]  Ákos Horváth,et al.  A Benchmark Evaluation of Incremental Pattern Matching in Graph Transformation , 2008, ICGT.

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

[8]  Bernhard Westfechtel,et al.  Model-based a-posteriori integration of engineering tools for incremental development processes , 2004, Software & Systems Modeling.

[9]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[10]  Arend Rensink,et al.  Representing First-Order Logic Using Graphs , 2004, ICGT.

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

[12]  Holger Giese,et al.  Dynamic hierarchical mega models: comprehensive traceability and its efficient maintenance , 2010, Software & Systems Modeling.

[13]  Mikael Berndtsson,et al.  Design and Implementation of an ECA Rule Markup Language , 2005, RuleML.

[14]  Holger Giese,et al.  Incremental model synchronization with triple graph grammars , 2006, MoDELS'06.

[15]  Dániel Varró,et al.  Back-annotation of Simulation Traces with Change-Driven Model Transformations , 2010, 2010 8th IEEE International Conference on Software Engineering and Formal Methods.

[16]  Dániel Varró,et al.  Synchronization of abstract and concrete syntax in domain-specific modeling languages , 2010, Software & Systems Modeling.

[17]  Klaus R. Dittrich,et al.  The active database management system manifesto: a rulebase of ADBMS features , 1995, SGMD.

[18]  Andy Schürr,et al.  Model transformation in the large , 2007, ESEC-FSE '07.

[19]  Bashar Nuseibeh,et al.  Model-Based Argument Analysis for Evolving Security Requirements , 2010, 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement.

[20]  Juan de Lara,et al.  Event-Driven Grammars: Towards the Integration of Meta-modelling and Graph Transformation , 2004, ICGT.

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

[22]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 2: applications, languages, and tools , 1999 .

[23]  Michael Lawley,et al.  Incremental model transformation for the evolution of model-driven systems , 2006, MoDELS'06.

[24]  Laurence Tratt,et al.  A change propagating model transformation Language , 2008, J. Object Technol..

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

[26]  Dániel Varró,et al.  Design-time simulation of domain-specific models by incremental pattern matching , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[27]  Thomas Olsson,et al.  Supporting traceability and inconsistency management between software artifacts , 2002, ICSE 2002.

[28]  Jennifer Widom,et al.  Database Systems: The Complete Book , 2001 .

[29]  Dániel Varró,et al.  VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML (The Mathematics of Metamodeling is Metamodeling Mathematics) , 2003, Software & Systems Modeling.

[30]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[31]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[32]  Juan de Lara,et al.  Event-driven grammars: relating abstract and concrete levels of visual languages , 2007, Software & Systems Modeling.

[33]  Dániel Varró,et al.  Live Model Transformations Driven by Incremental Pattern Matching , 2008, ICMT@TOOLS.

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

[35]  Bashar Nuseibeh,et al.  Arguing security: validating security requirements using structured argumentation , 2005 .

[36]  Gergely Varr ´ o,et al.  Generic Search Plans for Matching Advanced Graph Patterns , 2007 .

[37]  Dongxi Liu,et al.  Towards automatic model synchronization from model transformations , 2007, ASE.

[38]  Alexander Egyed,et al.  Instant consistency checking for the UML , 2006, ICSE.

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

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

[41]  Hartmut Ehrig,et al.  A Logic of Graph Constraints , 2008, FASE.

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

[43]  Alexander Egyed,et al.  Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[44]  Manuel Wimmer,et al.  A survey on model versioning approaches , 2009, Int. J. Web Inf. Syst..

[45]  John C. Grundy,et al.  Inconsistency Management for Multiple-View Software Development Environments , 1998, IEEE Trans. Software Eng..

[46]  Serge Demeyer,et al.  The FAMOOS Object-Oriented Reengineering Handbook , 1999 .