This renewed AGG manual corresponds to the AGG version 1.2.5
and latter.
The AGG version 1.2.4 is mainly covered by this manual, too.
The installation instructions of the AGG tool can be found in a
README file of the AGG package that you can download
from URL http://tfs.cs.tu-berlin.de/agg.
The AGG package also contains graph grammar examples,
two of which we will use for our explanations.
The aim of this manual is to give a short but sufficient knowledge to understand how to specify a graph grammar:
The AGG language is a rule based visual language supporting an algebraic approach to graph transformation. It aims at specifying and rapid prototyping applications with complex, graph structured data.
The AGG environment is designed as a tool to edit directed,
typed and attributed graphs and to define a graph grammar
(i.e. a start (host) graph plus a set of transformation rules)
as input for the graph transformation engine of the system.
Having an AGG graph grammar at hand, it may be validated using
AGG's analysis techniques, namely critical pair analysis, consistency checking and termination criteria for
Layered Graph Transformation Systems (LGTS).
The main characteristics of the AGG language can be described as follow:
With AGG it is possible to define typed attributed graph
transformation with node type inheritance. This means that the attributed
type graph can be enriched by an inheritance relation between nodes.
Each node type can have only one direct ancestor from which it
inherits the attribute and edge types. Rules using this feature are equivalent to a number of concrete rules,
resulting from the substitution of the ancestor nodes by the nodes in their
inheritance clan. Therefore, rules become more compact and suitable for
their use in combination with object-oriented modelling.
The AGG language and design concepts are described in
The AGG environment provides graphical editors for graphs,
rules and graph consistency constraints and an integrated textual
editor for Java expressions.
Moreover, visual interpretation and step by step transformation of
attributed graph grammars is supported.
While step means performing direct derivations (transformation)
for user-selected productions (rules) and occurrences (matches),
a whole transformation sequence is executed in the interpretation mode.
Furthermore, analysis tools for graph transformation
systems are available.
In the following, first the editing and afterwards the interpretation and validation facilities are presented for the sample applications.