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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend