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
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,