Verification of Graph Programs
GP (for Graph Programs) is an experimental nondeterministic programming language which allows for the manipulation of graphs at a high level of abstraction . 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.
Unable to display preview. Download preview PDF.
- 1.Apt, K.R., de Boer, F.S., Olderog, E.-R.: Verification of Sequential and Concurrent Programs, 3rd edn. Springer (2009)Google Scholar
- 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
- 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
- 14.Poskitt, C.M., Plump, D., Habel, A.: A many-sorted logic for graph programs (2012) (submitted for publication)Google Scholar