Tutorial Introduction to Graph Transformation: A Software Engineering Perspective

We give an introduction to graph transformation, not only for researchers in software engineering, but based on applications of graph transformation in this domain. In particular, we demonstrate the use of graph transformation to model objectand component-based systems and to specify syntax and semantics of diagram languages. Along the way we introduce the basic concepts, discuss different approaches, and mention relevant theory and tools.

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

[2]  Manfred Nagl,et al.  Software specification using graph grammars , 1983, Computing.

[3]  Andy Schürr Logic Based Programmed Structure Rewriting Systems , 1996, Fundam. Informaticae.

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

[5]  R. Milner,et al.  Bigraphical Reactive Systems , 2001, CONCUR.

[6]  Gregor Engels,et al.  How to represent a visual specification , 1998 .

[7]  Hartmut Ehrig,et al.  Categorical principles, techniques and results for high-level-replacement systems in computer science , 1993, Appl. Categorical Struct..

[8]  Ugo Montanari,et al.  Separable Graphs, Planar Graphs and Web Grammars , 1970, Inf. Control..

[9]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

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

[11]  Gabriele Taentzer,et al.  A Visualization of OCL Using Collaborations , 2001, UML.

[12]  Luciano Baresi,et al.  Tutorial Introduction to Graph Transformation: A Software Engineering Perspective , 2002, ICGT.

[13]  Ingrid Fischer,et al.  Distributed graph transformation with application to visual design of distributed systems , 1999 .

[14]  Terrence W. Pratt Definition of Programming Language Semantics Using Grammars for Hierarchical Graphs , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[15]  Terrence W. Pratt,et al.  Pair Grammars, Graph Languages and String-to-Graph Translations , 1971, J. Comput. Syst. Sci..

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

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

[18]  Jeff Magee,et al.  Distributed Software Architectures , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[19]  John W. Backus,et al.  The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM Conference , 1959, IFIP Congress.

[20]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[21]  Joost Engelfriet,et al.  Node Replacement Graph Grammars , 1997, Handbook of Graph Grammars.

[22]  Hartmut Ehrig,et al.  Concurrent semantics of algebraic graph transformations , 1999 .

[23]  Marco Pistore,et al.  Modeling concurrent, mobile and coordinated systems via graph transformations , 1999 .

[24]  Jan Willem Klop,et al.  Term Graph Rewriting , 1995, HOA.

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

[26]  Gregor Engels,et al.  Encapsulated hierarchical graphs, graph types, and meta types , 1995, SEGRAGRA.

[27]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach , 1997, Handbook of Graph Grammars.

[28]  Francesca Rossi,et al.  Graph Processes , 1996, Fundam. Informaticae.

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

[30]  S. H. von Solms Node-label controlled graph grammars with context conditions , 1984 .

[31]  Hartmut Ehrig,et al.  Conceptual Model of the Graphical Editor GENGED for the Visual Definition of Visual Languages , 1998, TAGT.

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

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

[34]  Ugo Montanari,et al.  Synchronized Hyperedge Replacement with Name Mobility , 2001, CONCUR.

[35]  Daniel Le Métayer,et al.  Software architecture styles as graph grammars , 1996, SIGSOFT '96.

[36]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[37]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[38]  Michael Löwe,et al.  Algebraic Approach to Single-Pushout Graph Transformation , 1993, Theor. Comput. Sci..

[39]  I. G. BONNER CLAPPISON Editor , 1960, The Electric Power Engineering Handbook - Five Volume Set.

[40]  Bruno Courcelle,et al.  The Expression of Graph Properties and Graph Transformations in Monadic Second-Order Logic , 1997, Handbook of Graph Grammars.

[41]  Reiko Heckel,et al.  Detection of conflicting functional requirements in a use case-driven approach: a static analysis technique based on graph transformation , 2002, ICSE '02.

[42]  Francesco Parisi-Presicce,et al.  Refinements of Graph Transformation Systems via Rule Expressions , 1998, TAGT.

[43]  Annegret Habel,et al.  Hyperedge Replacement, Graph Grammars , 1997, Handbook of Graph Grammars.

[44]  Dirk Janssens Actor grammars and local actions , 1999 .

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

[46]  Reiko Heckel,et al.  Rule-Based Specification of Behavioral Consistency Based on the UML Meta-model , 2001, UML.

[47]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[48]  Kim Marriott,et al.  A survey of visual language specification and recognition , 1998 .

[49]  Manfred Nagl,et al.  Building Tightly Integrated Software Development Environments: The IPSEN Approach , 1996, Lecture Notes in Computer Science.

[50]  Andy Schürr,et al.  Programmed Graph Replacement Systems , 1997, Handbook of Graph Grammars.

[51]  Mark Minas Hypergraphs as a Uniform Diagram Representation Model , 1998, TAGT.

[52]  Michel Wermelinger,et al.  A graph transformation approach to software architecture reconfiguration , 2002, Sci. Comput. Program..

[53]  Paola Inverardi,et al.  Modeling Software Architecutes and Styles with Graph Grammars and Constraint Solving , 1999, WICSA.

[54]  Hartmut Ehrig,et al.  Graph Grammars with Application Conditions , 1986 .

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

[56]  Azriel Rosenfeld,et al.  Web Grammars , 1969, IJCAI.

[57]  Pascal Fradet,et al.  Consistency checking for multiple view software architectures , 1999, ESEC/FSE-7.

[58]  Bruno Courcelle,et al.  The Monadic Second-Order Logic of Graphs. I. Recognizable Sets of Finite Graphs , 1990, Inf. Comput..

[59]  Berthold Hoffmann,et al.  Hierarchical Graph Transformation , 2002, J. Comput. Syst. Sci..

[60]  Reiko Heckel,et al.  Strengthening UML Collaboration Diagrams by State Transformations , 2001, FASE.

[61]  Andy Schürr,et al.  Defining and Parsing Visual Languages with Layered Graph Grammars , 1997, J. Vis. Lang. Comput..

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

[63]  Gabriele Taentzer,et al.  Dynamic Change Management by Distributed Graph Transformation: Towards Configurable Distributed Systems , 1998, TAGT.

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

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

[66]  Hartmut Ehrig,et al.  Graph-Grammars: An Algebraic Approach , 1973, SWAT.

[67]  Francesca Rossi,et al.  A new term graph rewriting formalism: hyperedge replacement jungle rewriting , 1993 .

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

[69]  Ulrich Nickel,et al.  Integrating UML diagrams for production control systems , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[70]  Hans-Jörg Kreowski,et al.  On the Interleaving Sematics of Transformation Units - A Step into GRACE , 1994, TAGT.

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

[72]  Gregor Engels,et al.  A Framework for Adding Packages to Graph Transformation Approaches , 1998, TAGT.

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

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

[75]  Christopher Strachey,et al.  Toward a mathematical semantics for computer languages , 1971 .

[76]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[77]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[78]  Berthold Hoffmann,et al.  A Generic Model for Diagram Syntax and Semantics , 2000, ICALP Satellite Workshops.

[79]  Erik Barendsen,et al.  Graph rewriting aspects of functional programming , 1999 .