Advertisement

Computational Completeness of Programming Languages Based on Graph Transformation

  • Annegret Habel
  • Detlef Plump
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2030)

Abstract

We identify a set of programming constructs ensuring that a programming language based on graph transformation is computationally complete. These constructs are (1) nondeterministic application of a set of graph transformation rules, (2) sequential composition and (3) iteration. This language is minimal in that omitting either sequential composition or iteration results in a computationally incomplete language. By computational completeness we refer to the ability to compute every computable partial function on labelled graphs. Our completeness proof is based on graph transformation programs which encode arbitrary graphs as strings, simulate Turing machines on these strings, and decode the resulting strings back into graphs.

Keywords

Turing Machine Graph Transformation Abstract Graph Sequential Composition Label Graph 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. [Ehr79]
    Hartmut Ehrig. Introduction to the algebraic theory of graph grammars. In Proc. Graph-Grammars and Their Application to Computer Science and Biology, volume 73 of Lecture Notes in Computer Science, 1–69. Springer-Verlag, 1979.CrossRefGoogle Scholar
  2. [ERT99]
    Claudia Ermel, Michael Rudolf, and Gabi Taentzer. The AGG approach: Language and environment. In H. Ehrig, G. Engels, H.-J. Kreowski, and G. Rozenberg, editors, Handbook of Graph Grammars and Computing by Graph Transformation, volume 2, chapter 14, 551–603. World Scientific, 1999.Google Scholar
  3. [FM98]
    Pascal Fradet and Daniel Le Métayer. Structured Gamma. Science of Computer Programming, 31(2-3):263–289, 1998.zbMATHCrossRefMathSciNetGoogle Scholar
  4. [GKS91]
    John Glauert, Richard Kennaway, and Ronan Sleep. Dactl: An experimental graph rewriting language. In Proc. Graph Grammars and Their Application to Computer Science, volume 532 of Lecture Notes in Computer Science, pages 378–395. Springer-Verlag, 1991.CrossRefGoogle Scholar
  5. [HMP99]
    Annegret Habel, Jürgen Müller, Detlef Plump. Double-pushout graph transformation revisited. Bericht Nr. 7/99, Fachbereich Informatik, Universitat Oldenburg, 1999. Revised version to appear in Mathematical Structures in Computer Science.Google Scholar
  6. [LP98]
    Harry R. Lewis and Christos H. Papadimitriou. Elements of the Theory of Computation. Prentice-Hall, second edition, 1998.Google Scholar
  7. [Rod98]
    Peter J. Rodgers. A graph rewriting programming language for graph drawing. In Proc. 14th IEEE Symposium on Visual Languages. IEEE Computer Society Press, 1998.Google Scholar
  8. [SWZ99]
    Andy Schurr, Andreas Winter, and Albert Zundorf. The PROGRES approach: Language and environment. In H. Ehrig, G. Engels, H.-J. Kreowski, and G. Rozenberg, editors, Handbook of Graph Grammars and Computing by Graph Transformation, volume 2, chapter 13, 487–550. World Scientific, 1999.Google Scholar
  9. [Ues78]
    Tadahiro Uesu. A system of graph grammars which generates all recursively enumerable sets of labelled graphs. Tsukuba J. Math. 2, 11–26, 1978.zbMATHMathSciNetGoogle Scholar
  10. [Wei87]
    Klaus Weihrauch. Computability. Volume 9 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Annegret Habel
    • 1
  • Detlef Plump
    • 2
  1. 1.Fachbereich InformatikUniversität OldenburgOldenburgGermany
  2. 2.Department of Computer ScienceThe University of YorkHeslingtonUK

Personalised recommendations