# GP (Graph Programs)

From The Programming Languages and Systems Research Group

**GP** (for Graph Programs) is a rule-based, nondeterministic programming language for solving graph problems at a high level of abstraction, freeing programmers from handling low-level data structures. The core of GP consists of four constructs: single-step application of a set of conditional graph-transformation rules, sequential composition, branching and iteration. The language has a formal structural operational semantics, as well as a prototype implementation.

Sandra Steinert, Greg Manning, and Detlef Plump worked on the design and implementation of GP; Chris Poskitt and Detlef Plump are currently investigating the formal verification of Graph Programs.

## GP Literature

### Overviews

- Detlef Plump.
**The Graph Programming Language GP (.pdf)**. In*Proc. Algebraic Informatics, Third International Conference (CAI 2009)*, volume 5725 of*Lecture Notes in Computer Science*, pages 99-122. Springer-Verlag, 2009.

- Sandra Steinert.
**The Graph Programming Language GP (.pdf)**. PhD thesis, The University of York, 2007.

### Semantics

- Detlef Plump and Sandra Steinert.
**The Semantics of Graph Programs (.pdf)**. In*Proc. Rule-Based Programming (RULE 2009)*, Electronic Proceedings in Theoretical Computer Science, 2009. To appear.

### Prototype Implementation

- Greg Manning and Detlef Plump.
**The GP Programming System (.pdf)**. In*Proc. Graph Transformation and Visual Modelling Techniques (GT-VMT 2008)*, volume 10 of*Electronic Communications of the EASST*, 2008.

- Greg Manning and Detlef Plump.
**The York Abstract Machine (.pdf)**. In*Proc. Graph Transformation and Visual Modelling Techniques (GT-VMT 2006)*, volume 211 of*Electronic Notes in Theoretical Computer Science*, pages 231-240. Elsevier, 2008.