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