Académique Documents
Professionnel Documents
Culture Documents
Motivations
But : modeliser (puis verifier) le comportement dynamique dun
syst`eme.
Plusieurs langages :
I LTL : Linear time temporal logic
I CTL : Computation tree logic
?
I CTL : combine LTL et CTL
Nous nous restreignons dans ce cours aux formules CTL.
2 / 34
CTL : syntaxe
V un ensemble denombrable de variables propositionnelles.
C ensemble fini de connecteurs propositionnels : C = {, , , , }
T ensemble fini de connecteurs temporelles : T = {X, F, G, U, A, E}
V CTL
si 1 , 2 CTL, alors
1 , (1 2 ), (1 2 ), (1 2 ), (1 2 ) CTL
si 1 , 2 CTL, alors
AX, EX, AF, EF, AG, EG, A(1 U2 ), E(1 U2 ) CTL
Logiques temporelles & Verification de mod`ele
3 / 34
Definition
q0
chaud, ok
q2
q1
erreur
ok
4 / 34
chaud, ok
= s0 , s1 , s2 , . . .
telle que (si , si+1 ) R pour tout i > 0.
Exemple :
q2
q1
erreur
ok
1 = q0 , q1 , q0 , q1 , . . .
2 = q0 , q1 , q2 , q0 , . . .
3 = q0 , q1 , q2 , q2 , q2 . . .
Logiques temporelles & Verification de mod`ele
5 / 34
Semantique de CTL
Soit K une structure de Kripke, s un e tat et une formule de
CTL.
K, s |= : a` letat s, est vraie
Definition : K satisfait (K |= ) ssi K, q0 |= .
Definition de K, s |= :
K, s |= p ssi p L(s)
K, s |= ssi K, s 6|=
K, s |= (1 2 ) ssi K, s |= 1 et K, s |= 2
6 / 34
Semantique de CTL
K, s |= AX ssi pour tout s 0 tel que (s, s 0 ) R, K, s 0 |=
K, s |= EX ssi il existe s 0 tel que (s, s 0 ) R et K, s 0 |=
K, s |= AF ssi pour tout chemin tel que (0) = s,
il existe j tel que K, (j) |=
K, s |= EF ssi il existe un chemin tel que (0) = s
et il existe j tel que K, (j) |=
K, s |= AG ssi pour tout chemin tel que (0) = s,
pour tout j, K, (j) |=
K, s |= EG ssi il existe un chemin tel que (0) = s
et pour tout j, K, (j) |=
7 / 34
Semantique de CTL
8 / 34
q0
chaud, ok
q1
q0
q2
q1
q0
q2
..
.
..
.
..
.
q2
q1
erreur
ok
9 / 34
CTL
Semantics: Intuitions (Cont.)
uitions
(Cont.)
borescent
Logique du temps arborescent
until
q arborescent
CTL
:AFLogique
arborescent
Logique
du
temps
rborescent
AX P P
next
Pdu
AG Ptemps
A[next
PP
finally
globally
PP]
P UAFq
P
nextfinally
P
P
until q
P globally
P
tuitions (Cont.)
rborescent
AX
EFPP
AXAF
next
P P
next P
P until q
Logique du temps
AX
E[ P U
EFqP
P]arbore
EX
A[ PEG
AF
U PP
q]
AGPP
AX
P Puntil
A[
UAG
qq
]
c
Artale finally PP
P!Alessandro
http://www.inf.unibz.it/ artale/FM/fm.htm.
A[ P U qP]
globally
Logiques temporelles
EX P
AX
EX
EF
PP P
E[ PEF
UP
q]
A[PPUUEG
E[
qq]
P]
11 / 17
EG P
EXPP
AF
EX P
E[AG
P UP q ]
c
essandro Artale
!Alessandro
Artale
artale/FM/fm.htm.
nibz.it/
http://www.inf.unibz.it/artale/FM/fm.htm.
c14/37
!Alessandro
Artale
lessandro Artale
Alessandro Artale (FM First Semester 2007/2008) p.
Alessandro Artale (FM Firs
http://www.inf.unibz.it/artale/FM/fm.htm.
unibz.it/artale/FM/fm.htm.
ques temporelles
ques temporelles
c
Alessandro
Artale
11 / 17
Logiques temporelles
artale/FM/fm.htm.
http://www.inf.unibz.it/
Logiques
11 / 17 temporelles
11 / 17
10 / 34
CTL
Semantics: Intuitions (Cont.)
uitions
(Cont.)
borescent
Logique du temps arborescent
borescent
until
q arborescent
CTL
:AFPLogique
arborescent
AX P P
next
Pdu
Logique
du temps
rborescent
AG Ptemps
A[next
until
q
PP
finally
globally
PP]
P UAFq
next
P
P
nextfinally
P
P
until q
P globally
P
tuitions (Cont.)
AX
rborescent
EFPP
AX
P
AXAF
next
P P
next P
P until q
AX
Logique du temps
E[ P U
EFqP
P]arbore
EX
A[ PEG
AF
UP
q]
AGPP
A[ P
U Pq
]
AX P
c
P Puntil
!Alessandro
Artale
A[
UAG
qq
]
P
finally
P
http://www.inf.unibz.it/artale/FM/fm.htm.
A[ P U qP]
globally
Logiques temporelles
EX P
EX
AX
EX
PPP P
EF
E[ PEF
UP
q]
E[
A[P
]
qqq]
PPUUUEG
P]
11 / 17
EG P
EXPP
AF
EX P
E[AG
P UP q ]
c
essandro Artale
!Alessandro
Artale
artale/FM/fm.htm.
nibz.it/
http://www.inf.unibz.it/artale/FM/fm.htm.
ssandro
Artale
c14/37
!Alessandro
Artale
lessandro
Artale
Alessandro Artale (FM First Semester 2007/2008) p.
Alessandro Artale (FM Firs
artale/FM/fm.htm.
ibz.it/artale/FM/fm.htm.
http://www.inf.unibz.it/artale/FM/fm.htm.
unibz.it/
ques temporelles
ques
temporelles
ues
temporelles
Alessandro
Semester2007/2008)
2007/2008) p.p.14/37
14/37
AlessandroArtale
Artale (FM
(FM First Semester
c
Alessandro
Artale
11 / 17
Logiques temporelles
http://www.inf.unibz.it/artale/FM/fm.htm.
Logiques
1111/ 17
/ 17 temporelles
Logiques temporelles & Verification de mod`ele
11 / 17
10 / 34
CTL
Semantics: Intuitions (Cont.)
uitions
(Cont.)
borescent
Logique du temps arborescent
borescent
until
q arborescent
CTL
:AF
Logique
arborescent
AX
next
Pdu
next
Logique
du temps
rborescent
AF
AG Ptemps
A[
until
finally
globally
P
AX P
PP UAF
next
P
AG
P P
A[
Uq
qP]]
PPPP
P qP
nextfinally
P
P
until q
P globally
P
tuitions (Cont.)
AX
rborescent
EFPP
AX
EF
PP
AXAF
next
P P
next P
P until q
AXqPP]arbore
Logique du temps
E[
E[PP UEF
U q]
EX
EG
A[ PEG
AF
U PP
q]
AGP
EX
PP
A[ P
UP
q]
AX P
c
P Puntil
!Alessandro
Artale
A[
UAG
qq
]
P!Alessandro
finally
P
c
Artale
http://www.inf.unibz.it/
artale/FM/fm.htm.
A[ P U qP]
globally
Logiques temporelles
Logiques temporelles
EX P
EX
AX
EX
PPP P
EF
E[ PEF
UP
q]
E[
A[P
]
qqq]
PPUUUEG
P]
11 / 17
11 / 17
EG P
EXPP
AF
EX P
E[AG
P UP q ]
c
essandro Artale
!Alessandro
Artale
artale/FM/fm.htm.
nibz.it/
http://www.inf.unibz.it/artale/FM/fm.htm.
ssandro
Artale
c14/37
!Alessandro
Artale
lessandro
Artale
Alessandro Artale (FM First Semester 2007/2008) p.
Alessandro Artale (FM Firs
artale/FM/fm.htm.
ibz.it/artale/FM/fm.htm.
http://www.inf.unibz.it/artale/FM/fm.htm.
unibz.it/
ques temporelles
ques
temporelles
ues
temporelles
Alessandro
Semester2007/2008)
2007/2008) p.p.14/37
14/37
AlessandroArtale
Artale (FM
(FM First Semester
c
Alessandro
Artale
11 / 17
Logiques temporelles
http://www.inf.unibz.it/artale/FM/fm.htm.
Logiques
1111/ 17
/ 17 temporelles
Logiques temporelles & Verification de mod`ele
11 / 17
10 / 34
CTL
Semantics: Intuitions (Cont.)
uitions
(Cont.)
borescent
Logique
du
borescent
Logique
du temps
temps arborescent
arborescent
until
q
CTL
:AF
Logique
arborescent
AX
next
Pdu
next
Logique
du temps
arborescent
rborescent
AF
AG Ptemps
P
A[
until
q
finally
globally
P
AX
PP UAF
next
P
P
P
next
AG
P
A[
Uq
qP]]
PPPP
finally
globally
P
P
nextfinally
P
P
until q P
P globally
P
tuitions (Cont.)
AX
rborescent
EFPP
AX
EF
PP
AXAF
next
P P
next P
P until q
AX
Logique du temps
arbore
E[
EF
PP]]
AX
E[PP U
U qqP
EX
EG
A[ PEG
AF
U PP
q]
AG
EX
AF
AGP
PP
A[ P
UP
qP]
AXPP
c
P Puntil
!Alessandro
Artale
A[
UAG
qq
]
P!Alessandro
finally
P
c
Artale
http://www.inf.unibz.it/
artale/FM/fm.htm.
A[ P U qP]
globally
Logiques temporelles
Logiques temporelles
EX P
EX
AX
EX
PPP P
EF
E[ PEF
UP
qP ]
EF
E[
A[P
]
qqq]
PPUUUEG
P]
11 / 17
11 / 17
EG
P
EG
EXP
AF
PP
EX P
P
EX
E[AG
P UP q ]
cc
essandro Artale
!Alessandro
Artale
!Alessandro
Artale
artale/FM/fm.htm.
nibz.it/
http://www.inf.unibz.it/
ssandro
Artale
c14/37
!Alessandro
Artale
http://www.inf.unibz.it/artale/FM/fm.htm.
artale/FM/fm.htm.
lessandro
Artale
Alessandro Artale (FM First Semester 2007/2008) p.
Alessandro Artale (FM Firs
Alessandro Artale (FM Firs
artale/FM/fm.htm.
ibz.it/artale/FM/fm.htm.
http://www.inf.unibz.it/artale/FM/fm.htm.
unibz.it/
ques temporelles
ques
temporelles
ues
temporelles
Alessandro
Semester2007/2008)
2007/2008) p.p.14/37
14/37
AlessandroArtale
Artale (FM
(FM First Semester
c
Alessandro
Artale
11 / 17
Logiques
Logiques temporelles
temporelles
http://www.inf.unibz.it/artale/FM/fm.htm.
Logiques
1111/ 17
/ 17 temporelles
Logiques temporelles & Verification de mod`ele
11 / 17
10 / 34
CTL
Semantics: Intuitions (Cont.)
uitions
(Cont.)
borescent
Logique
du
borescent
Logique
du temps
temps arborescent
arborescent
until
q
CTL
:AF
Logique
arborescent
AX
next
Pdu
next
Logique
du temps
arborescent
rborescent
AF
AG Ptemps
P
A[
until
q
AF
finally
globally
P
AX
PP UAF
next
P
P
P
next
AG
P
A[
Uq
qP
PPPP
P]]
finally
globally
P
P
nextfinally
P
P
until q P
P globally
P
tuitions (Cont.)
AX
rborescent
EFPP
AX
EF
PP
AXAF
next
P P
next P
P until q
AX
Logique du temps
arbore
E[
EF
PP]]
AX
EF
E[PP U
U qqP
P
EX
EG
A[ PEG
AF
U PP
q]
AG
EX
AF
AGP
PP
A[ P
UP
qP]
AXPP
c
P Puntil
!Alessandro
Artale
A[
UAG
qq
]
P!Alessandro
finally
P
c
Artale
http://www.inf.unibz.it/
artale/FM/fm.htm.
A[ P U qP]
globally
Logiques temporelles
Logiques temporelles
EX P
EX
AX
EX
PPP P
EF
E[ PEF
UP
qP ]
EF
E[
A[P
]
qqq]
PPUUUEG
P]
11 / 17
11 / 17
EG
P
EG
EXP
AF
PP
EX P
P
EX
E[AG
P UP q ]
cc
essandro Artale
!Alessandro
Artale
!Alessandro
Artale
artale/FM/fm.htm.
nibz.it/
http://www.inf.unibz.it/
ssandro
Artale
c14/37
!Alessandro
Artale
http://www.inf.unibz.it/artale/FM/fm.htm.
artale/FM/fm.htm.
lessandro
Artale
Alessandro Artale (FM First Semester 2007/2008) p.
Alessandro Artale (FM Firs
Alessandro Artale (FM Firs
artale/FM/fm.htm.
ibz.it/artale/FM/fm.htm.
http://www.inf.unibz.it/artale/FM/fm.htm.
unibz.it/
ques temporelles
ques
temporelles
ues
temporelles
Alessandro
Semester2007/2008)
2007/2008) p.p.14/37
14/37
AlessandroArtale
Artale (FM
(FM First Semester
c
Alessandro
Artale
11 / 17
Logiques
Logiques temporelles
temporelles
http://www.inf.unibz.it/artale/FM/fm.htm.
Logiques
1111/ 17
/ 17 temporelles
Logiques temporelles & Verification de mod`ele
11 / 17
10 / 34
CTL
Semantics: Intuitions (Cont.)
uitions
(Cont.)
uitions
(Cont.)
borescent
Logique
du
borescent
Logique
du temps
temps arborescent
arborescent
until
q
AX
CTL
:
Logique
du
temps
arborescent
next
P
next
Logique
du
temps
arborescent
rborescent
AF
AG
P
A[
until
q
AF
P
finally
globally
P
AX
PP UAF
P P
nextAF
P finally
next
AG P
P P
A[
Uq
qP
PPP
P]]
globally
P
borescent
nextfinally
P
next P
until q P
P globally
P
P until q
tuitions (Cont.)
AX
rborescent
EFPP
AX
EF
PP
AXAF
next
P
AX P P
next P
P until q
EX
AX
EG
E[
EF
A[ PEG
AF
U PP
q]
AG
PP]]
AX
EX
EF
AF
AGP
PP
E[PP U
U qqP
P
P
A[ P
UP
qP]
AX
P
A[
U
c
P Puntil
!Alessandro
Artale
A[
UAG
qq
]
P qP]
P!Alessandro
finally P
globally
c
Artale
http://www.inf.unibz.it/
artale/FM/fm.htm.
A[http://www.inf.unibz.it/
U
q
]
P
Alessandro Artale (FM First Semester 2007/2008) p. 14/37
artale/FM/fm.htm.
Logiques temporelles
Logiques temporelles
EX P
EX
AX
EX
PPP P
EX EF
E[ PEF
UP
qP ]
EF
E[
]]
A[P
E[
qqq]
PPUUUEG
E[ P U q ]P
11 / 17
11 / 17
EG
P
EG
EXP
AF
PP
EX P
P
EX
E[AG
P UP q ]
cc
essandro Artale
!Alessandro
Artale
!Alessandro
Artale
artale/FM/fm.htm.
nibz.it/
http://www.inf.unibz.it/
ssandro
Artale
c14/37
!Alessandro
Artale
http://www.inf.unibz.it/artale/FM/fm.htm.
artale/FM/fm.htm.
lessandro
Artale
Alessandro Artale (FM First Semester 2007/2008) p.
Alessandro Artale (FM Firs
Alessandro Artale (FM Firs
artale/FM/fm.htm.
essandroArtale
ibz.it/
artale/FM/fm.htm.
http://www.inf.unibz.it/artale/FM/fm.htm.
unibz.it/
Alessandro
Semester2007/2008)
2007/2008) p.p.14/37
14/37
Alessandro Artale (FM First Semester 2007/2008) p. 14/37
AlessandroArtale
Artale (FM
(FM First Semester
nibz.it/artale/FM/fm.htm.
Alessandro Artale (FM First Semester 2007/2008)
Alessandro
p.c 14/37
Artale
ques temporelles
11 / 17
Logiques
Logiques temporelles
temporelles
artale/FM/fm.htm.
http://www.inf.unibz.it/
Logiques
11 / 17
ques
temporelles
1111/ 17
ues
temporelles
/ 17 temporelles
ques temporelles
11 / 17
10 / 34
CTL
Semantics: Intuitions (Cont.)
uitions
(Cont.)
uitions
(Cont.)
borescent
Logique
du
borescent
Logique
du temps
temps arborescent
arborescent
until
q
AX
CTL
:
Logique
du
temps
arborescent
next
P
next
Logique
du
temps
arborescent
rborescent
AF
AG
P
A[
until
q
AF
P
finally
globally
P
AX
PP UAF
P P
nextAF
P finally
next
AG P
P P
A[
Uq
qP
PPP
P]]
globally
P
borescent
nextfinally
P
next P
until q P
P globally
P
P until q
tuitions (Cont.)
ntuitions (Cont.)
AX
rborescent
EFPP
AX
EF
PP
arborescent
AXAF
next
P P
P
AX P P
next
next P
EX
AX
EG
E[
EF
A[ PEG
AF
U PP
q]
AG
PP]]
AX
EX
EF
AF
AGP
PP
E[PP U
U qqP
P
P
A[ P
UP
qP]
AX
P
A[
U
c
P Puntil
!Alessandro
Artale
A[
UAG
qq
]
P qP]
Pc
finally P
globally
Artale
http://www.inf.unibz.it/
artale/FM/fm.htm.
A[http://www.inf.unibz.it/
q ]q!Alessandro
P Uuntil
Alessandro Artale (FM First Semester 2007/2008) p. 14/37
artale/FM/fm.htm.
Logiques temporelles
Logiques temporelles
EX P
EX
AX
EX
P
PPP
P
AX
EX EF
P until q
E[ PEF
UP
qP ]
EF
E[
]]
A[
E[
qqqq]
PPPUUUEG
P
A[
U
E[ P U q ]P]
11 / 17
11 / 17
EG
P
EG
EXP
AF
PP
EX P
P
EX
E[AG
P UP q ]
cc
essandro Artale
!Alessandro
Artale
!Alessandro
Artale
artale/FM/fm.htm.
nibz.it/
http://www.inf.unibz.it/
ssandro
Artale
c14/37
!Alessandro
Artale
http://www.inf.unibz.it/artale/FM/fm.htm.
artale/FM/fm.htm.
lessandro
Artale
Alessandro Artale (FM First Semester 2007/2008) p.
Alessandro Artale (FM Firs
Alessandro Artale (FM Firs
artale/FM/fm.htm.
essandroArtale
ibz.it/
artale/FM/fm.htm.
http://www.inf.unibz.it/artale/FM/fm.htm.
unibz.it/
Alessandro
Semester2007/2008)
2007/2008) p.p.14/37
14/37
Alessandro Artale (FM First Semester 2007/2008) p. 14/37
AlessandroArtale
Artale (FM
(FM First Semester
nibz.it/artale/FM/fm.htm.
Alessandro Artale (FM First Semester 2007/2008)
Alessandro
p.c 14/37
Artale
ques temporelles
11 / 17
Logiques
Logiques temporelles
temporelles
artale/FM/fm.htm.
http://www.inf.unibz.it/
Logiques
11 / 17
ques
temporelles
1111/ 17
ues
temporelles
/ 17 temporelles
ques temporelles
11 / 17
10 / 34
CTL
Semantics: Intuitions (Cont.)
uitions
(Cont.)
uitions
(Cont.)
borescent
Logique
du
borescent
Logique
du temps
temps arborescent
arborescent
until
q
AX
CTL
:
Logique
du
temps
arborescent
next
P
next
Logique
du
temps
arborescent
rborescent
AF
AG
P
A[
until
q
AF
P
finally
globally
P
AX
PP UAF
P P
nextAF
P finally
next
AG P
P P
A[
Uq
qP
PPP
P]]
globally
P
borescent
nextfinally
P
next P
until q P
P globally
P
P until q
tuitions (Cont.)
ntuitions (Cont.)
AX
rborescent
EFPP
AX
EF
PP
arborescent
AXAF
next
P P
P
AX P P
next
next P
EX
AX
EG
E[
EF
A[ PEG
AF
U PP
q]
AG
PP]]
AX
EX
EF
AF
AGP
PP
E[PP U
U qqP
P
P du temps
A[ P
UP
qP]
Logique
arbores
AX
P
A[
U
c
P Puntil
!Alessandro
Artale
A[
UAG
qq
]
P qP]
Pc
finally P
globally
Artale
http://www.inf.unibz.it/
artale/FM/fm.htm.
A[http://www.inf.unibz.it/
q ]q!Alessandro
P Uuntil
ne
finally
globally
Alessandro
2007/2008)
artale/FM/fm.htm.
P Artale (FM First Semester
P p. 14/37
Alessandro Artale (FM First Semester 2007/2008) p. 14/37
Logiques temporelles
Logiques temporelles
EX P
EX
AX
EX
P
PPP
P
AX
EX EF
P until q
E[ PEF
UP
qP ]
EF
E[
]]
A[
E[
qqqq]
PPPUUUEG
P
A[
U
E[ P U q ]P]
11 / 17
11 / 17
EG
P
EG
EXP
AF
PP
AF
P
EX P
P
EX
AG
E[AG
P PUP q ]
cc
essandro Artale
!Alessandro
Artale
!Alessandro
Artale
artale/FM/fm.htm.
nibz.it/
http://www.inf.unibz.it/
ssandro
Artale
c14/37
!Alessandro
Artale
http://www.inf.unibz.it/artale/FM/fm.htm.
artale/FM/fm.htm.
lessandro
Artale
Alessandro Artale (FM First Semester 2007/2008) p.
Alessandro Artale (FM Firs
Alessandro Artale (FM Firs
artale/FM/fm.htm.
essandroArtale
ibz.it/
artale/FM/fm.htm.
http://www.inf.unibz.it/artale/FM/fm.htm.
unibz.it/
Alessandro
Semester2007/2008)
2007/2008) p.p.14/37
14/37
Alessandro Artale (FM First Semester 2007/2008) p. 14/37
AlessandroArtale
Artale (FM
(FM First Semester
nibz.it/artale/FM/fm.htm.
Alessandro Artale (FM First Semester 2007/2008)
Alessandro
p.c 14/37
Artale
ques temporelles
11 / 17
Logiques
Logiques temporelles
temporelles
artale/FM/fm.htm.
http://www.inf.unibz.it/
Logiques
11 / 17
ques
temporelles
1111/ 17
ues
temporelles
/ 17 temporelles
ques temporelles
11 / 17
10 / 34
CTL
Semantics: Intuitions (Cont.)
uitions
(Cont.)
uitions
(Cont.)
borescent
Logique
du
borescent
Logique
du temps
temps arborescent
arborescent
Logique
du
temps
arborescent
until
q
AX
CTL
:
Logique
du
temps
arborescent
next
P
next
Logique
du
temps
arborescent
rborescent
AF
AG
P
A[
q
until
q
AF
P
finally
globally
P
AX
PP UAF
P P
nextAF
P finally
next
AG P
P P
A[
U
qP
PPP
P]] q
globally
P
until
borescent
finally
next
finally
P PP
next P
until q PP
Pglobally
globally
P
P until q
tuitions (Cont.)
ntuitions (Cont.)
AX
rborescent
EFPP
AX
EF
PP
arborescent
AX
next
AFAF
PP P
P
AX P P
next
P
next
next P
P
EX
AX
EG
E[
EF
A[ PEG
AF
U PP
q]
AG
PP]]
AX
EX
EF
AF
AGP
PP
E[PP U
U qqP
P
P du temps
A[ P
UP
qP]
Logique
arbores
AX
AX
A[
U
c
P Puntil
AG
P
A[
U
q]]
!Alessandro
Artale
A[
UAG
qPq
]
PP qP
Pc
finally P
globally
Artale
http://www.inf.unibz.it/
artale/FM/fm.htm.
A[http://www.inf.unibz.it/
q ]q!Alessandro
P Uuntil
ne
finally
globally
Alessandro
2007/2008)
artale/FM/fm.htm.
P Artale (FM First Semester
P p. 14/37
Alessandro Artale (FM First Semester 2007/2008) p. 14/37
Logiques temporelles
Logiques temporelles
EX P
EX
AX
EX
P
PPP
AX
EX
EFEF
P
PP
PP until q
E[ PEF
UP
qP ]
EF
E[
]]
A[
E[
UUUEG
qqqq]
PPPEG
P
A[
U
E[ P U q ]
PP]
11 / 17
11 / 17
EG
P
EG
EXP
AF
P
PP
EX
AF
P
EX P
P
EX
AG
E[
PPPUPUqq]]
AG
E[
cc
essandro Artale
!Alessandro
Artale
!Alessandro
Artale
artale/FM/fm.htm.
nibz.it/
http://www.inf.unibz.it/
ssandro
Artale
c14/37
!Alessandro
Artale
http://www.inf.unibz.it/artale/FM/fm.htm.
artale/FM/fm.htm.
lessandro
Artale
Alessandro Artale (FM First Semester 2007/2008) p.
Alessandro Artale (FM Firs
Alessandro Artale (FM Firs
artale/FM/fm.htm.
c
!Alessandro
Artale
artale/FM/fm.htm.
essandroArtale
ibz.it/
artale/FM/fm.htm.
http://www.inf.unibz.it/
unibz.it/
Alessandro
Semester2007/2008)
2007/2008) p.p.14/37
14/37
Alessandro Artale (FM First Semester 2007/2008) p. 14/37
AlessandroArtale
Artale (FM
(FM First Semester
artale/FM/fm.htm.
http://www.inf.unibz.it/
nibz.it/artale/FM/fm.htm.
Alessandro Artale (FM First Semester 2007/2008)
Alessandro
p.c 14/37
Alessandro
Artale
(FM
First
Semester
2007/2008) p. 14/37
Artale
ques temporelles
11 / 17
Logiques
Logiques temporelles
temporelles
artale/FM/fm.htm.
http://www.inf.unibz.it/
Logiques
11 / 17
ques
temporelles
1111/ 17
ues
temporelles
/ 17 temporelles
ques temporelles
11 / 17
Logiques
temporelles
11 / 17
Logiques temporelles & Verification de mod`ele
10 / 34
Equivalences semantiques
Definition
Deux formules 1 et 2 sont equivalentes (1 2 ) ssi pour
toute structure de Kripke K,
K |= 1 ssi K |= 2
Exemple :
AF EG
11 / 34
Exercice
Pour chacune des formules de
CTL suivantes, indiquer celles
qui sont satisfaites par la
structure de Kripke ci-contre.
I AXp
I AX(p AGAFp)
I A(q U q)
I E(q U q)
I AXA(p U q)
12 / 34
Verification de mod`ele
K |=?
Principe : on construit lensemble SAT[] des e tats s qui satisfont
(i.e. tels que K, s |= ).
SAT[] est defini par induction sur .
13 / 34
SAT
SAT[p] = { s S | p L(s) }
SAT[] =
(SAT[])
SAT[EX] =
(SAT[])
14 / 34
SAT
SAT[p] = { s S | p L(s) }
SAT[] = S SAT[]
SAT[(1 2 )] = SAT[1 ] SAT[2 ]
SAT[(1 2 )] = SAT[1 ] SAT[2 ]
SAT[(1 2 )] = SAT[(1 2 )]
SAT[(1 2 )] = SAT[((1 2 ) (2 1 ))]
SAT[AX] =
(SAT[])
SAT[EX] =
(SAT[])
14 / 34
SAT
SAT[p] = { s S | p L(s) }
SAT[] = S SAT[]
SAT[(1 2 )] = SAT[1 ] SAT[2 ]
SAT[(1 2 )] = SAT[1 ] SAT[2 ]
SAT[(1 2 )] = SAT[(1 2 )]
SAT[(1 2 )] = SAT[((1 2 ) (2 1 ))]
SAT[AX] =
(SAT[])
SAT[EX] =
(SAT[])
14 / 34
SAT
SAT[p] = { s S | p L(s) }
SAT[] = S SAT[]
SAT[(1 2 )] = SAT[1 ] SAT[2 ]
SAT[(1 2 )] = SAT[1 ] SAT[2 ]
SAT[(1 2 )] = SAT[(1 2 )]
SAT[(1 2 )] = SAT[((1 2 ) (2 1 ))]
SAT[AX] =
(SAT[])
SAT[EX] =
(SAT[])
14 / 34
SAT
SAT[p] = { s S | p L(s) }
SAT[] = S SAT[]
SAT[(1 2 )] = SAT[1 ] SAT[2 ]
SAT[(1 2 )] = SAT[1 ] SAT[2 ]
SAT[(1 2 )] = SAT[(1 2 )]
SAT[(1 2 )] = SAT[((1 2 ) (2 1 ))]
SAT[AX] = pre (SAT[])
SAT[EX] =
(SAT[])
14 / 34
SAT
SAT[p] = { s S | p L(s) }
SAT[] = S SAT[]
SAT[(1 2 )] = SAT[1 ] SAT[2 ]
SAT[(1 2 )] = SAT[1 ] SAT[2 ]
SAT[(1 2 )] = SAT[(1 2 )]
SAT[(1 2 )] = SAT[((1 2 ) (2 1 ))]
SAT[AX] = pre (SAT[])
SAT[EX] = pre (SAT[])
avec pour tout X S,
pre (X) = { s S | pour tout s 0 , (s, s 0 ) R implique s 0 X }
pre (X) = { s S | il existe s 0 X tel que (s, s 0 ) R }
Logiques temporelles & Verification de mod`ele
14 / 34
SAT
SAT[AG] = X. SAT() pre (X)
SAT[EG] = X. SAT() pre (X)
SAT[AF] = X. SAT() pre (X)
SAT[EF] = X. SAT() pre (X)
SAT[A(1 U2 )] = X. SAT(2 ) (SAT(1 ) pre (X))
SAT[E(1 U2 )] = X. SAT(2 ) (SAT(1 ) pre (X))
avec pour tout F P(S) P(S), monotone,
X. F(X) : le plus petit point fixe de F
X. F(X) : le plus grand point fixe de F
15 / 34
Justifications
Nous devons maintenant :
I Justifier la notation X. F(X) et X. F(X) :
I
I
I
I
I
I
I
16 / 34
Points fixes
Definition
Soit F P(S) P(S),
1
F est dites monotone si X Y implique F(X) F(Y) pour
tout X, Y S.
2
X S est dit un point fixe de F si F(X) = X.
Theor`eme
Si S est de cardinal n N, si F P(S) P(S) est monotone, alors
Fn () est le plus petit point fixe de F et Fn (S) est le plus grand.
17 / 34
I pre
I X 7 Y F(X)
I X 7 Y F(X)
Corollaire
Les equations definissant SAT[AG], SAT[EG], SAT[AF],
SAT[EF], SAT[A(1 U2 )] et SAT[E(1 U2 )] sont bien formees.
18 / 34
Correction de SAT
Theor`eme
Pour toute formule CTL , SAT() = { s S | K, s |= }.
19 / 34
Exercices
s1
s0
s2
Calculer SAT(EFp).
p
s3
Calculer SAT(EGq).
q
s4
20 / 34
SAT(EFp)
SAT(EFp) = X.SAT(p) pre (X) = X.F(X)
s1
s0
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
21 / 34
SAT(EFp)
SAT(EFp) = X.SAT(p) pre (X) = X.F(X)
s1
X0 =
s0
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
21 / 34
SAT(EFp)
SAT(EFp) = X.SAT(p) pre (X) = X.F(X)
s1
X0 =
X1 = F(X0 ) = {s3 }
s0
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
21 / 34
SAT(EFp)
SAT(EFp) = X.SAT(p) pre (X) = X.F(X)
s1
X0 =
X1 = F(X0 ) = {s3 }
X2 = F(X1 ) = {s1 , s3 }
s0
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
21 / 34
SAT(EFp)
SAT(EFp) = X.SAT(p) pre (X) = X.F(X)
s1
X0
X1
X2
X3
=
=
=
=
s0
F(X0 ) = {s3 }
F(X1 ) = {s1 , s3 }
F(X2 ) = {s0 , s1 , s2 , s3 }
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
21 / 34
SAT(EFp)
SAT(EFp) = X.SAT(p) pre (X) = X.F(X)
s1
X0
X1
X2
X3
X4
=
=
=
=
=
s0
F(X0 ) = {s3 }
F(X1 ) = {s1 , s3 }
F(X2 ) = {s0 , s1 , s2 , s3 }
F(X3 ) = {s0 , s1 , s2 , s3 }
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
21 / 34
SAT(EFp)
SAT(EFp) = X.SAT(p) pre (X) = X.F(X)
s1
X0
X1
X2
X3
X4
X5
=
=
=
=
=
=
s0
F(X0 ) = {s3 }
F(X1 ) = {s1 , s3 }
F(X2 ) = {s0 , s1 , s2 , s3 }
F(X3 ) = {s0 , s1 , s2 , s3 }
F(X4 ) = {s0 , s1 , s2 , s3 }
s2
p
s3
SAT(EFp) = {s0 , s1 , s2 , s3 }
Logiques temporelles & Verification de mod`ele
s4
21 / 34
SAT(EGq)
SAT(EGq) = X.SAT(q) pre (X) = X.F(X)
s1
s0
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
22 / 34
SAT(EGq)
SAT(EGq) = X.SAT(q) pre (X) = X.F(X)
s1
X0 = {s0 , s1 , s2 , s3 }
s0
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
22 / 34
SAT(EGq)
SAT(EGq) = X.SAT(q) pre (X) = X.F(X)
s1
X0 = {s0 , s1 , s2 , s3 }
X1 = F(X0 ) = {s0 , s4 }
s0
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
22 / 34
SAT(EGq)
SAT(EGq) = X.SAT(q) pre (X) = X.F(X)
s1
X0 = {s0 , s1 , s2 , s3 }
X1 = F(X0 ) = {s0 , s4 }
X2 = F(X1 ) = {s0 , s4 }
s0
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
22 / 34
SAT(EGq)
SAT(EGq) = X.SAT(q) pre (X) = X.F(X)
s1
X0
X1
X2
X3
=
=
=
=
{s0 , s1 , s2 , s3 }
F(X0 ) = {s0 , s4 }
F(X1 ) = {s0 , s4 }
F(X2 ) = {s0 , s4 }
s0
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
22 / 34
SAT(EGq)
SAT(EGq) = X.SAT(q) pre (X) = X.F(X)
s1
X0
X1
X2
X3
X4
=
=
=
=
=
{s0 , s1 , s2 , s3 }
F(X0 ) = {s0 , s4 }
F(X1 ) = {s0 , s4 }
F(X2 ) = {s0 , s4 }
F(X3 ) = {s0 , s4 }
s0
s2
p
s3
q
s4
Logiques temporelles & Verification de mod`ele
22 / 34
SAT(EGq)
SAT(EGq) = X.SAT(q) pre (X) = X.F(X)
s1
X0
X1
X2
X3
X4
X5
=
=
=
=
=
=
{s0 , s1 , s2 , s3 }
F(X0 ) = {s0 , s4 }
F(X1 ) = {s0 , s4 }
F(X2 ) = {s0 , s4 }
F(X3 ) = {s0 , s4 }
F(X4 ) = {s0 , s4 }
s0
s2
p
s3
SAT(EGq) = {s0 , s4 }
Logiques temporelles & Verification de mod`ele
s4
22 / 34
23 / 34
Chaque signal est indexe par le numero du train concerne. Les signaux
e mis sont notes !x, les signaux recus ?x.
Le comportement des deux trains est ainsi modelise par les automates
suivants
n1
n2
!attente1
!sortie1
a1
!attente2
!sortie2
a2
?entr
ee1
t1
?entr
ee2
t2
24 / 34
?sortie2
H
?attente1
?attente2
I0
I
!entr
ee1
?attente2
?attente1
!entr
ee2
K0
J0
?attente2
!entr
ee1
!entr
ee2
?attente1
?sortie1
?sortie2
L0
25 / 34
26 / 34
I
I
I
16i6n
27 / 34
28 / 34
Exercices
Construire lautomate resultant de ce produit.
Exprimer en CTL les proprietes suivantes :
I Les deux trains ne traversent jamais en m
eme temps le
tunnel (suret
e de lacc`es).
I Un train en attente fini toujours par traverser le tunnel
(ineluctabilite de lacc`es).
I Un train qui est sorti peut toujours se mettre en attente
(non-blockage).
Utiliser SAT pour determiner les e tats de lautomate produit qui
verifient ces proprietes.
Logiques temporelles & Verification de mod`ele
29 / 34
Automate produit
sortie2
sortie1
H, n1 , n2
attente1
attente2
I 0 , n1 , a2
I, a1 , n2
entr
ee1
J, t1 , n2
attente2
attente2
attente1
K, a1 , a2
K 0 , a1 , a2
entr
ee1
L, t1 , a2
sortie1
entr
ee2
J 0 , n1 , t2
attente1
entr
ee2
sortie2
L 0 , a1 , t2
30 / 34
Proprietes CTL
I
31 / 34
Proprietes CTL
I
31 / 34
Proprietes CTL
I
31 / 34
Proprietes CTL
I
31 / 34
n1 , n2
a1 , n2
n1 , a2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
32 / 34
n1 , n2
a1 , n2
SAT((t1 t2 ))
n1 , a2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
32 / 34
n1 , n2
a1 , n2
pre (S)
n1 , a2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
32 / 34
n1 , n2
a1 , n2
n1 , a2
SAT(AG(t1 t2 ))
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
32 / 34
n1 , n2
n1 , a2
a1 , n2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
33 / 34
n1 , n2
n1 , a2
a1 , n2
F()
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
33 / 34
n1 , n2
n1 , a2
a1 , n2
F2 ()
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
33 / 34
n1 , n2
n1 , a2
a1 , n2
F3 ()
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
33 / 34
n1 , n2
a1 , n2
F4 ()
n1 , a2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
33 / 34
n1 , n2
a1 , n2
F5 ()
n1 , a2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
33 / 34
n1 , n2
a1 , n2
SAT(AFt1 )
n1 , a2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
33 / 34
n1 , n2
a1 , n2
SAT(a1 )SAT(AFt1 )
n1 , a2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
33 / 34
n1 , n2
a1 , n2
n1 , a2
SAT(AG(a1 AFt1 ))
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
33 / 34
n1 , n2
n1 , a2
a1 , n2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
34 / 34
n1 , n2
a1 , n2
SAT(a1 )
n1 , a2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
34 / 34
n1 , n2
a1 , n2
pre (SAT(a1 ))
n1 , a2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
34 / 34
n1 , n2
n1 , a2
a1 , n2
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
34 / 34
n1 , n2
n1 , a2
a1 , n2
SAT(AG(n1 EXa1 ))
a1 , a2
t1 , n2
a1 , a2
t1 , a2
n1 , t2
a1 , t2
34 / 34