## Display Format

**Production Rules**

A GROOVE production rule is itself a graph combining four kinds of elements (i.e., nodes and edges). They are distinguished by color and shape. An example containing all types of elements is in the next picture (which represents the adding of an Object to a Buffer, becoming the last element of the Buffer).

*Reader*nodes and edges, depicted by ordinary, solid thin black arrows and nodes. These are required to exist in the (potential) source graph in order for the rule to be applicable; the application of the rule does not affect them, so that the readers are still there after the transformation.*Eraser*nodes and edges, depicted by dashed thin blue arrows and double-bordered nodes. These are required to exist in the (potential) source graph in order for the rule to be applicable; however, in contrast to the readers, the application of the rule removes the elements matching the erasers from the graph, so that they are no longer present in the corresponding target graph. We use the term “required” to indicate the collection of readers and erasers. The sources and targets of required edges must themselves also be required; in fact, the sources and targets of reader edges must be reader nodes.*Embargo*nodes and edges, depicted by closely dashed fat red arrows and fat red doublebourdered nodes. Embargoes (called*negative application conditions*in the literature on graph transformation) limit the applicability of a rule by requiring the absence of the corresponding structure in the graph to be transformed. In general, each connected embargo subgraph expresses a single negative condition; if there are several negative conditions, each should be satisfied — that is, none of the corresponding structures may occur in the graph. A special case is formed by the so-called merge embargoes. These are embargo edges labelled “=”. They express injectivity constraints: the source and target node of a merge embargo may not coincide in the graph to be transformed. It follows that merge embargoes only make sense between distinct required (i.e., reader or eraser) nodes.*Creator*nodes and edges, depicted by solid fat green arrows and nodes. If the rule is applicable (i.e., all the conditions inherent in the required and forbidden elements are met) then the application of the rule results in fresh instances of all creator elements. It follows that the sources and targets of creator edges may not be eraser or embargo nodes.

A special case is formed by the so-called mergers. These are creator edges labelled “=” (like the merge embargoes discussed above). They express that the source and target node are to be merged together into one node as a result of the transformation; this one node receives all the edges that were originally incident to either of the merged nodes. It follows that mergers only make sense between reader nodes.

**Posted:** November 6th, 2007 under Documentation, Usage.

**Comments:** none