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.

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 .

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

Saved successfully!

Ooh no, something went wrong!