Introduction to Graph Grammars - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction to Graph Grammars

Description:

Introduction to Graph Grammars Fulvio D Antonio LEKS, IASI-CNR Rome, 14-10-03 Summary Basic concepts Double pushout approach Single pushout approach Tools ... – PowerPoint PPT presentation

Number of Views:232
Avg rating:3.0/5.0
Slides: 37
Provided by: wwwusersD
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Graph Grammars


1
Introduction toGraph Grammars
  • Fulvio DAntonio
  • LEKS, IASI-CNR
  • Rome, 14-10-03

2
Summary
  • Basic concepts
  • Double pushout approach
  • Single pushout approach
  • Tools
  • References

3
Graph 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

4
Graph 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
5
A graph
6
Definition
  • 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
7
Another graph
This is a multigraph
8
Another 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),
?
9
Yet another graph
a
b
This is a labelled multigraph elements without a
label are considered labelled with the null
symbol ?
10
Yet another definition
  • A pair (V,E) where

V is a finite set of pairs and E is a finite set
of triples.
Too complicated!
11
A 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
12
Example
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
13
Example 2Pacman graph (PG)
14
Graph 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!)
15
Example 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
16
Example 2
G
G
E
3
A
3
2
2
B
A
B
A
1
1
This is not a correct graph morphism
17
Example 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
18
Graph 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.
19
What is a pushout?(Very very informal)
  • Gluing of two objects along a common
    substructure

20
Summary
  • Basic concepts
  • Double pushout approach
  • Single pushout approach
  • Tools
  • References

21
Graph 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

22
Example
  • movePacman

L
R
K
23
Derivation
  • 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)
24
Example
  • movePacman

The match
The graph G
25
The match
The context graph
26
The match
The final graph H
G ? ?,p H G ? ?,p Gn (reflexive symmetric and
transitive closure)
27
Other rules in Pacman game
  • MoveGhost

Kill
28
Summary
  • Basic concepts
  • Double pushout approach
  • Single pushout approach
  • Tools
  • References

29
Single 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
30
Example
1
1
r
3
3
4
2
4
2
L
R
r is a partial morphism
31
Difference 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

32
Summary
  • Basic concepts
  • Double pushout approach
  • Single pushout approach
  • Tools
  • References

33
Progres
  • 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.

34
Fujaba
Other tools
Grace and Graceland
Atom3
35
Standards
  • GXL (Graph Exchange Language)
  • GTXL (Graph Transformation Exchange Language)

36
References
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/
Write a Comment
User Comments (0)
About PowerShow.com