Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 18

Behavioral equivalences

Behavioral equivalences
Key properties of strong bisimilarity

Theorem
1 The relation ∼ of strong bisimilarity is an equivalence relation.
2 Bisimilarity is a strong bisimulation, and it is the largest such.

Proof.
Reflexivity and symmetry: easy.
Transitivity: if R 1 and R 2 are bisimulations, then so is

R 1 R 2 = {(p, r) : ∃ q : (p, q) ∈ R 1 , (q, r) ∈ R 2 }.

Assume P ∼ Q, so P R Q for some bisimulation R.


a a
If Q → Q' then there is P' with P → P' and P' R Q' , hence P'
∼ Q' .
Simulation of P by Q is symmetrical.
By definition, it follows that ∼ is the largest strong bisimulation.
Q.E.D. Behavioral equivalences
Strong bisimilarity is a congruence in CCS

Theorem
Let P, Q be CCS processes where P ∼ Q. Then:
1 α.P ∼ α.Q, for any action α
2 P + R ∼ Q + R and R + P ∼ R + Q, for any CCS process R
3 P | R ∼ Q | R and R | P ∼ R | Q, for any CCS process R
4 P[f ] ∼ Q[f ], for any relabeling f
5 P\L ∼ Q\L, for any set of labels L

Proof (idea). By constructing suitable bisimulation relations, such as

R = {(P' | R' , Q' | R' ) : P' ∼ Q'}

and tedious case analysis according to which process is responsible for the
transition. Q.E.D.

Behavioral equivalences
Example: buffers

Specification of a one-place buffer in CCS

((abstracting from stored values)

Behavioral equivalences
Bisimulations between buffers

Behavioral equivalences
Weak bisimilarity

1 Introduction to behavioral equivalence

2 Strong bisimilarity

3 Weak bisimilarity

Behavioral equivalences
Internal Action

Switch_on Switch_off
Off
Light_off Switch_on

Unreliable Light

Light_on
Switch_off Light_on Light_off
On
Internal Action

Switch_on Switch_off
Off
Light_off Tau

Unreliable Light

Light_on
Tau
Light_on Light_off
On
Bisimilarity and τ transitions

Strong bisimilarity is a good candidate for “indistinguishability”

› refines trace equivalence from automata theory


› takes into account branching structure
› congruence relation w.r.t. all CCS primitives
› elegant proof techniques (bisimulation)

Behavioral equivalences
Bisimilarity and transitions

Strong bisimilarity is a good candidate for “indistinguishability”

› refines trace equivalence from automata theory


› takes into account branching structure
› congruence relation w.r.t. all CCS primitives
› elegant proof techniques (bisimulation)

But can sometimes be too strong

› uniform definition w.r.t. all transitions, including τ transitions


› . . . but the latter are supposed to be unobservable
› for example,

Behavioral equivalences
Can we simply drop transitions?
Example: computer scientist and flawed coffee machine
def
CS = pub.coin.coffee.CS
def
CMb = coin.coffee.CMb + coin.CMb

Consider behavior of Start def


= (CS | CMb)\{coin, coffee}

Behavioral equivalences
Can we simply drop transitions?
Example: computer scientist and flawed coffee machine
def
CS = pub.coin.coffee.CS
def
CMb = coin.coffee.CMb + coin.CMb
def
Consider behavior of Start = (CS | CMb )\{coin, coffee}

The combined system contains a deadlocked state


Erasing the transition, the deadlock would be hidden
Behavioral equivalences
Extended transition relation

Idea: combine visible transitions with surrounding s

Definition

Behavioral equivalences
Weak bisimulation and bisimilarity

Definition

Behavioral equivalences
Key properties of weak bisimilarity

Theorem
1 The relation ≈ of weak bisimilarity is an equivalence relation. Weak
2 bisimilarity is a weak bisimulation, and it is the largest such.

Theorem
Let P, Q be CCS processes where P ≈ Q. Then:
1 α.P ≈ α.Q, for any action α
2 P | R ≈ Q | R and R | P ≈ R | Q, for any CCS process R
3 P[f ] ≈ Q[f ], for any relabeling f
4 P \ L ≈ Q \ L, for any set of labels L

However, P ≈ Q does not imply P + R ≈ Q + R

Behavioral equivalences
Processes: A(a,c) = a.A'(a,c) B(c,b) = c.B'(c,b)
A' (a,c) = c.A(a,c) B'(c,b) = b.B(c,b)
A system: System = (A | B )\c

(A|B)

(A'|B)


(A|B')
... ...

Behavioral equivalences
(A|B)

a
(A'|B)


(A|B')
b a

(A|B) (A'|B')

a b

(A'|B) (A'|B)

Behavioral equivalences
(A|B)

b
(A'|B)

(A|B') b

(A'|B')

Behavioral equivalences

You might also like