Introduction to Graph Grammars

1 / 36

# Introduction to Graph Grammars - PowerPoint PPT Presentation

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.

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

## PowerPoint Slideshow about 'Introduction to Graph Grammars' - johana

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 toGraph Grammars

Fulvio D’Antonio

LEKS, IASI-CNR

Rome, 14-10-03

Summary
• Basic concepts
• Double pushout approach
• Single pushout approach
• Tools
• References
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
• 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

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 …

This is a multigraph

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),…

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

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)
• 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

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
• 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!)

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

B

Example 2

G’

G

E

3

A

3

2

2

B

A

B

A

1

1

This is not a correct graph morphism

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

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)
• “Gluing” of two objects along a common substructure
Summary
• Basic concepts
• Double pushout approach
• Single pushout approach
• Tools
• References
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
Example
• movePacman :

L

R

K

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)

L

R

K

Example
• movePacman :

The match

The graph G

The match

The context graph

The match

The final graph H

G  ,p H

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

Summary
• Basic concepts
• Double pushout approach
• Single pushout approach
• Tools
• References
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

Example

1

1

r

3

3

4

2

4

2

L

R

r is a partial morphism

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
Summary
• Basic concepts
• Double pushout approach
• Single pushout approach
• Tools
• References
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

Other tools

Grace and Graceland

Atom3

Standards
• GXL (Graph Exchange Language)
• GTXL (Graph Transformation Exchange Language)
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/