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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.1. SOME CCS PROCESS CONSTRUCTIONS 17<br />

processes<br />

CHM def<br />

= coin.choc.CHM<br />

DFM def<br />

= coin.figs.DFM<br />

CRM def<br />

= coin.crisps.CRM .<br />

Note, however, that all of these vending machines follow a common behavioural<br />

pattern, <strong>and</strong> may be s<strong>ee</strong>n as specific instances of a generic vending machine that<br />

receives a coin as input, dispenses an item <strong>and</strong> restarts, namely the process<br />

VM def<br />

= coin.item.VM .<br />

All of the aforementioned specific vending machines may be obtained as appropriate<br />

‘renamings’ of VM. For example,<br />

CHM def<br />

= VM[choc/item] ,<br />

where VM[choc/item] is a process that behaves like VM, but outputs chocolate<br />

whenever VM dispenses the generic item. In general,<br />

If P is a process <strong>and</strong> f is a function from labels to labels satisfying<br />

certain requirements that will be made precise in Section 2.2, then<br />

P [f] is a process.<br />

By introducing the relabelling operation, we have completed our informal tour<br />

of the operations offered by the language CCS for the description of process behaviours.<br />

We hope that this informal introduction has given our readers a f<strong>ee</strong>ling<br />

for the language, <strong>and</strong> that our readers will agr<strong>ee</strong> with us that CCS is ind<strong>ee</strong>d a<br />

language based upon very few operations with an intuitively clear semantic interpretation.<br />

In passing, we have also hinted at the fact that CCS processes may be<br />

s<strong>ee</strong>n as defining automata which describe their behaviour—s<strong>ee</strong> Exercise 2.3. We<br />

shall now exp<strong>and</strong> a little on the connection betw<strong>ee</strong>n CCS expressions <strong>and</strong> the automata<br />

describing their behaviour. The presentation will again be informal, as we<br />

plan to highlight the main ideas underlying this connection rather than to focus immediately<br />

on the technicalities. The formal connection betw<strong>ee</strong>n CCS expressions<br />

<strong>and</strong> labelled transition systems will be presented in Section 2.2 using the tools of<br />

Structural Operational Semantics (Plotkin, 1981; Plotkin, 2004b).<br />

2.1.1 The behaviour of processes<br />

The key idea underlying the semantics of CCS is that a process passes through<br />

states during its execution; processes change their state by performing actions. For

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

Saved successfully!

Ooh no, something went wrong!