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 object- and 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]  Erik Barendsen,et al.  Graph rewriting aspects of functional programming , 1999 .

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

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

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

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

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

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

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

[9]  Detlef Plump,et al.  Term graph rewriting , 1999 .

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

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

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

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

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

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

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

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

[18]  A. Schfürr,et al.  Programmed graph replacement systems , 1997 .

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

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

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

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

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

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

[25]  Jeff Magee,et al.  Distributed software architectures (tutorial) , 1997, ICSE '97.

[26]  Michel Bauderon,et al.  Pullback as a Generic Graph Rewriting Mechanism , 2001, Appl. Categorical Struct..

[27]  Grzegorz Rozenberg,et al.  On the structure of node-label-controlled graph languages , 1980, Inf. Sci..

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

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

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

[31]  Joost-Pieter Katoen,et al.  A probabilistic extension of UML statecharts: Specification and Verification. , 2002 .

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

[33]  Hartmut Ehrig,et al.  Selected papers from the 6th International Workshop on Theory and Application of Graph Transformations , 1998 .

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

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

[36]  Berthold Hoffmann,et al.  Hierarchical Graph Transformation , 2000, J. Comput. Syst. Sci..

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

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

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

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

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

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

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

[44]  Marko C. J. D. van Eekelen,et al.  Term Graph Rewriting , 1987, PARLE.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[62]  Michael von der Beeck,et al.  A Comparison of Statecharts Variants , 1994, FTRTFT.

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

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

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

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

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

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

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

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

[71]  Gabriele Taentzer,et al.  Hierarchically Distributed Graph Transformation , 1994, TAGT.

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

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

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

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

[76]  Reiko Heckel,et al.  Ensuring consistency of conditional graph rewriting - a constructive approach , 1995, SEGRAGRA.

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

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

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

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

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

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

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

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