Efficient Graph Rewriting

Graph transformation is the rule-based modification of graphs, and is a discipline dating back to the 1970s. The declarative nature of graph rewriting rules comes at a cost. In general, to match the left-hand graph of a fixed rule within a host graph requires polynomial time. To improve matching performance, Dorr proposed to equip rules and host graphs with distinguished root nodes. This model was implemented by Plump and Bak, but unfortunately, is not invertible. We address this problem by defining rootedness using a partial function onto a two-point set rather than pointing graphs with root nodes. We show a new result that the graph class of trees can be recognised by a rooted GT system in linear time, given an input graph of bounded degree. Finally, we define a new notion of confluence modulo garbage and non-garbage critical pairs, showing it is sufficient to require strong joinability of only the non-garbage critical pairs to establish confluence modulo garbage.

[1]  Gerard Huet,et al.  Conflunt reductions: Abstract properties and applications to term rewriting systems , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[2]  Bruno Courcelle,et al.  The Monadic Second-Order Logic of Graphs: Definable Sets of Finite Graphs , 1988, WG.

[3]  V. Lozin Graph Theory Notes∗ , 2012 .

[4]  Detlef Plump,et al.  Hoare-Style Verification of Graph Programs , 2012, Fundam. Informaticae.

[5]  Detlef Plump,et al.  The Design of GP 2 , 2012, WRS.

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

[7]  J. Hartmanis,et al.  On the Computational Complexity of Algorithms , 1965 .

[8]  R. Berthold,et al.  Attributed Graph Transformation with PartialAttribution ? , .

[9]  Edsger W. Dijkstra,et al.  Chapter I: Notes on structured programming , 1972 .

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

[11]  Annegret Habel,et al.  Computational Completeness of Programming Languages Based on Graph Transformation , 2001, FoSSaCS.

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

[13]  Detlef Plump,et al.  The Graph Programming Language GP , 2009, CAI.

[14]  J. C. Martin,et al.  Introduction to Languages and the Theory of Computation" 3rd Ed , 1991 .

[15]  Christopher Bak,et al.  GP 2: efficient implementation of a graph programming language , 2015 .

[16]  Detlef Plump,et al.  Rooted Graph Programs , 2012, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[17]  J. Howie Fundamentals of semigroup theory , 1995 .

[18]  Bruno Courcelle,et al.  An algebraic theory of graph reduction , 1993, JACM.

[19]  Ken Kennedy,et al.  Graph grammars and global program data flow analysis , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[20]  Hélène Kirchner,et al.  Visual Modelling of Complex Systems: Towards an Abstract Machine for PORGY , 2014, CiE.

[21]  Francesco Parisi-Presicce,et al.  Modular System Design Applying Graph Grammars Techniques , 1989, ICALP.

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

[23]  Jean Berstel,et al.  Transductions and context-free languages , 1979, Teubner Studienbücher : Informatik.

[24]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[25]  T. Uesu A system of graph grammars which generates all recursively enumerable sets of labelled graphs , 1978 .

[26]  Steve Awodey,et al.  Category Theory , 2006 .

[27]  Friedrich Otto,et al.  String-Rewriting Systems , 1993, Text and Monographs in Computer Science.

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

[29]  Khalil Drira,et al.  GMTE: A Tool for Graph Transformation and Exact/Inexact Graph Matching , 2013, GbRPR.

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

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

[32]  Francesca Rossi,et al.  Logic Programming as Hypergraph Rewriting , 1991, TAPSOFT, Vol.1.

[33]  Niklaus Wirth,et al.  Program development by stepwise refinement , 1971, CACM.

[34]  Daniel Grund,et al.  GrGen: A Fast SPO-Based Graph Rewriting Tool , 2006, ICGT.

[35]  Detlef Plump,et al.  The GP Programming System , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[36]  Hartmut Ehrig,et al.  Efficient Conflict Detection in Graph Transformation Systems by Essential Critical Pairs , 2008, Electron. Notes Theor. Comput. Sci..

[37]  Ivaylo Hristakiev,et al.  Confluence analysis for a graph programming language , 2018 .

[38]  Gerhard Goos,et al.  Efficient Graph Rewriting and Its Implementation , 1995 .

[39]  Hartmut Ehrig,et al.  Applications of Graph Grammar Theory to Consistency, Synchronization and Scheduling in Data Base Systems , 1980, Inf. Syst..

[40]  Christopher M. Poskitt Verification of Graph Programs , 2012, ICGT.

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

[42]  Detlef Plump,et al.  Graph Transformation in Constant Time , 2006, ICGT.

[43]  George Angelos Papadopoulos,et al.  Dactl: an experimental graph rewriting language , 1990, J. Program. Lang..

[44]  Tsuyoshi Murata,et al.  {m , 1934, ACML.

[45]  Michael P. Frank,et al.  Introduction to reversible computing: motivation, progress, and challenges , 2005, CF '05.

[46]  Klaus Weihrauch,et al.  Computable Analysis: An Introduction , 2014, Texts in Theoretical Computer Science. An EATCS Series.

[47]  Detlef Plump Checking Graph-Transformation Systems for Confluence , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

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

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

[50]  Detlef Plump,et al.  Verifying Monadic Second-Order Properties of Graph Programs , 2014, ICGT.

[51]  Steven Skiena,et al.  The Algorithm Design Manual , 2020, Texts in Computer Science.

[52]  Gérard P. Huet,et al.  Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980, J. ACM.

[53]  Gabor Karsai,et al.  The design of a language for model transformations , 2006, Software & Systems Modeling.

[55]  Stefan Friedrich,et al.  Topology , 2019, Arch. Formal Proofs.

[56]  S. Lane Categories for the Working Mathematician , 1971 .

[57]  Wilson A. Sutherland,et al.  Introduction to Metric and Topological Spaces , 1975 .

[58]  D. Knuth,et al.  Simple Word Problems in Universal Algebras , 1983 .

[59]  D. Plump,et al.  Linear-Time Graph Algorithms in GP 2 , 2019, CALCO.

[60]  Edsger W. Dijkstra,et al.  A constructive approach to the problem of program correctness , 1968 .

[61]  Mike Dodds,et al.  Graph transformation and pointer structures , 2008 .

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

[63]  André I. Khuri An Introduction to Set Theory , 2003 .

[64]  Tobias Nipkow,et al.  Term rewriting and all that , 1998 .

[65]  Colin Runciman,et al.  Specifying Pointer Structures by Graph Reduction , 2003, AGTIVE.

[66]  M. Newman On Theories with a Combinatorial Definition of "Equivalence" , 1942 .

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

[68]  Hartmut Ehrig,et al.  M-Adhesive Transformation Systems with Nested Application Conditions. Part 2 , 2012 .

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

[70]  Detlef Plump,et al.  Checking Graph Programs for Confluence , 2017, STAF Workshops.

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

[72]  Detlef Plump,et al.  Termination of Graph Rewriting is Undecidable , 1998, Fundam. Informaticae.

[73]  Detlef Plump,et al.  From imperative to rule-based graph programs , 2017, J. Log. Algebraic Methods Program..