Linear graph grammar
Appearance
In computer science, a linear graph grammar (also a connection graph reduction system or a port graph grammar[1]) is a class of graph grammar on which nodes have a number of ports connected together by edges and edges connect exactly two ports together. Interaction nets are a special subclass of linear graph grammars in which rewriting is confluent.
Implementations
Bawden introduces linear graphs in the context of a compiler for a fragment of the Scheme programming language[2]. Bawden and Mairson (1998) describe a the design of a distributed implementation in which the linear graph is spread across many computing nodes and may freely migrate in order to make rewrites possible.
Notes
- ^ Bawden (1986) introduces the formalism calling them connection graphs. Stewart (2002) introduces the terminology of port graph grammars to avoid confusion with the subclass of graph grammars treating graphs whose nodes are like beads on a string of edges, and for a formalism that generalises linear graph grammars in that it allows redexes of other than two vertices.
- ^ Bawden (1993) is the technical report based on the Ph.D. dissertation, Bawden (1992).
References
- Bawden, Alan (1986), Connection graphs, In Proceedings of the 1986 ACM conference on LISP and functional programming, pp. 258-265.
- Bawden, Alan (1992), Linear graph reduction: confronting the cost of naming, PhD dissertation, MIT.
- Bawden, Alan (1993), Implementing Distributed Systems Using Linear Naming, A.I. Technical Report No. 1627, MIT.
- Bawden and Mairson (1998), Linear naming: experimental software for optimizing communication protocols, Working paper #1, Dept. Computer Science, Brandeis University.
- Stewart, Charles (2002), Reducibility between Classes of Port Graph Grammar, Journal of Computer and System Sciences 65(2):169-223.