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.2. CCS, FORMALLY 27<br />

order: restriction <strong>and</strong> relabelling (tightest binding), action prefixing, parallel composition<br />

<strong>and</strong> summation. For example, the expression a.0 | b.P \ L + c.0 st<strong>and</strong>s<br />

for<br />

((a.0) | (b.(P \ L))) + (c.0) .<br />

Exercise 2.6 Which of the following expressions are syntactically correct CCS expressions?<br />

Why? Assume that A, B are process constants <strong>and</strong> a, b are channel<br />

names.<br />

• a.b.A + B<br />

• (a.0 + a.A) \ {a, b}<br />

• (a.0 | a.A) \ {a, τ},<br />

• a.B + [a/b]<br />

• τ.τ.B + 0<br />

• (a.B + b.B)[a/b, b/a]<br />

• (a.B + τ.B)[a/τ, b/a]<br />

• (a.b.A + a.0) | B<br />

• (a.b.A + a.0).B<br />

• (a.b.A + a.0) + B<br />

• (0 | 0) + 0<br />

Our readers can easily check that all of the processes presented in the previous<br />

section are ind<strong>ee</strong>d CCS expressions. Another example of a CCS expression is<br />

given by a counter, which is defined thus:<br />

Counter0<br />

Countern<br />

def<br />

= up.Counter1 (2.5)<br />

def<br />

= up.Countern+1 + down.Countern−1 (n > 0) . (2.6)<br />

The behaviour of such a process is intuitively clear. For each non-negative integer<br />

n, the process Countern behaves like a counter whose value is n; the ‘up’ actions<br />

increase the value of the counter by one, <strong>and</strong> the ‘down’ actions decrease it by one.<br />

It would also be easy to construct the (infinite state) LTS for this process based on<br />

its syntactic description, <strong>and</strong> on the intuitive underst<strong>and</strong>ing of process behaviour

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

Saved successfully!

Ooh no, something went wrong!