Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 17/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 18/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 19/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 20/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 21/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 22/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 23/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 24/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 25/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 26/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 27/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets The true concurrency semantics of Petri nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 28/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets Interleaving versus true concurrency Joost-Pieter Katoen and Thomas Noll Concurrency Theory 29/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets Interleaving versus true concurrency The interleaving thesis: The total order assumption is a reasonable abstraction, adequate for practical purposes, and leading to nice mathematics Joost-Pieter Katoen and Thomas Noll Concurrency Theory 29/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets Interleaving versus true concurrency The interleaving thesis: The total order assumption is a reasonable abstraction, adequate for practical purposes, and leading to nice mathematics The true concurrency thesis: The total order assumption does not correspond to physical reality and leads to awkward representations of simple phenomena Joost-Pieter Katoen and Thomas Noll Concurrency Theory 29/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) The true concurrency semantics of Petri nets Interleaving versus true concurrency Joost-Pieter Katoen and Thomas Noll Concurrency Theory 30/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Overview Introduction 1 Nets and markings 2 The true concurrency semantics of Petri nets 3 Distributed runs 4 Summary 5 Joost-Pieter Katoen and Thomas Noll Concurrency Theory 31/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Actions 1 Not to be confused with the notion of action in transition systems. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 32/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Actions A distributed run of a net is a partial-order represented as a net whose basic building blocks are actions 1 , simple nets 1 Not to be confused with the notion of action in transition systems. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 32/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Actions A distributed run of a net is a partial-order represented as a net whose basic building blocks are actions 1 , simple nets Action An action is a labeled net A = ( Q , { v } , G ) with β’ v β© v β’ = β and β’ v βͺ v β’ = Q . 1 Not to be confused with the notion of action in transition systems. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 32/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Actions A distributed run of a net is a partial-order represented as a net whose basic building blocks are actions 1 , simple nets Action An action is a labeled net A = ( Q , { v } , G ) with β’ v β© v β’ = β and β’ v βͺ v β’ = Q . Actions are used to represent transition occurrences of elementary net systems. If A represents transition t , then elements of Q are labeled with in- and output places of t and v is labeled t . 1 Not to be confused with the notion of action in transition systems. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 32/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Actions A distributed run of a net is a partial-order represented as a net whose basic building blocks are actions 1 , simple nets Action An action is a labeled net A = ( Q , { v } , G ) with β’ v β© v β’ = β and β’ v βͺ v β’ = Q . Actions are used to represent transition occurrences of elementary net systems. If A represents transition t , then elements of Q are labeled with in- and output places of t and v is labeled t . 1 Not to be confused with the notion of action in transition systems. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 32/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Mutual exclusion net and its actions Joost-Pieter Katoen and Thomas Noll Concurrency Theory 33/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Mutual exclusion net and its actions Joost-Pieter Katoen and Thomas Noll Concurrency Theory 33/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a βdistributedβ run. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a βdistributedβ run. It is a (possibly infinite) net which satisfies: Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a βdistributedβ run. It is a (possibly infinite) net which satisfies: 1. It has no place branches: at most one arc ends or starts in a place Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a βdistributedβ run. It is a (possibly infinite) net which satisfies: 1. It has no place branches: at most one arc ends or starts in a place 2. It is acyclic Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a βdistributedβ run. It is a (possibly infinite) net which satisfies: 1. It has no place branches: at most one arc ends or starts in a place 2. It is acyclic 3. Each sequence of arcs (flows) has a unique first element Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a βdistributedβ run. It is a (possibly infinite) net which satisfies: 1. It has no place branches: at most one arc ends or starts in a place 2. It is acyclic 3. Each sequence of arcs (flows) has a unique first element 4. The initial marking contains all places without incoming arcs. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a βdistributedβ run. It is a (possibly infinite) net which satisfies: 1. It has no place branches: at most one arc ends or starts in a place 2. It is acyclic 3. Each sequence of arcs (flows) has a unique first element 4. The initial marking contains all places without incoming arcs. Intuition No place branches, no sequence of arcs forms a loop, and each sequence of arcs has a first node. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies: 1. Has no place branches: at most one arc ends or starts in a place 2. Is acyclic 3. Each sequence of arcs (flows) has a first element 4. The initial marking contains all places without incoming arcs Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies: 1. Has no place branches: at most one arc ends or starts in a place 2. Is acyclic 3. Each sequence of arcs (flows) has a first element 4. The initial marking contains all places without incoming arcs Causal net A (possibly infinite) net K = ( Q , V , G , M 0 ) is called a causal net iff: Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies: 1. Has no place branches: at most one arc ends or starts in a place 2. Is acyclic 3. Each sequence of arcs (flows) has a first element 4. The initial marking contains all places without incoming arcs Causal net A (possibly infinite) net K = ( Q , V , G , M 0 ) is called a causal net iff: 1. for each q β Q , | β’ q | οΏ½ 1 and | q β’ | οΏ½ 1 Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies: 1. Has no place branches: at most one arc ends or starts in a place 2. Is acyclic 3. Each sequence of arcs (flows) has a first element 4. The initial marking contains all places without incoming arcs Causal net A (possibly infinite) net K = ( Q , V , G , M 0 ) is called a causal net iff: 1. for each q β Q , | β’ q | οΏ½ 1 and | q β’ | οΏ½ 1 2. the transitive closure (called causal order) G + of G is irreflexive Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies: 1. Has no place branches: at most one arc ends or starts in a place 2. Is acyclic 3. Each sequence of arcs (flows) has a first element 4. The initial marking contains all places without incoming arcs Causal net A (possibly infinite) net K = ( Q , V , G , M 0 ) is called a causal net iff: 1. for each q β Q , | β’ q | οΏ½ 1 and | q β’ | οΏ½ 1 2. the transitive closure (called causal order) G + of G is irreflexive 3. for each node x β Q βͺ V , the set { y | ( y , x ) β G + } is finite Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies: 1. Has no place branches: at most one arc ends or starts in a place 2. Is acyclic 3. Each sequence of arcs (flows) has a first element 4. The initial marking contains all places without incoming arcs Causal net A (possibly infinite) net K = ( Q , V , G , M 0 ) is called a causal net iff: 1. for each q β Q , | β’ q | οΏ½ 1 and | q β’ | οΏ½ 1 2. the transitive closure (called causal order) G + of G is irreflexive 3. for each node x β Q βͺ V , the set { y | ( y , x ) β G + } is finite 4. M 0 equals the minimal set of places in K under G + , i.e., M 0 = β¦ K = { q β Q | β’ q = β } . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets A causal net constitutes the basis for a distributed run. It is a possibly infinite net which satisfies: 1. Has no place branches: at most one arc ends or starts in a place 2. Is acyclic 3. Each sequence of arcs (flows) has a first element 4. The initial marking contains all places without incoming arcs Causal net A (possibly infinite) net K = ( Q , V , G , M 0 ) is called a causal net iff: 1. for each q β Q , | β’ q | οΏ½ 1 and | q β’ | οΏ½ 1 2. the transitive closure (called causal order) G + of G is irreflexive 3. for each node x β Q βͺ V , the set { y | ( y , x ) β G + } is finite 4. M 0 equals the minimal set of places in K under G + , i.e., M 0 = β¦ K = { q β Q | β’ q = β } . Note: the βrunsβ of the example net (with initial marking) are all causal nets. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 35/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k M 0 β β β M 1 β β β . . . . . . β β β M k of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k M 0 β β β M 1 β β β . . . . . . β β β M k of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Proof. By contraposition. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k M 0 β β β M 1 β β β . . . . . . β β β M k of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Proof. By contraposition. Consider a step sequence of net N and suppose that p β M j β© t k β’ for some p β P and some 0 οΏ½ j < k . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k M 0 β β β M 1 β β β . . . . . . β β β M k of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Proof. By contraposition. Consider a step sequence of net N and suppose that p β M j β© t k β’ for some p β P and some 0 οΏ½ j < k . This is impossible for j = 0, as by definition of causal nets, M 0 has no ingoing arcs, and thus M 0 β© t β’ = β for each t β T . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k M 0 β β β M 1 β β β . . . . . . β β β M k of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Proof. By contraposition. Consider a step sequence of net N and suppose that p β M j β© t k β’ for some p β P and some 0 οΏ½ j < k . This is impossible for j = 0, as by definition of causal nets, M 0 has no ingoing arcs, and thus M 0 β© t β’ = β for each t β T . Hence, j > 0. Given that p β M j (for some j ) and p οΏ½β M 0 , it follows p β t i β’ for some 0 < i οΏ½ j . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k M 0 β β β M 1 β β β . . . . . . β β β M k of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Proof. By contraposition. Consider a step sequence of net N and suppose that p β M j β© t k β’ for some p β P and some 0 οΏ½ j < k . This is impossible for j = 0, as by definition of causal nets, M 0 has no ingoing arcs, and thus M 0 β© t β’ = β for each t β T . Hence, j > 0. Given that p β M j (for some j ) and p οΏ½β M 0 , it follows p β t i β’ for some 0 < i οΏ½ j . (Some transition before reaching M k must have put a token on p .) Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k M 0 β β β M 1 β β β . . . . . . β β β M k of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Proof. By contraposition. Consider a step sequence of net N and suppose that p β M j β© t k β’ for some p β P and some 0 οΏ½ j < k . This is impossible for j = 0, as by definition of causal nets, M 0 has no ingoing arcs, and thus M 0 β© t β’ = β for each t β T . Hence, j > 0. Given that p β M j (for some j ) and p οΏ½β M 0 , it follows p β t i β’ for some 0 < i οΏ½ j . (Some transition β’ p , where before reaching M k must have put a token on p .) Thus t i , t k β t i οΏ½ = t k as F is well-founded. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k M 0 β β β M 1 β β β . . . . . . β β β M k of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Proof. By contraposition. Consider a step sequence of net N and suppose that p β M j β© t k β’ for some p β P and some 0 οΏ½ j < k . This is impossible for j = 0, as by definition of causal nets, M 0 has no ingoing arcs, and thus M 0 β© t β’ = β for each t β T . Hence, j > 0. Given that p β M j (for some j ) and p οΏ½β M 0 , it follows p β t i β’ for some 0 < i οΏ½ j . (Some transition β’ p , where before reaching M k must have put a token on p .) Thus t i , t k β t i οΏ½ = t k as F is well-founded. But by definition every place in a causal net is non-branching. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k M 0 β β β M 1 β β β . . . . . . β β β M k of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Proof. By contraposition. Consider a step sequence of net N and suppose that p β M j β© t k β’ for some p β P and some 0 οΏ½ j < k . This is impossible for j = 0, as by definition of causal nets, M 0 has no ingoing arcs, and thus M 0 β© t β’ = β for each t β T . Hence, j > 0. Given that p β M j (for some j ) and p οΏ½β M 0 , it follows p β t i β’ for some 0 < i οΏ½ j . (Some transition β’ p , where before reaching M k must have put a token on p .) Thus t i , t k β t i οΏ½ = t k as F is well-founded. But by definition every place in a causal net is non-branching. So also p . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Properties of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k M 0 β β β M 1 β β β . . . . . . β β β M k of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Proof. By contraposition. Consider a step sequence of net N and suppose that p β M j β© t k β’ for some p β P and some 0 οΏ½ j < k . This is impossible for j = 0, as by definition of causal nets, M 0 has no ingoing arcs, and thus M 0 β© t β’ = β for each t β T . Hence, j > 0. Given that p β M j (for some j ) and p οΏ½β M 0 , it follows p β t i β’ for some 0 < i οΏ½ j . (Some transition β’ p , where before reaching M k must have put a token on p .) Thus t i , t k β t i οΏ½ = t k as F is well-founded. But by definition every place in a causal net is non-branching. So also p . Contradicting t i , t k β β’ p for t i οΏ½ = t k . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 36/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Boundedness of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k β β β M 1 β β β Β· Β· Β· Β· Β· Β· β β β M k M 0 of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 37/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Boundedness of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k β β β M 1 β β β Β· Β· Β· Β· Β· Β· β β β M k M 0 of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Boundedness of causal nets Every causal net is one-bounded, i.e., in every marking every place will hold at most one token. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 37/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Boundedness of causal nets Lemma Let N = ( P , T , F , M 0 ) be a causal net. Then every step sequence: t 1 t 2 t k β β β M 1 β β β Β· Β· Β· Β· Β· Β· β β β M k M 0 of net N satisfies M j β© t k β’ = β for all j = 0, . . . , k β 1. Boundedness of causal nets Every causal net is one-bounded, i.e., in every marking every place will hold at most one token. Proof. Follows directly from the fact that the initial marking M 0 is one-bounded, and by the above lemma. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 37/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Completeness of a causal net Joost-Pieter Katoen and Thomas Noll Concurrency Theory 38/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Completeness of a causal net Absence of superfluous places and transitions Let N = ( P , T , F , M 0 ) be a causal net. Then there exists a possibly infinite step sequence t k +1 t 1 t 2 t k M 0 β β β M 1 β β β Β· Β· Β· Β· Β· Β· β β β M k β β β β Β· Β· Β· of N such that P = οΏ½ k οΏ½ 0 M k and T = { t k | k > 0 } . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 38/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Completeness of a causal net Absence of superfluous places and transitions Let N = ( P , T , F , M 0 ) be a causal net. Then there exists a possibly infinite step sequence t k +1 t 1 t 2 t k M 0 β β β M 1 β β β Β· Β· Β· Β· Β· Β· β β β M k β β β β Β· Β· Β· of N such that P = οΏ½ k οΏ½ 0 M k and T = { t k | k > 0 } . Proof. On the black board. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 38/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Completeness of a causal net Absence of superfluous places and transitions Let N = ( P , T , F , M 0 ) be a causal net. Then there exists a possibly infinite step sequence t k +1 t 1 t 2 t k M 0 β β β M 1 β β β Β· Β· Β· Β· Β· Β· β β β M k β β β β Β· Β· Β· of N such that P = οΏ½ k οΏ½ 0 M k and T = { t k | k > 0 } . Proof. On the black board. A causal net thus contains no superfluous places and transitions, as every place is visited and every transition is fired in the above step sequence. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 38/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Outset and end of a causal net Joost-Pieter Katoen and Thomas Noll Concurrency Theory 39/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Outset and end of a causal net Outset and end of a causal net The outset and end of causal net K = ( Q , V , G , M ) are defined by: K β¦ = { q β Q | q β’ = β } . β¦ K = { q β Q | β’ q = β } and Places without an incoming arc form the outset β¦ K . The places without an outgoing arc form the end K β¦ . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 39/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs What is a distributed run? Distributed run A distributed run of a one-bounded elementary net system N is: 1. a labeled causal net K N 2. in which each transition t (with β’ t and t β’ ) is an action of N . A distributed run K N of N is complete iff (the marking) β¦ K represents the initial marking of N and (the marking) K β¦ N does not enable any transition. If N is clear from the context we just write K for K N . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 40/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs A distributed run for mutual exclusion Joost-Pieter Katoen and Thomas Noll Concurrency Theory 41/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs A distributed run for mutual exclusion Distributed run of the mutual exclusion algorithm. Actions N a , N b , N c and N d causally precede N e . They form a chain. N a and N d are not linked by actions; they are causally independent. The same applies to N b and N d and N c and N d . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 42/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Expansion of a distributed run for mutual exclusion A distributed run (top) and its extension with actions b and c (below). Joost-Pieter Katoen and Thomas Noll Concurrency Theory 43/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs More distributed runs Various finite distributed runs and an infinite distributed run (right) of net (left). Joost-Pieter Katoen and Thomas Noll Concurrency Theory 44/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal order Opposed to sequential runs, distributed runs show the causal order of actions. Nets with identical sequential runs ( a occurs before b , or vice versa), Joost-Pieter Katoen and Thomas Noll Concurrency Theory 45/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal order Opposed to sequential runs, distributed runs show the causal order of actions. Nets with identical sequential runs ( a occurs before b , or vice versa), but the left net has the left distributed run below, the right net both other ones: Joost-Pieter Katoen and Thomas Noll Concurrency Theory 45/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Composition of distributed runs Joost-Pieter Katoen and Thomas Noll Concurrency Theory 46/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Composition of distributed runs Composition of distributed runs For i = 1, 2, let K i = ( Q i , V i , G i ) be causal nets, labeled with β i . Let ( Q 1 βͺ V 1 ) β© ( Q 2 β© V 2 ) = K β¦ 1 = β¦ K 2 and for each p β K β¦ 1 let β 1 ( p ) = β 2 ( p ). Joost-Pieter Katoen and Thomas Noll Concurrency Theory 46/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Composition of distributed runs Composition of distributed runs For i = 1, 2, let K i = ( Q i , V i , G i ) be causal nets, labeled with β i . Let ( Q 1 βͺ V 1 ) β© ( Q 2 β© V 2 ) = K β¦ 1 = β¦ K 2 and for each p β K β¦ 1 let β 1 ( p ) = β 2 ( p ). The composition of K 1 and K 2 , denoted K 1 β’ K 2 , is the causal net ( Q 1 βͺ Q 2 , V 1 βͺ V 2 , G 1 βͺ G 2 ) labeled with β with β ( x ) = β i ( x ) if x β K i . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 46/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Composition of distributed runs Composition of distributed runs For i = 1, 2, let K i = ( Q i , V i , G i ) be causal nets, labeled with β i . Let ( Q 1 βͺ V 1 ) β© ( Q 2 β© V 2 ) = K β¦ 1 = β¦ K 2 and for each p β K β¦ 1 let β 1 ( p ) = β 2 ( p ). The composition of K 1 and K 2 , denoted K 1 β’ K 2 , is the causal net ( Q 1 βͺ Q 2 , V 1 βͺ V 2 , G 1 βͺ G 2 ) labeled with β with β ( x ) = β i ( x ) if x β K i . Intuition The composition K β’ L is formed by identifying the end K β¦ of K with the outset β¦ L of L . To do this, K β¦ and β¦ L must represent the same marking. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 46/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Composition of distributed runs Composition of distributed runs For i = 1, 2, let K i = ( Q i , V i , G i ) be causal nets, labeled with β i . Let ( Q 1 βͺ V 1 ) β© ( Q 2 β© V 2 ) = K β¦ 1 = β¦ K 2 and for each p β K β¦ 1 let β 1 ( p ) = β 2 ( p ). The composition of K 1 and K 2 , denoted K 1 β’ K 2 , is the causal net ( Q 1 βͺ Q 2 , V 1 βͺ V 2 , G 1 βͺ G 2 ) labeled with β with β ( x ) = β i ( x ) if x β K i . Intuition The composition K β’ L is formed by identifying the end K β¦ of K with the outset β¦ L of L . To do this, K β¦ and β¦ L must represent the same marking. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 46/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs What is a distributed run? Distributed run A distributed run of a one-bounded elementary net system N is: 1. a labeled causal net K 2. in which each transition t (with β’ t and t β’ ) is an action of N . Joost-Pieter Katoen and Thomas Noll Concurrency Theory 47/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs What is a distributed run? Distributed run A distributed run of a one-bounded elementary net system N is: 1. a labeled causal net K 2. in which each transition t (with β’ t and t β’ ) is an action of N . A distributed run K of N is complete iff (the marking) β¦ K represents the initial marking of N and (the marking) K β¦ does not enable any transition. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 47/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs What is a distributed run? Distributed run A distributed run of a one-bounded elementary net system N is: 1. a labeled causal net K 2. in which each transition t (with β’ t and t β’ ) is an action of N . A distributed run K of N is complete iff (the marking) β¦ K represents the initial marking of N and (the marking) K β¦ does not enable any transition. Examples on the black board. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 47/52
Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs What is a distributed run? Distributed run A distributed run of a one-bounded elementary net system N is: 1. a labeled causal net K 2. in which each transition t (with β’ t and t β’ ) is an action of N . A distributed run K of N is complete iff (the marking) β¦ K represents the initial marking of N and (the marking) K β¦ does not enable any transition. Examples on the black board. Today: a characterization of distributed runs using homomorphisms. Joost-Pieter Katoen and Thomas Noll Concurrency Theory 47/52
Recommend
More recommend