SLIDE 1 Fundamental Theory Algebraic Graph Transformation
Fernando Orejas
Royal Holloway University of London
- n leave from Universitat Politècnica de Catalunya, Barcelona
SLIDE 2
- 1. Embedding and Extension
- 2. Independence: Local Church-Rosser Theorems
- 3. Parallel Rules and Concurrent Rules
- 4. Conflicts and Critical Pairs
SLIDE 3
Embedding and Extension
SLIDE 4
Embedding and Extension Theorems
Given the derivation sequence and a morphism from G0 to G'0
G0 r1 G1 r2 ... rn Gn G0'
SLIDE 5
Embedding and Extension Theorems
is it always possible to extend it?
G0 r1 G1 r2 ... rn Gn G0' r1 G1' r2 ... rn Gn'
SLIDE 6
l1 m1 L D1 K G1 l r1 H1 R m1’ r m2 G2 d1
Embedding and Extension Theorems We can build the extension if and only if m2 is boundary consistent
with respect to l1
SLIDE 7
l1 m1 L D1 K G1 l r1 H1 R m1’ r m2 G2 l2 D2 d2 r2 H2 m2’ d1
Embedding and Extension Theorems
SLIDE 8
l1 m1 L D1 K G1 l r1 H1 R m1’ r m2 G2 l2 D2 d2 r2 H2 m2’ d1
Embedding and Extension Theorems
SLIDE 9
Embedding and Extension Theorems
G0 r1 G1 r2 ... rn Gn G0' r1 G1' r2 ... rn Gn'
SLIDE 10
m1 L1 D1 K1 G1 l H1 R1 r
Derived Rule
m2 L2 D2 K2 l H2 R2 r
SLIDE 11
m1 L1 D1 K1 G1 l H1 R1 r
Derived Rule
m2 L2 D2 K2 l H2 R2 r K pb
SLIDE 12 Embedding and Extension Theorems
Given: G0 ⇒* Gn can be extended to a derivation G'0 ⇒* G'n if and
- nly if m is boundary consistent with respect to g.
K g G0 G1 ... Gn G0' m
SLIDE 13
Independence: Local Church-Rosser Theorems
SLIDE 14
Given two rule applications on the same graph G:
K1 R1 L1
after applying one of them, under which conditions it will be possible to apply the other rule with "the same matching"
K2 L2 R2 G D1 H1 D2 H2 m1 m2
The problem
SLIDE 15
And given two consecutive rule applications on the same graph G:
K1 R1 L1
up to which point the application of the second rule depends or not on the application of the first rule.
K2 L2 R2 H1 D1 G D2 H2 m1 m2
The problem
SLIDE 16 PO PO PO PO m1 m2
1 2 3 1 2 3 1 2 3 5 4 6 7 5 4 6 5 4 6 1,5 2,4 3,6 7 1,5 2,4 3,6 1,5 2,4 3,6 1,5 2,4 3,6 7 1,5 2,4 3,6 7
Example of non parallel independence
SLIDE 17
Two rule applications on the same graph G:
K1 R1 L1
are parallel independent if (m1(L1) ∩ m2(L2)) ⊆ (m1(K1) ∩ m2(K2))
K2 L2 R2 G D1 H1 D2 H2 m1 m2
Independence
SLIDE 18
Two consecutive rule applications on a graph G:
K1 L1 R1
are sequential independent if (m1*(R1) ∩ m2(L2)) ⊆ (m1*(K1) ∩ m2(K2))
K2 L2 R2 H D1 G D2 H2 m1 m2 m1*
SLIDE 19
Two rule applications are sequential independent If the reverse application of the first rule and the second application are parallel independent
Independence
K1 L1 R1 K2 L2 R2 H D1 G D2 H2 m1 m2 m1*
SLIDE 20
Two rule applications on the same graph G:
K1 R1 L1
are parallel independent if
K2 L2 R2 G D1 H1 D2 H2 m1 m2
Parallel Independence
K1 R1 L1 K2 L2 R2 G D1 H1 D2 H2 m1 m2
SLIDE 21
- 1. Given two parallel independient rule applications of
rules p1 and p2 on a graph G:
H1 G H2 p1 m2 m1 p2
there are applications of p1 to H2 and of p2 to H1 such that the final result H coincides:
H1 G H2
p1 m2 m1 p2
H
p2 p1 m2' m1'
Local Church-Rosser Theorem
SLIDE 22
- 2. Given two sequential independient rule applications of
rules p1 and p2 on a graph G:
G H1 H2 p1 m2 m1 p2
there are applications of p1 to H2 and of p2 to H1 such that the final result H coincides:
H1 G H2
p1 m2' m1 p2
H
p2 p1 m2 m1'
SLIDE 23
Parallel Rules and Concurrent Rules
SLIDE 24
Given rules Their parallel composition is the rule:
K1 L1 R1 K2 L2 R2 K1+K2 L1+L2 R1+R2
Parallel Composition
SLIDE 25
SLIDE 26
SLIDE 27
- 1. Given two parallel independient rule applications of
rules p1 and p2 on a graph G:
H1 G H2 p1 m2 m1 p2
we have:
H1 G H2
p1 m2 m1 p2
H
p2 p1 m2' m1' p1+ p2
Theorem of Parallelism
SLIDE 28
- 2. Given two sequential independient rule applications of
rules p1 and p2 on a graph G:
G H1 H2 p1 m2 m1 p2
we have:
H1 G H2
p1 m2' m1 p2
H
p2 p1 m2 m1' p1+ p2
SLIDE 29
Given two rules p1 and p2 and jointly epimorphic morphisms m1 and m2 : p1*(m1,m2) p2 = H1 ← K → H2 is the (m1,m2)-concurrent rule for p1 and p2, if the pushout complements D1 and D2 exist.
Concurrent Rules
K1 L1 R1 K2 L2 R2 E D1 H1 D2 H2 m2 m1 K pb
SLIDE 30
For every transformation G1 ⇒p1 G2 ⇒p2 G3, there is a concurrent rule p = p1*(m1,m2) p2 such that G1 ⇒p G3.
Concurrency Theorem
SLIDE 31
Conflicts and Critical Pairs
SLIDE 32
If we use graph transformation to describe a deterministic computation, when we can apply two parallel dependent transformations to a graph G H1 p1,m1⇐ G ⇒ p2,m2 H2 we have a possible conflict, which is solved if afterwards we can converge to a common result H: A graph transformation is locally confluent if all conflicts can be solved.
Conflicts and Conflict detection
H1 G H2 H * *
SLIDE 33
Confluence and local confluence are undecidable for graph transformation systems, even if they are terminating.
Confluence and Local Confluence
SLIDE 34
A critical pair is a minimal conflict: two direct transformations P1 p1,m1⇐ G ⇒ p2,m2 P2 such that they are not parallel independent and m2: L1 → G and m2: L2 → G are jointly epimorphic.
Conflicts and Conflict detection
SLIDE 35 Example: a Critical Pair
PO PO PO PO
1 2 3 1 2 3 1 2 3 5 4 7 5 4 6 5 4 6 6 1,5 2,4 6 7 3 5 4 6 3 5 4 6 3 1 2 6 7 3 1 2 6 7 3
SLIDE 36
Completeness Theorem
For any two parallel dependent direct transformations: G1 p1,m1'⇐ G' ⇒ p2,m2' G2 there is a critical pair P1 p1,m1⇐ G ⇒ p2,m2 P2 such that:
p1,m1' m1 P1 G' G G1 p1,m1 p2,m2' G2 P2 m1’ p2,m2
SLIDE 37
Strict Confluence
P1 p1,m1⇐ G ⇒ p2,m2 P2 is strictly confluent if there are morphisms f1 and f2 such that (1), (2), and (3) commute.
P1 G P2 H N1 N3 N4 N2 N pb N5 pb N6 pb f1 f2 (3) (2) (1)
SLIDE 38
Local Confluence Theorem
A graph transformation system is locally confluent if all its critical pairs are strictly confluent.
SLIDE 39
¡Thank You!