Vous êtes sur la page 1sur 27

1

Chapitre 3
Spcification des proprits
Logique temporelle
w3.uqo.ca/luigi/
2
Histoire: logique modale, logique temporelle, modle
Les concepts de logique modale, logique temporelle et modle furent
dvelopps par les philosophes Prior, Meredith et Kripke autour des annes
1960
Mais ils taient dj connus en philosophie avant a
La logique modale est un systme logique o on utilise des oprateurs
additionnels pour spcifier des modalits
P.ex. les oprateurs ncessit et possibilit en ajout aux oprateurs logiques
conventionnels
sil est ncessaire quil pleuve, donc il est possible que je me mouille
Le mme principe est utilis pour dfinir autres types doprateurs modales:
Logique dontique, dont les oprateurs modales sont obligatoire, dfendu,
permis, etc.
Logique temporelle, dont les oprateurs sont dsormais, finalement
La logique temporelle fut introduite en informatique par Amir Pnueli en 1977


3
Logique: Rappel de Notation
Variables: x, y, z Constantes: a, b, c
Oprateurs principaux:
Logique propositionnelle:
. (et) (parfois aussi crit &, &&..)
v (ou) (parfois aussi crit ||)
(ngation) (parfois aussi crit ~ ou !)
(implication), A B est dfini comme A v B
(quivalence), A B est dfini comme A B . B A
Logique des prdicats:
P(x1, , xn) (le tuple x1, , xn a la proprit P)
-x1,,xn (il existe x1, , xn )
x1,,xn (pour tous les x1, , xn )
P.ex.
x,y -z =(x+y,z) ou x,y -z (x+y=z)
(x (P(x) Q(x)) . P(a) ) Q(a)
(x (P(x) Q(x)) . - y(P(y))) -z Q(z)

4
Dualit entre oprateurs logiques
Lois de dualit (De Morgan):
A v B = (A . B)
A . B = (A v B)
-x P(x) = x P(x)
x P(x) = -x P(x)

Ces deux dernires se justifient par les deux premires et le
fait que

-x P(x) = ( P(a) v P(b) v P(c).)

x P(x) = (P(a) . P(b) . P(c).)

Si a, b, c sont tous les lments du domaine en considration





5
Logiques modales
Dans les logiques modales, on ajoute des oprateurs
pour exprimer certaines proprits qui ne peuvent pas
tre exprimes directement en logique pure
P.ex. ncessit et possibilit (logique modale usuelle)
Obligation et permission (logique dontique)
Les logiques modales sont caractrises par le fait quil
y a dualit entre ces oprateurs:
ncessaire (x) = impossible non x
obligatoire (x) = non permis non x
6
Logique temporelle
Les modalits principales sont:
dornavant, dsormais (aussi crit G)
finalement, enfin (aussi crit F)
Dualit:
p = p (sil fera beau dornavant, il est faux que finalement il pleuvra!)

p = p (si finalement je serai riche, il est faux que je serai toujours
pauvre!)

Et donc aussi (par limination des doubles ngations)
p = p
p = p

10
Les oprateurs temporels sont des abrviations
Utilisons la notation o p pour dire:
La chane o satisfait la proprit p
o vrai est toujours vrai, pour tout o
o faux nest jamais vrai, pour tout o
o p est une abrviation pour:
pour tous les lments de o, p est vrai
dornavant, dsormais
o p est une abrviation pour:
Pour au moins un lment de o, p est vrai
finalement, enfin


11
Notation pour les chanes
o
i
est llment i de la chane o


o[i] est lexcution qui commence llment i

Donc rcursivement:
o = o
1
o [2]
o = o
1
o
2
o [3]
Etc.




i
[i]
12
Notation pour les chanes
o
i
P veut dire que le i-me lment de la
chane satisfait la proprit P
o|i] Q veut dire que la chane partir du i-me
lment satisfait la proprit Q



i
[i]
Deux oprateurs jusqu: faible et fort
FAIBLE: Je serai pauvre jusqu ce que je serai riche:
Dfinition:
Ou bien je suis dj riche
Ou bien je serai pauvre jusqu ce que je serai riche
Lvnement attendu pourrait ne jamais se vrifier

FORT: Nous regarderons le spectacle jusqu la fin
Dfinition:
Nous regarderons le spectacle jusqu la fin
Il y aura une fin



13
14
Dfinition formelle de jusqu faible U
o|i] (p U q)

Dfinition:
o
i
q v (o
i
p . o |i+1] (p U q) )
partir du ime lm. satisfait p U q
ou bien le i-me lment de
satisfait dj q,
ou le ime lment satisfait p
et le reste de la chane satisfait p U q

15
Dfinition formelle de dornavant
o p

Dfinition:
o (p U faux)

o
1
faux v (o
1
p . o|2] (p U faux))
Touj. faux
Rcursivement, p est vrai pour tous les o[i]
16
Dfinition formelle de jusqu fort U
Le jusqu fort garantit que q devient vrai
o|i] (p U q)

Dfinition:
o|i] (p U q) . -j, ij, o
j
q

la chane satisfait p U q il y aura un
j
futur qui satisfiera q
ij: i prsent, j futur

Observez: pour dfinir U fort nous utilisons lU faible
17
Dfinition formelle de finalement
o q

Dfinition:
o (vrai U q)

o|1] (vrai U q) . -j, 1j, o
j
q

o[1] (vrai U q) =
o
1
q v (o
1
vrai . o|2] (vrai U q) ) =
o
1
q v o|2] (vrai U q) =
o
1
q v (o
2
q . o|3] (vrai U q)) etc. jusqu ce que q sera satisfait
Nimporte quelle chane satisfait vrai!
Importance de U, jusqu fort

Il est intressant dobserver que U est loprateur
fondamental de la logique temporelle.
Il peut tre dfini sans utiliser les autres oprateurs,
mais les autres oprateurs peuvent tre dfinis en
termes de lui.

18
Oprateurs temporels
p


p
p U q


t
i
t
k
N
N
N
Proprits intressantes en logique
temporelle

Proprits dinvariance
Proprit de prcdence
Proprits de vivacit
Exemple pour illustrer les proprits
Un ensemble de m processus P
i
Un systme de gestion SG de la ressource R
Une ressource commune R
Deux variables boolennes utilises par le protocole de
communication entre les processus P
i
et le gestionnaire SG :
Une variable r
i
gre par le processus P
i
: r
i
est positionne
vrai lorsque le processus P
i
demande la ressource R. Elle est
positionne faux lorsquil la libre.
Une variable a
i
gre par le systme SG : a
i
est positionne
vrai lorsque le systme SG a accord la ressource R au
processus P
i
.
Proprit dinvariance (safety property)
Autre appellation : proprit de sret
Exprime avec loprateur toujours
Informellement,
- les mauvaises choses ne peuvent (ne doivent pas) pas se produire
- en terme de spcification ce que le systme ne doit pas faire
Exemple de ce type de proprit : lexclusion mutuelle
Prop
1
: la ressource R est accorde a au plus un processus demandeur de cette
ressource
Formule en logique temporelle F
Prop1
de Prop
1
F
Prop1
: /\ (a
i
. a
j
)

i=j
Proprit de prcdence
Exprime avec loprateur jusqu U
Informellement,
- introduction dun ordre explicite entre les vnements
Exemples de ce type de proprit
Prop
4
: la ressource R ne peut tre accorde P
i
que sil en fait la
demande
Prop
5
: SG accorde la ressource R selon lordre des demandes
Formule en logique temporelle F
Prop4
de Prop
4
F
Prop4
: (a
i
(r
i
U a
i
))

Formule en logique temporelle F
Prop5
de Prop
5
F
Prop5
: ((r
i
. r
j
. a
j
)

(a
j
U a
i
))
Proprit de vivacit (liveness property)
Exprime avec loprateur possible ^
Informellement,
- les bonnes choses vont effectivement se produire
- en terme de spcification le comportement effectif attendu
Exemples de ce type de proprit
Prop
2
: si le processus P
i
demande la ressource R alors il lobtiendra
Prop
3
: si le processus P
i
obtient la ressource R alors il la librera
Formule en logique temporelle F
Prop2
de Prop
2
F
Prop2
: (r
i
^a
i
)

Formule en logique temporelle F
Prop3
de Prop
3
F
Prop3
: (a
i
^r
i
)
28
Formules frquemment utilises
p q rponse, causalit
p qUr p implique q jusqua r (prcdence)
p toujours finalement p (progrs vers p)
infiniment souvent p
il sera toujours vrai quil y aura des p dans le futur
p finalement toujours p
nous allons vers une stabilit, ou non-progrs
p q corrlation

p p finalement devient toujours faux
p p deviendra faux au moins une fois encore
il sera toujours vrai que p sera faux dans un futur


30
quivalences utiles
quivalent
(p U q) (q) U (p .q)
(p U q) (q) U (p .q)
(p . q) p . q
(p v q) p v q
p U (q v r) (p U q) v (p U r)
(p . q) U r (p U r) . (q U r)
p U (q v r) ( p U q) v (p U r)
(p . q) U r (p U r) . (q U r)
(p v q) p v p
(p v q)

p v q
p
p
p
p

Lois dimplication
http://www.pst.informatik.uni-muenchen.de/lehre/WS0304/tl/Vorlesung/46-1.pd
31

Lois de rflexivit
p p
p p

Implications entre oprateurs
p p
p p

Distributivit faible
(p q) (p q)
p v q (p v q)
( p q) (p q)
(p . q) p . q





32
Oprateur prochain tat (aussi crit X)

o|i] p

Dfinition:
o|i+1]

p

p est vrai dans la squence qui commence pae
le prochain tat



o
i
o
i+1
[i]
36
Logiques temporelles linaires et branchements
La logique temporelle que nous venons dtudier est dite
logique temporelle linaire
Car elle est base sur lhypothse quil ny a quun seul futur
On tudie aussi les logiques temporelles branchements,
bases sur lhypothse quil y a plusieurs futurs
CTL, Computational Tree Logic
Nous avons des oprateurs pour exprimer:
Dans tout futur possible, p sera vrai
Il y a un futur dans lequel p sera vrai
Il y a aussi des logiques pour exprimer le pass:
Si p a t vrai dans un pass, il devra tre vrai dans un futur
Temporal logic with past


37
Conclusion sur la logique temporelle
Elle est utile pour exprimer les proprits de systmes
qui voluent dans le temps
Comme tous les systmes rels
Les vrificateurs de modles temporels (temporal logic
model checkers) lutilisent
Lutilisation de ces concepts dpasse grandement
lingnierie des protocole
Il y a par ex. des applics la vrif des circuits etc.