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.

Memory usage (MB)<br />

1100<br />

1000<br />

900<br />

800<br />

700<br />

600<br />

500<br />

400<br />

300<br />

200<br />

100<br />

0<br />

Memory usage plot <strong>of</strong> the verification on subway example<br />

Memory usage<br />

0 2 4 6 8 10 12 14 16 18 20<br />

Number <strong>of</strong> iterations<br />

Figure 5.2: Memory usage <strong>of</strong> the experiment for the subway system<br />

<strong>model</strong> was significant for Uppaal to verify. We tried to identify the specific<br />

reason for such a large state space.<br />

The first reason might be the physical size (defined in Chapter 4) <strong>of</strong> the<br />

<strong>model</strong>. However, a comparison between abstract <strong>model</strong>s <strong>of</strong> Fischer’s protocol,<br />

Asychronous reader/writer algorithm and Subway system showed that<br />

physical size was not the real reason. Table 5.2 presents that comparison.<br />

Although the <strong>model</strong> <strong>of</strong> Asynchronous reader/writer algorithm contains a<br />

large number <strong>of</strong> variables and Boolean operators, we can still get conclusive<br />

verificiation result for that algorithm.<br />

System Shared vars Input vars Locations Edges Bool opt<br />

Fischer-2 12 3 3 3 2117<br />

Subway-2-p1 13 3 3 3 336<br />

Asyn. w/r alg. 32 0 3 3 59484<br />

Table 5.2: Comparison between three <strong>model</strong>s<br />

From the above comparison, we noticed that the difference in the number<br />

<strong>of</strong> input variables between those systems could be a reason for large<br />

state space especially when input variable involved non-deterministic factor.<br />

Remind that in an XTG <strong>model</strong>, the values generated using the input<br />

graph control the behavior <strong>of</strong> the system. However, taking a closer look at<br />

the input graph and doing the math, we see that although values <strong>of</strong> input<br />

variables are assigned non-deterministically, the total number <strong>of</strong> cases to<br />

assign input values are finite. Figure 5.3 depicts this argument.<br />

The right graph in Figure 5.3 is the input graph. It generates two values<br />

0 and 1 in a non-deterministic manner for the system graph on the left. The<br />

system graph specifies that if b is larger than 1, the system will go to end.<br />

51

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

Saved successfully!

Ooh no, something went wrong!