p U q

Werbung
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
Herunterladen