1 / 29

Temporale Logiken: LTL und CTL

Seminar: Formale Spezifikation. Temporale Logiken: LTL und CTL. Thorsten Bruns. Inhalt. Motivation Grundlagen der Logik Aussagen- und Prädikatenlogik Entscheidbarkeit von Logiken Temporale Logiken LTL CTL Anwendung: CTL Model Checking Zusammenfassung. Motivation.

Download Presentation

Temporale Logiken: LTL und CTL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Inhalt • Motivation • Grundlagen der Logik • 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

  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: • 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

  6. Prädikatenlogik • Erweiterung der Aussagenlogik um: • Quantoren, Variablen xi , Funktionssymbole fj und Prädikatsymbole Pkmit 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

  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

  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

  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: • 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)

  20. CTL - Semantik AFp EFp AGp EGp

  21. CTL Model Checking • Gegeben: • 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 n1n2 t1n2 n1t2 c1n2 t1t2 t1t2 n1c2 t1c2 c1t2 s0 s5 s1 s8 s3 s2 s6 s4 s7 • Beispielsystem: • Zwei Prozesse benötigen eine Ressource • Vorgegebene Eigenschaften der Prozesse: • Kein gemeinsamer Zugriff auf RessourceAG (c1  c2) • Keiner soll nach Antrag auf Zugriff ewig warten AG(ti AFci), i = 1,2 • Jeder soll Zugriff beantragen könnenAG(ni EXti), i = 1,2 • Keine vorgegebene Reihenfolge

  25. Anwendungsbeispiel • Umformung: 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: 5.: AFc1 8.: p 1b.: t1 5.: AFc1 8.: p 8.: p 1b.: t1 1a.: c1 1b.: t1 5.: AFc1 4a.: AFc1 8.: p 8.: p 8.: p 8.: p 1a.: c1 1b.: t1 4a.: AFc1 8.: p 8.: p 8.: p = E(false U(t1  AFc1)) 7.: p = E(false U(t1  AFc1)) 6.: (t1  AFc1) 5.: AFc1 3.: false 4.: AFc1 2.: false 1b.: t1 1a.: c1 s0 n1n2 s1 s5 4c.: AFc1 t1n2 n1t2 s2 s3 s8 s6 4e.: AFc1 4b.: AFc1 n1c2 c1n2 t1t2 t1t2 s7 s4 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 • 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 • 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

More Related