Transcript
Temporale Logik und Modelchecking
Seminar Logik für Informatiker
Olaf Böttcher
2/14
Einführung
Quelle: E.Kindler: Vorlesung Modelchecking
3/14
Verifikation Die Verfikationsmethode M ╞ Φ Was ist M ? Was ist Φ ? Was ist ╞ ?
4/14
Was ist M ?
a,b
a,b
b,c
a,b b,c
c
c
c
State Transition Graph
Infinite Computation Tree
c
5/14
Kripkestrukturen Eine Kripkestruktur besteht aus z einer Zustandsmenge, z mit ausgezeichneten Anfangszuständen, z einer (totalen) Übergangsrelation z einer Beschriftung der Zustände mit einer Menge von atomaren Aussagen.
6/14
Was ist Φ ?
• Beschreibt das gewünschte Verhalten des •
Systems in einer Spezifikationssprache Temporale Logik:
• Zukünftige Zustände von Variablen • Zeit: • Diskret oder stetig • Verzweigend oder linear
7/14
CTL Semantik Es existiert ein Pfad, auf dem immer φ gilt. EG φ
8/14
CTL Semantik Auf allen Pfaden gibt es einen Zustand in dem φ gilt. AF φ
9/14
CTL Semantik Es gibt einen erreichbaren Zustand in dem ψ gilt, und bis dahin φ gilt. E[φ U ψ ]
10/14
CTL Syntax/Semantik z
Quantor:
• Operator:
A – Es gilt für alle Pfade E – Es existiert ein Pfad F – „some future state“ G – „generally“ X – „next State“ U – „until“ R – „release“
11/14
Was ist ╞ ? M,s ╞ Φ Modelchecking Wir ermitteln induktiv über den Aufbau der CTL Formel die Menge der Zustände, in denen die Formel gilt: z atomare Aussagen z temporale Operatoren z boolesche Operatoren z
12/14
Beispiel: Mutual Exclusion s0
n1,n2
s1
s2
t1,n2
c1,n2
n1,t2 s5 s3
s4
c1,t2
t1,t2
t1,t2 s8
n1,c2 t1,c2 s7
s6
13/14
Äquivalenzen z z
z
CTL Modelchecking Jede CTL Formel kann durch die Terme ¬,∨, EX, EU und EG dargestellt werden Bsp.: ⌐AF φ ≡ EG ⌐φ ⌐EF φ ≡ AG ⌐φ
14/14
Zusammenfassung z
z z
Modelchecking ermöglicht, die Modellierung eines Systems daraufhin zu überprüfen, ob sie bestimmte Eigenschaften erfüllt. Automatisierte Verifikation Fehleranalyse optimiert