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.

own specification language. However, an XML schema for PMC <strong>model</strong> was<br />

already defined and a tool to translate the <strong>model</strong> in XML format to PMC<br />

input language is available.<br />

Figure 3.4 presents the Uppaal XML representation <strong>of</strong> the <strong>model</strong> given in<br />

Figure 3.3.<br />

<br />

int x,y;bool b;<br />

<br />

P<br />

<br />

s0<br />

y &gt;0<br />

<br />

s1<br />

<br />

<br />

<br />

x &gt; 0<br />

y := x+1,b:=true<br />

<br />

<br />

system P;<br />

<br />

Figure 3.4: XML representation <strong>of</strong> the Uppaal <strong>model</strong> created from Figure 3.3.<br />

Consider Figure 3.4. Variable declarations are specified in tag declaration.<br />

Each automaton in Uppaal is called a template and thus saved in tag<br />

template. Locations and transitions are specified together with invariants,<br />

guards, assignments in appropriate tags. Note that invariants, guards and<br />

assignments are stored as strings.<br />

The XML representation <strong>of</strong> PMC <strong>model</strong> is similar to Uppaal. Components<br />

such as variable declarations, Boolean expressions and assignments are specified<br />

in a different way. For instance, in Uppaal, to <strong>model</strong> the assignment<br />

y:=x+1, we just put the whole string in the label associated with the transition.<br />

<strong>On</strong> the contrary, in PMC, that assignment is split into atomic elements<br />

as follows:<br />

<br />

y<br />

<br />

<br />

<br />

x<br />

24

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

Saved successfully!

Ooh no, something went wrong!