Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
241,37 KB
Nội dung
192 5 Eigenschaftspr ¨ ufung Monitor-Konstruktion f ¨ ur PSL-Zusicherungen Im Folgenden wird die Konstruktion von Monitoren f ¨ ur PSL-Zusicherungen f ¨ ur eine Teilmenge der Foundation Language von PSL beschrieben (siehe Abschnitt 2.4.3). Die PSL-FL wird hierbei derart eingeschr ¨ ankt, dass die Negation von sequentiell erweiterten regul ¨ aren Ausdr ¨ ucken (engl. sequential extended regular expressions, SEREs) nicht zul ¨ assig ist. Die resultierende Sprache wird mit PSL-FL − bezeichnet. Definition 5.2.3 (PSL-FL − ). Alle aussagenlogischen Formeln sind PSL-FL − -For- meln. Sei r eine SERE und p 1 und p 2 zwei PSL-FL − -Formeln, dann sind auch die folgenden Ausdr ¨ ucke PSL-FL − -Formeln: •{r} • p 1 ∨ p 2 • p 1 ∧ p 2 • X p 1 • p 1 U p 2 • p 1 R p 2 Man muss beachten, dass der Ausschluss der Negation keinen Einfluss auf die Expressivit ¨ at von LTL-Formeln hat, die keine SEREs verwenden. Die abk ¨ urzenden Schreibweisen F p 1 und G p 1 lassen sich aus obiger Definition ableiten und sind ebenfalls PSL-FL − -Formeln. Die ¨ Ubersetzung einer PSL-FL − -Formel in einen Monitor erfolgt, indem mit- tels der sog. Tableau-Technik zun ¨ achst ein nichtdeterministischer endlicher Automat konstruiert und dieser anschließend in einen deterministischen endlichen Automaten ¨ ubersetzt wird. Mittels der Tableau-Technik wird die Erf ¨ ullbarkeit einer LTL-Formel in einen aussagenlogischen Teil und eine Verpflichtung (engl. obligation)f ¨ ur den n ¨ achsten Zustand des Modells zerlegt. Beide Teile werden anschließend disjunktiv verkn ¨ upft. Beispiel 5.2.7. Gegeben ist die LTL-Formel p 1 U p 2 . Um diese zu erf ¨ ullen, muss entweder p 2 im aktuellen Zustand gelten oder es gilt p 1 und im n ¨ achsten Zustand gilt verpflichtend p 1 U p 2 . Ersteres hebt die Verpflichtung auf, da hierdurch bereits die LTL-Formel im momentanen Zustand erf ¨ ullt ist. Letzteres verlangt, dass nachdem p 1 im momentanen Zustand gilt, die urspr ¨ ungliche LTL-Formel im n ¨ achsten Zustand erf ¨ ullt ist. ¨ Uberdeckung von PSL-FL − -Formeln Die disjunktive Verkn ¨ upfung beider Teile einer zerlegten LTL-Formel wird als ¨ Uber- deckung der LTL-Formel bezeichnet. Im Folgenden wird die Notation N(p) verwen- det, um anzuzeigen, dass die Formel p als Verpflichtung f ¨ ur den n ¨ achsten Zustand gilt. Man beachte, dass N(p 1 ) ∧N(p 2 )=N(p 1 ∧ p 2 ) und !N(p)=N(!p) ist. Die Berechnung der ¨ Uberdeckung einer PSL-FL − -Formel wird durch die Be- stimmung der ¨ Uberdeckung von LTL-Formeln und SEREs bestimmt. F ¨ ur LTL- Formeln kann die ¨ Uberdeckung in zwei Schritten bestimmt werden: 5.2 Explizite Modellpr ¨ ufung 193 1. Jede LTL-Formel wird entsprechend der folgenden Umformungen in einen aus- sagenlogischen Teil und eine Verpflichtung f ¨ ur den n ¨ achsten Zustand zerlegt: p 1 U p 2 = p 2 ∨ (p 1 ∧ N(p 1 U p 2 )) p 1 R p 2 = p 2 ∧ (p 1 ∨ N(p 1 R p 2 )) F p = p ∨N(F p) G p = p ∧N(G p) 2. Umwandlung des Ergebnisses in disjunktive Normalform. Die Berechnung der ¨ Uberdeckung von regul ¨ aren Ausdr ¨ ucken erfolgt indem re- gul ¨ are Ausdr ¨ ucke in Disjunktionen aus dem leeren Symbol ε , einer atomaren Aus- sage b oder eines regul ¨ aren Ausdrucks zerlegt wird. Dies erfolgt in drei Schritten: 1. F ¨ ur regul ¨ are Ausdr ¨ ucke r, s,t werden zun ¨ achst die folgenden Distributivregeln so oft wie m ¨ oglich angewendet: (r | s)t =(rt | st) t(r | s)=(tr | ts) 2. Enth ¨ alt der regul ¨ are Ausdruck den ∗-Operator, dann wird der entsprechend re- gul ¨ are Teilausdruck wie folgt umgeschrieben und anschließend Schritt 1. wie- derholt: r∗ = rr∗| ε 3. Ersetze alle |-Symbole durch Disjunktionen (∨) und jeden Teilausdruck in der Form br wie folgt: br = b ∧N(r) wobei b eine atomare Aussage und r ein regul ¨ arer Ausdruck ist Beispiel 5.2.8. Die Berechnung der ¨ Uberdeckung f ¨ ur den regul ¨ aren Ausdruck (a∗b)∗ sieht somit zun ¨ achst durch Anwendung der Schritte 1. und 2. wie folgt aus: (a∗b)∗ =(a∗b)(a∗b)∗| ε =((aa∗| ε )b)(a∗b)∗| ε =(aa∗b | b)(a∗b)∗| ε =(aa∗b)(a∗b)∗|b(a∗b)∗| ε Somit ergibt sich die ¨ Uberdeckung zu (Schritt 3.): a ∧ N((a∗b)(a∗b)∗)∨ b ∧ N((a∗b)∗) ∨ ε 194 5 Eigenschaftspr ¨ ufung Konstruktion des nichtdeterministischen endlichen Automaten Durch die wiederholte Berechnung der ¨ Uberdeckung kann f ¨ ur eine PSL-FL − -Formel der nichtdeterministische endliche Automat konstruiert werden. Die ¨ Uberdeckung einer PSL-FL − -Formel besteht aus Bedingungen f ¨ ur den aktuellen Zustand und Ver- pflichtungen f ¨ ur den folgenden Zustand. F ¨ ur die Verpflichtung wird wiederum die ¨ Uberdeckung berechnet, sofern dies noch nicht geschehen ist. Dies kann zu weite- ren Verpflichtungen (dann f ¨ ur den ¨ ubern ¨ achsten Zustand) f ¨ uhren. Die wiederholte Berechnung der ¨ Uberdeckung terminiert irgendwann, da die verwendeten Umfor- mungen stets nur Teilformeln der Originalformel verwenden, welche eine endliche L ¨ ange haben. Die Terme der ¨ Uberdeckungen ergeben schließlich die Zust ¨ ande des nichtdeter- ministischen endlichen Automaten. Somit kann der nichtdeterministische endliche Automat wie folgt erzeugt werden: 1. Die Anfangszust ¨ ande entsprechen den Termen der Originalformel. 2. F ¨ uge einen Zustands ¨ ubergang von einem Zustand x 1 zu einem Zustand x 2 hin- zu, sofern der durch x 2 repr ¨ asentierte Term eine Teilformel enth ¨ alt, welche die Verpflichtung im n ¨ achsten Zustand f ¨ ur die durch x 1 repr ¨ asentierte Formel ist. 3. F ¨ uge einen zus ¨ atzlichen Zustand hinzu und markiere ihn als akzeptierenden Zu- stand. F ¨ ur jeden Zustand ohne ausgehenden Zustands ¨ ubergang f ¨ uge einen Zu- stands ¨ ubergang von diesem Zustand zu dem akzeptierenden Zustand hinzu. Dies bedeutet auch, dass der akzeptierende Zustand eine Selbstschleife besitzt. 4. Markiere jeden Zustands ¨ ubergang mit der Konjunktion aller atomaren Formeln in der mit dem Zustand assoziierten Formel. 5. Entferne alle Zustands ¨ uberg ¨ ange, die mit ε markiert sind, indem die entspre- chenden beiden Zust ¨ ande verschmolzen werden. Beispiel 5.2.9. Es wird wiederum der regul ¨ are Ausdruck (a∗b)∗ aus Beispiel 5.2.8 betrachtet. Die ¨ Uberdeckung des regul ¨ aren Ausdrucks hat zu folgender Formel gef ¨ uhrt: a ∧ N((a∗b)(a∗b)∗)∨ b ∧ N((a∗b)∗) ∨ ε Diese enth ¨ alt zwei Verpflichtungen f ¨ ur den n ¨ achsten Zustand. Die Verpflichtung N((a∗b)∗) entspricht der Originalformel und wird nicht weiter betrachtet. F ¨ ur N(a∗b (a∗b)∗) jedoch muss eine weitere ¨ Uberdeckung berechnet werden: (a∗b)(a∗b)∗ =((aa∗| ε )b)(a∗b)∗ =(aa∗b | b)(a∗b)∗ =(aa∗b)(a∗b)∗|b(a∗b)∗ Die ¨ Uberdeckung ergibt sich zu: a ∧ N((a∗b)(a∗b)∗)∨ b ∧ N((a∗b)∗) Diese ¨ Uberdeckung enth ¨ alt wiederum zwei Verpflichtungen f ¨ ur den n ¨ achsten Zu- stand. F ¨ ur beide ist jedoch bereits die ¨ Uberdeckung berechnet, weshalb die Berech- nung der ¨ Uberdeckungen beendet wird. 5.2 Explizite Modellpr ¨ ufung 195 Der zugeh ¨ orige nichtdeterministische endliche Automat ist in Abb. 5.19 zu se- hen. Die Zust ¨ ande s 0 , s 1 und s 2 sind die Anfangszust ¨ ande und entsprechen den drei Termen der ¨ Uberdeckung der Originalformel aus Beispiel 5.2.8. Die Zust ¨ ande s 3 und s 4 entsprechen den Termen der ¨ Uberdeckung der Verpflichtung N((a∗b)(a∗b)∗).Der akzeptierende Zustand ist in diesem Beispiel mit s 2 verschmolzen worden, da s 2 le- diglich einen ausgehenden Zustands ¨ ubergang mit der Markierung ε zu dem akzep- tierenden Zustand besitzt. bb b bba a ε ab a T b ∧ N((a∗b)∗)a ∧ N(a∗b(a∗b)∗) a ∧ N((a∗b)(a∗b)∗) b ∧ N((a∗b)∗) s 3 s 0 s 1 s 4 s 2 Abb. 5.19. Nichtdeterministischer endlicher Automat f ¨ ur den regul ¨ aren Ausdruck (a∗b)∗ [472] Beispiel 5.2.10. Gegeben ist die PSL-FL − -Formel !p → G {(a | b)∗}. Man beachte, dass die Negation (!) nicht auf eine SERE angewendet wurde. Die ¨ Uberdeckung der Formel errechnet sich zu: !p → G {(a | b)∗} = p ∨{(a | b)∗} ∧ N(G {(a | b)∗}) = p ∨{((a | b)(a | b)∗| ε )}∧N(G {(a | b)∗}) = p ∨{(a(a | b)∗|b(a | b)∗| ε )}∧N(G {(a | b)∗}) = p ∨{a}∧N(G {(a | b)∗})∨{b}∧N(G {(a | b)∗}) |{ ε )} ∧ N(G {(a | b)∗}) Bei der letzten Umformung wurde ausgenutzt, dass p ∧ G p = G p ist. Man sieht, dass keine weiteren Verpflichtungen f ¨ ur den n ¨ achsten Zustand ent- standen sind, f ¨ ur die noch keine ¨ Uberdeckung bestimmt wurde. Der resultierende nichtdeterministische Automat ist in Abb. 5.20a) zu sehen. Anfangszust ¨ ande sind die Zust ¨ ande s 0 , s 1 , s 2 und s 3 . Der akzeptierende Zustand ist s 4 . Der nichtdetermi- nistische endliche Automat ohne ε - ¨ Uberg ¨ ange ist in Abb. 5.20b) zu sehen. Determinierung Ein einzelner Simulationslauf kann in einem nichtdeterministischen endlichen Auto- maten die Ausf ¨ uhrung vieler unterschiedlicher Pfade anregen. All diese m ¨ oglichen 196 5 Eigenschaftspr ¨ ufung ε ε ∧ N(G {(a | b)∗}) T T ba a b p b) T T a εε b ba a b p a) b ∧ N(G {(a | b)∗})a ∧ N(G {(a | b)∗}) b ∧ N(G {(a | b)∗})a ∧ N(G {(a | b)∗}) s 2 s 1 s 0 s 4 s 4 s 0 s 1 s 2 s 3 Abb. 5.20. a) nichtdeterministischer endlicher Automat f ¨ ur die PSL-FL − -Formel !p → G {(a | b)∗} mit ε - ¨ Uberg ¨ angen und b) ohne ε - ¨ Uberg ¨ ange [472] Pfade zu verfolgen kann sehr aufwendig sein. Andererseits kann bei der Determinie- rung eines nichtdeterministischen endlichen Automaten eine exponentielle Anzahl an Zust ¨ anden entstehen. Dennoch ist es w ¨ unschenswert einen nichtdeterministischen endlichen Automaten in einen endlichen Automaten zu transformieren, so dass die- ser direkt als Monitor oder Generator in der Simulation dienen kann. Hierzu wird ¨ ublicherweise die sog. Teilmengenkonstruktion verwendet. Die Teilmengenkonstruktion funktioniert wie folgt: 1. Erzeuge einen Anfangszustand f ¨ ur den deterministischen endlichen Automaten, der die Menge aller Anfangszust ¨ ande des nichtdeterministischen endlichen Au- tomaten repr ¨ asentiert. 2. F ¨ ur jeden neuen Zustand s im deterministischen endlichen Automaten verfahre wie folgt: • F ¨ ur jeden Buchstaben i im Alphabet bestimme den Folgezustand s .Dieser repr ¨ asentiert alle Folgezust ¨ ande im nichtdeterministischen endliche Auto- maten, die durch Eingabe von i in einem der Zust ¨ ande, die in s repr ¨ asentiert sind, erreichbar sind. • F ¨ uge s zu den Zust ¨ anden des deterministischen endlichen Automaten hinzu, sofern dieser Zustand noch nicht existiert, und f ¨ uge einen mit i markierten Zustands ¨ ubergang von s nach s hinzu. • Alle Zust ¨ ande im deterministischen endlichen Automaten, die einen ak- zeptierenden Zustand des nichtdeterministischen endlichen Automaten re- pr ¨ asentieren, sind akzeptierende Zust ¨ ande. Beispiel 5.2.11. Betrachtet wird wiederum die PSL-FL − -Formel !p → G {(a | b)∗} aus Beispiel 5.2.10. Der zugeh ¨ orige deterministische Automat ist in Abb. 5.21 zu sehen. 5.3 Symbolische Modellpr ¨ ufung 197 p∧!{a | b} !{a | b} !{a | b} !p ∧{a | b} T T { a | b} { a | b} !p ∧{a | b}p ∧{a | b} s 1 s 0 s 4 s 3 s 2 Abb. 5.21. Deterministischer endlicher Automat f ¨ ur die PSL-FL − -Formel !p → G {(a | b)∗} [472] Die Hardware-Synthese von Monitoren ist aus den generierten Monitoren unter der Annahme m ¨ oglich, dass Zeitpunkte f ¨ ur Zustands ¨ uberg ¨ ange mittels eines Takt- signals definiert sind. F ¨ ur Software- oder Systembeschreibungen m ¨ ussen geeignete Ereignisse zun ¨ achst spezifiziert werden (siehe auch Abschnitt 8.1.4). 5.3 Symbolische Modellpr ¨ ufung Die in Abschnitt 5.2 vorgestellten Verifikationsmethoden zur CTL-Modellpr ¨ ufung basieren auf einer expliziten Aufz ¨ ahlung der erreichbaren Zust ¨ ande. Aus diesem Grund sind diese Verfahren nur auf relativ kleine Systeme anwendbar. Die Effizienz der Algorithmen kann jedoch erheblich gesteigert werden, wenn der Zustandsraum symbolisch repr ¨ asentiert wird. Dabei werden Zustandsmengen nicht mehr durch Aufz ¨ ahlung der Zust ¨ ande, sondern implizit durch Formeln repr ¨ asentiert, wobei eine einzelne Formel eine Menge von vielen Zust ¨ anden beschreiben kann. Im Folgenden werden Verfahren zur symbolischen CTL- und LTL-Modellpr ¨ ufung vorgestellt. 5.3.1 BDD-basierte CTL-Modellpr ¨ ufung F ¨ ur eine symbolische CTL-Modellpr ¨ ufung m ¨ ussen analog zur symbolischen Er- reichbarkeitsanalyse aus Abschnitt 4.3.3 die Zust ¨ ande s ∈ S der temporalen Struktur M =(S,R,L) bin ¨ ar codiert werden. Hierzu dient die Funktion: σ S : S → B k Die Zahl k ∈ N ist dabei die Anzahl der f ¨ ur die Codierung verwendeten bin ¨ aren Variablen. Damit k ¨ onnen Zustandsmengen S ⊆ S als charakteristische Funktionen ψ S dargestellt werden, mit der Eigenschaft: ∀s ∈ S : ψ S ( σ S (s)) = T ⇔ s ∈ S 198 5 Eigenschaftspr ¨ ufung Weiterhin ergibt sich die charakteristische Funktion ψ R : B k × B k → B f ¨ ur die Zu- stands ¨ ubergangsrelation zu: ψ R ( σ S (s), σ S (s )) = T falls (s,s ) ∈ R F sonst (5.12) Die charakteristischen Funktionen k ¨ onnen effizient mit reduzierten geordneten bin ¨ a- ren Entscheidungsdiagrammen repr ¨ asentiert werden (siehe Anhang B). Mit den charakteristischen Funktionen k ¨ onnen nun die Funktionen COMPUTE, COMPUTE EX, COMPUTE EG und COMPUTE EU derart umgeschrieben wer- den, dass die CTL-Modellpr ¨ ufung symbolisch durchgef ¨ uhrt werden kann. Jede sym- bolische Berechnung gibt dabei eine charakteristische Funktion ψ : B k → B der be- rechneten Zustandsmenge zur ¨ uck. Zun ¨ achst wird die Funktion SYM COMPUTE vorgestellt. Diese erh ¨ alt als Argu- mente die temporale Struktur M und die CTL-Formel ϕ . SYM COMPUTE(M, ϕ ) { SWITCH CASE ϕ = F: ψ := F; CASE ϕ = T: ψ := T; CASE ϕ ∈ V : ψ := s∈{s ∈S| ϕ ∈L(s )} σ S (s); CASE ϕ = ¬p: ψ := ¬SYM COMPUTE(M, p); CASE ϕ = p ∨ q: ψ := SYM COMPUTE(M, p) ∨ SYM COMPUTE(M, q); CASE ϕ = EX p: ψ := SYM COMPUTE EX(M,SYMCOMPUTE(M, p)); CASE ϕ = EG p: ψ := SYM COMPUTE EG(M,SYMCOMPUTE(M, p)); CASE ϕ = E p U q: ψ := SYM COMPUTE EU(M,SYMCOMPUTE(M, p), SYM COMPUTE(M, q)); RETURN ψ ; } Im Falle, dass ϕ eine atomare Formel v ∈ V darstellt, muss die Zustandsmenge derjenigen Zust ¨ ande symbolisch repr ¨ asentiert werden, die mit der Variablen v mar- kiert sind. Die symbolische Repr ¨ asentation dieser Menge ist die Disjunktion der Co- dierungen der entsprechenden Zust ¨ ande. Die Methode SYM COMPUTE EX kann dann wie folgt implementiert werden: SYM COMPUTE EX(M, ψ p ) { ψ := ∃ σ S (s ) : ψ p | s:=s ∧ ψ R ; RETURN ψ ; } 5.3 Symbolische Modellpr ¨ ufung 199 Die Funktion SYM COMPUTE EX erh ¨ alt als Argument die temporale Struktur und die charakteristische Funktion ψ p , welche die Menge derjenigen Zust ¨ ande repr ¨ asen- tiert, deren direkte Vorg ¨ anger bestimmt werden sollen. Die Funktion gibt die cha- rakteristische Funktion der Menge der Zust ¨ ande zur ¨ uck, die direkte Vorg ¨ anger der Zust ¨ ande codiert durch ψ p sind. Die Funktion SYM COMPUTE EG kann wie folgt realisiert werden: SYM COMPUTE EG(M, ψ p ) { ψ N := T; DO ψ R := ψ N ; ψ N := ψ p ∧ SYM COMPUTE EX(M, ψ N ); UNTIL ( ψ N = ψ R ) RETURN ψ N ; } Die Funktion erh ¨ alt die temporale Struktur M und die charakteristische Funktion ψ p der Zustandsmenge S p als Argument und liefert die charakteristische Funktion f ¨ ur die Menge derjenigen Zust ¨ ande, in denen EGp gilt. Da es sich hierbei um die Berechnung des gr ¨ oßten Fixpunktes handelt, wird ψ N mit T initialisiert. Statt der Berechnung der Schnittmenge wie in der Funktion COMPUTE EG, erfolgt nun die Konjunktion Boolescher Funktionen. Schließlich l ¨ asst sich die Funktion SYM COMPUTE EU wie folgt umsetzen: SYM COMPUTE EU(M, ψ p , ψ q ) { ψ N := F; DO ψ R := ψ N ; ψ N := ψ q ∨ ( ψ p ∧ SYM COMPUTE EX(M, ψ N )); UNTIL ( ψ N = ψ R ) RETURN ψ N ; } Als Argumente erh ¨ alt die Funktion die temporale Struktur M sowie die charakte- ristischen Funktionen ψ p und ψ q f ¨ ur die Zustandsmengen S p und S q . Die Funktion gibt eine charakteristische Funktion f ¨ ur die Menge der Zust ¨ ande zur ¨ uck, die E p U q erf ¨ ullen. Hierbei handelt es sich um die Bestimmung des kleinsten Fixpunktes, wes- halb ψ N vor der Iteration mit F (dem symbolischen ¨ Aquivalent der leeren Menge) initialisiert wird. 5.3.2 SAT-basierte Modellpr ¨ ufung F ¨ ur die Modellpr ¨ ufung wird eine Spezifikation der geforderten funktionalen Eigen- schaften mittels einer Temporallogik vorgenommen, w ¨ ahrend das System als tem- porale Struktur modelliert wird. Explizite Modellpr ¨ ufung (siehe Abschnitt 5.2) hat jedoch oft mit der Zustandsraumexplosion zu k ¨ ampfen, weshalb symbolische Mo- dellpr ¨ ufung weit h ¨ aufiger zum Einsatz kommt. Wie oben beschrieben, haben sich 200 5 Eigenschaftspr ¨ ufung bin ¨ are Entscheidungsdiagramme (BDD) als geeignet herausgestellt, um große Zu- standsr ¨ aume zu codieren. Mit BDDs ist es m ¨ oglich, Systeme mit mehreren hundert Zustandsvariablen effizient zu traversieren. Dabei h ¨ angt die Gr ¨ oße der BDDs jedoch stark von der gew ¨ ahlten Variablenordnung ab und eine optimale Variablenordnung zu finden ist wiederum ein schweres Problem. Vor diesem Hintergrund ist leicht zu erkennen, dass f ¨ ur reale Systeme mit mehreren tausend Zustandsvariablen eine BDD-basierte Modellpr ¨ ufung nicht immer zielf ¨ uhrend ist. In [48, 49] stellen Biere et al. ein SAT-basiertes Modellpr ¨ ufungsverfahren vor. Die grundlegende Idee besteht darin, ein Gegenbeispiel einer gegebenen L ¨ ange k zu suchen. Somit handelt es sich bei der SAT-basierten Modellpr ¨ ufung um eine Metho- de, welche die Falsifikation zum Ziel hat. Hierf ¨ ur wird eine aussagenlogische For- mel konstruiert, die genau dann erf ¨ ullbar ist, wenn ein solches Gegenbeispiel exis- tiert. Somit spricht man bei SAT-basierter Modellpr ¨ ufung auch von einer beschr ¨ ank- ten Modellpr ¨ ufung (engl. bounded model checking), wobei die maximale L ¨ ange des gesuchten Gegenbeispiels die Schranke angibt. Die Vorteile dieses Ansatzes liegen auf der Hand: Erstens k ¨ onnen Gegenbeispiele mittels SAT-basierter Modellpr ¨ ufung oftmals sehr schnell gefunden werden. Dies liegt in der SAT-Solvern zugrundelie- genden Tiefensuche (siehe Anhang C.2). Dabei sollte beachtet werden, dass das Auffinden von Gegenbeispielen eine hohe industrielle Relevanz besitzt. Zweitens liefert SAT-basierte Modellpr ¨ ufung, sofern die Schranke k sukzessive erh ¨ oht wird, k ¨ urzest m ¨ ogliche Gegenbeispiele, was oftmals das Verst ¨ andnis f ¨ ur das Gegenbeispiel erh ¨ oht. Drittens ist der Speicherbedarf von SAT-basierter Modellpr ¨ ufung wesentlich geringer als bei BDD-basierter Modellpr ¨ ufung. Dies erlaubt die Pr ¨ ufung wesentlich gr ¨ oßerer Systeme. Schließlich ben ¨ otigt SAT-basierte Modellpr ¨ ufung keine optimier- te Variablenordnung. Standardverfahren wie in Anhang C.2 sind ausreichend. Im Folgenden wird die SAT-basierte symbolische Modellpr ¨ ufung f ¨ ur funktionale Eigenschaften, die in linearer temporaler Aussagenlogik (LTL, siehe Abschnitt 2.4.2) spezifiziert sind, vorgestellt. Die Semantik von LTL-Formeln ist in Definition 2.4.4 auf Seite 76 bez ¨ uglich einer gegebenen temporalen Struktur M =(S, R,L) und einem Pfad ˜s angegeben. Die temporale Struktur besteht aus einer Zustandsmenge S, einer ¨ Ubergangsrelation R ⊆ S × S und einer Markierungsfunktion L : S → 2 V , wobei V die Menge der atomaren Formeln (aussagenlogische Variablen) ist. Ein Pfad ˜s = s 0 ,s 1 , ,s i , ist eine Sequenz an Zust ¨ anden. ˜s i := s i ,s i+1 , beschreibt einen Suffix von ˜s. i ˜s := s 0 , ,s i beschreibt einen Pr ¨ afix von ˜s. Handelt es sich bei M nicht um eine lineare Struktur, kann das Modellpr ¨ ufungs- problem f ¨ ur LTL-Formeln unterschiedlich betrachtet werden. Die wird als univer- selle bzw. existentielle Modellpr ¨ ufung bezeichnet und basiert auf der G ¨ ultigkeit der Formel. Definition 5.3.1 (G ¨ ultigkeit von LTL-Formeln). Eine LTL-Formel ϕ heißt univer- sell g ¨ ultig, falls f ¨ ur eine temporale Struktur M gilt, dass ∀ ˜s : M, ˜s |= ϕ ist. Eine LTL-Formel ϕ heißt existentiell g ¨ ultig, falls f ¨ ur eine temporale Struktur M gilt, dass ∃˜s : M, ˜s |= ϕ ist. Universelle und existentielle G ¨ ultigkeit ergeben sich aus der Darstellung von LTL- Formeln in CTL*. Aus dieser Darstellung ergibt sich ebenfalls, dass eine LTL- 5.3 Symbolische Modellpr ¨ ufung 201 Formel ϕ f ¨ ur eine gegebene temporale Struktur M universell g ¨ ultig ist, genau dann, wenn ¬ ϕ nicht existentiell g ¨ ultig ist. Um also das universelle Modellpr ¨ ufungspro- blem zu l ¨ osen, reicht es, die gegebene LTL-Formel zu negieren und anschließend zu zeigen, dass das korrespondierende existentielle Modellpr ¨ ufungsproblem keine L ¨ osung besitzt. Dies kann geschehen, indem man versucht, ein Gegenbeispiel zu fin- den. Gelingt dies nicht, ist die Originalformel universell g ¨ ultig. Da t ypischerweise eine Darstellung von LTL-Formeln in CTL* ¨ uber die universelle G ¨ ultigkeit erfolgt, ist f ¨ ur die Einf ¨ uhrung der SAT-basierten Modellpr ¨ ufung die Diskussion der existen- tiellen Modellpr ¨ ufung hinreichend. In SAT-basierter Modellpr ¨ ufung wird eine beschr ¨ ankte Modellpr ¨ ufung durch- gef ¨ uhrt, wobei lediglich ein endlicher Pr ¨ afix i ˜s eines Pfades ˜s betrachtet wird, der eine L ¨ osung f ¨ ur das existentielle Modellpr ¨ ufungsproblem sein k ¨ onnte. Dabei wird die L ¨ ange des Pr ¨ afixes mit einer Schranke k begrenzt. Diese Schranke wird typi- scherweise sukzessive inkrementiert, wenn es nicht m ¨ oglich ist, ein Gegenbeispiel f ¨ ur die gew ¨ ahlte Schranke zu finden. Eine wichtige Beobachtung ist, dass ein endlicher Pr ¨ afix dennoch eine unendli- che Sequenz von Zust ¨ anden repr ¨ asentieren kann, wenn dieser Schleifen enth ¨ alt (sie- he Abb. 5.22b)). Falls der Pr ¨ afix des Pfades keine Schleife enth ¨ alt (Abb. 5.22a)), sagt dieser nichts ¨ uber das endlos laufende System aus. Betrachtet man beispielsweise die LTL-Formel G ϕ . Nur ein Pr ¨ afix mit einer Schleife und G ¨ ultigkeit von ϕ in jedem Zustand kann ein Modell f ¨ ur diese LTL-Formel darstellen. Ein Pr ¨ afix, bei dem in je- dem Zustand s 0 bis s k ϕ erf ¨ ullt ist, der aber keine Schleife von s k zu einem fr ¨ uheren Zustand enth ¨ alt, kann kein Modell f ¨ ur G ϕ sein. a) b) s i s i s l s k s k Abb. 5.22. a) Pr ¨ afix ohne Schleife und b) (k,l)-Schleife [49] Definition 5.3.2 ((k,l)-Schleife). Ein Pfad ˜swirdf ¨ ur ein gegebenes l und k mit l ≤ k als (k,l)-Schleife bezeichnet, wenn gilt s k+1 = s l und ˜s = u·v ∞ mit u = s 0 , ,s l−1 und v = s l , ,s k . Definition 5.3.3 (k-Schleife). Existiert ein l ∈ Z ≥0 mit l ≤ k, so dass ˜seine(k, l)- Schleife ist, so wird ˜s auch einfach als k-Schleife bezeichnet. F ¨ ur eine beschr ¨ ankte SAT-basierte Modellpr ¨ ufung ist es notwendig, dass die Se- mantik von LTL-Formeln (siehe Definition 2.4.4 auf Seite 76) durch eine beschr ¨ ank- te Semantik von LTL-Formeln approximiert wird. F ¨ ur die beschr ¨ ankte Semantik wird lediglich ein Pr ¨ afix von einem Pfad bestehend aus k +1Zust ¨ anden betrachtet, d. h. k ˜s = s 0 , ,s k . Falls dieser Pfad eine k-Schleife ist, so bleibt die LTL-Semantik aus Definition 2.4.4 erhalten: