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

Preview:

Citation preview

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

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}, 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

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

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

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

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

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

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

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

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

Recommended