In this paper we investigate and compare four variants of the double-pushout approach to
graph transformation. As well as the traditional approach with arbitrary matching and
injective right-hand morphisms, we consider three variations by employing injective
matching and/or arbitrary right-hand morphisms in rules. We show that injective matching
provides additional expressiveness in two respects: for generating graph languages by
grammars without non-terminals and for computing graph functions by convergent graph
transformation systems. Then we clarify for each of the three variations whether the
well-known commutativity, parallelism and concurrency theorems are still valid and – where
this is not the case – give modified results. In particular, for the most general approach with
injective matching and arbitrary right-hand morphisms, we establish sequential and parallel
commutativity by appropriately strengthening sequential and parallel independence.
This papers defines the syntax and semantics of GP 2, a revised version of the graph programming language GP. New concepts are illustrated and explained with example programs. Changes to the first version of GP include an improved type system for labels, a built-in marking mechanism for nodes and edges, a more powerful edge predicate for conditional rule schemata, and functions returning the indegree and outdegree of matched nodes. Moreover, the semantics of the branching and loop statement have been simplified to allow their efficient implementation
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.