Folien zu LTL

Werbung
Einführung in LTL
unter MAUDE
Maschine!es Beweisen
Einführung in LTL
Seit# 1
Verifikation eines Systems
SystemVerhalte%
Maschine!es Beweisen
SystemSpezifikatio%
Einführung in LTL
Seit# 2
Verifikation eines Systems
7 Model Checking
.7
SystemVerhalte%
SystemSpezifikatio%
Model„system
Checking
enjoys property”
Theorem Proving:
„Systems formula implies property formula.“
ür eine gegebene Kripke-Struktur M = (S, R, L) u
φ =⇒ ff ist zu berechne
Model Checking:
egebene temporal-logische
Formel
„Systems semantics is model of property formula.“
{s ∈ S | M, s |= f }
Maschine!es Beweisen
Einführung in LTL
Seit# 3
phen, ergänzt um logische Formeln. Kripkestrukturen sind
typisch für model checking-Verfahren.
Definition 5.29 Eine Kripke-Struktur ist ein Tupel M :=
(S, S0 , R, L), für das folgendes gilt:
5.5 Kripke-Strukturen
1. S endliche Zustandsmenge,
2. S0 ⊆ S Menge von Anfangszuständen,
PNL/2002-03
3. R ⊆ S × S links totale6 (Transitions-) Relation,
4. L : S → 2AP Abbildung, die jedem Zustand s eine Menge
L(s) ⊆ AP von aussagenlogischen atomaren Formeln
zuordnet (die in diesem Zustand gelten).
5. Ein Pfad oder eine Rechnung aus s ∈ S ist eine Folge
π = s0 , s1 , s2 , . . . mit s0 = s und ∀i ≥: R(si , si+1 )
Beispiel: L(3) = {¬Start, Close, ¬Heat, ¬Error} in der
Maschine!es Beweisen
Einführung in LTL
Seit# 4
Kripke-Struktur von Abb. 5.18.
Maschine!es Beweisen
Einführung in LTL
Seit# 5
Abbildung 5.18: Kripke-Struktur für das Mikrowellenofen-
Kapitel 5: Verifikation und Model Checking
5.6
Temporale Logik
Modallogik
Predikatenlogik
Temporallogik
Aussagenlogik
Beispiel 5.32 Spezifikation eines Aufzuges (Fragment)
Maschine!es Beweisen
Einführung in LTL
Seit# 6
I. Jede Anforderung des Aufzugs wird auch erfüllt.
Aussagenlogik
Beispiel 5.32 Spezifikation eines Aufzuges (Fragment)
I. Jede Anforderung des Aufzugs wird auch erfüllt.
II. Der Aufzug passiert keinen Stockwerk (SW) mit einer
nicht erfüllten Anforderung.
Beispiel für physikalisches Bewegungsgesetz: z(t) = − 12 gt2
(freier Fall des Aufzuges)
Maschine!es Beweisen
Einführung in LTL
Seit# 7
! > t . serv(n, t! ))
I.
∀t,
∀n(app(n,
t)
⇒
∃t
Beispiel 5.32 Spezifikation eines
Aufzuges (Frag-
ment)II.
5.6 Temporale !
Logik
"
∀t, ∀t! > t, ∀n
app(n, t) ∧ H(t! ) %= n ∧ ∃ttrav . t ≤ ttrav ≤ t! ∧ H(ttr
I. Jede Anforderung des Aufzugs wird auch erfüllt.
"
Die Punkte I und II in Prädikatenlogik:
II. Der Aufzug passiert keinen Stockwerk
⇒ ∃tserv . t(SW)
≤ tserv mit
≤ t! ∧einer
serv(n,
nicht
erf∀n(app(n,
üllten Anforderung.
I. ∀t,
t) ⇒ ∃t! > t . serv(n, t! ))
Dabei bedeuten
BeispielII.
für physikalisches Bewegungsgesetz: z(t) = − 12 gt2
!
H(t)
Position
des
Fahrstuhls
zur Zeit t,
"
(freier Fall des Aufzuges)
!
!
∀t, ∀t > t, ∀n
app(n, t) ∧ H(t ) %= n ∧ ∃ttrav . t ≤ ttrav ≤
app(n, t) offene Anforderung von Stockwerk n
zur Zeit t,
"
!
⇒
∃t
.
t
≤
t
≤
t
serv
serv
serv(n, t) Fahrstuhl bedient Stockwerk n
Dabei
bedeuten
Maschine!es
Beweisen
Einführung in LTL
Seit# 8
Temporale Logik für Informatik: Pnueli
serv(n, t) Fahrstuhl bedient Stockwerk n
serv(n, t) Fahrstuhl bedient Stockwerk n
Temporale Logik für Informatik: Pnueli
1977
Temporale Logik für die Informatik: Pnueli 1977:
Temporale
Logik
für Informatik:
Pnueli
Temporale
Logik
f
ür
Informatik:
Pnueli
Temporale
Logik für Informatik: Pnueli
1977
1977
1977 ∗
CT L : computation
logic, Emerson
Halpern 1986
Linear tree
Temporal
Logic:und
LTL
∗ computation
∗ : computation
CT
tree
logic,
Emerson
und Halpern
Halpern
1986
CT
treeEmerson
logic, Emerson
und
Halpern 1986
CTL
L∗:!p
:L
computation
tree
logic,
und
1986
irgendwann einmal gilt p
!p
irgendwann
einmal
gilt pp
!p !p
irgendwann
einmaleinmal
gilt
irgendwann
gilt p
p
pp
tt00
t0
p t
tt
t0
"p
von
jetzt
an giltp immer p
"p
gilt immer
"p von
von jetzt
jetzt an
t
"p von jetzt an gilt immer p
pp
pp
pp
tt00
tp11
pt 22
p
t0
t1
t2
PNL/2002-03
PNL/2002-03
t0
t1
PNL/2002-03
Maschine!es Beweisen
PNL/2002-03
p
p pp
t2
pp
p
p
p pp
p
p
p
pp
pp
t tn n tn+1
tn+1p
p
p
p
tn
tn
Einführung in LTL
Seit# 9
p
p
tn+1
tn+1
Kapitel 5: Verifikation und Model Checking
!"p bedeutet?
t0
5.6 Temporale Logik
295
!"p bedeutet?
t0
CT L∗ -Formeln
Dienen der Berschreibung von Eigenschaften des Berechnungsbaumes (computation tree). Dieses entsteht z.B. durch
Maschine!es Beweisen
Einführung in LTL
“Abwickeln” der Kripke-Struktur. CT L∗ -Formel enthalten
Seit# 10
CT L∗ -Formeln
Dienen der Berschreibung von Eigenschaften des Berec
nungsbaumes (computation tree). Dieses entsteht z.B. dur
Dienen der Berschreibung von Eigenschaften des Berech- ∗
“Abwickeln”
der Kripke-Struktur.
L -Formel enthalt
nungsbaumes (computation
tree). Dieses entsteht z.B.CT
durch
“Abwickeln” der Kripke-Struktur. CT L∗ -Formel enthalten
ab
ab
ab
bc
c
ab
bc
c
c
ab
bc
c
c
c
Abbildung 5.15: Abwicklung einer Kripke-Struktur
ab
bc
c
Pfad-Quantoren:
Maschine!es Beweisen
A “für alle Pfade”,
Einführung in LTL
Seit# 11
c
bc
ab
c
Dienen der Berschreibung von Eigenschaften des Berechnungsbaumes (computation tree).ab
Dieses entsteht z.B. durch
“Abwickeln” der Kripke-Struktur. CT L∗ -Formel enthalten
bc
c
c
c
∗
CT LAbbildung
-Formeln
5.15: Abwicklung einer Kripke-Struktur
ab
ab
Abbildung 5.15: Abwicklung einer Kripke-Struktur
Zustandsquantoren
Zustands- 5.6 Temporale Logik
bc
c
295
c
Pfad-Quantoren:
ab
!"p bedeutet?
bc
c
c
Dienen
der Berschreibung von Eigenschaften des BerechPfad-Quantoren:
A “für alle(computation
Pfade”,
nungsbaumes
tree).
Dieses entsteht z.B. durch
einer Kripke-Struktur
t Abbildung 5.15: Abwicklung
A “für alleder
Pfade”,
∗ -Formel enthalten
“Abwickeln”
Kripke-Struktur.
CT
L
Pfad-Quantoren:
E “es gibt ein Pfad”,
0
∗
CT Lein
-Formeln
E “es gibt
A Pfad”,
“für alle Pfade”,
E “es gibt ein Pfad”,
und temporale
Pfad- Quantoren:
Dienen Quantoren:
der temporale
Berschreibung
von Eigenschaften des Berechund
Quantoren:
undPfadquantoren
temporale
nungsbaumes (computation tree). Dieses entsteht z.B. durch
ab
“Abwickeln”
der Kripke-Struktur.
CT L∗ -Formel
Xp next
time : p gilt im zweitem
Zustandenthalten
des Pfades (vorher "),
Xp next time : p gilt im zweitem Zustand des Pfades (vorXp her
next"),
time : p gilt im zweitem Zustand des Pfades (vorPNL/2002-03
ab
abher "),
ab
bc
PNL/2002-03
PNL/2002-03
bc
c
c
c
ab
bc
c
c
c
Abbildung 5.15: Abwicklung einer Kripke-Struktur
Maschine!es Beweisen
bc
Pfad-Quantoren:
Einführung in LTL
ab
Seit# 12
c
c
E “es gibt ein Pfad”,
Pfad-
und temporale
Quantoren:
Pfadquantoren
Xp nextKapitel
time : p 5:
giltVerifikation
im zweitem und
Zustand
des Checking
Pfades (vorModel
her "), Kapitel 5: Verifikation und Model Checking
Kapitel
Kapitel5:5:Verifikation
Verifikationund
und Model
Model Checking
Checking
F p eventually,
PNL/2002-03in the future : p gilt in einem Zustand des
F p eventually, in the future : p gilt in einem Zustand des
Pfades
(vorher
!),ininthe
FFp pPfades
eventually,
eventually,
future: :ppgilt
giltin
in einem
einem Zustand
Zustand des
des
(vorher the
!),future
Pfades
Pfades(vorher
(vorher!),
Gp always, globally : p gilt!),
in allen Zuständen des Pfades
Gp always, globally : p gilt in allen Zuständen des Pfades
(vorher
"), globally
Gp
always,
Gp(vorher
always,
globally: :ppgilt
giltininallen
allenZust
Zuständen
änden des
des Pfades
Pfades
"),
(vorher
(vorher"),
"),
pU q until : es gibt einen Zustand auf dem Pfad, in dem q
pU q until : es gibt einen Zustand auf dem Pfad, in dem q
gilt
vor: diesem
Zustand
gilt immer
p. Pfad,
pU
until
esesgibt
einen
Zustand
auf
dem
in
dem
qq
pUqund
qgilt
until
:
gibt
einen
Zustand
auf
dem
Pfad,
in
dem
und vor diesem Zustand gilt immer p.
gilt
giltund
undvor
vordiesem
diesemZustand
Zustandgilt
giltimmer
immer p.
p.
p
p
p
pp
p
p
pp
Maschine!es Beweisen
p
p
pp
p
p
pp
p
p
pp
Einführung in LTL
p
p
pp
p
p
pp
p
p
pp
q
p
pp
Seit# 13
pRq release : Dual zu pU q. q gilt bis einschließlich des ersten
pRq
desersten
ersten
pRqrelease
release: Dual
: Dualzu
zupU
pUq.q.qqgilt
gilt bis
bis einschließlich
einschließlich des
q
qq
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
p
q
pRq release : Dual zu pU q. q gilt bis einschließlich des ersten
pRq release :Zustands,
Dual zu pU q.
gilt bisp einschließlich
inq dem
gilt oder q des
giltersten
immer.
Zustands, in dem p gilt oder q gilt immer.
q
q
q
q
q q
qq
qq
qq
q
q
q
q
q
p
p
q
qq
q q q
q q
qq
qq
qq
qq
q
q
q
Es gibt zwei Arten von CT L∗ -Formeln: Zustands-Formeln
Es gibt zwei
CT L∗ -Formeln:
Zustands-Formeln
und Pfad-Formeln.
DieArten
Syntaxvon
der Formeln
ist:
und Pfad-Formeln. Die Syntax der Formeln ist:
• Eine atomare Aussage p ∈ AP ist eine ZustandsFormel.
• Eine atomare Aussage p ∈ AP ist eine Zustands-
Formel.
• Sind f und
g Zustands-Formeln,
dann auch
Maschine!es
Beweisen
Einführung
in LTL ¬f , f ∨ g
und f ∧ g.
Seit# 14
• Sind f und g Zustands-Formeln, dann auch ¬f , f ∨ g
q
Formeln
definiert
durch:
2. sind,
M,sosist|=|=¬f
⇔
1
M, s %|= f1 .
3.
M, s |= f1 ∨ f2 ⇔ M, s |= f1 oder M, s |= f2 .
M,p s |= f1⇔∧ fp2 ∈ L(s).
⇔ M, s |= f1 und M, s |= f2 .
1. 4.M, s |=
Angenommen,
f%|=1 ,f .f∃π
Zustands2 =
M,¬fs1 |= Eg⇔1dass
s · · · . M, πund
|= g1g.1 , g2 Pfad2. 5.M, s |=
M, s ⇔
1
so
3. Formeln
∨|=
f2 Ag
⇔1 ist
M,|=
s⇔
|=definiert
f1 oder
M,sdurch:
s· |=
. π |= g1 .
6.M, s |=
M,f1ssind,
∀π =
· · f. 2M,
4. 7.M, s |=
f2 f ⇔ M, s ⇔
|= f1 und
f2 . M, s |= f .
M,f1π∧ |=
π =M,
s ·s·|=
· und
1
1
5.
M, s |= Eg1
⇔ ∃π = s · · · . M, π |= g1 .
M,Agπ1 |= ¬g⇔1 ∀π =⇔
6. 8.M, s |=
s · · · .M,
M, ππ|=%|=g1g. 1 .
1.
pπ∈s|=|=
L(s).
M,M,
gf11 . oder M, π |= g2 .
7. 9.
M, π M,
|=M,
f1π s|=|=g1p
⇔∨ gπ2 = s⇔
· ·⇔
· und
8. 10.
M, π M,
|=M,
¬g
⇔∧ 1gM,
%|= ⇔
g1 . M,M,
π1s|=|=g1¬f
π |=
2.
s %|g=1 fund
2 π⇔
1 . M, π |= g2 .
9. 11.
M, π M,
|= g1π∨|=
g2 Xg
⇔ M, π ⇔
|= g1 M,
oderπM,
π |=
1 |=
g1gf.21. oder M, s |= f2 .
1 ∨ f2
3.
M,
s
|=
f
⇔
M,
s
|=
1
10. M, π |= g1 ∧ g2 ⇔ M, π |= g1 und M, π |= g2 . k
π1s|=|=Ff⇔
g11 ∧M,
≥ 0s. |=
M,fπ1 und
|= g1M,
. s |= f2 .
4.
f2π1⇔|=⇔
11. 12.
M, π M,
|=M,
Xg
g1∃k
. M,
≥ g01=
π·k .|=
g1π. |= g1 .
12. 13.
M, π M,
|=M,
Fπ
g1s|=|=Gg
⇔1 1∃k ≥⇔
0 .⇔
M,∀k
π k ∃π
|=
.. M,
5.
Eg
s
·
·
M,
13. 14.
M, π M,
|= Gg
∀k ≥⇔
0 . M,∃k
π k |=
g01 .. M, π k |= g2 und für alle 0 ≤ j < k gilt M, π
1 |= g1⇔
π
U
g
≥
2
6.
M, s |= Ag
⇔ ∀π = s · · · . M, π |= g .
14. M, π |= g1 U g2 ⇔ 1∃k ≥ 0 . M, π k |= g2 und für alle 0 ≤ j < k1 gilt M, π j |=
g1 .
i %|=
15.
M,
π
|=
g
Rg
⇔
∀j
≥
0,
wenn
f
ür
jeden
i
<
j
M,
π
g1 gilt, dann M
1
2
i
j
7.
M, π |= f
⇔ π = s · · · und M, s |= f .
Struktur M .
15.
M, π |= g1 Rg2
8.
9.
10.
11.
12.
13.
14.
15.
⇔1 ∀j ≥ 0, wenn für jeden i < j M, π %|= g1 gilt,1dann M, π |= g2 .
M, π |= ¬g1
M, π |= g1 ∨ g2
M, π |= g1 ∧ g2
M, π |= Xg1
M, π |= F g1
M, π |= Gg1
Maschine!es Beweisen
M,
π |= g1 U g2
M, π |= g1 Rg2
PNL/2002-03
PNL/2002-03
⇔
⇔
⇔
⇔
⇔
⇔
⇔
⇔
M, π %|= g1 .
M, π |= g1 oder M, π |= g2 .
M, π |= g1 und M, π |= g2 .
M, π 1 |= g1 .
∃k ≥ 0 . M, π k |= g1 .
∀k ≥ 0 . M, π k |= g1 .
Einführung in LTL
15
∃k ≥ 0 . M, π k |= g2 undSeit#
für
alle 0 ≤ j < k gilt
∀j ≥ 0, wenn für jeden i < j M, π i %|= g1 gilt, d
5.7 Model
Checking
5.4 Model
Checking
5.7
Model Checking
Für eine gegebene Kripke-Struktur M = (S, R, L) und eine
gegebene temporal-logische Formel f ist zu berechnen:
{s ∈ S | M, s |= f }
M ist hier als Graph explizit gegeben.
5.7.1
Algorithmen
Erweitere L(s) für alle s ∈ S schrittweise zu label(s), die
Menge der Teilformeln von f , die in s wahr sind.
Maschine!es Beweisen
Einführung in LTL
Seit# 16
in Schritt i: alle Teilformeln mit i − 1 geschachtelten
CT L-Operatoren sind behandelt.
Herunterladen