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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
26 CHAPTER 2. THE LANGUAGE CCS<br />
Definition 2.3 The collection P of CCS expressions is given by the following<br />
grammar:<br />
P, Q ::= K | α.P | <br />
Pi | P | Q | P [f] | P \ L ,<br />
where<br />
• K is a process name in K;<br />
• α is an action in Act;<br />
i∈I<br />
• I is a possibly infinite index set;<br />
• f : Act → Act is a relabelling function satisfying the following constraints:<br />
• L is a set of labels from L.<br />
f(τ) = τ <strong>and</strong><br />
f(ā) = f(a) for each label a ;<br />
We write 0 for an empty sum of processes, i.e.,<br />
0 = <br />
i∈∅<br />
Pi ,<br />
<strong>and</strong> P1 + P2 for a sum of two processes, i.e.,<br />
P1 + P2 = <br />
i∈{1,2}<br />
Pi .<br />
Moreover, we assume that the behaviour of each process constant K ∈ K is given<br />
by a defining equation<br />
K def<br />
= P ,<br />
where P ∈ P. As it was already made clear by the previous informal discussion,<br />
the constant K may appear in P . <br />
We sometimes write [b1/a1, . . . , bn/an], where n ≥ 1, ai, bi ∈ A for each i ∈<br />
{1, . . . , n} <strong>and</strong> the ai are distinct channel names, for the relabelling [f], where f<br />
is the relabelling function mapping each ai to bi, each ai to bi (i ∈ {1, . . . , n}) <strong>and</strong><br />
acting like the identity function on all of the other actions. For each label a, we<br />
also often write \a in lieu of \{a}.<br />
To avoid the use of too many parentheses in writing CCS expressions, we use<br />
the convention that the operators have decreasing binding strength in the following