Fundamental Theory Algebraic Graph Transformation Fernando Orejas Royal Holloway University of London on leave from Universitat Politècnica de Catalunya, Barcelona
1. Embedding and Extension 2. Independence: Local Church-Rosser Theorems 3. Parallel Rules and Concurrent Rules 4. Conflicts and Critical Pairs
Embedding and Extension
Embedding and Extension Theorems Given the derivation sequence and a morphism from G 0 to G' 0 r 1 r 2 r n G 0 G 1 ... G n G 0 '
Embedding and Extension Theorems is it always possible to extend it? r 1 r 2 r n G 0 G 1 ... G n r 1 r 2 r n G 0 ' G 1 ' ... G n '
Embedding and Extension Theorems We can build the extension if and only if m2 is boundary consistent with respect to l1 r l R L K m1’ d1 m1 r1 l1 H1 D1 G1 m2 G2
Embedding and Extension Theorems r l R L K m1’ d1 m1 r1 l1 H1 D1 G1 m2’ d2 m2 r2 l2 H2 D2 G2
Embedding and Extension Theorems r l R L K m1’ d1 m1 r1 l1 H1 D1 G1 m2’ d2 m2 r2 l2 H2 D2 G2
Embedding and Extension Theorems r 1 r 2 r n G 0 G 1 ... G n r 1 r 2 r n G 0 ' G 1 ' ... G n '
Derived Rule l r l r L1 K1 R1 L2 K2 R2 m1 m2 H1 G1 D1 D2 H2
Derived Rule K pb l r l r L1 K1 R1 L2 K2 R2 m1 m2 H1 G1 D1 D2 H2
Embedding and Extension Theorems Given: K g G 0 G 1 ... G n m G 0 ' G 0 ⇒ * G n can be extended to a derivation G' 0 ⇒ * G' n if and only if m is boundary consistent with respect to g.
Independence: Local Church-Rosser Theorems
The problem Given two rule applications on the same graph G: K1 L1 K2 R2 L2 R1 m2 m1 H2 D1 D2 H1 G after applying one of them, under which conditions it will be possible to apply the other rule with "the same matching"
The problem And given two consecutive rule applications on the same graph G: K1 L1 K2 R2 L2 R1 m2 m1 H2 D1 D2 G H1 up to which point the application of the second rule depends or not on the application of the first rule.
Example of non parallel independence 2 2 2 4 4 4 1 1 1 5 5 5 3 3 3 7 6 6 6 m 1 m 2 PO PO PO PO 2,4 2,4 2,4 2,4 2,4 1,5 1,5 1,5 1,5 1,5 7 7 3,6 3,6 7 3,6 3,6 3,6
Independence Two rule applications on the same graph G: K1 L1 K2 R2 L2 R1 m2 m1 H2 D1 D2 H1 G are parallel independent if (m1(L1) ∩ m2(L2)) ⊆ (m1(K1) ∩ m2(K2))
Two consecutive rule applications on a graph G: K1 R1 K2 R2 L2 L1 m2 m1 m1* H2 D1 D2 G H are sequential independent if (m1*(R1) ∩ m2(L2)) ⊆ (m1*(K1) ∩ m2(K2))
Independence Two rule applications are sequential independent K1 R1 K2 R2 L2 L1 m2 m1 m1* H2 D1 D2 G H If the reverse application of the first rule and the second application are parallel independent
Parallel Independence Two rule applications on the same graph G: K1 L1 K2 R2 L2 R1 m2 m1 H2 D1 D2 H1 G are parallel independent if K1 L1 K2 R2 L2 R1 m1 m2 H2 D1 D2 H1 G
Local Church-Rosser Theorem 1. Given two parallel independient rule applications of rules p1 and p2 on a graph G: p1 p2 H2 H1 G m1 m2 there are applications of p1 to H2 and of p2 to H1 such that the final result H coincides: G p1 p2 m1 m2 H2 H1 p2 p1 m2 ' m1 ' H
2. Given two sequential independient rule applications of rules p1 and p2 on a graph G: p1 p2 H2 G H1 m1 m2 there are applications of p1 to H2 and of p2 to H1 such that the final result H coincides: G p1 p2 m1 m2' H2 H1 p2 p1 m2 m1 ' H
Parallel Rules and Concurrent Rules
Parallel Composition Given rules K2 R2 K1 R1 L2 L1 Their parallel composition is the rule: L1+L2 K1+K2 R1+R2
Theorem of Parallelism 1. Given two parallel independient rule applications of rules p1 and p2 on a graph G: p1 p2 H2 H1 G m1 m2 we have: G p2 p1 m1 m2 p1+ p2 H1 H2 p1 p2 m1 ' m2' H
2. Given two sequential independient rule applications of rules p1 and p2 on a graph G: p1 p2 H2 G H1 m1 m2 we have: G p2 p1 m1 m2' p1+ p2 H1 H2 p1 p2 m1 ' m2 H
Concurrent Rules Given two rules p1 and p2 and jointly epimorphic morphisms m1 and m2 : K1 R1 K2 R2 L2 L1 m2 m1 H2 D1 D2 H1 E pb K 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.
Concurrency Theorem For every transformation G1 ⇒ p1 G2 ⇒ p2 G3, there is a concurrent rule p = p1* (m1,m2) p2 such that G1 ⇒ p G3.
Conflicts and Critical Pairs
Conflicts and Conflict detection 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: G H1 H2 * * H A graph transformation is locally confluent if all conflicts can be solved.
Confluence and Local Confluence Confluence and local confluence are undecidable for graph transformation systems, even if they are terminating.
Conflicts and Conflict detection 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.
Example: a Critical Pair 2 2 2 4 4 4 1 1 1 5 5 5 3 3 3 7 6 6 6 PO PO PO PO 2 2 2,4 4 4 1 1 1,5 5 5 3 3 3 3 3 6 7 6 7 6 6 6 7
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: p2,m2 p1,m1 P2 G P1 m1’ m1 p2,m2' p1,m1' G2 G' G1
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. G pb N2 N1 N (2) (3) pb f2 N6 pb P1 N5 f1 P2 (1) N3 N4 H
Local Confluence Theorem A graph transformation system is locally confluent if all its critical pairs are strictly confluent.
¡Thank You !
Recommend
More recommend