next up previous contents
Next: Editing Up: The AGG 1.5.0 Development Previous: Contents   Contents

Introduction

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:

  1. to define and validate a set of transformation rules,
  2. to perform transformations of the host graph,
  3. to analyze the specified graph transformation system.

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.


next up previous contents
Next: Editing Up: The AGG 1.5.0 Development Previous: Contents   Contents
Olga Runge 2006-08-16