Describing systems of processes by means of high-level replacement

Graphs and graph transformations are natural means to describe systems of processes. Graphs represent structure of the system, and graph rewriting rules model dynamic behaviour. In this chapter, we illustrate the technique by describing Petri nets, statecharts, parallel logic programming, and systems of processes. Whereas description of Petri nets is based on usual graphs, statecharts lead us to hierarchical graphs, and parallel logic programming needs jungles. Finally, we combine different approaches to describe systems of processes. Topological structure is represented by a hypergraph. Local states and communication channels correspond to nodes that are labelled with parts of a global jungle playing the role of a shared data structure. The formal model takes advantage of comma-category approach allowing to change both the structure of graph and the contents of nodes consistently and to treat different graph structures as well as different labelling mechanisms in a uniform way.

[1]  Terrence W. Pratt A hierarchical graph model of the semantics of programs , 1969, AFIPS '69 (Spring).

[2]  Joseph A. Goguen,et al.  Some Fundamental Algebraic Tools for the Semantics of Computation. Part 1: Comma Categories, Colimits, Signatures and Theories , 1984, Theor. Comput. Sci..

[3]  Hans Jürgen Schneider,et al.  Describing Distributed Systems by Categorical Graph Grammars , 1989, WG.

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

[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]  Andrea Maggiolo-Schettini,et al.  Semantics of Full Statecharts Based on Graph Rewriting , 1993, Dagstuhl Seminar on Graph Transformations in Computer Science.

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

[8]  Brian H. Mayoh,et al.  Graphics and Their Grammars , 1987 .

[9]  Annegret Habel,et al.  Jungle evaluation , 1988, Fundam. Informaticae.

[10]  C. R. Henson Conclusion , 1969 .

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

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

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

[14]  Viggo Stoltenberg-hansen,et al.  In: Handbook of Logic in Computer Science , 1995 .

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

[16]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[17]  Hartmut Ehrig,et al.  Canonical Derivaitons for High-Level Replacement Systems , 1993, Dagstuhl Seminar on Graph Transformations in Computer Science.

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

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

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

[21]  Hans-Jörg Kreowski,et al.  A Comparison Between Petri-Nets and Graph Grammars , 1980, WG.

[22]  Keith L. Clark,et al.  PARLOG: parallel programming in logic , 1986, ACM Trans. Program. Lang. Syst..

[23]  Ugo Montanari,et al.  Graph Grammars for distributed systems , 1982, Graph-Grammars and Their Application to Computer Science.

[24]  Detlef Plump,et al.  Evaluation of functional expressions by hypergraph rewriting , 1993 .

[25]  Francesca Rossi,et al.  Graph Rewriting and Constraint Solving for Modelling Distributed Systems with Synchronization (Extended Abstract) , 1996, COORDINATION.

[26]  Ugo Montanari,et al.  A model for distributed systems based on graph rewriting , 1987, JACM.

[27]  Andrea Corradini,et al.  Concurrent computing: from Petri nets to graph grammars , 1995, SEGRAGRA.

[28]  Rod M. Burstall,et al.  Computational category theory , 1988, Prentice Hall International Series in Computer Science.

[29]  H. Herrlich,et al.  Category theory : an introduction , 1973 .

[30]  H. Kreowski,et al.  Pushout-Properties: An analysis of gluing constructions for graphs , 1979 .

[31]  Hartmut Ehrig,et al.  Graph Grammars and Logic Programming , 1990, Graph-Grammars and Their Application to Computer Science.

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

[33]  Grzegorz Rozenberg,et al.  Basic notions of actor grammars: A graph grammar model for actor computation , 1986, Graph-Grammars and Their Application to Computer Science.

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

[35]  Annegret Habel,et al.  Hyperedge Replacement: Grammars and Languages , 1992, Lecture Notes in Computer Science.