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.

out the problem characterization and techniques applied to deal with the<br />

problem in Section 5.3.<br />

5.1 Experiment procedure<br />

Since our approach involves several tools and steps, we set up a uniform<br />

procedure to do an experiment which consists <strong>of</strong> the following steps:<br />

1. Construct a <strong>model</strong> in Nbac input language as we discussed in Section<br />

2.3. The input <strong>model</strong> can be directly specified in Nbac input language,<br />

or manually transformed from an XTG <strong>model</strong>, or automatically<br />

transformed from a Lustre program.<br />

2. Input the abovementioned <strong>model</strong> <strong>of</strong> the system to Nbac. Use the following<br />

command to get the abstract <strong>model</strong>:<br />

>nbac -analysis 2 foo.ba --partition "-maxloc N" -obdd<br />

-o bar.ba<br />

The meaning <strong>of</strong> options in the above command is as follows:<br />

• foo.ba: file containing an input <strong>model</strong><br />

• bar.ba: file containing an output abstract <strong>model</strong><br />

• -analysis 2: type <strong>of</strong> analysis is a combination <strong>of</strong> forward and<br />

backward analysis<br />

• --partition "-maxloc N": this option controls the level <strong>of</strong> abstraction<br />

by limiting the number <strong>of</strong> locations in the control structure.<br />

The larger N, the less abstract the <strong>model</strong>.<br />

• -obdd: this option is used to specify the format <strong>of</strong> the Boolean<br />

expression<br />

• -o: output the abstract <strong>model</strong> to a file<br />

3. Chose some <strong>model</strong>s to do experiments. Nbac generates several abstract<br />

<strong>model</strong>s. The level <strong>of</strong> abstraction is represented informally by<br />

the number <strong>of</strong> locations. We prefer the <strong>model</strong> that contain 3-4 locations,<br />

meaning that N in the above command is set to 3 or 4, for our<br />

convenience in the simulation and problem analysis since it turned out<br />

that we had to trace the execution by hand for a few cases.<br />

4. Transform Nbac abstract <strong>model</strong> to Uppaal <strong>model</strong>. We use the tool<br />

nbac2uppaal we have developed to do this step. The command is as<br />

follows:<br />

46

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

Saved successfully!

Ooh no, something went wrong!