  Applications of graph transformation (GT) systems often require control
structures that can be used to direct GT processes. Most existing GT tools
follow a stateful computational model, where a single graph is repeatedly
modified "in-place" when GT rules are applied. The implementation of control
structures in such tools is not trivial. Common challenges include dealing with
the non-determinism inherent to rule application and transactional constraints
when executing compositions of GTs, in particular atomicity and isolation. The
complexity of associated transaction mechanisms and rule application search
algorithms (e.g., backtracking) complicates the definition of a formal
foundation for these control structures. Compared to these stateful approaches,
functional graph rewriting presents a simpler (stateless) computational model,
which simplifies the definition of a formal basis for (functional) GT control
structures. In this paper, we propose the "Graph Transformation control
Algebra" (GTA) as such a foundation. The GTA has been used as the formal basis
for implementing the control structures in the (functional) GT tool
"GrapeVine".
