Title: Introduction to Graph Grammars
1Introduction toGraph Grammars
-
- Fulvio DAntonio
- LEKS, IASI-CNR
- Rome, 14-10-03
2Summary
- Basic concepts
- Double pushout approach
- Single pushout approach
- Tools
- References
3Graph grammars
- Graph grammars has been invented (in early
seventies) in order to generalize (Chomsky)
string grammars.
- The main idea was that of extending concatenation
of strings to a gluing of graphs
- Algebraic approaches were developed at the
Technical University of Berlin
- The action of gluing two graphs is a
construction, in the category of graphs and graph
morphisms, called pushout
4Graph grammars definition
- A graph grammar is a pair
- GG (G0,P)
G0 is called the starting graph and P is a set of
production rules
L(GG) is the set of graphs that can be derived
starting with G0 and applying the rules in P
5A graph
6Definition
- A pair (V,E) of finite sets
- E ? V ? V
- E is a set of ordered pairs of vertexes.
Graphically we represent an edge (v1,v2) with an
arrow starting in v1 and ending in v2
7Another graph
This is a multigraph
8Another definition
- A pair (V,E) where V is a finite set, E is a
finite multiset with elements in V?V
E.g. V ?v1,v2,., vn? E ?(v1,v2),.,(v1,v2),
?
9Yet another graph
a
b
This is a labelled multigraph elements without a
label are considered labelled with the null
symbol ?
10Yet another definition
V is a finite set of pairs and E is a finite set
of triples.
Too complicated!
11A more elegant definition (algebraic style)
- A graph is a tuple (V,E,s,t,lV,lE)
-
- V and E are two finite sets (V?E?)
s,t E ? V are two mappings indicating the
source and the target of an edge
lV V ??V e lE E ??E are two mappings from from
V and E in two finite sets of labels
12Example
E
A
B
A
Notes The edges are directed Two vertexes with
the same label Multiple edges (even with the same
label!) between two vertexes
13Example 2Pacman graph (PG)
14Graph morphism informally speaking
- Given two graphs G and G we want to know if G
contains G.
We can try to draw a correspondence between every
vertex (edge) of G and a vertex (edge) of G
This correspondence is a graph morphism (if it
respects some properties!)
15Example G is contained in G
G
G
E
A
3
3
A
2
B
2
A
B
A
1
1
This is a correct graph morphism
16Example 2
G
G
E
3
A
3
2
2
B
A
B
A
1
1
This is not a correct graph morphism
17Example 3
G
G
E
E
2,4
4
A
E
3
2
1,3
B
A
1
This is a correct non-injective graph morphism
18Graph morphism
Given G (V,E,s,t,lV,lE) and
G(V,E,s,t,lV,lE)
- a graph morphism ?
- is a pair (?1,?2), ?1V ? V, ?2 E ? E
- such as
1)labels are preserved i.e. lV(vi) lV(?1(vi))
etc.
2)incidence is preserved i.e. ?1(s(ei))
s(?2(ei))) etc.
19What is a pushout?(Very very informal)
- Gluing of two objects along a common
substructure
20Summary
- Basic concepts
- Double pushout approach
- Single pushout approach
- Tools
- References
21Graph grammarsDouble pushout approach
- The format of a production rule is
- p L l? K ?r R
- L,K,R are graphs and l,r are two (total)
morphisms matching K, respectively,in L and R
22Example
L
R
K
23Derivation
- Given a graph G,a production pL l? K ?r R and a
graph morphism ?L ? G
1)The context graph is obtained deleting from G
all elements images of elements in L but not of
elements in K (pushout complement)
2)The final graph is obtained adding to context
graph all elements which dont have a pre-image
in K(pushout)
24Example
The match
The graph G
25The match
The context graph
26The match
The final graph H
G ? ?,p H G ? ?,p Gn (reflexive symmetric and
transitive closure)
27Other rules in Pacman game
Kill
28Summary
- Basic concepts
- Double pushout approach
- Single pushout approach
- Tools
- References
29Single pushout approach
- The format of a production rule is
- p L ?r R
- r is a partial graph morphism
A single derivation step is modelled by a
single-pushout diagram
30Example
1
1
r
3
3
4
2
4
2
L
R
r is a partial morphism
31Difference between the two approaches
- Double-pushout approach requires two further
conditions for a step derivation (dangling and
identification condition) - Single-pushout doesnt requires such conditions
- Single pushout rules can model more situations
than double pushout rules
32Summary
- Basic concepts
- Double pushout approach
- Single pushout approach
- Tools
- References
33Progres
- PROGRES is an integrated environment for a very
high level programming language which has a
formally defined semantics based on "PROgrammed
Graph REwriting Systems"
Agg
- AGG is a rule based visual language supporting
single pushout approach to graph transformation.
It aims at the specification and prototypical
implementation of applications with complex
graph-structured data.
34Fujaba
Other tools
Grace and Graceland
Atom3
35Standards
- GXL (Graph Exchange Language)
- GTXL (Graph Transformation Exchange Language)
36References
People G.Rozenberg,A.Schurr, R.Heckel,
G.Taentzer, P.Bottoni, F.Parisi-Presicce,
A.Corradini, H.Ehrig, H.G.Kreowsky. Theory G.
Rozenberg, editor. Handbook of Graph Grammars and
Computing by Graph Transformation, Volume 1-3
Foundations. World Scientific, 1997. Corradini,
A., Montanari, U., Rossi, F., Ehrig, H., Heckel,
R., Löwe, M. Algebraic Approaches to Graph
Transformation Part I Basic Concepts and Double
Pushout Approach Corradini, A. Concurrent Graph
and Term Graph Rewriting Proc. CONCUR'96, LNCS
Tools Progres homepage http//www-i3.informatik
.rwth-aachen.de/research/projects/progres/main.htm
l Agg homepagehttp//tfs.cs.tu-berlin.de/agg/ Gra
celand homepagehttp//www.informatik.uni-bremen.d
e/theorie/GRACEland/GRACEland.html Fujaba
homepagehttp//www.fujaba.de/ Atom3http//atom3.
cs.mcgill.ca/ Standard GXL http//www.gupro.de/G
XL/