concurrency theory
play

Concurrency Theory Lecture 17: True Concurrency Semantics of Petri - PowerPoint PPT Presentation

Lecture 17: True Concurrency Semantics of Petri Nets (I) Concurrency Theory Lecture 17: True Concurrency Semantics of Petri Nets (I) Joost-Pieter Katoen and Thomas Noll Lehrstuhl fr Informatik 2 Software Modeling and Verification Group


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  25. Lecture 17: True Concurrency Semantics of Petri Nets (I) Distributed runs Causal nets Joost-Pieter Katoen and Thomas Noll Concurrency Theory 34/52

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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