Loading in 5 sec....

Introduction to Graph GrammarsPowerPoint Presentation

Introduction to Graph Grammars

- 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.

Related searches for Introduction to Graph Grammars

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

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 VV

E.g.

V= v1,v2,…., vn

E = (v1,v2),….,(v1,v2),…

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 (VE=)

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

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

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

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)

The context graph

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

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.

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/

Download Presentation

Connecting to Server..