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

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 .

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

Saved successfully!

Ooh no, something went wrong!