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.

are transformed as follows:<br />

b i prime := b i ,i=1...m<br />

x k prime := x k ,k =1...p<br />

b i := φ i ( b prime<br />

⃗ ,⃗c, x prime ⃗ ,⃗y)<br />

x i := ψ k ( b prime<br />

⃗ ,⃗c, x prime ⃗ ,⃗y)<br />

As such, the two assignments above are specified in XTG as follows:<br />

b0_prime := b0;<br />

b1_prime := b1;<br />

b0 := b1_prime;<br />

b1 := not b0_prime;<br />

External environment. As described in Chapter 2, Nbac uses assertion<br />

and input variables to <strong>model</strong> the external environment setting. At every<br />

execution step (when a transition is taken), the assertion is consulted to obtain<br />

new values for input variables. These values are set in a non-determistic<br />

way provided that they satisfy the constraint stated by the assertion.<br />

Hence, the external environment is actually specified implicitly in Nbac<br />

in the sense that we just have to declare the variables and conditions. Nbac<br />

takes care <strong>of</strong> other parts including generating relevant values in a nondeterministic<br />

way and getting new values at the beginning <strong>of</strong> every execution<br />

step. As a consequence, we have to <strong>model</strong> those processes in XTG explicitly.<br />

Our solution to <strong>model</strong> the external environment involves two parts:<br />

1. We introduce an additional graph namely input graph to generate values<br />

for input variables. Values are generated in a non-deterministic<br />

way and contrained by the assertion.<br />

2. We set up a synchronous communication between the system graph and<br />

the input graph in order to give input values to the system at every<br />

execution step. This requires additional transitions and locations in<br />

the system graph.<br />

Modeling the communication between the system graph and the input<br />

graph as a synchronous communication is a natural way due to the semantics<br />

<strong>of</strong> the communication:<br />

1. At every execution step, input values are consulted by the system<br />

graph to compute new values for state variables and evaluate Boolean<br />

expressions on locations and edges.<br />

28

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

Saved successfully!

Ooh no, something went wrong!