1. Trang chủ
  2. » Công Nghệ Thông Tin

Digitale Hardware/ Software-Systeme- P11 pdf

20 159 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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:

Ngày đăng: 03/07/2014, 08:20