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.

2.1. SOME CCS PROCESS CONSTRUCTIONS 13<br />

✬<br />

CM<br />

✫✉<br />

coin<br />

✩<br />

✪<br />

✬<br />

CS<br />

✫✉<br />

coin<br />

✩<br />

coff<strong>ee</strong><br />

✉<br />

✉ ✉ pub<br />

coff<strong>ee</strong><br />

Figure 2.2: The interface for process CM | CS<br />

✪<br />

computer scientist <strong>and</strong> the coff<strong>ee</strong> machine to communicate in the parallel composition<br />

CM | CS. However, we do not require that they must communicate with one<br />

another. Both the computer scientist <strong>and</strong> the coff<strong>ee</strong> machine could use their complementary<br />

ports to communicate with other reactive systems in their environment.<br />

For example, another computer scientist CS ′ can use the coff<strong>ee</strong> machine CM, <strong>and</strong>,<br />

in so doing, make sure that he can produce publications to b<strong>ee</strong>f up his curriculum<br />

vitae, <strong>and</strong> thus be a worthy competitor for CS in the next competition for a tenured<br />

position. (S<strong>ee</strong> Figure 2.3.) Alternatively, the computer scientist may have access<br />

to another coff<strong>ee</strong> machine in her environment, as pictured in Figure 2.4.<br />

In general, given two CCS expressions P <strong>and</strong> Q, the process P | Q describes a<br />

system in which<br />

• P <strong>and</strong> Q may proc<strong>ee</strong>d independently or<br />

• may communicate via complementary ports.<br />

Restriction <strong>and</strong> relabelling Since academics like the computer scientist often<br />

live in a highly competitive ‘publish or perish’ environment, it may be fruitful<br />

for her to make the coff<strong>ee</strong> machine CM private to her, <strong>and</strong> therefore inaccessible<br />

to her competitors. To make this possible, the language CCS offers an operation<br />

called restriction, whose aim is to delimit the scope of channel names in much the<br />

same way as variables have scope in block structured programming languages. For<br />

instance, using the operations \coin <strong>and</strong> \coff<strong>ee</strong>, we may hide the coin <strong>and</strong> coff<strong>ee</strong><br />

ports from the environment of the processes CM <strong>and</strong> CS. Define the process SmUni<br />

(for ‘Small University’) thus:<br />

SmUni def<br />

= (CM | CS) \ coin \ coff<strong>ee</strong> . (2.4)

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

Saved successfully!

Ooh no, something went wrong!