Title: Dynamic Graph Transformation Systems
1Dynamic Graph Transformation Systems
- Hernán Melgratti
- IMT Lucca Institute for Advance Studies
- Joint Work with
- Roberto Bruni
- Dipartimento di Informatica, Università di Pisa
2Join Calculus
- Join processes can be seen as dynamic and
reconfigurable, coloured nets
3Join Calculus
- Join processes can be seen as dynamic and
reconfigurable, coloured nets
4Join Calculus
- Join processes can be seen as dynamic and
reconfigurable, coloured nets
a
x
b
x
a?x? ? x?b?
5Join Calculus
- Join processes can be seen as dynamic and
reconfigurable, coloured nets
a
a
c
x
b
x
a?x? ? x?b?
def
in a?a? a?c?
6Join Calculus
- Join processes can be seen as dynamic and
reconfigurable, coloured nets
7Join Calculus
- Join processes can be seen as dynamic and
reconfigurable, coloured nets
a
a
b
x
c
c
y
y
x
a?x? ? def c?y? ? y?x? in c?c?
def
in a?a? a?b?
8DPO Graph Grammar
The initial T-typed graph
The graph of types
The set of productions
Left-hand-side
Interface
Span of injective morphisms
Right-hand-side
9DPO Rewriting Step
10Towards Dynamic Productions
11Towards Dynamic Productions
p
12Towards Dynamic Productions
p
n1
n1
n
13Towards Dynamic Productions
Gp
p
n1
n1
n
14Towards Dynamic Productions
Gp
p
n1
n1
g
f
n
n
m
15Towards Dynamic Productions
Gp
p
n1
n1
n1
m1
f1
g
f
n
n
m
16Towards Dynamic Productions
Gp
p
n1
n1
n1
m1
f1
g
f
n
n
m
q
17Towards Dynamic Productions
Gp
p
n1
n1
n1
m1
f1
g
f
n
n
m
q
18Towards Dynamic Productions
Gp
p
n1
n1
n1
m1
f1
g
f
n
n
m
q
r
19Towards Dynamic Productions
Gp
p
n1
n1
n1
m1
f1
g
g
f
f
n
n
m
m
q
q
q
r
s
t
p
r
20Dynamic Graph Grammar (DGG)
Injective Morphism
A DGG over the graph of type T ? Tp
Injective Morphism between Tp-typed Graph
21Dynamic rewriting
22Encoding the Join Calculus
- A channel (or place) x is encoded as a node n
- The actual name of the channel is given by an arc
xn ? n - Any firing rule is encoded as a production
23Encoding a Join Process P
m
Where fn (P ) ?? dn(P ) x1, x2, x3
x3
x1
x2
24Encoding a Join Process P
25Encoding a Join Process P
m
y
x
m
y
x
26Encoding a Join Process P
- A definition x1?u1? xk?uk? ? Pi
27Example
x is a defined name
- P def x?u? ? def y?v? ? v?y? in y?u? x?y?
in x?z?
z is a free name
28Example
29Theorem
- For any Join process P
- If P? P using Ji?Pi then ??Q s.t.
and Q ? P - If , then ??P s.t P? P using
Ji?Pi and
30DGG as GG
- We start by defining a graph of types for
representing the tree of types created dynamically
31DGG as GG
- A typed graph over a refined type
Tb
Ta
f
n
m
n
n
f
m
Tb
Ta
Tb
Ta
g
f
n
m
n
n
f
m
g
32DGG as GG
- The refined version of productions
p
n1
n1
n1
m1
f1
33Theorem
34Final Remarks
- DGG offers a convenient level of abstraction for
describing reflexive systems - DGG can be simulated by ordinary GG
- Future works
- To study independent derivations, parallelism,
process semantics, unfolding semantics and event
structure semantics - To show that concurrency is preserved by our
encoding - To consider other approaches (like SPO)