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.

CHAPTER 6. HML WITH RECURSION 119<br />

• Does (6.1) have a solution? And what precisely do we mean by that?<br />

• If (6.1) has more than one solution, which one do we choose?<br />

• How can we compute whether a process satisfies the formula described by<br />

(6.1)?<br />

Precise answers to these questions will be given in the remainder of this chapter.<br />

However, to motivate our subsequent technical developments, it is appropriate here<br />

to discuss briefly the first two questions above.<br />

Recall that the meaning of a formula (with respect to a labelled transition system)<br />

is the set of processes that satisfy it. Therefore, it is natural to expect that a<br />

set S of processes that satisfy the formula described by equation (6.1) should be<br />

such that:<br />

S = 〈·a·〉Proc ∩ [·a·]S .<br />

It is clear that S = ∅ is a solution to the equation (as no process can satisfy both<br />

〈a〉tt <strong>and</strong> [a]ff). However, the process p on Figure 6.1 can perform an a-transition<br />

invariantly <strong>and</strong> p ∈ ∅, so this cannot be the solution we are looking for. Actually<br />

it turns out that it is the largest solution we n<strong>ee</strong>d here, namely S = {p}. The set<br />

S = ∅ is the least solution.<br />

In other cases it is the least solution we are interested in. For instance, we can<br />

express Pos([a]ff) by the following equation:<br />

Y ≡ [a]ff ∨ 〈a〉Y .<br />

Here the largest solution is Y = {p, q, r} but, as the process p on Figure 6.1 cannot<br />

terminate at all, this is clearly not the solution we are interested in. The least<br />

solution of the above equation over the labelled transition system on Figure 6.1 is<br />

Y = {q, r} <strong>and</strong> is exactly the set of processes in that labelled transition system that<br />

intuitively satisfy Pos([a]ff).<br />

When we write down a recursively defined property, we can indicate whether<br />

we desire the least or the largest solution by adding this information to the equality<br />

sign. For Inv(〈a〉tt) we want the largest solution, <strong>and</strong> in this case we write<br />

For Pos([a]ff) we will write<br />

X max<br />

= 〈a〉tt ∧ [a]X .<br />

Y min<br />

= [a]ff ∨ 〈a〉Y .<br />

More generally we can express that the formula F holds for each reachable state<br />

in a labelled transition system having set of actions Act (written Inv(F ), <strong>and</strong> read

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

Saved successfully!

Ooh no, something went wrong!