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