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.
18 CHAPTER 2. THE LANGUAGE CCS<br />
CS def<br />
= pub.CS1<br />
CS1<br />
CS2<br />
def<br />
= coin.CS2<br />
def<br />
= coff<strong>ee</strong>.CS<br />
Table 2.1: An alternative formulation for process CS<br />
instance, for the purpose of notational convenience in what follows, let us redefine<br />
the process CS (originally defined in equation 2.3 on page 12) as in Table 2.1.<br />
(This is the definition of the process CS that we shall use from now on, both when<br />
discussing its behaviour in isolation <strong>and</strong> in the context of other processes—for instance,<br />
as a component of the process SmUni.) Process CS can perform action pub<br />
<strong>and</strong> evolve into a process whose behaviour is described by the CCS expression CS1<br />
in doing so. Process CS1 can then output a coin, thereby evolving into a process<br />
whose behaviour is described by the CCS expression CS2. Finally, this process can<br />
receive coff<strong>ee</strong> as input, <strong>and</strong> behave like our good old CS all over again. Thus the<br />
processes CS, CS1 <strong>and</strong> CS2 are the only possible states of the computation of process<br />
CS. Note, furthermore, that there is really no conceptual difference betw<strong>ee</strong>n<br />
processes <strong>and</strong> their states! By performing an action, a process evolves to another<br />
process that describes what remains to be executed of the original one.<br />
In CCS, processes change state by performing transitions, <strong>and</strong> these transitions<br />
are labelled by the action that caused them. An example state transition is<br />
CS pub<br />
→ CS1 ,<br />
which says that CS can perform action pub, <strong>and</strong> become CS1 in doing so. The operational<br />
behaviour of our computer scientist CS is therefore completely described<br />
by the following labelled transition system.<br />
coff<strong>ee</strong><br />
CS pub <br />
<br />
CS1<br />
coin <br />
CS2<br />
In much the same way, we can make explicit the set of states of the coff<strong>ee</strong> machine<br />
described in equation 2.1 on page 11 by rewriting that equation thus:<br />
CM def<br />
= coin.CM1<br />
CM1<br />
def<br />
= coff<strong>ee</strong>.CM .