[home] [info] [docu] [examples] [download] [contact] [applications] [bugs]

AGG  Version 1.2.0 Examples and Screenshots

Contents

Here are some sample AGG applications showing how to program and validate with graph transformation, and how to integrate Java programs.
 

Example    

Description

Computing n!
with a simple
actor system
This is a very simple, introductory graph grammar explaining how to combine graph transformations with computations on attributes in AGG.
Note: AGG Version 1.1.0 and later :  the grammar of the ''Computing n!`` has to be a layered grammar. Please use rule layer as follow:
askForValue   0 ,  delegate   1 ,  endDelegate   2 ,  multiply   3 . 
Not forget to set option  layered  in  Preferences / Options... / Transform.
Operations of a
shipping company
This example shows some simple excerpts of the specification of the business processes of a shipping company. It demonstrates how to use simple Java dialogs to interact with the user of the grammar, and how to access the underlying system resources, e.g. to obtain the current date. Furthermore, the rule Fusion is a good example for the use of non-injective rules.
Visualizing a
directory tree
and browsing
HTML files
This grammar performs a recursive scan of a directory of your filesystem for HTML files and represents the directory tree as a graph. Afterwards, it starts up an HTML browser to inspect the files that have been found. The files already visited are being marked in the graph. This example demonstrates how you can access system resources like the file system using Java method calls in graph rules. It also shows how you can control an external Java application (here: the browser) by graph transformation rules.
Parsing a simple
class diagram
This is an example for parsing based on critical pair analysis.
Partial business
model of a shop
This example shows a simple requirements model of a shop. It is used to detect conflicting functional requirements by critical pair analysis.
Merry go round This simple example describes the behaviour of a merry-go-round  in principle and uses additional graph constraints to describe security rules. 

How Graph Grammars are interpreted

The graph grammar is interpreted non-deterministically: Rules to be applied and their matches are chosen randomly.
Another way of interpretation is by layered graph transformation: The layers fix the order how rules are applied.
 
Revision: