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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 2<br />

Specifying input systems<br />

As previously described in Section 1.3, the input system has to be specified<br />

in Nbac input language. In this chapter, we introduce three different ways<br />

to obtain an Nbac input <strong>model</strong>. Since people may need to try the new<br />

combination approach on systems that are initially <strong>model</strong>ed in PMC/Uppaal,<br />

we define a framework to transform an PMC/Uppaal <strong>model</strong> to an Nbac input<br />

<strong>model</strong>. Such a framework is neccessary because Nbac input <strong>model</strong> is specified<br />

in a low-level format which mainly involves variables and dataflow equations<br />

on variables while PMC/Uppaal <strong>model</strong> is specified in a higher level format<br />

that involves locations and transitions <strong>of</strong> an automaton.<br />

We first present components <strong>of</strong> an Nbac input <strong>model</strong> in Section 2.1.<br />

Then we give a short introduction <strong>of</strong> XTG structure in Section 2.2. Next,<br />

we list three methods to obtain an input <strong>model</strong> and describe in details the<br />

construction <strong>of</strong> an Nbac <strong>model</strong> from a PMC/Uppaal <strong>model</strong> in Section 2.3. The<br />

procedure is illustrated by the construction <strong>of</strong> the Fischer’s protocol <strong>model</strong>.<br />

2.1 Nbac input <strong>model</strong><br />

Nbac input <strong>model</strong> is specified in a simple low-level format including dataflow<br />

equations on Boolean and Integer variables since Nbac was originally made<br />

to analyse programs written in Lustre [2] dataflow synchronous language.<br />

Let M be an Nbac input <strong>model</strong>. Let Var decl be the variable declaration<br />

part <strong>of</strong> M. LetTrans the set <strong>of</strong> dataflow equations <strong>of</strong> M. LetAssert, Init,<br />

Final be Boolean expressions indicating the assertion, initial condition and<br />

final condition <strong>of</strong> M, respectively. Using these definitions, M is described<br />

9

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

Saved successfully!

Ooh no, something went wrong!