Temporale Logiken: LTL und CTL

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Deduktive Datenbanken
LTL - Modellüberprüfung
Daniel Neumann Seminar Systementwurf Wintersemester 2006/07 Zustandsautomaten/ Kripke-Strukturen Daniel Neumann
Frame-Logik Eine Einführung Andreas Glausch.
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Eingebettete Systeme Qualität und Produktivität
Bounded Model Checking II
Zusammenfassung der Vorwoche
Default Logiken Zhao Li
Organisatorisches Klausur für Übungsschein (Anfang Januar)
Hauptseminar Modellüberprüfung Kathrin Ott
Seminar Modellüberprüfung
Marco Barz Seminar über Algorithmen SoSe2007
Syntax der Aussagenlogik
Verifizieren versus Berechnen
Algorithmen und Komplexität
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
1 Computergestützte Verifikation Symbolisches Model Checking 4.1 CTL Model Checking mit Binary Decision Diagrams (1. Systeme 2. Spezifikationen.
1 Computergestützte Verifikation Teil II Infinite State Systems.
Computergestützte Verifikation
1 Computergestützte Verifikation Model Checking für finite state systems explizit:symbolisch: 3.1: Tiefensuche 3.2: LTL-Model Checking 3.3:
Nebenläufigkeit Teil I
Java: Objektorientierte Programmierung
Monadische Logik 2.Ordnung (MSO)
BCD Ripple Carry Adder von Enrico Billich.
Algorithmentheorie 04 –Hashing
WS 03/04 Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Geometrisches Divide and Conquer
Seminar parallele Programmierung SS 2003
Symbolisches Model Checking mit Binary Decision Diagrams
handlungsorientierte Zugänge zur Algebra
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
§14 Basis und Dimension (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
§14 Basis und Dimension  (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
Isabelle/HOL ( Kripke Structures & Model Checking ) Ying Wang, Nelli Bärsch, Bartosz Rynarzewski,
Spezifikation von Anforderungen
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Polynome und schnelle Fourier-Transformation
Vorbesprechung Serie 9 Ax(ExR(x) Q(x)) wird identifiziert mit Ax(EzR(z) Q(x)) Skript S.101 & 102: ~AxP(x) Ex~P(x) ~ExP(x) Ax~P(x) Ax(P(x)/\Q(x)) AxP(x)
2.4 Rekursion Klassifikation und Beispiele
Optimierungstechniken in modernen Compilern
Analyseprodukte numerischer Modelle
Vorlesung Automatisierungsprojekte Seite 6/1
Arne Vater Wintersemester 2006/ Vorlesung

Computergestützte Verifikation
1 Computergestützte Verifikation Binary Decision Diagrams (BDD) Inhalt: Die Datenstruktur BDD Operationen auf BDD CTL Model.
Prüfung auf Serialisierbarkeit (3)
Seminarleiter-Zuordnung (S1-S8)
Analyse der Laufzeit von Algorithmen
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
? definierende Gleichungen  gültige Gleichungen ?
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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)

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

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

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.

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.

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

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

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.

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

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

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

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

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

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