14.08.2013 Views

Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee

Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee

Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

66 CHAPTER 3. BEHAVIOURAL EQUIVALENCES<br />

We can readily argue that a.0 ≈ a.τ.0 by establishing a weak bisimulation that<br />

relates these two processes. (Do so by renaming the states in the labelled transition<br />

system <strong>and</strong> in the bisimulation above!) On the other h<strong>and</strong>, there is no weak bisimulation<br />

that relates the process SmUni <strong>and</strong> the process Start in Table 3.1. In fact,<br />

the process SmUni is observationally equivalent to the process<br />

but the process Start is not.<br />

Spec def<br />

= pub.Spec ,<br />

Exercise 3.20 Prove the claims that we have just made. <br />

Exercise 3.21 Prove that the behavioural equivalences claimed in Exercise 2.11<br />

hold with respect to observational equivalence (weak bisimilarity). <br />

The definition of weak bisimilarity is so natural, at least to our mind, that it is easy<br />

to miss some of its crucial consequences. To highlight some of these, consider the<br />

process<br />

A?<br />

B?<br />

def<br />

= a.0 + τ.B?<br />

def<br />

= b.0 + τ.A? .<br />

Intuitively, this process describes a ‘polling loop’ that may be s<strong>ee</strong>n as an implementation<br />

of a process that is willing to receive on port a <strong>and</strong> port b, <strong>and</strong> then<br />

terminate. Ind<strong>ee</strong>d, it is not hard to show that<br />

A? ≈ B? ≈ a.0 + b.0 .<br />

(Prove this!) This s<strong>ee</strong>ms to be non-controversial until we note that A? <strong>and</strong> B? have<br />

a livelock (that is, a possibility of divergence) due to the τ-loop<br />

A? τ → B? τ → A? ,<br />

but a.0 + b.0 does not. The above equivalences capture one of the main features of<br />

observational equivalence, namely the fact that it supports what is called ‘fair abstraction<br />

from divergence’. (S<strong>ee</strong> (Baeten, Bergstra <strong>and</strong> Klop, 1987), where Baeten,<br />

Bergstra <strong>and</strong> Klop show that a proof rule embodying this idea, namely Koomen’s<br />

fair abstraction rule, is valid with respect to observational equivalence.) This means<br />

that observational equivalence assumes that if a process can escape from a loop<br />

consisting of internal transitions, then it will eventually do so. This property of observational<br />

equivalence, that is by no means obvious from its definition, is crucial<br />

in using it as a correctness criterion in the verification of communication protocols,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!