07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

19 Model Check<strong>in</strong>g 567<br />

Another approach of fight<strong>in</strong>g state explosion is to represent the transition relation<br />

of the models implicitly with an ordered b<strong>in</strong>ary decision diagram (OBDD)<br />

[BCMD90], s<strong>in</strong>ce the size of the transition relation is the ma<strong>in</strong> limit<strong>in</strong>g factor. By<br />

us<strong>in</strong>g common model check<strong>in</strong>g algorithms with OBDDs and some ref<strong>in</strong>ements,<br />

very large examples with up to 10 120 states have been verified [BCL92].<br />

Model Check<strong>in</strong>g LTL To model check Kripke structures with LTL-properties<br />

the follow<strong>in</strong>g approach is proposed. In the first step the model M and the property<br />

φ are translated <strong>in</strong>to automata models AM and Aφ which represent the<br />

structures <strong>in</strong> a common way. The automaton AM accepts all computations which<br />

are possible <strong>in</strong> the model and Aφ accepts all computations which are allowed<br />

with respect to the property. The model check<strong>in</strong>g problem now reduces to the<br />

automata theoretic problem of check<strong>in</strong>g that all computations accepted by an<br />

automaton AM are also accepted by the automaton Aφ, thatisL(AM ) ⊆L(Aφ).<br />

Equivalently, one can check that the language L(AM ) ∩ L(Aφ) isempty.Instead<br />

of build<strong>in</strong>g the complement of the language accepted by Aφ it is possible to use<br />

the language of the complement automaton Aφ, which is def<strong>in</strong>ed such that it<br />

accepts the words of the complement language L � �<br />

Aφ = L (Aφ). Complement<br />

automata where first studied by Büchi [Büc62], a def<strong>in</strong>ition and construction <strong>in</strong><br />

the context of temporal logics is given by Sistla, Vardi, and Wolper [SVW87].<br />

S<strong>in</strong>ce Aφ exactly accepts the computations satisfy<strong>in</strong>g φ the negation L(Aφ)<br />

of the automaton can be expressed by negation of the property. Aφ = A¬φ<br />

There is a number of approaches how to transform an LTL property <strong>in</strong>to an<br />

automaton. One basic approach presented <strong>in</strong> the follow<strong>in</strong>g model check<strong>in</strong>g algorithm<br />

was purposed by Wolper, Vardi and Sistla <strong>in</strong> 1983 [WVS83], but there are<br />

some improved versions. Gast<strong>in</strong> and Oddoux for example present <strong>in</strong> “Fast LTL<br />

to Büchi Automata Translation” [GO01] a different method which use a variation<br />

of Büchi automata (very weak alternat<strong>in</strong>g automata) as <strong>in</strong>termediate step.<br />

Etessami and Holzmann suppose a method for “Optimiz<strong>in</strong>g Büchi Automata”<br />

[EH00] to reduce the size of the automata.<br />

The follow<strong>in</strong>g basic LTL model check<strong>in</strong>g algorithm presented by Moshe Y.<br />

Vardi <strong>in</strong> 1996 [Var96] is structured <strong>in</strong> 5 steps:<br />

(1) The Kripke structure M , which represents the model, is translated <strong>in</strong>to a<br />

Büchi automaton.<br />

(2) The LTL-property φ is translated <strong>in</strong>to an alternat<strong>in</strong>g Büchi automaton A¬φ<br />

which exactly accepts the computations satisfy<strong>in</strong>g ¬φ. (Alternat<strong>in</strong>gBüchi<br />

automaton are <strong>in</strong>troduced <strong>in</strong> the later Def<strong>in</strong>ition 19.6)<br />

(3) The alternat<strong>in</strong>g Büchi automaton A¬φ is translated <strong>in</strong>to a nondeterm<strong>in</strong>istic<br />

Büchi automation A¬φ which exactly accepts the same set of computations.<br />

(4) The language <strong>in</strong>tersection of AM and A¬φ is build, such that L(AM ∩A¬φ) =<br />

L(AM ) ∩L(A¬φ)<br />

(5) The language L(AM ∩ A¬φ) is checked for empt<strong>in</strong>ess.<br />

If L(AM ∩A¬φ) isemptythenM |= φ. On the other hand, if L(AM ∩A¬φ) isnot<br />

empty there is at least one run of AM ∩ A¬φ which is accepted by the model M

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

Saved successfully!

Ooh no, something went wrong!