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.

2.1. SOME CCS PROCESS CONSTRUCTIONS 19<br />

Note that the computer scientist is willing to output a coin in state CS1, as witnessed<br />

by the transition<br />

CS1 coin<br />

→ CS2 ,<br />

<strong>and</strong> the coff<strong>ee</strong> machine is willing to accept that coin in its initial state, because of<br />

the transition<br />

CM coin<br />

→ CM1 .<br />

Therefore, when put in parallel with one another, these two processes may communicate<br />

<strong>and</strong> change state simultaneously. The result of the communication should<br />

be described as a state transition of the form<br />

CM | CS1 ? → CM1 | CS2 .<br />

However, we are now faced with an important design decision—namely, we should<br />

decide what label to use in place of the ‘?’ labelling the above transition. Should<br />

we decide to use a st<strong>and</strong>ard label denoting input or output on some port, then a<br />

third process might be able to synchronize further with the coff<strong>ee</strong> machine <strong>and</strong><br />

the computer scientist, leading to multi-way synchronization. The choice made<br />

by Milner in his design of CCS is different. In CCS, communication is via h<strong>and</strong>shake,<br />

<strong>and</strong> leads to a state transition that is unobservable, in the sense that it cannot<br />

synchronize further. This state transition is labelled by a new label τ. So the above<br />

transition is indicated by<br />

CM | CS1 τ → CM1 | CS2 .<br />

In this way, the behaviour of the process SmUni defined by equation 2.4 on page 13<br />

can be described by the following labelled transition system.<br />

SmUni<br />

pub<br />

<br />

(CM | CS1) \ coin \ coff<strong>ee</strong><br />

<br />

<br />

(CM1 | CS2) \ coin \ coff<strong>ee</strong><br />

<br />

(CM | CS) \ coin \ coff<strong>ee</strong><br />

τ<br />

τ<br />

pub

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

Saved successfully!

Ooh no, something went wrong!