Verification of Graph Programs

  • Christopher M. Poskitt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7562)

Abstract

GP (for Graph Programs) is an experimental nondeterministic programming language which allows for the manipulation of graphs at a high level of abstraction [11]. The program states of GP are directed labelled graphs. These are manipulated directly via the application of (conditional) rule schemata, which generalise double-pushout rules with expressions over labels and relabelling. In contrast with graph grammars, the application of these rule schemata is directed by a number of simple control constructs including sequential composition, conditionals, and as-long-as-possible iteration. GP shields programmers at all times from low-level implementation issues (e.g. graph representation), and with its nondeterministic semantics, allows one to solve graph-like problems in a declarative and natural way.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Apt, K.R., de Boer, F.S., Olderog, E.-R.: Verification of Sequential and Concurrent Programs, 3rd edn. Springer (2009)Google Scholar
  2. 2.
    Baldan, P., Corradini, A., König, B.: A framework for the verification of infinite-state graph transformation systems. Information and Computation 206(7), 869–907 (2008)MathSciNetMATHCrossRefGoogle Scholar
  3. 3.
    Bisztray, D., Heckel, R., Ehrig, H.: Compositional Verification of Architectural Refactorings. In: de Lemos, R., Fabre, J.-C., Gacek, C., Gadducci, F., ter Beek, M. (eds.) Architecting Dependable Systems VI. LNCS, vol. 5835, pp. 308–333. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  4. 4.
    Courcelle, B.: Graph rewriting: An algebraic and logic approach. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, ch. 5. Elsevier (1990)Google Scholar
  5. 5.
    Habel, A., Pennemann, K.-H.: Correctness of high-level transformation systems relative to nested conditions. Mathematical Structures in Computer Science 19(2), 245–296 (2009)MathSciNetMATHCrossRefGoogle Scholar
  6. 6.
    Habel, A., Pennemann, K.-H., Rensink, A.: Weakest Preconditions for High-Level Programs. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 445–460. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Habel, A., Radke, H.: Expressiveness of graph conditions with variables. In: Proc. Colloquium on Graph and Model Transformation on the Occasion of the 65th Birthday of Hartmut Ehrig. Electronic Communications of the EASST, vol. 30 (2010)Google Scholar
  8. 8.
    König, B., Esparza, J.: Verification of Graph Transformation Systems with Context-Free Specifications. In: Ehrig, H., Rensink, A., Rozenberg, G., Schürr, A. (eds.) ICGT 2010. LNCS, vol. 6372, pp. 107–122. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    König, B., Kozioura, V.: Towards the Verification of Attributed Graph Transformation Systems. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 305–320. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  10. 10.
    Orejas, F.: Attributed Graph Constraints. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 274–288. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    Plump, D.: The Graph Programming Language GP. In: Bozapalidis, S., Rahonis, G. (eds.) CAI 2009. LNCS, vol. 5725, pp. 99–122. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  12. 12.
    Poskitt, C.M., Plump, D.: A Hoare Calculus for Graph Programs. In: Ehrig, H., Rensink, A., Rozenberg, G., Schürr, A. (eds.) ICGT 2010. LNCS, vol. 6372, pp. 139–154. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Poskitt, C.M., Plump, D.: Hoare-style verification of graph programs. Fundamenta Informaticae 118(1-2), 135–175 (2012)MATHGoogle Scholar
  14. 14.
    Poskitt, C.M., Plump, D., Habel, A.: A many-sorted logic for graph programs (2012) (submitted for publication)Google Scholar
  15. 15.
    Rensink, A., Schmidt, Á., Varró, D.: Model Checking Graph Transformations: A Comparison of Two Approaches. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 226–241. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Christopher M. Poskitt
    • 1
  1. 1.Department of Computer ScienceThe University of YorkUK

Personalised recommendations