concurrency theory
play

Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties - PowerPoint PPT Presentation

Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation Joost-Pieter Katoen and Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-19-20/ct/


  1. Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation Joost-Pieter Katoen and Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-19-20/ct/

  2. Recap: Strong Bisimulation Outline of Lecture 13 Recap: Strong Bisimulation Deadlock Sensitivity Buffers Revisited Strong Bisimilarity as a Game Simulation Equivalence Epilogue 2 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  3. Recap: Strong Bisimulation Strong Bisimulation Definition (Strong bisimulation) (Park 1981, Milner 1989) A binary relation ρ ⊆ Prc × Prc is a strong bisimulation whenever for every ( P , Q ) ∈ ρ and α ∈ Act : → P ′ , then there exists Q ′ ∈ Prc such that Q → Q ′ and P ′ ρ Q ′ , and α α − − 1. if P → Q ′ , then there exists P ′ ∈ Prc such that P → P ′ and P ′ ρ Q ′ . α α − − 2. if Q Note: strong bisimulations are not necessarily equivalences Definition (Strong bisimilarity) Processes P and Q are strongly bisimilar, denoted P ∼ Q , iff there is a strong bisimulation ρ with P ρ Q . Thus, � ∼ = { ρ | ρ is a strong bisimulation } . Relation ∼ is called strong bisimilarity. 3 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  4. Recap: Strong Bisimulation Properties of Strong Bisimilarity Lemma (Properties of ∼ ) 1. ∼ is an equivalence relation (i.e., reflexive, symmetric, and transitive) 2. ∼ is the coarsest strong bisimulation Proof. on the board 4 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  5. Recap: Strong Bisimulation Strong Bisimulation vs. Trace Equivalence Theorem P ∼ Q implies that P and Q are trace equivalent. The reverse does generally not hold. Proof. The implication from left to right follows from the previous slide. Consider the other direction. Take P = a . P 1 with P 1 = b . nil + c . nil and Q = a . b . nil + a . c . nil. Then: Tr ( P ) = { ǫ, a , ab , ac } = Tr ( Q ) . Thus, P and Q are trace equivalent. But: P �∼ Q , as there is no state in the LTS of Q that is bisimilar to P 1 (cf. Example 12.5). Why? No state in Q can perform both b and c . 5 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  6. Recap: Strong Bisimulation Congruence Theorem (CCS congruence property of ∼ ) Strong bisimilarity ∼ is a CCS congruence, that is, whenever P , Q ∈ Prc such that P ∼ Q, α. P ∼ α. Q for every action α P + R ∼ Q + R for every process R P � R ∼ Q � R for every process R P \ L ∼ Q \ L for every set L ⊆ A P [ f ] ∼ Q [ f ] for every relabelling f : A → A Proof. • for � : on the board • for other CCS operators: left as an exercise 6 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  7. Deadlock Sensitivity Outline of Lecture 13 Recap: Strong Bisimulation Deadlock Sensitivity Buffers Revisited Strong Bisimilarity as a Game Simulation Equivalence Epilogue 7 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  8. Deadlock Sensitivity Deadlock Sensitivity of Strong Bisimulation Definition (Deadlock; cf. Definition 11.6) Let P , Q ∈ Prc and w ∈ Act ∗ such that P w − → Q and Q �− → . Then Q is called a w -deadlock of P . 8 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  9. Deadlock Sensitivity Deadlock Sensitivity of Strong Bisimulation Definition (Deadlock; cf. Definition 11.6) Let P , Q ∈ Prc and w ∈ Act ∗ such that P w − → Q and Q �− → . Then Q is called a w -deadlock of P . Definition (Deadlock sensitivity; cf. Definition 11.8) Relation ≡ ⊆ Prc × Prc is deadlock sensitive whenever: P ≡ Q implies ( ∀ w ∈ Act ∗ . P has a w -deadlock iff Q has a w -deadlock ) . 8 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  10. Deadlock Sensitivity Deadlock Sensitivity of Strong Bisimulation Definition (Deadlock; cf. Definition 11.6) Let P , Q ∈ Prc and w ∈ Act ∗ such that P w − → Q and Q �− → . Then Q is called a w -deadlock of P . Definition (Deadlock sensitivity; cf. Definition 11.8) Relation ≡ ⊆ Prc × Prc is deadlock sensitive whenever: P ≡ Q implies ( ∀ w ∈ Act ∗ . P has a w -deadlock iff Q has a w -deadlock ) . Theorem 13.1 ∼ is deadlock sensitive. 8 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  11. Deadlock Sensitivity Deadlock Sensitivity of Strong Bisimulation Definition (Deadlock; cf. Definition 11.6) Let P , Q ∈ Prc and w ∈ Act ∗ such that P w − → Q and Q �− → . Then Q is called a w -deadlock of P . Definition (Deadlock sensitivity; cf. Definition 11.8) Relation ≡ ⊆ Prc × Prc is deadlock sensitive whenever: P ≡ Q implies ( ∀ w ∈ Act ∗ . P has a w -deadlock iff Q has a w -deadlock ) . Theorem 13.1 ∼ is deadlock sensitive. Proof. on the board 8 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  12. Buffers Revisited Outline of Lecture 13 Recap: Strong Bisimulation Deadlock Sensitivity Buffers Revisited Strong Bisimilarity as a Game Simulation Equivalence Epilogue 9 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  13. Buffers Revisited Two Buffers Example 13.2 One-place buffer: B 1 0 = in . B 1 1 B 1 1 = out . B 1 0 . 10 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  14. Buffers Revisited Two Buffers Example 13.2 One-place buffer: Two-place buffer: B 1 0 = in . B 1 B 2 0 = in . B 2 1 1 B 1 1 = out . B 1 B 2 1 = in . B 2 2 + out . B 2 0 . 0 B 2 2 = out . B 2 1 . 10 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  15. Buffers Revisited Two Buffers Example 13.2 One-place buffer: Two-place buffer: B 1 0 = in . B 1 B 2 0 = in . B 2 1 1 B 1 1 = out . B 1 B 2 1 = in . B 2 2 + out . B 2 0 . 0 B 2 2 = out . B 2 1 . B 2 0 ∼ B 1 0 � B 1 0 : 10 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  16. Buffers Revisited Semaphores I Example 13.3 (An n -ary semaphore) Let S n i stand for a semaphore for n exclusive resources i of which are taken: S n 0 = get . S n 1 S n i = get . S n i + 1 + put . S n for 0 < i < n i − 1 S n n = put . S n n − 1 11 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  17. Buffers Revisited Semaphores I Example 13.3 (An n -ary semaphore) Let S n i stand for a semaphore for n exclusive resources i of which are taken: S n 0 = get . S n 1 S n i = get . S n i + 1 + put . S n for 0 < i < n i − 1 S n n = put . S n n − 1 This process is strongly bisimilar to n parallel binary semaphores: Lemma 13.4 0 ∼ S 1 0 � · · · � S 1 For every n ∈ N + , we have: S n . 0 � �� � n times 11 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  18. Buffers Revisited Semaphores II Lemma 0 ∼ S 1 0 � · · · � S 1 For every n ∈ N + , we have: S n . 0 � �� � n times 12 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  19. Buffers Revisited Semaphores II Lemma 0 ∼ S 1 0 � · · · � S 1 For every n ∈ N + , we have: S n . 0 � �� � n times Proof. Consider the following binary relation where i 1 , i 2 , . . . , i n ∈ { 0 , 1 } :  �  � n   � � � � S n i , S 1 i 1 � · · · � S 1 ρ = i j = i � i n �   � j = 1 12 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  20. Buffers Revisited Semaphores II Lemma 0 ∼ S 1 0 � · · · � S 1 For every n ∈ N + , we have: S n . 0 � �� � n times Proof. Consider the following binary relation where i 1 , i 2 , . . . , i n ∈ { 0 , 1 } :  �  � n   � � � � S n i , S 1 i 1 � · · · � S 1 ρ = i j = i � i n �   � j = 1 0 , S 1 0 � · · · � S 1 Then: ρ is a strong bisimulation and ( S n ) ∈ ρ . 0 � �� � n times 12 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  21. Strong Bisimilarity as a Game Outline of Lecture 13 Recap: Strong Bisimulation Deadlock Sensitivity Buffers Revisited Strong Bisimilarity as a Game Simulation Equivalence Epilogue 13 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  22. Strong Bisimilarity as a Game How to Show Non-Bisimilarity? 14 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

  23. Strong Bisimilarity as a Game How to Show Non-Bisimilarity? Alternatives to prove that s �∼ t • Enumerate all binary relations and show that none of those containing ( s , t ) is a strong bisimulation. 14 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

Recommend


More recommend