General Idea

Before we will go into the details and further improvements of model checking we will discuss first a simple example following the outline of Bérard et al. (2001)[34]:chapt.3.

Figure 8.1: Model Checking Scenario
\includegraphics[width=4.5in]{correctness_algorithm.eps}

We will apply the idea of a model checking algorithm presented by Bérard et al. (2001)[34]:chapt.3 to the example automaton $ a1$ in figure 5.5.6 along with a transition graph $ g1$ in figure 5.2 and the execution graph in figure 5.3.

To construct such an algorithm we will use as a guide the following list of CTL-expressions:

  1. Propositions: $ \phi$ as $ p, \neg p, p \wedge q$
  2. Temporal operators: $ X\phi, (\phi U \psi) $
  3. Path operators: $ E\phi$

If one wants -by practical reasons- more operators one can introduce more operators based on proven equivalences (cf. 6.2 ).

The basic idea of the algorithm of Bérard et al. is to start checking the CTL-expression $ \Phi$ assuming the most simple cases and then, if the expression $ \phi$ is combined of subformulas $ \psi_{1},\psi_{2},... $ to check these subformulas again as long as they are not atomic propositions.

We assume:

  1. $ Q = \{q_{0}, q_{1},q_{2},q_{3}, q_{4} \}$
  2. $ I = \{q_{0}\}$
  3. $ F = \{ q_{1},q_{3}\}$
  4. $ \Sigma = \{b,1,2,3,x,c,o,n,t \}$
  5. $ \Xi = \{t,1,2,3,e,n,d,x,c,o,n,t \}$
  6. $ \Delta = \{\langle q_{0},''b1'',''t1'' q_{1}\rangle, \langle q_{0},''b2'',''t2...
...''tendx'', q_{3}\rangle, \langle q_{4},''cont'',''tendcont'', q_{4}\rangle,\}$
  7. $ l = \{ (q_{0}, \{a,b,d,g \}), (q_{1}, \{a,d,e,f \}), (q_{2}, \{b,d,e \}), (q_{3}, \{c,d,f \}), (q_{4}, \{a,b,d,e,f \}) \}$
  8. $ AP = PROP = \{a,b,c,d,e,f,g \}$

The whole checking algorithm consist of a sequence of different subchecks starting with case 1 with follow up cases if case 1 is not sufficient. Lets call the whole algorithm docheck:

Gerd Doeben-Henisch 2010-03-03