Simulation and animation of visual languages based on typed algebraic graph transformation

In recent years, visual models represented by graphs have become very popular in systems development, as the wide-spread use of UML and Petri nets proves. Visual modeling techniques provide an intuitive, yet precise way to model the structure and behavior of systems at their natural level of abstraction. Validating model behavior is one of the main aims of visual behavior modeling. To express the semantics of visual models, the transformation of graphs plays a similar central role as term rewriting in the traditional case of textual models. The area of graph transformation provides a rule-based setting to define the syntax and semantics of visual models. The well-founded theoretical results support the formal reasoning about graph-based models at all levels. The main objective of this thesis is to improve the validation process for visual behavioral models by providing a formal framework and tool support for simulation and animation based on graph transformation. To attain this goal, we propose to use animation views for simulation instead of the notation of abstract diagrammatic languages. Animation views allow to simulate visual model behavior in the layout of the model’s application domain, at a freely chosen level of abstraction. Thus, they provide better insights of model behavior and lead to an earlier detection of inconsistencies and possible missing requirements in the model. Moreover, animation of scenarios may be used, i.e. scenarios may be visualized as smooth movements. In the graph transformation framework, the model behavior is given by a graph transformation system (the simulation specification) typed over the visual language alphabet. An animation view defines the visual model’s application domain by extending the alphabet. A simulation specification is mapped to an animation view by so-called simulation-to-animation model-and-rule transformation (S2A transformation). The formal description of simulation, animation and S2A transformation is based on the double-pushout approach to typed graph transformation. The formal basis is used not only to formalize visual models and their animation views, but also to reason about the semantical equivalence of the visual model’s representation in the animation view. Furthermore, the thesis describes the design and implementation of a prototypical tool environment for simulation, animation view definition, S2A transformation and animation. The existing generator for visual environments, GENGED, supports already the definition of visual modeling languages by type graphs and syntax grammars. The extensions of GENGED allow the definition of simulation specifications, scenarios, and animation views. S2A transformation is realized by applying so-called meta rules to the rules of an existing grammar. By the specification of continuous animation operations using the new animation editor, animation scenarios are visualized as smooth movements instead of discrete simulation steps.

[1]  John T. Stasko Tango: A Framework and System for Algorithm Animation , 1990, Computer.

[2]  Hans-Jörg Kreowski,et al.  Graph Transformation Units with Interleaving Semantics , 1999, Formal Aspects of Computing.

[3]  Erran Carmel,et al.  Customer-developer links in software development , 1995, CACM.

[4]  M. Minas,et al.  Application of graph transformation to visual languages , 1999 .

[5]  Roswitha Bardohl,et al.  GenGEd: A Development Environment for Visual Languages , 1999, AGTIVE.

[6]  Hartmut Ehrig,et al.  Refinements of Graph Transformation Systems via Rule Expressions , 2000 .

[7]  Martin Gogolla,et al.  From UML Models to Graph Transformation Systems , 2005, VLFM.

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

[9]  Michael Löwe,et al.  An algebraic framework for the transformation of attributed graphs , 1993 .

[10]  Claudia Ermel,et al.  Scenario animation for visual behavior models: A generic approach , 2003, Software & Systems Modeling.

[11]  Gabriele Taentzer,et al.  Towards Graph Transformation Based Generation of Visual Editors Using Eclipse , 2005, Electron. Notes Theor. Comput. Sci..

[12]  Rossella Petreschi,et al.  Reversible Execution and Visualization of Programs with LEONARDO , 2000, J. Vis. Lang. Comput..

[13]  Hans-Jörg Kreowski Translations into the graph grammar machine , 1993 .

[14]  Mark Utting,et al.  Data structures for Z testing tools. , 2001 .

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

[16]  Peter R. Keller,et al.  Visual cues - practical data visualization , 1993 .

[17]  Bernd Meyer,et al.  Formalization of Visual Mathematical Notations , 1997 .

[18]  Hans-Jörg Kreowski,et al.  UML Interaction Diagrams: Correct Translation of Sequence Diagrams into Collaboration Diagrams , 2003, AGTIVE.

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

[20]  Hartmut Ehrig,et al.  Mathematisch-strukturelle Grundlagen der Informatik , 1999, Mathematisch-strukturelle Grundlagen der Informatik.

[21]  Antonio,et al.  Computer-Aided Validation of Formal Conceptual Models , 2001 .

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

[23]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[24]  Umberto Ferraro Petrillo,et al.  CATAI: Concurrent Algorithms and Data Types Animation over the Internet , 2002, J. Vis. Lang. Comput..

[25]  T. B. Dinesh,et al.  Visual Object Definition Language , 1995 .

[26]  Bernd Grahlmann,et al.  The State of PEP , 1999, AMAST.

[27]  Dániel Varró,et al.  VIATRA - visual automated transformations for formal verification and validation of UML models , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[28]  Reiko Heckel,et al.  Flexible Interconnection of Graph Transformation Modules A Systematic Approach , 2005 .

[29]  Azriel Rosenfeld Array and Web Languages: An Overview. , 1975 .

[30]  Randall P. Sadowski,et al.  Introduction to Simulation Using Siman , 1990 .

[31]  Claudia Ermel,et al.  Visual Specification and Parsing of a Statechart Variant usi ng GENGED , 2001 .

[32]  Eric J. Golin,et al.  Parsing visual languages with picture layout grammars , 1991, J. Vis. Lang. Comput..

[33]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[34]  Gabriele Taentzer,et al.  Efficient parsing of visual languages based on critical pair analysis and contextual layered graph transformation , 2000, Proceeding 2000 IEEE International Symposium on Visual Languages.

[35]  Claudia Ermel,et al.  GenGED - A Visual Definition Tool for Visual Modeling Environments , 2003, AGTIVE.

[36]  J. Gips Shape Grammars and their Uses: Artificial Perception, Shape Generation and Computer Aesthetics , 1977 .

[37]  Kent Wittenburg,et al.  Parsing with Relational Unification Grammars , 1991, IWPT.

[38]  M. Minas J. Gottschall Specifying Animated Diagram Languages , 1998 .

[39]  Ugo Montanari,et al.  Specification of Concurrent Systems: from Petri Nets to Graph Grammars , 1995 .

[40]  Karsten Ehrig,et al.  Model Transformation From VisualOCL to OCL Using Graph Transformation , 2006, Electron. Notes Theor. Comput. Sci..

[41]  S. Kent,et al.  Validation of object oriented models using animation , 1999, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[42]  Hartmut Ehrig,et al.  Overview of Formal Concepts for Model Transformations Based on Typed Attributed Graph Transformation , 2006, GRaMoT@GPCE.

[43]  Roswitha Bardohl GENGED: visual definition of visual languages: based on algebraic graph transformation , 1999 .

[44]  Martin Erwig,et al.  Abstract Syntax and Semantics of Visual Languages , 1998, J. Vis. Lang. Comput..

[45]  Roswitha Bardohl,et al.  A visual environment for visual languages , 2002, Sci. Comput. Program..

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

[47]  Hans-Jörg Kreowski,et al.  Is parallelism already concurrency? Part 2: Non-sequential processes in graph grammars , 1986, Graph-Grammars and Their Application to Computer Science.

[48]  Gennaro Costagliola,et al.  Parsing 2-D Languages with Positional Grammars , 1991, IWPT.

[49]  Claudia Ermel,et al.  Scenario Views for Visual Behavior Models in GenGED , 2003, Electron. Notes Theor. Comput. Sci..

[50]  Peer Griebel Parcon: paralleles Lösen von grafischen Constraints , 1996 .

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

[52]  Hartmut Ehrig,et al.  Graph rewriting with unification and composition , 1986, Graph-Grammars and Their Application to Computer Science.

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

[54]  Hartmut Ehrig,et al.  Introduction to the Algebraic Theory of Graph Grammars (A Survey) , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[55]  Juan de Lara,et al.  Parallel Graph Transformation for Model Simulation applied to Timed Transition Petri Nets , 2004, GT-VMT@ETAPS.

[56]  Reiko Heckel,et al.  Open graph transformation systems: a new approach to the compositional modelling of concurrent and reactive systems , 1998 .

[57]  Marc H. Brown,et al.  Exploring algorithms using Balsa-II , 1988, Computer.

[58]  Martin Gogolla Graph Transformations on the UML Metamodel , 2000, ICALP Satellite Workshops.

[59]  D. Wang,et al.  Studies on the Formal Semantics of Pictures , 1995 .

[60]  Hans-Jörg Kreowski,et al.  Semantics of Visual Models in a Rule-based Setting , 2006, FoVMT.

[61]  Reiko Heckel,et al.  A methodology for specifying and analyzing consistency of object-oriented behavioral models , 2001, ESEC/FSE-9.

[62]  Claudia Ermel,et al.  Visual Design of Software Architecture and Evolution based on Graph Transformation , 2001, Electron. Notes Theor. Comput. Sci..

[63]  Francesco Parisi-Presicce,et al.  Spatial and Temporal Refinement of Typed Graph Transformation Systems , 1998, MFCS.

[64]  Sabine Kuske,et al.  Transformation units: a structuring principle for graph transformation systems , 2000 .

[65]  Louis Weitzman,et al.  Relational Grammars: Theory and Practice in a Visual Language Interface for Process Modeling , 1996 .

[66]  Genny Tortora,et al.  Positional grammars: a formalism for LR-like parsing of visual languages , 1998 .

[67]  Gabriele Taentzer,et al.  Towards Common Exchange Formats for Graphs and Graph Transformation Systems , 2001, UNIGRA.

[68]  Reiko Heckel,et al.  Horizontal and vertical structuring of typed graph transformation systems , 1996, Mathematical Structures in Computer Science.

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

[70]  Reiko Heckel,et al.  Graphical Operational Semantics , 2000, ICALP Satellite Workshops.

[71]  Reiko Heckel,et al.  Dynamic Meta Modeling with Time: Specifying the Semantics of Multimedia Sequence Diagrams , 2003, Electron. Notes Theor. Comput. Sci..

[72]  Reiko Heckel,et al.  A view-based approach to system modeling based on open graph transformation systems , 1999 .

[73]  Hartmut Ehrig,et al.  Generation of Animation Views for Petri Nets in GenGED , 2003, Petri Net Technology for Communication-Based Systems.

[74]  Hartmut Ehrig,et al.  Consistency analysis of UML class and se-quence diagrams using attributed graph grammars , 2000 .

[75]  Kim Marriott Constraint multiset grammars , 1994, Proceedings of 1994 IEEE Symposium on Visual Languages.

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

[77]  Juan de Lara,et al.  Computer Aided Multi-paradigm Modelling to Process Petri-Nets and Statecharts , 2002, ICGT.

[78]  Juan de Lara Meta-Modelling and Graph Transformation for the Simulation of Systems , 2003, Bull. EATCS.

[79]  Holger Giese,et al.  The fujaba real-time tool suite: model-driven development of safety-critical, real-time systems , 2005, ICSE.

[80]  Gabriele Taentzer,et al.  AGG: A Graph Transformation Environment for Modeling and Validation of Software , 2003, AGTIVE.

[81]  J. Siddiqi,et al.  Towards CASE tools for prototyping Z specifications , 1993, Proceedings of 6th International Workshop on Computer-Aided Software Engineering.

[82]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[83]  Martin Gogolla,et al.  On better understanding UML diagrams through interactive three-dimensional visualization and animation , 2000, AVI '00.

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

[85]  Gabriele Taentzer,et al.  Simulating Algebraic High-Level Nets by Parallel Attributed Graph Transformation , 2005, Formal Methods in Software and Systems Modeling.

[86]  Mark Minas Specifying Graph-like Diagrams with DIAGEN , 2002, Electron. Notes Theor. Comput. Sci..

[87]  Reiko Heckel,et al.  Graph Grammars with Negative Application Conditions , 1996, Fundam. Informaticae.

[88]  Albert Zündorf,et al.  The PROGRES approach: language and environment , 1999 .

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

[90]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems: Advanced Lectures (Lecture Notes in Computer Science) , 2005 .

[91]  Jeffrey G. Gray,et al.  Constraint animation using an object-oriented declarative language , 2000, ACM-SE 38.

[92]  Bernhard Rumpe,et al.  Systems, Views and Models of UML , 2014, UML Workshop.

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

[94]  Kalle Lyytinen,et al.  MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment , 1996, CAiSE.

[95]  Marta Simeoni,et al.  Refinements and Modules for Typed Graph Transformation Systems , 1999 .

[96]  Jawed I. A. Siddiqi,et al.  A toolset to support the construction and animation of formal specifications , 1998, J. Syst. Softw..

[97]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part II: Single Pushout Approach and Comparison with Double Pushout Approach , 1997, Handbook of Graph Grammars.

[98]  Berthold Hoffmann,et al.  Specifying and Implementing Visual Process Modeling Languages with DiaGen , 2001, Electron. Notes Theor. Comput. Sci..

[99]  Claudia Ermel,et al.  Animated simulation of integrated UML behavioral models based on graph transformation , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[100]  Luciano Baresi,et al.  A Toolbox for Automating Visual Software Engineering , 2002, FASE.

[101]  Claudia Ermel,et al.  Formal Relationship between Petri Nets and Graph Grammars as Basis for Animation Views in GenGED , 2002 .

[102]  Giuseppe Liotta,et al.  Algorithm animation over the World Wide Web , 1996, AVI '96.

[103]  Claudia Ermel,et al.  AGG and GenGED: Graph Transformation-Based Specification and Analysis Rechniques for Visual Languages , 2002, GraBaTs.

[104]  Paolo Bottoni Dynamic aspects of visual modelling languages , 2003, Electron. Notes Theor. Comput. Sci..

[105]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1: Equations and Initial Semantics , 1985 .

[106]  Martin Gogolla,et al.  Towards Three-Dimensional Animation of UML Diagrams , 1999, UML.

[107]  Reiko Heckel,et al.  A Combined Reference Model- and View-Based Approach to System Specification , 1997, Int. J. Softw. Eng. Knowl. Eng..

[108]  J. Stasko,et al.  A Meta-Study of Algorithm Visualization Effectiveness , 2002, J. Vis. Lang. Comput..

[109]  Jürgen Ebert,et al.  Meta-CASE in Practice: a Case for KOGGE , 1997, CAiSE.

[110]  Eric J. Golin A method for the specification and parsing of visual languages , 1991 .

[111]  Dániel Varró,et al.  Termination Criteria for Model Transformation , 2005, Transformation Techniques in Software Engineering.

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

[113]  Claudia Ermel,et al.  Transforming Specification Architectures by GenGED , 2002, ICGT.

[114]  Gabriele Taentzer,et al.  Generation of visual editors as eclipse plug-ins , 2005, ASE.

[115]  David Harel,et al.  Reactive Animation , 2002, FMCO.

[116]  Hartmut Ehrig,et al.  Algebraic high-level net transformation systems , 1995, Mathematical Structures in Computer Science.

[117]  Gabriele Taentzer,et al.  Simulation and Animation of Visual Models of Embedded Systems , 2006 .

[118]  J.T. Stasko,et al.  Three-dimensional computation visualization , 1993, Proceedings 1993 IEEE Symposium on Visual Languages.

[119]  Hartmut Ehrig,et al.  Integrating Meta-modelling Aspects with Graph Transformation for Efficient Visual Language Definition and Model Manipulation , 2004, FASE.

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

[121]  Reiko Heckel,et al.  Towards automatic translation of UML models into semantic domains , 2002 .

[122]  Hartmut Ehrig,et al.  Fundamental Theory for Typed Attributed Graphs and Graph Transformation based on Adhesive HLR Categories , 2006, Fundam. Informaticae.

[123]  Xiaoping Jia An approach to animating Z specifications , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[124]  Hartmut Ehrig Behaviour and Instantiation of High-Level Petri Net Processes , 2005, Fundam. Informaticae.

[125]  Claudia Ermel,et al.  View Transformation in Visual Environments applied to Algebraic High-Level Nets , 2005, PNGT@ICGT.

[126]  Reiko Heckel,et al.  Consistency-Preserving Model Evolution through Transformations , 2002, UML.

[127]  Hartmut Ehrig,et al.  Fundamental Theory for Typed Attributed Graph Transformation , 2004, ICGT.

[128]  Kim Marriott,et al.  Declarative specification of visual languages , 1990, Proceedings of the 1990 IEEE Workshop on Visual Languages.

[129]  Martin Gogolla,et al.  Coherently Explaining UML Statechart and Collaboration Diagrams by Graph Transformations , 2005, SBMF.

[130]  Hartmut Ehrig,et al.  Adhesive High-Level Replacement Categories and Systems , 2004, ICGT.

[131]  Rolf Walter Petrinetzmodelle verteilter Algorithmen: Beweistechnik und Intuition , 1995, Edition Versal.

[132]  John T. Stasko,et al.  Integrating visualization support into distributed computing systems , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[133]  Leila Ribeiro,et al.  Parallel composition and unfolding semantics of graph grammars , 1996 .

[134]  Hartmut Ehrig,et al.  Parallelism and concurrency in high-level replacement systems , 1991, Mathematical Structures in Computer Science.

[135]  Hartmut Ehrig,et al.  Applications, languages and tools , 1999 .