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) π = s1, s2, . . . π i = si , si +1, . . . M, π |= φ Endstück von π beginnend mit si 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(s1) M, π |= ¬φ genau dann, wenn M, π 6|= φ 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 (s1 Anfangszustand von π) 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 [φ]. M0 := ({s}, {(s, s)}, {(s, ¬p)}) ist Untermodell von M, daher auch M0, s |= A [φ]. (M0, s) ist aber kein Modell von ψ, d.h. M0, s 6|= ψ ; 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 q1 q2 ab ab ab ab Zustandsübergangssystem, für das die Formel ¬(a U b) zu prüfen ist. (Der Pfad q3, q2, q2, . . . erfüllt sie nicht.) q3 v.Henke: Computergestützte Modellierung und Verifikation SS2007 q4 4 – 11 Beispiel (2) q2 q1 abφ abφ Automat Aa U b für die Akzeptanz von Pfaden, die genau a U b erfüllen. Kanten ohne Pfeilspitzen bedeuten Übergänge in beiden Richtungen. Akzeptanzbedingung: Pfad darf nicht unendliche Schleife durch q3 durchlaufen. abφ abφ q3 q4 abφ q3 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 q3 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 q3. v.Henke: Computergestützte Modellierung und Verifikation SS2007 4 – 13 Beispiel (4) q1 q1 q2 ab ab ab ab q3 ab q4 q3 Modifizierte Darstellung des Modells q2 abφ abφ abφ abφ q3 abφ q4 q3 Kombiniertes Zustandsübergangssystem Existierender Pfad im kombinierten System, der Akzeptanzbedingung erfüllt: .z.B. q3, q2, q2, . . . 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 φ: Menge aller Unterformeln ψ von φ und deren Negation (¬¬ψ = ψ) 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 0 genau dann, wenn die folgenden Bedingungen gelten: • Wenn X ψ ∈ q, dann ψ ∈ q 0. • Wenn ¬(X ψ) ∈ q, dann ¬ψ ∈ q 0. • Wenn ψ1 U ψ2 ∈ q und ψ2 6∈ q, dann ψ1 U ψ2 ∈ q 0. • Wenn ¬(ψ1 U ψ2) ∈ q und ψ1 ∈ q, dann ¬(ψ1 U ψ2) ∈ q 0. 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 q1 Automat für die Akezeptanz von φ := (p U q)∨(¬p U q) Akzeptanzbedingungen: Jeder Pfad muss unendlich oft durch die Zustandsmengen {q1, q3, q4, q5, q6} und {q1, q2, q3, q5, q6} laufen. q2 ¬(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, φ q5 q6 ¬(p U q), ¬(¬p U q), p, ¬q, ¬φ ¬(p U q), ¬p U q, ¬p, ¬q, φ q3 q4 v.Henke: Computergestützte Modellierung und Verifikation SS2007 4 – 18