Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Temporale Logiken: LTL und CTL

Ähnliche Präsentationen


Präsentation zum Thema: "Temporale Logiken: LTL und CTL"—  Präsentation transkript:

1 Temporale Logiken: LTL und CTL
Seminar: Formale Spezifikation Temporale Logiken: LTL und CTL Thorsten Bruns

2 Inhalt Motivation Grundlagen der Logik Temporale Logiken
Aussagen- und Prädikatenlogik Entscheidbarkeit von Logiken Temporale Logiken LTL CTL Anwendung: CTL Model Checking Zusammenfassung

3 Motivation Qualitätssicherung von Hard- und Software
Lösungsalternativen Testen Beweise: Theorembeweise und Model Checker Model Checker Prüfung von Eigenschaften reaktiver Systeme Formale Spezifikation der Eigenschaften Implementierung muss Spezifikation genügen Testen: Berücksichtigung aller Testfälle? Theorembeweise: interaktiv + zeitaufwändig Prüfung reaktiver Systeme dargestellt als formales Modell mit endlich vielen Zuständen

4 Aussagenlogik Untersuchung des Wahrheitswerts von Aussagen
Syntax aussagenlogischer Formeln p::= P|(p  p)|(p  p)|p|(p  p)|(p  p) Umformungsregeln (F  G) = (F  G) (F  G) = (F  G) (F  G) = ((F  G)  (F  G))

5 Aussagenlogik Semantik: Definitionen:
Belegung: A : D {0,1}, D: atomare Formeln Erweiterung der Belegung: Â : E {0,1}, ED Für alle PD gilt: Â(P) = A(P) Â(F  G)=1, falls Â(F)=1 und Â(G) =1, sonst 0 Â(F)=1, falls Â(F)=0, sonst 0 Andere Operatoren ableitbar Definitionen: passend, Modell (A ⊨ F), erfüllbar, gültig passend = A ist für alle in F vorkommenden atomaren Formeln definiert Modell = A ist Modell für F, wenn A zu F passend ist und A(F)=1 erfüllbar = Es existiert mind. eine Belegung, für die gilt A(F)=1 gültig = jede Belegung von F ist wahr

6 Prädikatenlogik Erweiterung der Aussagenlogik um:
Quantoren, Variablen xi , Funktionssymbole fj und Prädikatsymbole Pk mit i,j,k=1,2,3,... Termbildung aus Variablen und Funktionen t ::= xi | f (t1,...,tn), i = 1,2,3,... Bildung prädikatenlogischer Formeln F ::= (F  F)|(F  F)| F|(F  F)|(F  F)| xF | xF | P(t1...tk) Unterscheidung: freie und gebundene Variablen Eine Aussage enthält nur gebundene Variablen

7 Prädikatenlogik - Semantik
Struktur A=(UA, IA) UA : Grundmenge, IA : Zuordnung Definition des Wertes eines Terms A(t): t = x : A(t) = xA t = f (t1,...,tn) : A(t)=f A(A(t1),...,A(tn)) Definition des Wahrheitswerts einer Formel F: F=P(t1,...,tk): A(F)=1, falls (A(t1),...,A(tk)) PA, sonst 0 F= G : A(F)=1, falls A(G)=0, sonst 0 F=(G  H): A(F)=1, falls A(G)=1 und A(H)=1, sonst 0 F=xG: A(F)=1, falls für alle dUA : A[x/d](G)=1, sonst 0 F=xG: A(F)=1, falls für ein dUA : A[x/d](G)=1, sonst 0 Zuordnung: jedem Funktionssymbol eine Funktion, jedem Prädikatsymbol ein Prädikat und jeder Variablen ein Element der Grundmenge

8 Entscheidbarkeit von Logiken
Entscheidbarkeit: Es gibt einen Algorithmus, der in endlicher Zeit feststellt, ob eine Formel erfüllbar ist oder nicht Aussagenlogik: Belegungstabelle Prädikatenlogik: unentscheidbar Strukturen mit unendlichen Mengen Beweis: Rückführung auf das Postsche Korrespondenzproblem

9 Inhalt - Temporale Logiken
Erweiterung der Aussagen- oder der Prädikatenlogik Klassifikation temporaler Logiken Semantik verschiedener Zeitmodelle LTL und CTL Syntax und Semantik Anwendung: CTL Model Checking Theoretische Aspekte

10 Erweiterung der Aussagen- oder Prädikatenlogik
Gewünschte Ausdrucksstärke entscheidet Erweiterung um Zeitoperatoren: Für die Zukunft Für die Vergangenheit Bei der Programmverifikation nicht berücksichtigt Formale Darstellung komplexer Zeitstrukturen Aussagen über zeitliche Veränderungen Wahrheitswert vom Zeitpunkt abhängig

11 Klassifikation temporaler Logiken
Auf Aussagen- oder Prädikatenlogik basierend Lineares oder verzweigtes Zeitmodell Diskrete oder kontinuierliche Zeit Zeitpunkte oder Zeiträume Vergangenheit und/oder Zukunft  Bildung einer Vielzahl temporaler Logiken Lineare Zeitstruktur: Die Zeit ist eindeutig Jeder Zeitpunkt hat genau einen unmittelbaren Nachfolger in der Zukunft Verzweigte Zeitstruktur: Die Zeit ist nicht eindeutig Jeder Zeitpunkt besitzt mindestens einen unmittelbaren Nachfolger in der Zukunft Die Vergangenheit ist immer eindeutig

12 Semantik von Zeitmodellen
Modellierung diskreter Systeme erfordert diskrete Zeitmodellierung Zeit als Menge von Zuständen S Zeitliche Ordnung über den Zuständen RSS Rahmen = (S, R) Lineare Zeitstruktur Eindeutige Reihenfolge der Zustände Verzweigte Zeitstruktur Baumordnung über den Zuständen

13 LTL Linear temporal logic  lineare Zeitstruktur
Annahmen: diskrete Zeit, Startzustand, unendliche Zukunft Syntax: p::= P | (p  p) | p | Xp | Fp | Gp | (p U p) Umformungen Fp = (true U p) Gp = Fp

14 LTL - Semantik Erweiterung des Rahmens (S,R) um eine Auswertungsfunktion L:S  (P) Zeitstruktur M=(S,R,L) Aussagen sind auf (Teil-)Pfaden definiert M, ⊨ p mit  =(s0,s1,...) Semantik von LTL:  ⊨ P gdw. P  L(s0)  ⊨ p gdw.  ⊭ p  ⊨ (p  q) gdw.  ⊨ p und  ⊨ q

15 LTL - Semantik  ⊨ Xp gdw. 1 ⊨ p
 ⊨ Fp gdw. j  0 für das gilt: j ⊨ p  ⊨ Gp gdw. j  0 gilt j ⊨ p  ⊨ (p U q) gdw. j  0 für das gilt: j ⊨ q und 0  k < j gilt: k ⊨ p Xp Fp Gp (p U q)

16 CTL Computation tree logic
 verzweigte Zeitstruktur Modelle lassen sich als unendlicher (Berechnungs-)Baum darstellen Syntaktisch eng mit LTL verbunden Restriktion: nur Paare temporaler Konnektoren Syntax: p::= P | (p  p) | p | AXp | EXp | AFp | EFp | AGp | EGp | A(p U p) | E(p U p)

17 CTL Umformungen: Semantik AFp = A(true U p) EFp = E(true U p)
AGp = E(true U p) EGp = A(true U p) Semantik Zeitstruktur M=(S,R,L) Aussagen auf Zuständen definiert

18 CTL - Semantik s0 ⊨ P gdw. P  L(s0) s0 ⊨ p gdw. s0 ⊭ p
s0 ⊨ (p  q) gdw. s0 ⊨ p und s0 ⊨ q s0 ⊨ AXp gdw. für alle Pfade (s0,s1,...) gilt: s1 ⊨ p s0 ⊨ EXp gdw. für mindestens einen Pfad (s0,s1,...) gilt: s1 ⊨ p s0 ⊨ A(p U q) gdw. für alle Pfade (s0,s1,...) gilt: j  0 für das gilt: j ⊨ q und 0  k < j gilt: k ⊨ p s0 ⊨ E(p U q) gdw. für mind. einen Pfad (s0,s1,...) gilt: j  0 für das gilt: j ⊨ q und 0  k < j gilt: k ⊨ p

19 CTL - Semantik AXp EXp A(p U q) E(p U q)
Die Bäume sind nicht auf 2 Ebenen beschränkt, sondern gehen unendlich lang weiter Ebenso muss jeder Knoten mind. einen Nachfolgeknoten besitzen.

20 CTL - Semantik AFp EFp AGp EGp
Die Bäume sind nicht auf 2 Ebenen beschränkt, sondern gehen unendlich lang weiter Ebenso muss jeder Knoten mind. einen Nachfolgeknoten besitzen.

21 CTL Model Checking Gegeben: Gesucht: Lösung: Markierungsalgorithmus
Spezifikation einer Eigenschaft in CTL Ein Modell eines Systems Gesucht: Erfüllt das Modell die Spezifikation Lösung: Markierungsalgorithmus Markierung aller Zuständen, in denen eine Teilformel wahr ist

22 Markierungsalgorithmus
Eingabe: Modell und Formel in CTL Ausgabe: Zustände, in denen die Formel wahr ist Basis: Minimale Menge an Operatoren: false, , , EX, AF, E( U ) Vorgehen: Formel den Operatoren entsprechend umformen Zerlegung der Formel in die Menge aller Teilformeln Sortierung der Teilformeln der Länge nach Anwendung eines der nachfolgenden Schritte auf jede Teilformel beginnend mit der kürzesten

23 Markierungsalgorithmus
Für jede Teilformel führe einen der folgenden Schritte aus: false: Markiere keinen Zustand. p: Markiere alle Zustände, für die gilt: pL(s). p: Markiere alle Zustände, die nicht mit p markiert sind. (p  q): Markiere alle Zustände, die mit p und mit q markiert sind. AFp: Markiere zuerst alle Zustände, die mit p markiert sind. Weiter markiere alle, deren direkte Nachfolger alle mit AFp markiert sind bis keine weiteren Änderungen mehr erfolgen. EXp: Markiere alle Zustände, die mindestens einen direkten Nachfolger besitzen, der bereits mit p markiert ist. E(p U q): Markiere zuerst alle Zustände, die mit q markiert sind. Weiter markiere alle, die mit p markiert sind und mindestens einen direkten Nachfolger besitzen, der mit E(p U q) markiert ist.

24 Anwendungsbeispiel Beispielsystem:
n1n2 n1c2 n1t2 t1c2 t1t2 t1n2 c1t2 c1n2 s0 s8 s5 s3 s4 s2 s6 s7 s1 Beispielsystem: Zwei Prozesse benötigen eine Ressource Vorgegebene Eigenschaften der Prozesse: Kein gemeinsamer Zugriff auf Ressource AG (c1  c2) Keiner soll nach Antrag auf Zugriff ewig warten AG(ti  AFci), i = 1,2 Jeder soll Zugriff beantragen können AG(ni  EXti), i = 1,2 Keine vorgegebene Reihenfolge

25 Anwendungsbeispiel Umformung: Zerlegung in Teilformeln und Sortieren:
AG(t1  AFc1) = AG(t1  AFc1) = E(true U (t1  AFc1)) = E(true U (t1  AFc1)) = E(false U (t1  AFc1)) Zerlegung in Teilformeln und Sortieren: c1, t1, false, false, AFc1, AFc1, (t1  AFc1), E(false U (t1  AFc1)), E(false U (t1  AFc1))

26 Anwendungsbeispiel: 8.: p = E(false U(t1  AFc1))
1a.: c1 1b.: t1 s0 5.: AFc1 8.: p n1n2 s1 s5 1b.: t1 4c.: AFc1 t1n2 n1t2 s2 s3 s8 s6 1a.: c1 4a.: AFc1 4b.: AFc1 4e.: AFc1 c1n2 t1t2 t1t2 n1c2 s4 s7 4d.: AFc1 c1t2 t1c2 26

27 Fixpunktcharakterisierung
temporale Operatoren als Fixpunkte berechnen Fixpunkt: f(p) = p Monotone Funktionale besitzen einen größten und einen kleinsten Fixpunkt. [Ta55] Monotone Funktion: x  y  f(x)  f(y) AFp = p  AX AFp (kleinster Fixpunkt) EGp = p  EX EGp (größter Fixpunkt) E(p U q) = q  (p  EX E(p U q)) Bei n Zuständen maximal n Iterationen  Markierungsalgorithmus terminiert immer

28 Theoretische Aspekte Entscheidbarkeit Ausdrucksstärke Komplexität
LTL und CTL basieren auf der Aussagenlogik => beide sind entscheidbar Ausdrucksstärke LTL und CTL sind nicht vergleichbar, die Ausdrucksmöglichkeiten bilden nur eine Schnittmenge Komplexität Markierungsalgorithmus: polynomielle Laufzeit

29 Zusammenfassung Temporale Logiken LTL und CTL Model Checking
Aussagen über zeitliche Veränderungen Verwendung unterschiedlicher Zeitmodelle Unterschiedliche Ausdrucksmöglichkeiten Model Checking System als Modell mit endlich vielen Zuständen Eigenschaft in temporaler Logik spezifiziert Automatisierte Prüfung


Herunterladen ppt "Temporale Logiken: LTL und CTL"

Ähnliche Präsentationen


Google-Anzeigen