4. Alternative Temporallogiken Benutzung unterschiedlicher Temporallogiken entsprechend den verschiedenen Zeitbegriffen LTL: Linear Time Logic Ähnlich der CTL, aber jetzt einem linearen Zeitbegriff entspechend Einige Unterschiede zu CTL: Formeln beschreiben Eigenschaften einzelner Pfade; ein Pfad entspricht jeweils der linearen Zeitachse. D.h. keine Pfad-Verzweigungen (Bäume) wie in CTL. Es gibt keine expliziten Pfad-Quantoren A und E. Insbesondere: die bloße Existenz eines Pfads mit gewissen Eigenschaften kann nicht ausgedrückt werden. Aber: es werden gelegentlich auch alle von einem Zustand ausgehenden Pfade betrachtet (implizite oder explizite Quantifizierung über Pfade). Die Operatoren F, G, X können geschachtelt werden. v.henke: Computergestützte Modellierung und Verifikation SS2007 4 1
LTL: Syntax Syntax von LTL-Formeln: φ ::= p ( φ) (φ φ)... X φ G φ F φ φ U φ p eine atomare Aussage Präzedenz: und die unären temporalen Verknüpfungen X usw. binden am stärksten, gefolgt von binären Operatoren U,,, in der angegebenen Reihenfolge. Weitere binäre LTL-Operatoren: W weak Until φ W ψ: wie φ U ψ, aber ohne die Bedingung, dass ψ irgendwann wahr wird. R Release, in gewisser Weise dual zu U wird hier nicht behandelt W und R können durch die anderen Operatoren ausgedrückt werden (s.u.) und sind daher nicht wirklich notwendig. v.henke: Computergestützte Modellierung und Verifikation SS2007 4 2
LTL: Semantik Semantik von LTL-Formeln wird definiert relativ zu einem Pfad bzw. einer Pfadmenge. Pfade π definiert relativ zu Zustandsübergangssystem M = (S,, L) π = s 1, s 2,... π i = s i, s i+1,... Endstück von π beginnend mit s i M, π = φ Formel φ ist erfüllt entlang Pfad π (in Modell M) Eine Formel ist erfüllt für eine Menge von Pfaden, wenn sie für jeden Pfad in der Menge erfüllt ist. Häufig ist eine implizite All-Quantifizierung intendiert: Eine LTL-Formel φ ist in einem Zustand s erfüllt, wenn sie für jeden Pfad, der von s ausgeht, erfüllt ist. Hilfsnotation hierfür: M, s = A [φ] v.henke: Computergestützte Modellierung und Verifikation SS2007 4 3
LTL: Semantik (2) M, π = φ definiert wie üblich rekursiv über den Aufbau von LTL-Formeln: M, π = p genau dann, wenn p L(s 1 ) (s 1 Anfangszustand von π) M, π = φ genau dann, wenn M, π = φ M, π = φ 1 φ 2 genau dann, wenn M, π = φ 1 und M, π = φ 2 M, π = φ 1 φ 2 genau dann, wenn M, π = φ 1 oder M, π = φ 2 M, π = X φ genau dann, wenn M, π 2 = φ M, π = G φ genau dann, wenn M, π i = φ für jedes i 1. M, π = F φ genau dann, wenn es ein i 1 gibt, so dass M, π i = φ M, π = φ 1 U φ 2 genau dann, wenn es ein i 1 gibt, so dass M, π i = φ 2 und M, π j = φ 1 für jedes 1 j < i v.henke: Computergestützte Modellierung und Verifikation SS2007 4 4
LTL Äquivalenzen Zwei LTL-Formeln φ und ψ sind semantisch äquivalent, wenn sie für dieselben Pfade erfüllt sind. Für LTL gelten Äquivalenzen ähnlich denen für CTL Beispiele: G φ F φ F (φ ψ) F φ F ψ G (φ ψ) G φ G ψ φ U ψ ( ψ U ( φ ψ)) F ψ F φ U φ φ W ψ (φ U ψ) G φ v.henke: Computergestützte Modellierung und Verifikation SS2007 4 5
Vergleich CTL und LTL In CTL und LTL können zum Teil in unterschiedlicher Weise dieselben Eigenschaften ausgedrückt werden; Beispiel: Jedem p folgt schließlich ein q in CTL: AG (p AF q) in LTL: G (p F q) LTL und CTL sind jedoch in gewisser Weise unvergleichbar: Es gibt CTL-Formeln, für die es keine äquivalente LTL-Formel gibt; Beispiel: ψ := AG (EF p) es ist immer möglich, ein p zu erreichen Nachweis, dass es keine zu ψ äquivalente LTL-Formel gibt: Angenommen φ ist eine äquivalente LTL-Formel (über alle Pfade). Mit M := ({s, t}, {(s, s), (s, t), (t, t)}, {(s, p), (t, p)})r gilt M, s = ψ, damit nach Annahme auch M, s = A [φ]. M := ({s}, {(s, s)}, {(s, p)}) ist Untermodell von M, daher auch M, s = A [φ]. (M, s) ist aber kein Modell von ψ, d.h. M, s = ψ Widerspruch v.henke: Computergestützte Modellierung und Verifikation SS2007 4 6
Vergleich CTL und LTL (2) Es gibt LTL-Formeln, für die es keine äquivalente CTL-Formel gibt. Beispiel: A [G F p F q] Wenn p unendlich oft entlang des Pfads vorkommt, dann kommt auch q vor Mögliche Anwendung als Fairness-Bedingung: Eine Anforderung, die beliebig (d.h. unendlich ) oft gestellt wird, wird auch schließlich bedient. v.henke: Computergestützte Modellierung und Verifikation SS2007 4 7
Alternative Temporallogiken (2): CTL* Erweiterung der Logiken: CTL*: (syntaktische) Obermenge von CTL und LTL insbesondere: temporallogische Operatoren können beliebig geschachtelt werden. Jede CTL-Formel und jede LTL-Formel ist eine CTL*-Formel Jedoch: CTL* ist semantisch ausdrucksstärker als CTL und LTL. Beispiel: E (G F p) es gibt einen Pfad, auf dem p unendlich oft gilt. Es gibt Systeme zur Modell-Überprüfung für alle diese Varianten temporaler Logik; einige Systeme erlauben die Benutzung mehrerer Logiken. v.henke: Computergestützte Modellierung und Verifikation SS2007 4 8
Modellüberprüfung für LTL Der Ansatz für Modellüberprüfung mit CTL-Formeln kann nicht auf LTL übertragen werden, da Formeln entlang eines Pfads und nicht für einen Zustand (bzw. eine Menge von Zuständen) ausgewertet werden. Fragestellung: bzgl. eines gegebenen Modells (Zustandsübergangssystems) M = (S,, L) und einer LTL-Formel φ: M, s = φ Erfüllen alle Pfade ausgehend vom Zustand s die Formel φ? v.henke: Computergestützte Modellierung und Verifikation SS2007 4 9
Modellüberprüfung für LTL (2) Allgemeiner Ansatz für Modellüberprüfung mit LTL-Formeln: Konstruiere einen Automaten (Zustandsübergangssystem) A φ für die Formel φ. Der Automat charakterisiert in gewisser Weise genau diejenigen Pfade, die φ erfüllen. Der Automat wird mit dem Modell kombiniert zu einem Zustandsübergangssystem, dessen Pfade sowohl Pfade im Modell wie auch im Automat sind. Untersuche, ob es ausgehend von s einen Pfad im kombinierten System gibt. Wenn kein solcher Pfad existiert, erfüllt M die Formel φ. Andernfalls gibt der gefundene Pfad einen Anhaltspunkt für ein Gegenbeispiel. v.henke: Computergestützte Modellierung und Verifikation SS2007 4 10
Beispiel q 1 q 2 ab ab Zustandsübergangssystem, für das die Formel (a U b) zu prüfen ist. (Der Pfad q 3, q 2, q 2,... erfüllt sie nicht.) q 3 ab q 4 ab v.henke: Computergestützte Modellierung und Verifikation SS2007 4 11
Beispiel (2) q 1 q 2 Automat A a U für die b Akzeptanz von Pfaden, die genau a U b erfüllen. a b φ abφ Kanten ohne Pfeilspitzen bedeuten Übergänge in beiden Richtungen. Akzeptanzbedingung: Pfad darf nicht unendliche Schleife durch q 3 durchlaufen. q 3 a b φ q 3 a bφ q 4 abφ v.henke: Computergestützte Modellierung und Verifikation SS2007 4 12
Beispiel (3) Bemerkungen zum Automaten: Zustände decken alle möglichen Wertbelegungen der Atome a, b ab. Für die Belegung ab gibt es 2 Zustände, je nachdem, ob a U b erfüllt ist oder nicht (bei den anderen Zuständen legen die Werte von a und b dies bereits fest). Ausgehend von q 3 sind nur solche Übergänge möglich, die b wahr machen. Ansonsten sind Übergänge von jedem Zustand zu jedem Zustand möglich. Kombination von Modell-Transitionssystem und Formel-Automat durch Überlagerung: nur solche Übergänge bleiben, die in beiden Strukturen möglich sind. Zu diesem Zweck: Anpassung des Modells durch Spaltung des Zustands q 3. v.henke: Computergestützte Modellierung und Verifikation SS2007 4 13
Beispiel (4) q 1 q 2 q 1 q 2 a b ab a b φ abφ a b ab a b φ abφ q 3 a b q 3 q 4 q 4 a bφ q 3 q 3 Modifizierte Darstellung des Modells Kombiniertes Zustandsübergangssystem Existierender Pfad im kombinierten System, der Akzeptanzbedingung erfüllt:.z.b. q 3, q 2, q 2,... v.henke: Computergestützte Modellierung und Verifikation SS2007 4 14
Konstruktion des Automaten Für eine Formel φ soll ein Automat A φ konstruiert werden, der genau diejenigen Pfade akzeptiert, für die φ gilt. O.B.d.A. wird angenommen, dass φ nur die temporallogischen Operatoren U und X enthält (die anderen können mit deren Hilfe ausgedrückt werden, s. vorher). Abschluß (closure) C(φ) einer Formel φ: deren Negation ( ψ = ψ) Menge aller Unterformeln ψ von φ und Beispiel: C(a U b) = {a, b, a, b, a U b, (a U b)} Zustände q von A φ : maximale Teilmengen von C(φ) mit folgenden Eigenschaften: Für jedes ψ C(φ) gilt entweder ψ q oder ψ q, aber nicht beide. Wenn ψ 1 ψ 2 C(φ), dann ist ψ 1 ψ 2 q genau dann, wenn ψ 1 q oder ψ 2 q. Analog für die anderen boolschen Verknüpfungen. Wenn ψ 1 U ψ 2 q, dann muss gelten ψ 1 q oder ψ 2 q. Wenn (ψ 1 U ψ 2 ) q, dann muss gelten ψ 2 q. v.henke: Computergestützte Modellierung und Verifikation SS2007 4 15
Konstruktion des Automaten (2) Anfangszustände von A φ : diejenigen Zustände, die φ enthalten Zustandsübergänge in A φ : q q genau dann, wenn die folgenden Bedingungen gelten: Wenn X ψ q, dann ψ q. Wenn (X ψ) q, dann ψ q. Wenn ψ 1 U ψ 2 q und ψ 2 q, dann ψ 1 U ψ 2 q. Wenn (ψ 1 U ψ 2 ) q und ψ 1 q, dann (ψ 1 U ψ 2 ) q. Begründung für die letzten 2 Bedingungen: Rekursiongleichungen ψ 1 U ψ 2 = ψ 2 (ψ 1 X (ψ 1 U ψ 2 )) (ψ 1 U ψ 2 ) = ψ 2 ( ψ 1 X (ψ 1 U ψ 2 )) Insbesondere: wenn ein Zustand (ψ 1 U ψ 2 ) enthält, müssen Nachfolgerzustände ψ 1 enthalten, solange sie nicht ψ 2 enthalten. v.henke: Computergestützte Modellierung und Verifikation SS2007 4 16
Konstruktion des Automaten (3) Zusätzliche Akzeptanzbedingungen sind notwendig um sicherzustellen, dass für die Formel (ψ 1 U ψ 2 ) auf Pfaden schließlich auch ψ 2 erreicht wird, d.h. ein Pfad nicht in Zuständen bleibt, die ψ 1 enthalten, aber nie ψ 2 erreicht wird. Akzeptanzbedingungen stellen sicher, dass jedem Zustand, der eine Formel χ U ψ enthält, schließlich ein Zustand folgt, der ψ enthält. Daher für jede Unterformel χ i U ψ i (1 i k) in C(φ): für jedes i muss ein Pfad unendlich oft einen Zustand enthalten, in dem gilt: (χ i U ψ i ) ψ i v.henke: Computergestützte Modellierung und Verifikation SS2007 4 17
Weiteres Beispiel q 1 q 2 Automat für die Akezeptanz von φ := (p U q) ( p U q) Akzeptanzbedingungen: Jeder Pfad muss unendlich oft durch die Zustandsmengen {q 1, q 3, q 4, q 5, q 6 } und {q 1, q 2, q 3, q 5, q 6 } laufen. (p U q), ( p U q), p, q, φ (p U q), ( p U q), p, q, φ p U q, p U q, p, q, φ p U q, ( p U q), p, q, φ p U q, p U q, p, q, φ q 5 q 6 (p U q), p U q, p, q, φ q 3 q 4 v.henke: Computergestützte Modellierung und Verifikation SS2007 4 18