Rewriting Logic Semantics and Verification of Model Transformations

Model transformations are used in model-driven development for mechanizing the interoperability and integration among modeling languages. Due to the graph-theoretic nature of models, the theory of graph transformation systems and its technological support provide a convenient environment for formalizing and verifying model transformations, which can then be used for defining the semantics of model-based domain-specific languages. In this paper, we present an approach for formalizing and verifying QVT-like transformations that reuses the main concepts of graph transformation systems. Specifically, we formalize model transformations as theories in rewriting logic, so that Maude's reachability analysis and model checking features can be used for verifying them. This approach also provides a new perspective on graph transformation systems, where their formal semantics is given in rewriting logic. All the ideas presented are implemented in MOMENT2. In this way, we can define formal model transformations in the Eclipse Modeling Framework (EMF) and we can verify them in Maude. We use a model of a distributed mutual exclusion algorithm to illustrate the approach.

[1]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[2]  Arturo Boronat Moll A formal framework for model management , 2011 .

[3]  MeseguerJosé Conditional rewriting logic as a unified model of concurrency , 1992 .

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

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

[6]  José Meseguer,et al.  Membership algebra as a logical framework for equational specification , 1997, WADT.

[7]  Martin Wirsing,et al.  Extraction of Structured Programs from Specification Proofs , 1999, WADT.

[8]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[9]  Artur Boronat,et al.  Algebraic Semantics of OCL-Constrained Metamodel Specifications , 2009, TOOLS.

[10]  Barbara König,et al.  Augur 2 - A New Version of a Tool for the Analysis of Graph Transformation Systems , 2008, GT-VMT@ETAPS.

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

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

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

[14]  Bruno Courcelle,et al.  Graph expressions and graph rewritings , 1987, Mathematical systems theory.

[15]  Andrew M. Pitts,et al.  Category Theory and Computer Science , 1987, Lecture Notes in Computer Science.

[16]  Ugo Montanari,et al.  An Algebra of Graphs and Graph Rewriting , 1991, Category Theory and Computer Science.

[17]  Reiko Heckel,et al.  Compositional Verification of Reactive Systems Specified by Graph Transformation , 1998, FASE.

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

[19]  Jean-Claude Raoult,et al.  Set-Theoretic Graph Rewriting , 1993, Dagstuhl Seminar on Graph Transformations in Computer Science.

[20]  J. Küster,et al.  Analysis of Model Transformations via Alloy , 2007 .

[21]  José Meseguer,et al.  Rewriting Logic as a Semantic Framework for Concurrency: a Progress Report , 1996, CONCUR.

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

[23]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

[24]  Juan de Lara,et al.  Meta-modelling and graph grammars for multi-paradigm modelling in AToM3 , 2004, Software & Systems Modeling.

[25]  Hartmut Ehrig,et al.  Graph Transformations in Computer Science , 1994, Lecture Notes in Computer Science.

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

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

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

[29]  Manfred Nagl,et al.  Applications of Graph Transformations with Industrial Relevance , 2004, Lecture Notes in Computer Science.

[30]  Dániel Varró,et al.  CheckVML: A Tool for Model Checking Visual Modeling Languages , 2003, UML.

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

[32]  Antonio Vallecillo,et al.  Analyzing Rule-Based Behavioral Semantics of Visual Modeling Languages with Maude , 2009, SLE.

[33]  Julian Bradfield CONCUR '96: Concurrency Theory , 1996 .

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