temporale logiken: ltl und ctl thorsten bruns seminar: formale spezifikation

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

Upload: gisilbert-stotz

Post on 05-Apr-2015

106 views

Category:

Documents


1 download

TRANSCRIPT

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

Temporale Logiken:LTL und CTL

Thorsten Bruns

Seminar: Formale Spezifikation

Page 2: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

2

Inhalt

• Motivation• Grundlagen der Logik

– Aussagen- und Prädikatenlogik– Entscheidbarkeit von Logiken

• Temporale Logiken– LTL– CTL– Anwendung: CTL Model Checking

• Zusammenfassung

Page 3: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 4: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 5: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

5

Aussagenlogik

• Semantik:– Belegung: A : D {0,1}, D: atomare Formeln– Erweiterung der Belegung: Â : E {0,1}, ED– Für alle PD 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

Page 6: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 7: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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 dUA : A[x/d](G)=1, sonst 0– F=xG: A(F)=1, falls für ein dUA : A[x/d](G)=1, sonst 0

Page 8: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 9: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 10: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 11: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 12: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

12

Semantik von Zeitmodellen

• Modellierung diskreter Systeme erfordert diskrete Zeitmodellierung– Zeit als Menge von Zuständen S– Zeitliche Ordnung über den Zuständen RSS– Rahmen = (S, R)

• Lineare Zeitstruktur– Eindeutige Reihenfolge der Zustände

• Verzweigte Zeitstruktur– Baumordnung über den Zuständen

Page 13: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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 = Fp

Page 14: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 15: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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)

Page 16: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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)

Page 17: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 18: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 19: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

19

CTL - Semantik

AXp EXp

A(p U q) E(p U q)

Page 20: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

20

CTL - Semantik

AFp EFp

AGp EGp

Page 21: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 22: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 23: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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: pL(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.

Page 24: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

24

Anwendungsbeispiel

• 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

n1n2

n1c2

n1t2

t1c2

t1t2

t1n2

t1t2

c1t2

c1n2

s0

s8

s5

s3

s4

s2 s6

s7

s1

Page 25: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 26: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

1a.: c1Anwendungsbeispiel:

1b.: t1

1b.: t11b.: t1

1b.: t1

1a.: c1

1a.: c1

4a.: AFc1

4a.: AFc1

4b.: AFc14e.: AFc1

4c.: AFc1

4d.: AFc1

s1

s3

s4

s5

s8 s6

s7

s2

s0

5.: AFc1

5.: AFc1

5.: AFc1

1b.: t1

8.: p

8.: p

8.: p

8.: p

8.: p 8.: p

8.: p

8.: p8.: p

26

n1n2

t1n2 n1t2

c1n2 t1t2

c1t2

t1t2 n1c2

t1c2

2.: false3.: false4.: AFc15.: AFc16.: (t1 AFc1)7.: p = E(false U(t1 AFc1))8.: p = E(false U(t1 AFc1))

Page 27: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 28: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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

Page 29: Temporale Logiken: LTL und CTL Thorsten Bruns Seminar: Formale Spezifikation

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