25.12.2014 Views

On improving efficiency of model checking through systematically ...

On improving efficiency of model checking through systematically ...

On improving efficiency of model checking through systematically ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The example in Figure 3.8 is simple because there is no constraint (assertion)<br />

on b1,b2 and thus there is no guard on transitions in the input<br />

graph. However, it is <strong>of</strong>ten the case that the assertion contrains the values<br />

<strong>of</strong> input variables. For example:<br />

assertion<br />

(a1 and b1 and b2) or<br />

(not a2 and b1) or<br />

(a1 and a2 and b2)<br />

In this example, a1,a2 are state variables and b1,b2 are input variables.<br />

Now we have to specify how b1,b2 are set using the above assertion.<br />

First, we explicitly state the condition for combinations between b1,b2,<br />

meaning that the Boolean expression in the above assertion is transformed<br />

to the following equivalent expression:<br />

(a1 and b1 and b2) or<br />

(not a2 and b1 and b2) or<br />

(not a2 and b1 and not b2) or<br />

(a1 and a2 and b1 and b2) or<br />

(a1 and a2 and not b1 and b2)<br />

Then we group conditions according to combinations <strong>of</strong> b1,b2. Weget<br />

the following expression:<br />

((a1 or (not a2) or (a1 and a2)) and (b1 and b2)) or<br />

((not a2) and (b1 and not b2)) or<br />

((a1 and a2) and (not b1 and b2)) or<br />

(not b1 and not b2)<br />

Note that the last case (not b1 and not b2) is not stated anywhere<br />

in the assertion. That means b1 and b2 can be both false without any<br />

constraint. The final input graph <strong>of</strong> the example is presented in Figure 3.9.<br />

In addition to those aforementioned adaptions, we introduce an additional<br />

location to play as the fake initial location and create a transition<br />

from this location to the truly initial location so that input variables can be<br />

setproperlyatthestart<strong>of</strong>execution.<br />

30

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

Saved successfully!

Ooh no, something went wrong!