Inter-modelling with patterns

Inter-modelling is the activity of modelling relations between two or more modelling languages. The result of this activity is a model that describes the way in which model instances of these languages can be related. Many tasks in model-driven development can be classified as inter-modelling, for example designing model-to-model transformations, defining model matching and traceability relations, specifying model merging and model weaving, as well as describing mechanisms for inter-model consistency management and model synchronization. This paper presents our approach to inter-modelling in a declarative, relational, visual, and formal style. The approach relies on declarative patterns describing allowed or forbidden relations between two modelling languages. Such specification is then compiled into different operational mechanisms that are tailor-made for concrete inter-modelling scenarios. Up to now, we have used the approach to generate forward and backward transformations from a pattern specification. In this paper we demonstrate that the same specification can be used to derive mechanisms for other inter-modelling tasks, such as model matching and model traceability. In these scenarios the goals are generating the traces between two existing models, checking whether two models are correctly traced, and modifying the traces between two models if they are incorrect.

[1]  Shin-Cheng Mu,et al.  Bidirectionalizing Tree Transformation Languages: A Case Study , 2007 .

[2]  Juan de Lara,et al.  Pattern-Based Model-to-Model Transformation: Handling Attribute Conditions , 2009, ICMT@TOOLS.

[3]  Juan de Lara,et al.  Inter-modelling: from theory to practice , 2010, MODELS'10.

[4]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[5]  Richard F. Paige,et al.  Engineering a DSL for Software Traceability , 2009, SLE.

[6]  Jesús Sánchez Cuadrado,et al.  RubyTL: A Practical, Extensible Transformation Language , 2006, ECMDA-FA.

[7]  Juan de Lara,et al.  A Visual Specification Language for Model-to-Model Transformations , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[8]  Hartmut Ehrig,et al.  Completeness and Correctness of Model Transformations based on Triple Graph Grammars with Negative Application Conditions , 2009, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

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

[10]  Andy Schürr,et al.  15 Years of Triple Graph Grammars , 2008, ICGT.

[11]  Artur Boronat,et al.  Exogenous Model Merging by means of Model Management Operators , 2006, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

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

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

[14]  Juan de Lara,et al.  Controlling Reuse in Pattern-Based Model-to-Model Transformations , 2010, Graph Transformations and Model-Driven Engineering.

[15]  Juan Garbajosa,et al.  Analyzing and Systematizing Current Traceability Schemas , 2006, 2006 30th Annual IEEE/NASA Software Engineering Workshop.

[16]  Juan de Lara,et al.  Pattern-Based Model-to-Model Transformation , 2008, ICGT.

[17]  Juan de Lara,et al.  Formal Support for QVT-Relations with Coloured Petri Nets , 2009, MoDELS.

[18]  Markus Aleksy,et al.  A Pragmatic Approach to Traceability in Model-Driven Development , 2008, PRIMIUM.

[19]  Hartmut Ehrig,et al.  Correctness, Completeness and Termination of Pattern-Based Model-to-Model Transformation , 2009, CALCO.

[20]  Igor Ivkovic,et al.  Tracing evolution changes of software artifacts through model synchronization , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

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

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

[23]  Richard F. Paige,et al.  The Epsilon Object Language (EOL) , 2006, ECMDA-FA.

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

[25]  Ilka Philippow,et al.  Rule-Based Maintenance of Post-Requirements Traceability Relations , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[26]  Gabriele Taentzer,et al.  Tool Support for ViewPoint-Oriented Software Development: Towards Integration of Multiple Perspectives by Distributed Graph Transformation , 1999, AGTIVE.

[27]  Jane Cleland-Huang,et al.  Model-based traceability , 2009, 2009 ICSE Workshop on Traceability in Emerging Forms of Software Engineering.

[28]  Gabriele Taentzer,et al.  Translation of Restricted OCL Constraints into Graph Constraints for Generating Meta Model Instances by Graph Grammars , 2008, GT-VMT@ETAPS.

[29]  Gabriele Taentzer,et al.  Towards Integrating Multiple Perspectives by Distributed Graph Transformation , 1999 .

[30]  Andy Schürr,et al.  Tool Integration with Triple Graph Grammars - A Survey , 2006, FoVMT.

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

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

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

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

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

[36]  Martin Gogolla,et al.  Model transformations? transformation models! , 2006, MoDELS'06.

[37]  Juan de Lara,et al.  Verification and validation of declarative model-to-model transformations through invariants , 2010, J. Syst. Softw..

[38]  Stuart Kent,et al.  A Relational Approach to Defining Transformations in a Metamodel , 2002, UML.

[39]  Hartmut Ehrig,et al.  Attributed graph transformation with node type inheritance , 2007, Theor. Comput. Sci..

[40]  Fernando Orejas,et al.  On the Specification and Verification of Model Transformations , 2009, Semantics and Algebraic Specification.

[41]  Perdita Stevens,et al.  A simple game-theoretic approach to checkonly QVT Relations , 2009, Software & Systems Modeling.

[42]  Richard F. Paige,et al.  The Epsilon Transformation Language , 2008, ICMT@TOOLS.

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

[44]  Hartmut Ehrig,et al.  On-the-Fly Construction, Correctness and Completeness of Model Transformations Based on Triple Graph Grammars , 2009, MoDELS.

[45]  Louis Féraud,et al.  A Unified Categorical Approach for Attributed Graph Rewriting , 2008, CSR.

[46]  Louis Féraud,et al.  An Approach of Model Transformation Based on Attribute Grammars , 2003, OOIS.

[47]  Peter Braun,et al.  Transforming Object Oriented Models with BOTL , 2003, GT-VMT@ICGT.

[48]  Jim Steel,et al.  Practical Declarative Model Transformation with Tefkat , 2005, MoDELS Satellite Events.