Graph Transformation in Constant Time
We present conditions under which graph transformation rules can be applied in time independent of the size of the input graph: graphs must contain a unique root label, nodes in the left-hand sides of rules must be reachable from the root, and nodes must have a bounded outdegree. We establish a constant upper bound for the time needed to construct all graphs resulting from an application of a fixed rule to an input graph. We also give an improved upper bound under the stronger condition that all edges outgoing from a node must have distinct labels. Then this result is applied to identify a class of graph reduction systems that define graph languages with a linear membership test. In a case study we prove that the (non-context-free) language of balanced binary trees with backpointers belongs to this class.
KeywordsGraph Transformation Outgoing Edge Graph Class Label Node Incoming Edge
Unable to display preview. Download preview PDF.
- 2.Bakewell, A., Plump, D., Runciman, C.: Specifying pointer structures by graph reduction. Mathematical Structures in Computer Science (to appear); Preliminary version available as Technical Report YCS-2003-367, University of York (2003)Google Scholar
- 4.Dodds, M., Plump, D.: Extending C for checking shape safety. In: Proceedings Graph Transformation for Verification and Concurrency. Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam (to appear, 2005)Google Scholar
- 5.Dörr, H. (ed.): Efficient Graph Rewriting and Its Implementation. LNCS, vol. 922. Springer, Heidelberg (1995)Google Scholar
- 8.Fradet, P., Métayer, D.L.: Shape types. In: Proceedings of the 1997 ACM Symposium on Principles of Programming Languages, pp. 27–39. ACM Press, New York (1997)Google Scholar
- 10.Fu, J.J.: Pattern matching in directed graphs. In: Galil, Z., Ukkonen, E. (eds.) CPM 1995. LNCS, vol. 937, pp. 64–77. Springer, Heidelberg (1995)Google Scholar