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.

152 CHAPTER 6. HML WITH RECURSION<br />

Intuitively, we have so far discovered the (obvious!) fact that p has a possibility of<br />

reaching a state where a livelock may arise because p has a livelock now.<br />

Our second approximation S (2) is obtained by computing the set obtained by<br />

evaluating the expression on the right-h<strong>and</strong> side of equation (6.16) when S =<br />

S (1) = {p}. The result is<br />

S (2) = {p} ∪ 〈·Act·〉{p} = {s, p} .<br />

Intuitively, we have now discovered the new fact that s has a possibility of reaching<br />

a state where a livelock may arise because s has a transition leading to p, which,<br />

as we found out in the previous approximation, has itself a possibility of reaching<br />

a livelock.<br />

You should now be able to convince yourselves that the set {s, p} is ind<strong>ee</strong>d a<br />

fixed point of equation (6.16)—that is, that<br />

{s, p} = {p} ∪ 〈·Act·〉{s, p} .<br />

It follows that {s, p} is the least solution of equation (6.16), <strong>and</strong> that the states s<br />

<strong>and</strong> p are the only ones in our example labelled transition system that satisfy the<br />

formula P os(LivelockNow). This makes perfect sense intuitively because s <strong>and</strong><br />

p are the only states in that labelled transition system that afford a sequence of<br />

transitions leading to a state from which an infinite computation consisting of τlabelled<br />

transitions is possible. (In case of p, this sequence is empty since p can<br />

embark in a τ-loop immediately.)<br />

Note that we could find the set of states satisfying P os(LivelockNow) by first<br />

computing [LivelockNow], <strong>and</strong> then using this set to compute<br />

[P os(LivelockNow)] ,<br />

because the specification of the formula LivelockNow was independent of that<br />

P os(LivelockNow). In general, we can apply this strategy when the collection<br />

of equations can be partitioned into a sequence of ‘blocks’ such that<br />

• the equations in the same block are all either largest fixed point equations or<br />

least fixed equations, <strong>and</strong><br />

• equations in each block only use variables defined in that block or in preceding<br />

ones.<br />

The following definition formalizes this class of systems of equations.<br />

Definition 6.2 A n-nested mutually recursive equational system E is an n-tuple<br />

〈 (D1, X1, m1), (D2, X2, m2), . . . , (Dn, Xn, mn) 〉,<br />

where the Xis are pairwise disjoint, finite sets of variables, <strong>and</strong>, for each 1 ≤ i ≤ n,

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

Saved successfully!

Ooh no, something went wrong!