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

concurrency theory
SMART_READER_LITE
LIVE PREVIEW

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/


slide-1
SLIDE 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/

slide-2
SLIDE 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

slide-3
SLIDE 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:

  • 1. if P

α

− → P′, then there exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′, and

  • 2. if Q

α

− → Q′, then there exists P′ ∈ Prc such that P

α

− → P′ and P′ ρ 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

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

  • n the board

4 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-5
SLIDE 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.P1 with P1 = 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 P1 (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

slide-6
SLIDE 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

slide-7
SLIDE 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

slide-8
SLIDE 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

slide-9
SLIDE 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

slide-10
SLIDE 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

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

  • n the board

8 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-12
SLIDE 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

slide-13
SLIDE 13

Buffers Revisited Two Buffers Example 13.2 One-place buffer: B1

0 = in.B1 1

B1

1 = out.B1 0.

10 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-14
SLIDE 14

Buffers Revisited Two Buffers Example 13.2 One-place buffer: B1

0 = in.B1 1

B1

1 = out.B1 0.

Two-place buffer: B2

0 = in.B2 1

B2

1 = in.B2 2 + out.B2

B2

2 = out.B2 1.

10 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-15
SLIDE 15

Buffers Revisited Two Buffers Example 13.2 One-place buffer: B1

0 = in.B1 1

B1

1 = out.B1 0.

Two-place buffer: B2

0 = in.B2 1

B2

1 = in.B2 2 + out.B2

B2

2 = out.B2 1.

B2

0 ∼ B1 0 B1 0:

10 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-16
SLIDE 16

Buffers Revisited Semaphores I Example 13.3 (An n-ary semaphore) Let Sn

i stand for a semaphore for n exclusive resources i of which are taken:

Sn

0 = get.Sn 1

Sn

i = get.Sn i+1 + put.Sn i−1

for 0 < i < n Sn

n = put.Sn n−1

11 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-17
SLIDE 17

Buffers Revisited Semaphores I Example 13.3 (An n-ary semaphore) Let Sn

i stand for a semaphore for n exclusive resources i of which are taken:

Sn

0 = get.Sn 1

Sn

i = get.Sn i+1 + put.Sn i−1

for 0 < i < n Sn

n = put.Sn n−1

This process is strongly bisimilar to n parallel binary semaphores: Lemma 13.4 For every n ∈ N+, we have: Sn

0 ∼ S1 0 · · · S1

  • n times

.

11 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-18
SLIDE 18

Buffers Revisited Semaphores II Lemma For every n ∈ N+, we have: Sn

0 ∼ S1 0 · · · S1

  • n times

.

12 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-19
SLIDE 19

Buffers Revisited Semaphores II Lemma For every n ∈ N+, we have: Sn

0 ∼ S1 0 · · · S1

  • n times

.

Proof. Consider the following binary relation where i1, i2, . . . , in ∈ {0, 1}:

ρ =

  

  • Sn

i , S1 i1 · · · S1 in

  • n
  • j=1

ij = i

  

12 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-20
SLIDE 20

Buffers Revisited Semaphores II Lemma For every n ∈ N+, we have: Sn

0 ∼ S1 0 · · · S1

  • n times

.

Proof. Consider the following binary relation where i1, i2, . . . , in ∈ {0, 1}:

ρ =

  

  • Sn

i , S1 i1 · · · S1 in

  • n
  • j=1

ij = i

  

Then: ρ is a strong bisimulation and (Sn

0, S1 0 · · · S1

  • n times

) ∈ ρ.

12 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-21
SLIDE 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

slide-22
SLIDE 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

slide-23
SLIDE 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

slide-24
SLIDE 24

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. (This is expensive, as there are 2k2 binary relations on Prc with |Prc| = k.)

14 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-25
SLIDE 25

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. (This is expensive, as there are 2k2 binary relations on Prc with |Prc| = k.)
  • Make certain observations which will enable to disqualify many bisimulation candidates in
  • ne step.

14 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-26
SLIDE 26

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. (This is expensive, as there are 2k2 binary relations on Prc with |Prc| = k.)
  • Make certain observations which will enable to disqualify many bisimulation candidates in
  • ne step. (Yields heuristics – how about completeness?)

14 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-27
SLIDE 27

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. (This is expensive, as there are 2k2 binary relations on Prc with |Prc| = k.)
  • Make certain observations which will enable to disqualify many bisimulation candidates in
  • ne step. (Yields heuristics – how about completeness?)
  • Use game characterisation of strong bisimilarity.

14 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-28
SLIDE 28

Strong Bisimilarity as a Game The Strong Bisimulation Game Let (Prc, Act, −

→) be an LTS and s, t ∈ Prc. Question: does s ∼ t?

15 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-29
SLIDE 29

Strong Bisimilarity as a Game The Strong Bisimulation Game Let (Prc, Act, −

→) be an LTS and s, t ∈ Prc. Question: does s ∼ t?

We define a game with two players: an “attacker” and a “defender”.

15 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-30
SLIDE 30

Strong Bisimilarity as a Game The Strong Bisimulation Game Let (Prc, Act, −

→) be an LTS and s, t ∈ Prc. Question: does s ∼ t?

We define a game with two players: an “attacker” and a “defender”.

  • The game is played in rounds and configurations of the game are pairs of states from

Prc × Prc.

15 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-31
SLIDE 31

Strong Bisimilarity as a Game The Strong Bisimulation Game Let (Prc, Act, −

→) be an LTS and s, t ∈ Prc. Question: does s ∼ t?

We define a game with two players: an “attacker” and a “defender”.

  • The game is played in rounds and configurations of the game are pairs of states from

Prc × Prc.

  • In each round exactly one configuration is called current.

15 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-32
SLIDE 32

Strong Bisimilarity as a Game The Strong Bisimulation Game Let (Prc, Act, −

→) be an LTS and s, t ∈ Prc. Question: does s ∼ t?

We define a game with two players: an “attacker” and a “defender”.

  • The game is played in rounds and configurations of the game are pairs of states from

Prc × Prc.

  • In each round exactly one configuration is called current.
  • Initially, the configuration (s, t) is the current one.

15 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-33
SLIDE 33

Strong Bisimilarity as a Game The Strong Bisimulation Game Let (Prc, Act, −

→) be an LTS and s, t ∈ Prc. Question: does s ∼ t?

We define a game with two players: an “attacker” and a “defender”.

  • The game is played in rounds and configurations of the game are pairs of states from

Prc × Prc.

  • In each round exactly one configuration is called current.
  • Initially, the configuration (s, t) is the current one.

Intuition The defender wants to show that s ∼ t while the attacker aims to prove the opposite.

15 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-34
SLIDE 34

Strong Bisimilarity as a Game Rules of the Bisimulation Game Rules In each round, the current configuration (s, t) is changed as follows:

  • 1. the attacker chooses one of the two processes in the current configuration, say t, and

makes an

α

− →-move for some α ∈ Act to t′, say,

16 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-35
SLIDE 35

Strong Bisimilarity as a Game Rules of the Bisimulation Game Rules In each round, the current configuration (s, t) is changed as follows:

  • 1. the attacker chooses one of the two processes in the current configuration, say t, and

makes an

α

− →-move for some α ∈ Act to t′, say, and

  • 2. the defender must respond by making an

α

− →-move in the other process s of the current

configuration under the same action α, yielding s

α

− → s′.

16 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-36
SLIDE 36

Strong Bisimilarity as a Game Rules of the Bisimulation Game Rules In each round, the current configuration (s, t) is changed as follows:

  • 1. the attacker chooses one of the two processes in the current configuration, say t, and

makes an

α

− →-move for some α ∈ Act to t′, say, and

  • 2. the defender must respond by making an

α

− →-move in the other process s of the current

configuration under the same action α, yielding s

α

− → s′.

The pair of processes (s′, t′) becomes the new current configuration. The game continues with another round.

16 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-37
SLIDE 37

Strong Bisimilarity as a Game Rules of the Bisimulation Game Rules In each round, the current configuration (s, t) is changed as follows:

  • 1. the attacker chooses one of the two processes in the current configuration, say t, and

makes an

α

− →-move for some α ∈ Act to t′, say, and

  • 2. the defender must respond by making an

α

− →-move in the other process s of the current

configuration under the same action α, yielding s

α

− → s′.

The pair of processes (s′, t′) becomes the new current configuration. The game continues with another round. Results

  • 1. If one player cannot move, the other player wins:

– attacker cannot move if s → and t → – defender cannot move if no matching transition available

16 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-38
SLIDE 38

Strong Bisimilarity as a Game Rules of the Bisimulation Game Rules In each round, the current configuration (s, t) is changed as follows:

  • 1. the attacker chooses one of the two processes in the current configuration, say t, and

makes an

α

− →-move for some α ∈ Act to t′, say, and

  • 2. the defender must respond by making an

α

− →-move in the other process s of the current

configuration under the same action α, yielding s

α

− → s′.

The pair of processes (s′, t′) becomes the new current configuration. The game continues with another round. Results

  • 1. If one player cannot move, the other player wins:

– attacker cannot move if s → and t → – defender cannot move if no matching transition available

  • 2. If the game can be played ad infinitum, the defender wins.

16 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-39
SLIDE 39

Strong Bisimilarity as a Game Examples Example 13.5 (Bisimulation games)

  • 1. Use the game characterisation to show P ∼ Q where

P = a.P1 + a.P2 Q = a.Q1 P1 = b.P2 Q1 = b.Q1 P2 = b.P2

17 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-40
SLIDE 40

Strong Bisimilarity as a Game Examples Example 13.5 (Bisimulation games)

  • 1. Use the game characterisation to show P ∼ Q where

P = a.P1 + a.P2 Q = a.Q1 P1 = b.P2 Q1 = b.Q1 P2 = b.P2

  • 2. Use the game characterisation to show that s ∼ t where:

Two winning strategies for attacker in configuration (s, t):

– start with s

a

− → s1

– start with t

a

− → t1

17 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-41
SLIDE 41

Strong Bisimilarity as a Game Game Characterisation of Bisimulation Theorem 13.6 (Game characterisation of bisimulation) (Stirling 1995, Thomas 1993)

  • 1. s ∼ t iff the defender has a universal winning strategy from configuration (s, t).
  • 2. s ∼ t iff the attacker has a universal winning strategy from configuration (s, t).

(By means of a universal winning strategy, a player can always win, regardless of how the other player selects their moves.)

18 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-42
SLIDE 42

Strong Bisimilarity as a Game Game Characterisation of Bisimulation Theorem 13.6 (Game characterisation of bisimulation) (Stirling 1995, Thomas 1993)

  • 1. s ∼ t iff the defender has a universal winning strategy from configuration (s, t).
  • 2. s ∼ t iff the attacker has a universal winning strategy from configuration (s, t).

(By means of a universal winning strategy, a player can always win, regardless of how the other player selects their moves.) Proof. by relating winning strategy of defender/attacker to existence/non-existence of strong bisimulation relation

18 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-43
SLIDE 43

Strong Bisimilarity as a Game Game Characterisation of Bisimulation Theorem 13.6 (Game characterisation of bisimulation) (Stirling 1995, Thomas 1993)

  • 1. s ∼ t iff the defender has a universal winning strategy from configuration (s, t).
  • 2. s ∼ t iff the attacker has a universal winning strategy from configuration (s, t).

(By means of a universal winning strategy, a player can always win, regardless of how the other player selects their moves.) Proof. by relating winning strategy of defender/attacker to existence/non-existence of strong bisimulation relation A bisimulation game can be used to prove bisimilarity as well as non-bisimilarity.1 It

  • ften provides elegant arguments for s ∼ t.

1In the following lectures, we will present yet another method to check this.

18 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-44
SLIDE 44

Simulation Equivalence Outline of Lecture 13 Recap: Strong Bisimulation Deadlock Sensitivity Buffers Revisited Strong Bisimilarity as a Game Simulation Equivalence Epilogue

19 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-45
SLIDE 45

Simulation Equivalence Strong Simulation Observation: sometimes, the concept of strong bisimulation is too strong (example: extending a system by new features).

20 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-46
SLIDE 46

Simulation Equivalence Strong Simulation Observation: sometimes, the concept of strong bisimulation is too strong (example: extending a system by new features). Definition 13.7 (Strong simulation)

  • Relation ρ ⊆ Prc × Prc is a strong simulation if, whenever (P, Q) ∈ ρ and P

α

− → P′, there

exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′.

20 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-47
SLIDE 47

Simulation Equivalence Strong Simulation Observation: sometimes, the concept of strong bisimulation is too strong (example: extending a system by new features). Definition 13.7 (Strong simulation)

  • Relation ρ ⊆ Prc × Prc is a strong simulation if, whenever (P, Q) ∈ ρ and P

α

− → P′, there

exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′.

  • Q strongly simulates P, denoted P ⊑ Q, if there exists a strong simulation ρ such that

P ρ Q. Relation ⊑ is called strong similarity.

20 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-48
SLIDE 48

Simulation Equivalence Strong Simulation Observation: sometimes, the concept of strong bisimulation is too strong (example: extending a system by new features). Definition 13.7 (Strong simulation)

  • Relation ρ ⊆ Prc × Prc is a strong simulation if, whenever (P, Q) ∈ ρ and P

α

− → P′, there

exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′.

  • Q strongly simulates P, denoted P ⊑ Q, if there exists a strong simulation ρ such that

P ρ Q. Relation ⊑ is called strong similarity.

  • P and Q are strongly simulation equivalent if P ⊑ Q and Q ⊑ P.

20 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-49
SLIDE 49

Simulation Equivalence Strong Simulation Observation: sometimes, the concept of strong bisimulation is too strong (example: extending a system by new features). Definition 13.7 (Strong simulation)

  • Relation ρ ⊆ Prc × Prc is a strong simulation if, whenever (P, Q) ∈ ρ and P

α

− → P′, there

exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′.

  • Q strongly simulates P, denoted P ⊑ Q, if there exists a strong simulation ρ such that

P ρ Q. Relation ⊑ is called strong similarity.

  • P and Q are strongly simulation equivalent if P ⊑ Q and Q ⊑ P.

Thus: if Q strongly simulates P, then whatever transition P takes, Q can match it with retaining all of P’s options.

20 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-50
SLIDE 50

Simulation Equivalence Strong Simulation Observation: sometimes, the concept of strong bisimulation is too strong (example: extending a system by new features). Definition 13.7 (Strong simulation)

  • Relation ρ ⊆ Prc × Prc is a strong simulation if, whenever (P, Q) ∈ ρ and P

α

− → P′, there

exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′.

  • Q strongly simulates P, denoted P ⊑ Q, if there exists a strong simulation ρ such that

P ρ Q. Relation ⊑ is called strong similarity.

  • P and Q are strongly simulation equivalent if P ⊑ Q and Q ⊑ P.

Thus: if Q strongly simulates P, then whatever transition P takes, Q can match it with retaining all of P’s options. But: P does not need to be able to match each transition of Q!

20 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-51
SLIDE 51

Simulation Equivalence Simulation: Example Definition (Strong simulation)

  • Relation ρ ⊆ Prc × Prc is a strong simulation if, whenever (P, Q) ∈ ρ and P

α

− → P′, there

exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′.

21 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-52
SLIDE 52

Simulation Equivalence Simulation: Example Definition (Strong simulation)

  • Relation ρ ⊆ Prc × Prc is a strong simulation if, whenever (P, Q) ∈ ρ and P

α

− → P′, there

exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′.

  • Q strongly simulates P, denoted P ⊑ Q, if there exists a strong simulation ρ such that

P ρ Q. Relation ⊑ is called strong similarity.

21 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-53
SLIDE 53

Simulation Equivalence Simulation: Example Definition (Strong simulation)

  • Relation ρ ⊆ Prc × Prc is a strong simulation if, whenever (P, Q) ∈ ρ and P

α

− → P′, there

exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′.

  • Q strongly simulates P, denoted P ⊑ Q, if there exists a strong simulation ρ such that

P ρ Q. Relation ⊑ is called strong similarity.

  • P and Q are strongly simulation equivalent if P ⊑ Q and Q ⊑ P.

21 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-54
SLIDE 54

Simulation Equivalence Simulation: Example Definition (Strong simulation)

  • Relation ρ ⊆ Prc × Prc is a strong simulation if, whenever (P, Q) ∈ ρ and P

α

− → P′, there

exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′.

  • Q strongly simulates P, denoted P ⊑ Q, if there exists a strong simulation ρ such that

P ρ Q. Relation ⊑ is called strong similarity.

  • P and Q are strongly simulation equivalent if P ⊑ Q and Q ⊑ P.

Example 13.8 P a ւց a P1 P3 b ↓

↓ c

P2 P4 Q

↓ a

Q1 b ւց c Q2 Q3 Q strongly simulates P, but not vice versa

21 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-55
SLIDE 55

Simulation Equivalence Simulation: Example Definition (Strong simulation)

  • Relation ρ ⊆ Prc × Prc is a strong simulation if, whenever (P, Q) ∈ ρ and P

α

− → P′, there

exists Q′ ∈ Prc such that Q

α

− → Q′ and P′ ρ Q′.

  • Q strongly simulates P, denoted P ⊑ Q, if there exists a strong simulation ρ such that

P ρ Q. Relation ⊑ is called strong similarity.

  • P and Q are strongly simulation equivalent if P ⊑ Q and Q ⊑ P.

Example 13.8 P a ւց a P1 P3 b ↓

↓ c

P2 P4 Q

↓ a

Q1 b ւց c Q2 Q3 Q strongly simulates P, but not vice versa This yields that: a.b.nil + a.c.nil ⊑ a.(b.nil + c.nil) a.(b.nil + c.nil) ⊑ a.b.nil + a.c.nil.

21 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-56
SLIDE 56

Simulation Equivalence Strong Simulation and Bisimilarity Lemma 13.9 (Bisimilarity implies simulation equivalence) If P ∼ Q, then P ⊑ Q and Q ⊑ P.

22 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-57
SLIDE 57

Simulation Equivalence Strong Simulation and Bisimilarity Lemma 13.9 (Bisimilarity implies simulation equivalence) If P ∼ Q, then P ⊑ Q and Q ⊑ P. Proof. A strong bisimulation ρ ⊆ Prc × Prc for P ∼ Q is a strong simulation for both directions.

22 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-58
SLIDE 58

Simulation Equivalence Strong Simulation and Bisimilarity Lemma 13.9 (Bisimilarity implies simulation equivalence) If P ∼ Q, then P ⊑ Q and Q ⊑ P. Proof. A strong bisimulation ρ ⊆ Prc × Prc for P ∼ Q is a strong simulation for both directions. Caveat: the converse does not generally hold!

22 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-59
SLIDE 59

Simulation Equivalence Strong Simulation and Bisimilarity Lemma 13.9 (Bisimilarity implies simulation equivalence) If P ∼ Q, then P ⊑ Q and Q ⊑ P. Proof. A strong bisimulation ρ ⊆ Prc × Prc for P ∼ Q is a strong simulation for both directions. Caveat: the converse does not generally hold! Example 13.10 P a ւց a P1 P3

↓b

P2 Q

↓ a

Q1

↓ b

Q2

22 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-60
SLIDE 60

Simulation Equivalence Strong Simulation and Bisimilarity Lemma 13.9 (Bisimilarity implies simulation equivalence) If P ∼ Q, then P ⊑ Q and Q ⊑ P. Proof. A strong bisimulation ρ ⊆ Prc × Prc for P ∼ Q is a strong simulation for both directions. Caveat: the converse does not generally hold! Example 13.10 P a ւց a P1 P3

↓b

P2 Q

↓ a

Q1

↓ b

Q2 P ⊑ Q and Q ⊑ P,

22 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-61
SLIDE 61

Simulation Equivalence Strong Simulation and Bisimilarity Lemma 13.9 (Bisimilarity implies simulation equivalence) If P ∼ Q, then P ⊑ Q and Q ⊑ P. Proof. A strong bisimulation ρ ⊆ Prc × Prc for P ∼ Q is a strong simulation for both directions. Caveat: the converse does not generally hold! Example 13.10 P a ւց a P1 P3

↓b

P2 Q

↓ a

Q1

↓ b

Q2 P ⊑ Q and Q ⊑ P, but P ∼ Q Reason: ∼ allows the attacker to switch sides at each step!

22 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-62
SLIDE 62

Epilogue Outline of Lecture 13 Recap: Strong Bisimulation Deadlock Sensitivity Buffers Revisited Strong Bisimilarity as a Game Simulation Equivalence Epilogue

23 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-63
SLIDE 63

Epilogue Summary

  • Strong bisimulation of processes is based on mutually mimicking each other

24 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-64
SLIDE 64

Epilogue Summary

  • Strong bisimulation of processes is based on mutually mimicking each other
  • Strong bisimilarity ∼:
  • 1. is the largest strong bisimulation
  • 2. is an equivalence relation
  • 3. is strictly coarser than LTS isomorphism
  • 4. is strictly finer than trace equivalence
  • 5. is a CCS congruence
  • 6. is deadlock sensitive
  • 7. can be checked using a two-player game

24 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-65
SLIDE 65

Epilogue Summary

  • Strong bisimulation of processes is based on mutually mimicking each other
  • Strong bisimilarity ∼:
  • 1. is the largest strong bisimulation
  • 2. is an equivalence relation
  • 3. is strictly coarser than LTS isomorphism
  • 4. is strictly finer than trace equivalence
  • 5. is a CCS congruence
  • 6. is deadlock sensitive
  • 7. can be checked using a two-player game
  • Strong similarity ⊑:
  • 1. is a one-way strong bisimilarity
  • 2. bi-directional version (strong simulation equivalence) is strictly coarser than ∼

24 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation

slide-66
SLIDE 66

Epilogue Overview of Some Behavioural Equivalences

25 of 25 Concurrency Theory Winter Semester 2019/20 Lecture 13: Properties of Strong Bisimulation