Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation."—  Präsentation transkript:

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

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

3 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 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))

5 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 6 Prädikatenlogik Erweiterung der Aussagenlogik um: –Quantoren, Variablen x i, Funktionssymbole f j und Prädikatsymbole P k mit i,j,k=1,2,3,... Termbildung aus Variablen und Funktionen –t ::= x i | f (t 1,...,t n ), i = 1,2,3,... Bildung prädikatenlogischer Formeln –F ::= (F F)|(F F)| F|(F F)|(F F)| xF | xF | P(t 1...t k ) –Unterscheidung: freie und gebundene Variablen

7 7 Prädikatenlogik - Semantik Struktur A=(U A, I A ) –U A : Grundmenge, I A : Zuordnung Definition des Wertes eines Terms A(t): –t = x : A(t) = x A –t = f (t 1,...,t n ) : A(t)=f A (A(t 1 ),...,A(t n )) Definition des Wahrheitswerts einer Formel F: –F=P(t 1,...,t k ): A(F)=1, falls (A(t 1 ),...,A(t k )) P A, 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 U A : A [x/d] (G)=1, sonst 0 –F= xG: A(F)=1, falls für ein d U A : A [x/d] (G)=1, sonst 0

8 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 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 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 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 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 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 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 =(s 0,s 1,...) Semantik von LTL: – P gdw. P L(s 0 ) – p gdw. p – (p q) gdw. p und q

15 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 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 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 18 CTL - Semantik –s 0 P gdw. P L(s 0 ) –s 0 p gdw. s 0 p –s 0 (p q) gdw. s 0 p und s 0 q –s 0 AXp gdw. für alle Pfade (s 0,s 1,...) gilt: s 1 p –s 0 EXp gdw. für mindestens einen Pfad (s 0,s 1,...) gilt: s 1 p –s 0 A(p U q) gdw. für alle Pfade (s 0,s 1,...) gilt: j 0 für das gilt: j q und 0 k < j gilt: k p –s 0 E(p U q) gdw. für mind. einen Pfad (s 0,s 1,...) gilt: j 0 für das gilt: j q und 0 k < j gilt: k p

19 19 CTL - Semantik AXpEXp A(p U q)E(p U q)

20 20 CTL - Semantik AFpEFp AGpEGp

21 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 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 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 24 Anwendungsbeispiel Beispielsystem: –Zwei Prozesse benötigen eine Ressource Vorgegebene Eigenschaften der Prozesse: –Kein gemeinsamer Zugriff auf Ressource AG (c 1 c 2 ) –Keiner soll nach Antrag auf Zugriff ewig warten AG(t i AFc i ), i = 1,2 –Jeder soll Zugriff beantragen können AG(n i EXt i ), i = 1,2 –Keine vorgegebene Reihenfolge n1n2n1n2 n1c2n1c2 n1t2n1t2 t1c2t1c2 t1t2t1t2 t1n2t1n2 t1t2t1t2 c1t2c1t2 c1n2c1n2 s0s0 s8s8 s5s5 s3s3 s4s4 s2s2 s6s6 s7s7 s1s1

25 25 Anwendungsbeispiel Umformung: AG(t 1 AFc 1 ) = AG( t 1 AFc 1 ) = E(true U ( t 1 AFc 1 )) = E( false U (t 1 AFc 1 )) Zerlegung in Teilformeln und Sortieren: c 1, t 1, false, false, AFc 1, AFc 1, (t 1 AFc 1 ), E( false U (t 1 AFc 1 )), E( false U (t 1 AFc 1 ))

26 1a.: c 1 Anwendungsbeispiel: 1b.: t 1 1a.: c 1 4a.: AFc 1 4b.: AFc 1 4e.: AFc 1 4c.: AFc 1 4d.: AFc 1 s1s1 s3s3 s4s4 s5s5 s8s8 s6s6 s7s7 s2s2 s0s0 5.: AFc 1 1b.: t 1 8.: p 26 n1n2n1n2 t1n2t1n2 n1t2n1t2 c1n2c1n2 t1t2t1t2 c1t2c1t2 t1t2t1t2 n1c2n1c2 t1c2t1c2 2.: false 3.: false 4.: AFc 1 5.: AFc 1 6.: (t 1 AFc 1 )7.: p = E( false U(t 1 AFc 1 ))8.: p = E( false U(t 1 AFc 1 ))

27 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 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 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


Herunterladen ppt "Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation."

Ähnliche Präsentationen


Google-Anzeigen