Vous êtes sur la page 1sur 77

Cours 12

Logiques temporelles & Verification de mod`ele


(Model checking)

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.

Logiques temporelles & Verification de mod`ele

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}

Definition (Formules CTL)


Lensemble des formules CTL est un langage sur V C T {(, )}
defini inductivement par :
I

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

Semantique : structures de Kripke


Les formules sont interpretees vis-`a-vis dun mod`ele particulier : les
structures de Kripke.

Definition

q0
chaud, ok

Une structure de Kripke est un quadruplet


< S, R, q0 , L > tel que
I

S est un ensemble detats,

R S S est une relation de


transition entre e tats,

q0 S est un e tat initial,

L S P(V) est une fonction de


labelisation.

q2

q1

erreur

ok

Remarque : nous nous restreignons au


cas ou` tout e tat a au moins un successeur.
Logiques temporelles & Verification de mod`ele

4 / 34

Semantique : structures de Kripke


Definition
q0

Un chemin dans une structure de


Kripke est une sequence maximale

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

Logiques temporelles & Verification de mod`ele

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

Logiques temporelles & Verification de mod`ele

7 / 34

Semantique de CTL

K, s |= A(1 U2 ) ssi pour tout chemin tel que (0) = s,


il existe j tel que K, (j) |= 2 et
pour tout k tel que k < j, K, (k) |= 1
K, s |= E(1 U2 ) ssi il existe un chemin tel que (0) = s,
et il existe j tel que K, (j) |= 2 et
pour tout k tel que k < j, K, (k) |= 1

Logiques temporelles & Verification de mod`ele

8 / 34

CTL : Logique du temps arborescent


Il est utile de raisonner sur un depliage dune structure de
Kripke : un arbre infinie (voir un DAG...) representant tous les
chemins de la structure.
q0

q0
chaud, ok

q1
q0

q2

q1

q0

q2

..
.

..
.

..
.

q2

q1

erreur

ok

Logiques temporelles & Verification de mod`ele

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

CTL Semantics: Intuition

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

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

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

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

c
Alessandro
Artale
11 / 17
Logiques temporelles
artale/FM/fm.htm.
http://www.inf.unibz.it/
Logiques
11 / 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
: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

CTL Semantics: Intuition

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

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

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

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

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

CTL Semantics: Intuition

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

Alessandro Artale (FM First Semester 2007/2008) p. 14/37


http://www.inf.unibz.it/artale/FM/fm.htm.

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

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

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

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

CTL Semantics: Intuition

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

Alessandro Artale (FM First Semester 2007/2008) p. 14/37


http://www.inf.unibz.it/artale/FM/fm.htm.

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

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

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

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

CTL Semantics: Intuition

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

Alessandro Artale (FM First Semester 2007/2008) p. 14/37


http://www.inf.unibz.it/artale/FM/fm.htm.

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

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

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

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

CTL Semantics: Intuition

Logique du temps arbore

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.

Alessandro Artale (FM First Semester 2007/2008) p. 14/37

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

Logiques temporelles & Verification de mod`ele

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

CTL Semantics: Intuition

Logique du temps arbore

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.

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

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

Logiques temporelles & Verification de mod`ele

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

CTL Semantics: Intuition


CTL Semantics: Intuition

Logique du temps arbore

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

Logiques temporelles & Verification de mod`ele

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

CTL Semantics: Intuition


CTL Semantics: Intuition

Logique du temps arbore

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

Logiques temporelles & Verification de mod`ele

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)

Logiques temporelles & Verification de mod`ele

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 .

Logiques temporelles & Verification de mod`ele

13 / 34

SAT
SAT[p] = { s S | p L(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[])

Logiques temporelles & Verification de mod`ele

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

Logiques temporelles & Verification de mod`ele

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

Logiques temporelles & Verification de mod`ele

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

Logiques temporelles & Verification de mod`ele

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

avec pour tout X S,


pre (X) = { s S | pour tout s 0 , (s, s 0 ) R implique s 0 X }
Logiques temporelles & Verification de mod`ele

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

Logiques temporelles & Verification de mod`ele

15 / 34

Justifications
Nous devons maintenant :
I Justifier la notation X. F(X) et X. F(X) :
I
I
I
I
I

I
I

Existence dun point fixe ?


Un plus petit ?
Un plus grand ?
Le plus petit ?
Le plus grand ?

Donner une methode de calcul pour X. F(X) et X. F(X).


Justifier les e quations precedentes.

Logiques temporelles & Verification de mod`ele

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.

Logiques temporelles & Verification de mod`ele

17 / 34

Justifications des e quations


Lemme
Soit Y S et F P(S) P(S) une fonction monotone, les fonctions
suivantes sont monotones :
I pre

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.

Logiques temporelles & Verification de mod`ele

18 / 34

Correction de SAT

Theor`eme
Pour toute formule CTL , SAT() = { s S | K, s |= }.

Logiques temporelles & Verification de mod`ele

19 / 34

Exercices
s1
s0

s2

Calculer SAT(EFp).
p
s3

Calculer SAT(EGq).
q

s4

Logiques temporelles & Verification de mod`ele

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

Cas detude : probl`eme dexclusion mutuelle


On consid`ere un tunnel de montagne specialement e troit qui ne
permet le passage que dun seul train a` la fois. Deux trains
circulent sur cette ligne.
Afin dassurer la securite des voyageurs, chaque train peut
e changer des signaux avec lordinateur qui assure le trafic dans
le tunnel (le mediateur). Ces signaux sont de trois types :
I attente : le train veut traverser le tunnel et attend une
autorisation,
I entr
ee : le train obtient lautorisation dentrer dans le
tunnel,
I sortie : le train sort du tunnel.
Logiques temporelles & Verification de mod`ele

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

ni represente letat neutre, ai letat dattente et ti letat de traversee,


pour le train i.
Logiques temporelles & Verification de mod`ele

24 / 34

Le fonctionnement du mediateur est modelise par lautomate


suivant
?sortie1

?sortie2
H
?attente1

?attente2
I0

I
!entr
ee1

?attente2

?attente1

!entr
ee2

K0

J0

?attente2

!entr
ee1

!entr
ee2

?attente1

?sortie1

?sortie2

Logiques temporelles & Verification de mod`ele

L0

25 / 34

Pour modeliser le syst`eme global, on realise un produit synchrone


des trois automates.
Un produit synchrone est un produit dautomates pour lequel
on ne consid`ere quun certain type de transitions.
Dans le cas present, on realise une synchronisation par
messages et on se limite donc aux transitions qui contiennent a`
la fois ?x et !x pour un signal x donne.

Logiques temporelles & Verification de mod`ele

26 / 34

Formellement, on consid`ere une famille de n automates


Ai = (Qi , i , i , q0,i , li ), i = 1, . . . , n. Le produit cartesien est alors
defini comme lautomate A = (Q, , , q0 , l) avec
I Q = Q1 Qn
Y
I =
(i )
16i6n

I
I
I

((q1 , . . . , qn ), (a1 , . . . , an ), (q10 , . . . , qn0 )) | pour tout i,


=
ai = et qi0 = qi ou ai , et (qi , ai , qi0 ) i
q0 = (q0,1 , . . . , q0,n )
[
l ((q1 , . . . , qn )) =
li (qi )

16i6n

Logiques temporelles & Verification de mod`ele

27 / 34

Pour obtenir un produit synchrone, on restreint les transitions


autorisees dans le produit cartesien en se donnant un ensemble de
synchronisations
Y
(i )
Sync
16i6n

Pour une synchronisation par messages





il existe i, j tels que ai = !x, aj = ?x
Sync = (a1 , . . . , an )
et ak = sinon

Logiques temporelles & Verification de mod`ele

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

Logiques temporelles & Verification de mod`ele

L 0 , a1 , t2

30 / 34

Proprietes CTL
I

Les deux trains ne traversent jamais en meme temps le


tunnel.

Un train en attente fini toujours par traverser le tunnel.

Un train qui est sorti peut toujours se mettre en attente.

Logiques temporelles & Verification de mod`ele

31 / 34

Proprietes CTL
I

Les deux trains ne traversent jamais en meme temps le


tunnel.
AG(t1 t2 )

Un train en attente fini toujours par traverser le tunnel.

Un train qui est sorti peut toujours se mettre en attente.

Logiques temporelles & Verification de mod`ele

31 / 34

Proprietes CTL
I

Les deux trains ne traversent jamais en meme temps le


tunnel.
AG(t1 t2 )

Un train en attente fini toujours par traverser le tunnel.


AG(ai AFti ) i {1, 2}

Un train qui est sorti peut toujours se mettre en attente.

Logiques temporelles & Verification de mod`ele

31 / 34

Proprietes CTL
I

Les deux trains ne traversent jamais en meme temps le


tunnel.
AG(t1 t2 )

Un train en attente fini toujours par traverser le tunnel.


AG(ai AFti ) i {1, 2}

Un train qui est sorti peut toujours se mettre en attente.


AG(ni EXai ) i {1, 2}

Logiques temporelles & Verification de mod`ele

31 / 34

Les deux trains ne traversent jamais en meme temps le tunnel

SAT(AG(t1 t2 )) = X. SAT((t1 t2 )) pre (X)


= F9 (S)

n1 , n2

a1 , n2

n1 , a2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

32 / 34

Les deux trains ne traversent jamais en meme temps le tunnel

SAT(AG(t1 t2 )) = X. SAT((t1 t2 )) pre (X)


= F9 (S)

n1 , n2

a1 , n2

SAT((t1 t2 ))

n1 , a2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

32 / 34

Les deux trains ne traversent jamais en meme temps le tunnel

SAT(AG(t1 t2 )) = X. SAT((t1 t2 )) pre (X)


= F9 (S)

n1 , n2

a1 , n2

pre (S)

n1 , a2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

32 / 34

Les deux trains ne traversent jamais en meme temps le tunnel

SAT(AG(t1 t2 )) = X. SAT((t1 t2 )) pre (X)


= F9 (S)

n1 , n2

a1 , n2

n1 , a2

SAT(AG(t1 t2 ))
a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

32 / 34

Un train en attente fini toujours par traverser le tunnel

SAT(AG(a1 AFt1 )) = X. (SAT(a1 ) SAT(AFt1 )) pre (X)


SAT(AFt1 ) = X. SAT(t1 ) pre (X) = F9 ()

n1 , n2

n1 , a2

a1 , n2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

33 / 34

Un train en attente fini toujours par traverser le tunnel

SAT(AG(a1 AFt1 )) = X. (SAT(a1 ) SAT(AFt1 )) pre (X)


SAT(AFt1 ) = X. SAT(t1 ) pre (X) = F9 ()

n1 , n2

n1 , a2

a1 , n2

F()

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

33 / 34

Un train en attente fini toujours par traverser le tunnel

SAT(AG(a1 AFt1 )) = X. (SAT(a1 ) SAT(AFt1 )) pre (X)


SAT(AFt1 ) = X. SAT(t1 ) pre (X) = F9 ()

n1 , n2

n1 , a2

a1 , n2

F2 ()

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

33 / 34

Un train en attente fini toujours par traverser le tunnel

SAT(AG(a1 AFt1 )) = X. (SAT(a1 ) SAT(AFt1 )) pre (X)


SAT(AFt1 ) = X. SAT(t1 ) pre (X) = F9 ()

n1 , n2

n1 , a2

a1 , n2

F3 ()

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

33 / 34

Un train en attente fini toujours par traverser le tunnel

SAT(AG(a1 AFt1 )) = X. (SAT(a1 ) SAT(AFt1 )) pre (X)


SAT(AFt1 ) = X. SAT(t1 ) pre (X) = F9 ()

n1 , n2

a1 , n2

F4 ()

n1 , a2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

33 / 34

Un train en attente fini toujours par traverser le tunnel

SAT(AG(a1 AFt1 )) = X. (SAT(a1 ) SAT(AFt1 )) pre (X)


SAT(AFt1 ) = X. SAT(t1 ) pre (X) = F9 ()

n1 , n2

a1 , n2

F5 ()

n1 , a2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

33 / 34

Un train en attente fini toujours par traverser le tunnel

SAT(AG(a1 AFt1 )) = X. (SAT(a1 ) SAT(AFt1 )) pre (X)


SAT(AFt1 ) = X. SAT(t1 ) pre (X) = F9 ()

n1 , n2

a1 , n2

SAT(AFt1 )

n1 , a2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

33 / 34

Un train en attente fini toujours par traverser le tunnel

SAT(AG(a1 AFt1 )) = X. (SAT(a1 ) SAT(AFt1 )) pre (X)


SAT(AFt1 ) = X. SAT(t1 ) pre (X) = F9 ()

n1 , n2

a1 , n2

SAT(a1 )SAT(AFt1 )

n1 , a2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

33 / 34

Un train en attente fini toujours par traverser le tunnel

SAT(AG(a1 AFt1 )) = X. (SAT(a1 ) SAT(AFt1 )) pre (X)


SAT(AFt1 ) = X. SAT(t1 ) pre (X) = F9 ()

n1 , n2

a1 , n2

n1 , a2

SAT(AG(a1 AFt1 ))
a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

33 / 34

Un train qui est sorti peut toujours se mettre en attente

SAT(AG(n1 EXa1 )) = X. (SAT(n1 ) SAT(EXa1 )) pre (X)


SAT(EXa1 ) = pre (SAT(a1 ))

n1 , n2

n1 , a2

a1 , n2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

34 / 34

Un train qui est sorti peut toujours se mettre en attente

SAT(AG(n1 EXa1 )) = X. (SAT(n1 ) SAT(EXa1 )) pre (X)


SAT(EXa1 ) = pre (SAT(a1 ))

n1 , n2

a1 , n2

SAT(a1 )

n1 , a2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

34 / 34

Un train qui est sorti peut toujours se mettre en attente

SAT(AG(n1 EXa1 )) = X. (SAT(n1 ) SAT(EXa1 )) pre (X)


SAT(EXa1 ) = pre (SAT(a1 ))

n1 , n2

a1 , n2

pre (SAT(a1 ))

n1 , a2

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

34 / 34

Un train qui est sorti peut toujours se mettre en attente

SAT(AG(n1 EXa1 )) = X. (SAT(n1 ) SAT(EXa1 )) pre (X)


SAT(EXa1 ) = pre (SAT(a1 ))

n1 , n2

n1 , a2

a1 , n2

SAT(n1 )pre (SAT(a1 ))

a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

34 / 34

Un train qui est sorti peut toujours se mettre en attente

SAT(AG(n1 EXa1 )) = X. (SAT(n1 ) SAT(EXa1 )) pre (X)


SAT(EXa1 ) = pre (SAT(a1 ))

n1 , n2

n1 , a2

a1 , n2

SAT(AG(n1 EXa1 ))
a1 , a2

t1 , n2

a1 , a2

t1 , a2

Logiques temporelles & Verification de mod`ele

n1 , t2

a1 , t2

34 / 34

Vous aimerez peut-être aussi