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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
64 CHAPTER 3. BEHAVIOURAL EQUIVALENCES<br />
erased from the behaviour of processes because, in light of their pre-emptive power<br />
in the presence of nondeterministic choices, they may affect what we may observe.<br />
Note that the pre-emptive power of internal transitions is unimportant in the<br />
st<strong>and</strong>ard theory of automata as there we are only concerned with the possibility<br />
of processing our input strings correctly. Ind<strong>ee</strong>d, as you may recall from your<br />
courses in the theory of automata, the so-called ε-transitions do not increase the<br />
expressive power of nondeterministic finite automata—s<strong>ee</strong>, for instance, the textbook<br />
(Sipser, 2005, Chapter 1). In a reactive environment, on the other h<strong>and</strong>, this<br />
power of internal transitions must be taken into account in a reasonable definition of<br />
process behaviour because it may lead to undesirable consequences, e.g., the deadlock<br />
situation in the above example. We therefore expect that the behaviour of the<br />
process SmUni is not equivalent to that of the process (CMb | CS) \ {coin, coff<strong>ee</strong>}<br />
since the latter may deadlock after outputting a publication, whereas the former<br />
cannot.<br />
In order to define a notion of bisimulation that allows us to abstract from internal<br />
transitions in process behaviours, <strong>and</strong> to differentiate the process SmUni from<br />
(CMb | CS) \ {coin, coff<strong>ee</strong>}, we begin by introducing a new notion of transition<br />
relation betw<strong>ee</strong>n processes.<br />
Definition 3.3 Let P <strong>and</strong> Q be CCS processes, or, more generally, states in an<br />
LTS. For each action α, we shall write P α ⇒ Q iff either<br />
• α = τ <strong>and</strong> there are processes P ′ <strong>and</strong> Q ′ such that<br />
• or α = τ <strong>and</strong> P ( τ →) ∗ Q,<br />
P ( τ →) ∗ P ′ α → Q ′ ( τ →) ∗ Q<br />
where we write ( τ →) ∗ for the reflexive <strong>and</strong> transitive closure of the relation τ →. <br />
Thus P α ⇒ Q holds if P can reach Q by performing an α-labelled transition, possibly<br />
preceded <strong>and</strong> followed by sequences of τ-labelled transitions. For example,<br />
a.τ.0 a ⇒ 0 <strong>and</strong> a.τ.0 a ⇒ τ.0 both hold, as well as a.τ.0 τ ⇒ a.τ.0. In fact, we have<br />
P τ ⇒ P for each process P .<br />
In the LTS depicted in Table 3.1, apart from the obvious one step pub-labelled<br />
transition, we have that<br />
Start<br />
Start<br />
Start<br />
pub<br />
⇒ Good ,<br />
pub<br />
⇒ Bad , <strong>and</strong><br />
pub<br />
⇒ Start .