Graph Transformation by Rule Sequences

Transformation by rule sequences is another possibility to control the applications of rules in AGG.
A transformation rule sequence is a control structure which defines an ordered set of rule subsequences and rule iterations.

A dialog allows you to define rule subsequences in order to be applied. This dialog combines three tables and a textual view of the defined subsequences where each line shows one rule subsequence.

The first table contains the rules of the currently selected grammar.
The second table shows the rule subsequences. You can create a new empty subsequence using button New Subsequence. The subsequences are ordered by its position in the table. The order can be changed by pressing and dragging the middle mouse button.
The third table shows the rules of a subsequence. By selecting one or more rules in the first table and clicking on the button Add it can be put into the currently selected subsequence. The rule order of the third table can be changed by pressing and dragging the middle mouse button.

The Iterations field of the second and third tables can be used to set a number of how long a rule subsequence or a single rule shoud be applied. The star ( * ) is allowed, too, and means "as long as possible".

An example for a rule sequence:

newRoot
(newNode connect){4}
addLoop{*}

Here we can see three rule subsequences to be performed:
- the first subsequence with the rule  newRoot  should be applied only once,
- the second sbsequence with the rules  newNode  and   connect  should be applied four times after each other,
- the third subsequence with the rule  addLoop  should be applied as long as possible.