A Visual Interpreter Semantics for Statecharts Based on Amalgamated Graph Transformation

Several different approaches to define the formal operational semantics of statecharts have been proposed in the literature, including visual techniques based on graph transformation. These visual approaches either define a compiler semantics (translating a concrete statechart into a semantical domain) or they define an interpreter using complex control and helper structures. Existing visual semantics definitions make it difficult to apply the classical theory of graph transformations to analyze behavioral statechart properties due to the complex control structures. In this paper, we define an interpreter semantics for statecharts based on amalgamated graph transformation where rule schemes are used to handle an arbitrary number of transitions in orthogonal states in parallel. We build on an extension of the existing theory of amalgamation from binary to multi-amalgamation including nested application conditions to control rule applications for automatic simulation. This is essential for the interpreter semantics of statecharts. The theory of amalgamation allows us to show termination of the interpreter semantics of well-behaved statecharts, and especially for our running example, a producer-consumer system.

[1]  Ulrike Golas Analysis and correctness of algebraic graph and model transformations , 2011 .

[2]  Heinrich Hußmann,et al.  Analysing UML Active Classes and Associated State Machines - A Lightweight Formal Approach , 2000, FASE.

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

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

[5]  Michael von der Beeck,et al.  A Formal Semantics of UML-RT , 2006, MoDELS.

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

[7]  Claudia Ermel,et al.  Visual Modeling of Controlled EMF Model Transformation using HENSHIN , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[8]  Qing Li,et al.  Unified Modeling Language , 2009 .

[9]  Manfred Nagl,et al.  Graph-Grammars and Their Application to Computer Science , 1986, Lecture Notes in Computer Science.

[10]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[11]  Manfred Nagl,et al.  Graph-Grammars and Their Application to Computer Science , 1982, Lecture Notes in Computer Science.

[12]  Hartmut Ehrig,et al.  Parallel Independence of Amalgamated Graph Transformations Applied to Model Transformation , 2010, Graph Transformations and Model-Driven Engineering.

[13]  Martin Gogolla,et al.  An Integrated Semantics for UML Class, Object and State Diagrams Based on Graph Transformation , 2002, IFM.

[14]  Martin Gogolla,et al.  State diagrams in UML: A formal semantics using graph transformations , 1998 .

[15]  Hartmut Ehrig,et al.  Formal Specification of Model Transformations by Triple Graph Grammars with Application Conditions , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[16]  Dániel Varró,et al.  A Formal Semantics of UML Statecharts by Model Transition Systems , 2002, ICGT.

[17]  Hartmut Ehrig,et al.  Parallelism and Concurrency Theorems for Rules with Nested Application Conditions , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[18]  Gabriele Taentzer,et al.  Henshin: advanced concepts and tools for in-place EMF model transformations , 2010, MODELS'10.

[19]  Michael von der Beeck A structured operational semantics for UML-statecharts , 2002 .

[20]  Gabriele Taentzer,et al.  Amalgamated Graph Transformations and Their Use for Specifying AGG - an Algebraic Graph Grammar System , 1993, Dagstuhl Seminar on Graph Transformations in Computer Science.

[21]  Andrea Maggiolo-Schettini,et al.  A Graph Rewriting Framework for Statecharts Semantics , 1994, TAGT.

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

[23]  Annegret Habel,et al.  Amalgamation of Graph Transformations: A Synchronization Mechanism , 1987, J. Comput. Syst. Sci..

[24]  Mikael Lindvall in Software Engineering , 2002 .

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

[26]  Gabriele Taentzer,et al.  Parallel and distributed graph transformation - formal description and application to communication-based systems , 1996, Berichte aus der Informatik.

[27]  Sabine Kuske,et al.  A Formal Semantics of UML State Machines Based on Structured Graph Transformation , 2001, UML.

[28]  Hartmut Ehrig,et al.  Multi-Amalgamation in Adhesive Categories , 2010, ICGT.