# Difference between revisions of "GP (Graph Programs)"

From The Programming Languages and Systems Research Group

([cposkitt logged in as colin]) |
([cposkitt logged in as colin]) |
||

Line 1: | Line 1: | ||

− | '''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 | + | '''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 structural operational semantics, as well as a prototype implementation. |

[[Members#sandra|Sandra Steinert]], [[Members#gm|Greg Manning]], and [[Members#det|Detlef Plump]] worked on the design and implementation of GP; [[Members#cposkitt|Chris Poskitt]] and [[Members#det|Detlef Plump]] are currently investigating the formal verification of Graph Programs. | [[Members#sandra|Sandra Steinert]], [[Members#gm|Greg Manning]], and [[Members#det|Detlef Plump]] worked on the design and implementation of GP; [[Members#cposkitt|Chris Poskitt]] and [[Members#det|Detlef Plump]] are currently investigating the formal verification of Graph Programs. |

## Revision as of 03:58, 23 December 2009

**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 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.