Introduction to graph grammars
Download
1 / 36

Introduction to Graph Grammars - PowerPoint PPT Presentation


  • 211 Views
  • Updated On :

Introduction to Graph Grammars. Fulvio D’Antonio LEKS, IASI-CNR Rome, 14-10-03. Summary. Basic concepts Double pushout approach Single pushout approach Tools References. Graph grammars.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Introduction to Graph Grammars' - johana


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Introduction to graph grammars l.jpg

Introduction toGraph Grammars

Fulvio D’Antonio

LEKS, IASI-CNR

Rome, 14-10-03


Summary l.jpg
Summary

  • Basic concepts

  • Double pushout approach

  • Single pushout approach

  • Tools

  • References


Graph grammars l.jpg
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


Graph grammars definition l.jpg
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



Definition l.jpg
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


Another graph l.jpg
Another graph …

This is a multigraph


Another definition l.jpg
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),…


Yet another graph l.jpg

A

A

Yet another graph …

a

b

This is a labelled multigraph: elements without a label are considered labelled with the null symbol 


Yet another definition l.jpg
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!


A more elegant definition algebraic style l.jpg
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


Example l.jpg

B

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



Graph morphism informally speaking l.jpg
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!)


Example g is contained in g l.jpg

B

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


Example 2 l.jpg

B

Example 2

G’

G

E

3

A

3

2

2

B

A

B

A

1

1

This is not a correct graph morphism


Example 3 l.jpg

B

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


Graph morphism l.jpg
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), 1:V  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.


What is a pushout very very informal l.jpg
What is a pushout?(Very very informal)

  • “Gluing” of two objects along a common substructure


Summary20 l.jpg
Summary

  • Basic concepts

  • Double pushout approach

  • Single pushout approach

  • Tools

  • References


Graph grammars double pushout approach l.jpg
Graph grammars:Double 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


Example22 l.jpg
Example

  • movePacman :

L

R

K


Derivation l.jpg
Derivation

  • Given: a graph G,a production p:L 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 don’t have a pre-image in K(pushout)


Example24 l.jpg

L

R

K

Example

  • movePacman :

The match

The graph G


Slide25 l.jpg

The match

The context graph


Slide26 l.jpg

The match

The final graph H

G  ,p H

G * ,p Gn (reflexive symmetric and transitive closure)


Other rules in pacman game l.jpg
Other rules in Pacman game

MoveGhost:

Kill:


Summary28 l.jpg
Summary

  • Basic concepts

  • Double pushout approach

  • Single pushout approach

  • Tools

  • References


Single pushout approach l.jpg
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


Example30 l.jpg
Example

1

1

r

3

3

4

2

4

2

L

R

r is a partial morphism


Difference between the two approaches l.jpg
Difference between the two approaches

  • Double-pushout approach requires two further conditions for a step derivation (dangling and identification condition)

  • Single-pushout doesn’t requires such conditions

  • Single pushout rules can model more situations than double pushout rules


Summary32 l.jpg
Summary

  • Basic concepts

  • Double pushout approach

  • Single pushout approach

  • Tools

  • References


Progres l.jpg
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.


Fujaba l.jpg
Fujaba

Other tools

Grace and Graceland

Atom3


Standards l.jpg
Standards

  • GXL (Graph Exchange Language)

  • GTXL (Graph Transformation Exchange Language)


References l.jpg
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.html

Agg homepage:http://tfs.cs.tu-berlin.de/agg/

Graceland homepage:http://www.informatik.uni-bremen.de/theorie/GRACEland/GRACEland.html

Fujaba homepage:http://www.fujaba.de/

Atom3:http://atom3.cs.mcgill.ca/

Standard:

GXL: http://www.gupro.de/GXL/


ad