Graph Transformation with Variables

Variables make rule-based systems more abstract and expressive, as witnessed by term rewriting systems and two-level grammars. In this paper we show that variables can be used to define advanced ways of graph transformation as well. Taking the gluing approach to graph transformation [7,3] as a basis, we consider extensions of rules with attribute variables, clone variables, and graph variables, respectively. In each case, the variables in a rule are instantiated in order to obtain a set of rule instances that in turn defines the transformation relation. By combining different kinds of variables, we define very expressive rules, and reduce them to plain rules by instantiation. Since gluing graph transformation has a well developed theory, this opens the door to lift results of that theory from instances to rules with variables.

[1]  Mark Minas,et al.  Constructing Shapely Nested Graph Transformations , 2002 .

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

[3]  Annegret Habel,et al.  Double-pushout graph transformation revisited , 2001, Mathematical Structures in Computer Science.

[4]  Annegret Habel,et al.  Graph Unification and Matching , 1994, TAGT.

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

[6]  Annegret Habel,et al.  Parallel Independence in Hierarchical Graph Transformation , 2004, ICGT.

[7]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

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

[9]  Detlef Plump,et al.  Towards Graph Programs for Graph Algorithms , 2004, ICGT.

[10]  Berthold Hoffmann,et al.  Shapely hierarchical graph transformation , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).

[11]  Wolfgang Hesse,et al.  Two-Level Graph Grammars , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

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

[13]  Tom Mens,et al.  Formalising Behaviour Preserving Program Transformations , 2002, ICGT.

[14]  Berthold Hoffmann,et al.  Abstraction and Control for Shapely Nested Graph Transformation , 2003, Fundam. Informaticae.

[15]  Dirk Janssens,et al.  Extending Graph Rewriting for Refactoring , 2004, ICGT.

[16]  Hartmut Ehrig,et al.  Graph-Grammars and Their Application to Computer Science and Biology , 1978, Lecture Notes in Computer Science.

[17]  Annegret Habel,et al.  Relabelling in Graph Transformation , 2002, ICGT.

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

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

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

[21]  Hans-Jörg Kreowski,et al.  On structured graph grammars. II , 1990, Inf. Sci..

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

[23]  Hans Jürgen Schneider,et al.  On Categorical Graph Grammars Integrating Structural Transformations and Operations on Labels , 1993, Theor. Comput. Sci..

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

[25]  J. C. Cleaveland,et al.  Grammars for programming languages , 1977 .

[26]  Detlef Plump,et al.  Hypergraph rewriting: critical pairs and undecidability of confluence , 1993 .

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

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

[29]  Georg Schied,et al.  Über Graphgrammatiken, eine Spezifikationsmethode für Programmiersprachen und verteilte Regelsysteme , 1992 .

[30]  M. J. Plasmeijer,et al.  Term graph rewriting: theory and practice , 1993 .

[31]  Manfred Nagl Graph-Grammatiken: Theorie, Anwendungen, Implementierung , 1979 .

[32]  Hartmut Ehrig,et al.  A Graph-Theoretical Model for Multi-Pass Parsing , 1981, International Workshop on Graph-Theoretic Concepts in Computer Science.