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.
28 CHAPTER 2. THE LANGUAGE CCS<br />
we have so far developed. However, intuition alone can lead us to wrong conclusions,<br />
<strong>and</strong> most importantly cannot be fed to a computer! To capture formally<br />
our underst<strong>and</strong>ing of the semantics of the language CCS, we therefore introduce<br />
the collection of SOS rules in Table 2.2. These rules are used to generate an LTS<br />
whose states are CCS expressions. In that LTS, a transition P α → Q holds for CCS<br />
expressions P, Q <strong>and</strong> action α if, <strong>and</strong> only if, it can be proven using the rules in<br />
Table 2.2.<br />
A rule like<br />
α.P α → P<br />
is an axiom, as it has no premises—that is, it has no transition above the solid<br />
line. This means that proving that a process of the form α.P affords the transition<br />
α.P α → P (the conclusion of the rule) can be done without establishing any further<br />
sub-goal. Therefore each process of the form α.P affords the transition α.P α → P .<br />
As an example, we have that the following transition<br />
pub.CS1<br />
pub<br />
→ CS1<br />
is provable using the above rule for action prefixing.<br />
On the other h<strong>and</strong>, a rule like<br />
P α → P ′<br />
K α → P ′<br />
def<br />
K = P<br />
(2.7)<br />
has a non-empty set of premises. This rule says that to establish that constant K<br />
affords the transition mentioned in the conclusion of the rule, we have to prove<br />
first that the body of the defining equation for K, namely the process P , affords<br />
the transition P α → P ′ . Using this rule, pattern matching <strong>and</strong> transition (2.7), we<br />
can prove the transition<br />
CS pub<br />
→ CS1 ,<br />
which we had informally derived before for the version of process CS given in<br />
Table 2.1 on page 18.<br />
The aforementioned rule for constants has a side condition, namely K def<br />
= P ,<br />
that describes a constraint that must be met in order for the rule to be applicable. In<br />
that specific example, the side condition states intuitively that the rule may be used<br />
to derive an initial transition for constant K if ‘K is declared to have body P ’.<br />
Another example of a rule with a side condition is that for restriction.<br />
P α → P ′<br />
P \ L α → P ′ \ L<br />
α, ¯α ∈ L