Vous êtes sur la page 1sur 33

Chapitre 1

Rseaux de Petri temporels : mthodes


danalyse et vrification avec TINA

1.1. Introduction
Parmi les techniques proposes pour spcifier et vrifier des systmes dans lesquels
le temps apparat comme paramtre, deux sont largement utilises : Les Automates
Temporiss (voir le chapitre 4 de ce volume, consacr ce modle) et les Rseaux de
Petri Temporels (ou Time Petri Nets), introduits dans [MER 74].





Les rseaux temporels sont obtenus depuis les rseaux de Petri en associant deux
et
chaque transition. Supposons que soit devenue sensibilise pour
dates
la dernire fois la date , alors ne peut tre tire avant la date
et doit ltre
au plus tard la date
, sauf si le tir dune autre transition a dsensibilis avant
que celle-ci ne soit tire. Le tir des transitions est de dure nulle. Les rseaux temporels expriment nativement des spcifications en dlais. En explicitant dbuts et fins
dactions, ils peuvent aussi exprimer des spcifications en dures. Leur domaine
dapplication est donc large.

 



Nous proposons dans ce chapitre un panorama des mthodes danalyse disponibles


pour les rseaux temporels et discutons de leur mise en uvre. Ces mthodes, bases
sur la technique des classes dtats, ont t inities par [BER 83 ; 91]. Ces graphes
constituent des abstractions finies du comportement des rseaux temporels borns.
Diffrentes abstractions ont t dfinies dans [BER 83 ; 01 ; 03b], prservant diverses

Chapitre rdig par Bernard B ERTHOMIEU et Franois V ERNADAT .

Systmes Temps Rel Volume 1

classes de proprits. Dans ce chapitre, nous discuterons de plus du problme pratique de la vrification de proprits (model-checking) de certaines logiques sur les
graphes de classes construits. La mise en uvre de ces techniques ncessite des outils
logiciels, tant pour la construction des abstractions requises que pour leur vrification
elle-mme. Les exemples discuts dans cet article ont t traits avec les outils de
lenvironnement
[BER 04].



Les concepts de base des rseaux temporels sont rappels section 1.2. Les sections 1.3 1.5 introduisent les constructions de graphes de classes, fournissant des
abstractions finies de lespace infini des tats des rseaux temporels. Les sections 1.3
et 1.4 prsentent les constructions prservant les proprits des logiques temporelles
; la construction de la section 1.3
bases sur une smantique linaire telles que
assure la prservation des seules proprits de
(traces maximales et marquages),
tandis que celle expose en section 1.4 assure de plus la prservation des tats du rseau (marquage et information temporelle). La section 1.5 discute de la prservation
des proprits des logiques temps arborescent. La section 1.6 discute de lanalyse
dchanciers et prsente une mthode permettant de caractriser exactement les dates
de tir possibles des transitions le long dune squence finie.






, permettant la mise en uvre de ces techniques, ainsi que des


La bote outils
techniques de vrification discutes ensuite, est prsente en section 1.7. Les sections
suivantes sont consacres la vrification (model-checking) de formules de logique
temporelle linaire sur les graphes de classes. La section 1.8 prsente la logique rete, une extension de la logique
, ainsi que sa mise en uvre par le
nue,
module
de
. La section 1.9 prsente deux exemples dapplications et leur
vrification.

 ! 
"$#&%$' 



1.2. Les rseaux de Petri temporels


1.2.1. Rseaux temporels

(*) ,+

(-) . 
/ 
2
+
1


7

+

) 

3 4
65
8 :9
; 0
Dfinition
(ou Time
? <A@B@DCFEHG@D1.CIUnJK$@ rseau
? Petri net, <>= en abrg) est un tuple
L @DM-NPOtemporel
, dans lequel <A@QR@CFEHG@SCTI6JK@ L O est un rseau de Petri
et M NTU WVX(*) est une fonction appele Intervalle Statique.
Soit
lensemble des intervalles rels non vides bornes rationnelles non n,
dsigne sa borne infrieure et
sa borne suprieure (si
gatives. Pour
.
est born) ou
(sinon). Pour tout
,
dsignera lintervalle
.

MN

M NHY BZ
![ N\Y BZ]W.^M NHY BZ  [ NY BZ]W/^M N\Y BZ

Lapplication
associe une intervalle temporel
chaque transition du rseau. Les rationnels
et
sont appels date statique
de tir au plus tt de et date statique de tir au plus tard de , respectivement. Un rseau
temporel est reprsent figure 1.1.

Rseaux de Petri temporels

p1

p2

2
2

[0,3]

t5

[4,9]

t1

t2

[0,2]

t3

[1,3]

p3
p4

p5

t4

[0,2]

Figure 1.1. Un rseau temporel.

1.2.2. tats et relation daccessibilit

a,] Y @bMcZ

dans lequel
Dfinition 2. Un tat dun rseau temporel est un couple
est un marquage et
une fonction qui associe un intervalle temporel
chaque transition sensibilise par .

M U dVe(-)

a L ] Y L D@ M L LZ M L

M-N

, o
est la restriction de aux transitions senLtat initial est
sibilises par le marquage initial
. Toute transition sensibilise doit tre tire dans
lintervalle de temps qui lui est associ. Cet intervalle est relatif la date de sensibilisation de la transition.

aF] Y @bMcZ , est donc permis si et seulement si :


f9 FC EHG Y BZ 8
+ M Y BZ 8 Yhgji:]l
k BZ Y f9 CFE\G YSi Zmn
po2/ Y M YSi ZBZDZ .
Ltat a\q6] Y qS@DMqhZ atteint depuis a par le tir de
est alors dtermin par :
1) q ]
rCFEHG Y BZj 7CIJ-K Y BZ (comme dans les rseaux de Petri)
2) Pour chaque transition i sensibilise par q :
k et rCFEHG Y BZ 9 CFE\G YSi Z alors M YQi Z .
sinon M-N YSi Z .
I(k) = si is]l

Franchir , la date , depuis

Notons 6tvu^V w la relation daccessibilit temporise dfinie ci-dessus et dfinissons


tV a q par YSx
Z Y a 6tvu^VXw a q Z . Un chancier de tir est une squence de transitions tempoa X
rises By-zT
$y|{{-{b ~}zT
\} ; il est ralisable depuis ltat a si les transitions de la squence

Systmes Temps Rel Volume 1

 ]l By|{-{{D ~}

sont successivement tirables depuis ltat , aux dates relatives qui leurs
sont associes. La squence est appele support de lchancier. Une squence de
transitions est tirable si et seulemet si elle est le support dun chancier ralisable.
Notons que, dans les rseaux temporels (contrairement aux automates temporiss)
lcoulement du temps ne peut quaugmenter lensemble des transitions tirables, mais
en aucun cas le rduire. Si une transition est tirable la date relative (ou, de faon quivalente, immdiatement aprs une attente de units de temps), alors elle le
restera tant que le temps peut scouler. Nous ne dmontrerons pas ici cette proprit,
mais il en rsulte que la relation dfinie ci-dessus caractrise exactement le comportement discret dun TPN (prservant la bissimilarit aprs abstraction du temps). Si
lon sintresse au comportement temporel (captur par la bissimulation temporise),
on doit ajouter aux transitions de la relation
celles traduisant le seul coulement
.
du temps, cest--dire celles de la forme
(le dlai ntant pas
plus grand que
, pour toute composante
de ).

tV

/ Y M YQi ZDZ

6 tvu^V w
Y @DM&ZTPV b Y D@ M, Z
M YQi Z M

Enfin, notons que le concept dtat prsent associe exactement un intervalle temporel chaque transition sensibilise, que celle-ci soit ou non multi-sensibilise ( est
multi-sensibilise par sil existe un entier
tel que
). Une interprtation alternative est discute dans [BER 01], dans laquelle un intervalle temporel
est associ chaque instance de sensibilisation des transitions. Cette interprtation
sera brivement discute en section 1.3.4.1.

f9 i { CFEHG Y BZ

1.2.3. Illustration

Les tats peuvent tre reprsents par des paires ( , ), dans lesquelles est un
un ensemble de vecteurs de dates appel domaine de tir. La i-ime
marquage et
projection de lespace est lintervalle de tir
associ la i-ime transition sensibilise. Les domaines de tir seront dcrits par des systmes dinquations linaires
avec une variable par transition sensibilise (notes comme les transitions).

M Y ~~Z

a L ] Y L @b L Z du rseau figure 1.1 est ainsi reprsent par :


L : y @A
L : po y o
Le tir de By depuis a L , une date relative
$y + @bH , mne en ay] Y y@Dy-Z
y : 6$@6$@
y : ,o ~Fo
o ~Fo
,o o
,o o
Ltat initial

Rseaux de Petri temporels

depuis ay , une date relative


+ @\ , mne en a ] Y @D Z :
: 6$@@
, : H Y @ 
\\Z o ~oF
\
,o >o
\
,o ~FoF
\
Comme
H peut prendre toute valeur relle dans @b\ , ltat a y admet une infinit
de successeurs par ~ .
Le tir de

1.2.4. Quelques thormes gnraux


Rappelons tout dabord un rsultat dindcidabilit :
Thorme 1. Les problmes de laccessibilit dun marquage, dun tat, du caractre
born et du caractre vivant, sont indcidables pour les
.

<>= q

Dmonstration : Il est dmontr dans [JON 77] que le problme de laccessibilit dun
marquage dans les
peut tre rduit celui, indcidable, de larrt dune machine deux compteurs. Il en rsulte lindcidabilit des autres problmes.

<>= q

Reprsenter le fonctionnement dun rseau temporel par le graphe daccessibilit


de ses tats (comme le fonctionnement dun rseau de Petri est reprsent par le graphe
daccessibilit de ses marquages) est en gnral impossible : les transitions pouvant
tre tires tout instant dans leur intervalle de tir, les tats admettent en gnral une
infinit de successeurs par la rgle de tir. Les classes dtats dfinies par la suite ont
pour but de fournir une reprsentation finie de cet ensemble infini dtats, lorsque
le rseau est born, par regroupements de certains ensembles dtats. Toutefois, il
existe deux sous-classes remarquables de rseaux temporels pour lesquels chaque tat
nadmet quun nombre fini de successeurs et donc admettant un graphe dtats fini
lorsquils sont borns.

+  MN Y BZ

] ? b@ @DCFEHG@DCTI6JK$@b q S@ jHO

Thorme 2. Soit un rseau temporel


. Si, pour
toute transition
,
est non born suprieurement, alors son graphe des tats
est isomorphe au graphe des marquages du rseau de Petri sous-jacent.

Dmonstration : Par induction. Si chaque transition porte un intervalle statique non


born, alors la condition de franchissement des transitions se rduit celle des rseaux
de Petri (sans contrainte temporelle). De plus, la rgle de tir prserve le caractre non
born des intervalles.

Systmes Temps Rel Volume 1

] ? D@ @DCFEHG@DCIJK$@D q Q@ O

MN

Thorme 3. Soit un rseau temporel


. Si associe
chaque transition un intervalle rduit un seul point, alors :
(i) le graphe des tats du rseau est fini si et seulement si le rseau est born ;
(ii) si, de plus, les intervalles statiques sont tous identiques, alors son graphe des tats
est isomorphe au graphe des marquages du rseau de Petri sous-jacent.
Dmonstration : Par induction. (i) Par la rgle de tir, si tous les intervalles sont ponctuels, alors un tat a, au plus, autant dtats suivants que de transitions quil sensibilise.
De plus, la rgle de tir prserve le caractre ponctuel des intervalles. Pour (ii), noter
que la condition de franchissement se rduit alors celle des rseaux de Petri.
Les thormes 2 et 3 permettent dinterprter de diverses faons les rseaux de Petri comme des rseaux temporels. Linterprtation la plus frquente est les considrer
.
comme des rseaux temporels dont chaque transition porte lintervalle

@0

1.3. Graphes de classes prservant marquages et proprits



1.3.1. Classes dtats


Lensemble des tats dun rseau temporel peut tre infini pour deux raisons :
dune part parce quun tat peut admettre une infinit de successeurs, dautre part,
parce quun rseau peut admettre des chanciers de longueur infinie passant par des
tats dont les marquages sont tous diffrents. Le deuxime cas sera discut section
1.3.3. Pour grer le premier cas, on regroupera certains ensembles dtats en classes
dtats. Plusieurs regroupements sont possibles ; le regroupement discut dans cette
section est celui introduit dans [BER 83 ; 91].

lensemble des tats atteints


Pour chaque squence de tir tirable , notons
depuis ltat initial en tirant des chanciers de support . Pour tout ensemble , dfinissons son marquage comme celui des tats quil contient (tous ces tats ont ncessairement le mme marquage) et son domaine de tir comme la runion des domaines
de tirs des tats quil contient. Enfin, notons la relation satisfaite par deux ensembles
et
si ceux-ci ont mme marquage et mme domaine de tir. Si deux ensembles
dtats sont lis par , alors tout chancier ralisable depuis un tat de lun de ces
ensembles est ralisable depuis un tat se trouvant dans lautre ensemble.

F
H t ]

Le graphe des classes dtats de [BER 83], ou


, est lensemble des ensembles
dtats , pour toute squence tirable, considrs modulo la relation , muni de la
relation de transition :
si et seulement si
. La classe initiale est la
classe dquivalence de lensemble dtats constitu du seul tat initial.

Le
paires

tV

F est obtenu comme suit. Les classes dtats sont reprsentes par des
Y b@ Z , o est un marquage et un domaine de tir dcrit par un systme

Rseaux de Petri temporels

Y @b Z] Y q @b q Z

dinquations linaires
. Les variables sont bijectivement associes aux
transitions sensibilises par . On a
si et seulement si
et
les domaines et
ont mme ensemble de solutions.

F

Algorithme 1 (Calcul du
).
Pour toute squence tirable,
peut tre calcule comme suit. Calculer le plus petit
ensemble de classes contenant
et tel que, lorsque
et
est tirable, alors
).

QY x + Z Y ]  t




 +

 {

 ] Y L @*3[ NY BZ o o [ N\Y BZ5 L 9 CFE\G Y BZb;Z


t
Si  est tirable et p] Y @D Z , alors  { est tirable si et seulement si :
(i) 9 CFEHG Y BZ ( est sensibilise par ) et ;
k 8 f9 CFEHG Y  Zb; est consistant.
(ii) le systme 8 3H o 5  ]W
t
Si  { est tirable, alors  ] Y q @b q Z est obtenue depuis p] Y @b Z par :
q ] CFEHG Y BZj 2CTt I6JK Y BZ ,
q obtenu comme suit :
(a) Les contraintes (ii) ci-dessus de tirabilit de depuis  sont ajoutes
(b) Pour chaque i sensibilise par q , une variable q est introduite, par :
k et rCFE\G Y BZ 9 CFEHG YQi Z ,
q ]W 4 , si is]W
t
![ N\YSi Z o q o[ N\YSi Z , sinon ;
(c) les variables sont limines.
La classe initiale est

] 

est la classe dquivalence pour la relation de lensemble


des tats atteints en tirant depuis
des chanciers de support . Lquivalence est vrifie
en mettant les systmes reprsentant les domaines de tir sous forme canonique. Ces
systmes sont des systmes de diffrences, calculer leur forme canonique se ramne
un problme de plus court chemin entre toutes paires de sommets, rsolu en temps
polynmial en utilisant, par exemple, lalgorithme de Floyd/Warshall.

Remarque : deux ensembles


et
peuvent tre quivalents par bien que de
contenus diffrents. La notation des classes par une paire
, identifie de faon
canonique une classe dquivalence densembles dtats pour la relation , mais pas
un ensemble dtats.

Y @DZ

1.3.2. Illustration

aL

A titre dillustration, construisons quelques classes du rseau temporel reprsent


figure 1.1. La classe initiale est dcrite comme ltat initial (voir section 1.2.3).
Le tir de
depuis
conduit une classe
dcrite comme ltat . Le tir de

By

y

ay

Systmes Temps Rel Volume 1

y

depuis
tapes :

conduit

] Y @D Z , avec ] Y @ @ Z

(a) on ajoute

les conditions de tirabilit de

et

dtermin en 3

, exprime par le systme :


o
o
o
~$@D @D ~ res q ]d  ~ , pour

(b) aucune transition nest nouvellement sensibilise et les transition


tent sensibilises lors du tir de . On ajoute donc les quations
;

+ 3@D@c;

(c) on limine les variables , ce qui conduit au systme :

po q
o q
 q o
po q
o q
 q o
po q
o
Le graphe des classes dtats du rseau figure 1.1 admet douze classes et vingt-neuf
transitions, il figure dans [BER 01]. La figure 1.2 montre un autre rseau temporel,
qui nous servira pour comparer diffrentes sortes de graphes de classes, ainsi que son
graphe de classes
.

F

1.3.3. Vrification la vole du caractre born


Il reste examiner les conditions sous lesquelles lensemble des classes dtats
est fini. Rappelons quun rseau de Petri ou temporel est born si le marquage de
toute place admet une borne suprieure. Lensemble des domaines de tir dun rseau
temporel tant fini [BER 83], son graphe des classes est fini si et seulement si le rseau est born. Cette proprit est indcidable (voir thorme 1), mais des conditions
suffisantes peuvent tre tablies. Le thorme suivant en propose certaines, de nature
comportementale, lanalyse structurelle en fournit dautres.

F

Thorme 4. [BER 83] Un rseau temporel est born si son


paire de classes dtats
et
telles que :
i) est accessible depuis ,

q 9 ,
q ] ,
iv) Yg Z Y q Y Z

ii)
iii)

] Y D@ Z q ] Y q @D q Z

Y Zm

q Y Z 9 H t $ 3CFEHG Y @D BZb;Z .

ne contient pas de

Rseaux de Petri temporels

c0

[3,5]

[0,2]

t1

t2

t1

c1

c8

p1
t

t1

t0
p0

[3,5]

c4

t
p2

[2,3]

t0

c5
t

t2

c7

classe
marquage
domaine de tir

classe
marquage
domaine de tir

*
6@6
!o q oW
o ~,o
o o
-
&@6
!o o
o q o

[5,7]

@
,o ~,o
,o o
-
@Q
,o q o

Figure 1.2. Rseau temporel et son

p3
c2

p4

t0

t2

c6

t
c3

p5

-
*
@
6 @6
,o o

*
@6
,o ,o


*
@
@Q
po o
o q o
o ,o
. La variable

est note .

Les proprits (i) (iv) sont ncessaires pour quun rseau soit non born, mais
pas suffisantes. Ce thorme permet, par exemple, de dmontrer que les rseaux des figures 1.1, 1.3 (gauche) et 1.3 (milieu) sont borns, mais il ne permet pas de dmontrer
que le rseau figure 1.3 (droit) est born bien que celui-ci nadmette que quarantehuit classes dtats. Si lon omet (iv), on ne peut plus montrer que 1.3 (milieu) est
born, omettant de plus (iii), on ne peut infrer que 1.3 (gauche) est born. La condition obtenue se rsume alors la proprit born pour le rseau de Petri sous-jacent
[KAR 69].

Systmes Temps Rel Volume 1

[1,1]

t1

t1

[1,1]

t1

10

[1,1]

t3

[1,1]

10
10

[0,0]

t2

t2

10

[0,0]

t2

[1,1]

Figure 1.3. Trois rseaux temporels borns.

1.3.4. Variantes
1.3.4.1. Sensibilisations multiples

9 i { CFEHG Y BZ

sil existe un entier


Une transition est multi-sensibilise par un marquage
tel que
. Dans les classes du graphe de classes introduit en
section 1.3, chaque transition sensibilise est associe une et une seule variable temporelle, quelle soit ou non multi-sensibilise ; les diffrentes dates de sensibilisation
sont systmatiquement identifies avec la plus grande (la dernire) de ces dates.

Dans certaines applications, cette interprtation est limitative et on peut vouloir


considrer les diffrentes instances de sensibilisations de faon distinctes. Ces aspects sont abords dans [BER 01], o plusieurs interprtations opratoires de la multisensibilisation sont distingues. On peut, naturellement, considrer les instances de
sensibilisation comme indpendantes, ou encore comme ordonnes selon leurs dates
de cration. Dans tous les cas, lalgorithme 1 est aisment adapt et produit des
graphes de classes avec multi-sensibilisation. Le lecteur est renvoy [BER 01]
pour plus de prcisions.
1.3.4.2. Prservation des seuls marquages

F

en ne mmorisant pas les


Il est possible de compacter encore le graphe
classes inclues dans une classe dj construite. Plus prcisment, soit
et
deux classes, et
si et seulement si
et
.
Alors, plutt que de procder comme dans lalgorithme 1, on construit un ensemble
de classes tel que, lorsque
et
est tirable, on a
).

] Y @b Z
 :  H
] q q
YSx + Z Y  H t

 +  {
Intuitivement, si une telle classe existe, tout chancier tirable depuis un tat
de  est aussi tirable depuis un tat de , on ne trouvera donc pas de nouveaux
t en mmorisant  . Bien entendu, cette construction ne prserve plus les
marquages
t donc ses proprits  , mais seulement les marsquences de tir du graphe dtats,
 H ] Y q @D q Z

quages. Elle produit typiquement des graphes plus compacts.

Rseaux de Petri temporels

1.4. Graphes de classes prservant tats et proprits



Comme mentionn dans la section prcdente, les classes construites par lalgorithme 1 reprsentent des classe dquivalences densembles dtats, mais ne reprsentent pas canoniquement les ensembles
dfinis au paragraphe 1.3.1. La consquence est que le
ne peut pas tre utilis pour dmontrer laccessibilit ou non
dun tat particulier du
.

F

T<>=

Les classes dtats fortes introduites dans cette section concident exactement avec
ces ensembles dtats , considres ici sans autre forme dquivalence que lgalit.
et les tats, dans un sens que
Le graphe des classes fortes prserve les proprits
nous prciserons par la suite.



1.4.1. Domaines dhorloges

F

Pour construire le graphe des classes dtats fortes (ou


), il est ncessaire de
reprsenter ces ensembles dtats
de faon canonique. Une reprsentation adquate
est fournie par les domaines dhorloges.

A tout chancier on peut associer une fonction horloge comme suit : toute
transition sensibilise aprs le tir de lchancier, la fonction associe le temps coul
depuis la dernire sensibilisation de cette transition. Pour un tat donn, la fonction
horloge sera aussi vue comme un vecteur , index par les transitions sensibilises.

] 3\F o
3 Y @ Y ZDZ*5 + H Y Zb; H Y !Z

Y Z

o |@ a o 4 o o a ]W[ N\YQi Z and ]l[ NYQi Z


Notons la relation qui lie deux paires (marquages, systme dhorloges) lorsquelles dcrivent exactement le mme ensemble dtats. En gnral, diffrents vecteurs dhorloges peuvent dcrire le mme domaine de tir. Toutefois, lquivalence
;

Lensemble dtats dcrit par un marquage et un systme dhorloges


est lensemble
, o
est lensemble des solutions
est lensemble des solutions en du systme :
de , et le domaine de tir

est aisment tablie dans un cas particulier :

R] Y b@ ] 3F o ;HZ et q ] Y q @b q ] 3 q q o q ;HZ .


ou q a un intervalle statique born, alors RW q
q 8 H Y !Z]lH Y q Z

Thorme 5. [BER 03b] Soit


Si toute transition sensibilise par
ssi

Le cas gnral sera voqu plus loin, noter toutefois que, lorsquune transition
est tirable toute date au-del de sa date de tir au plus tt , alors tous les vecteurs
dhorloge dont la composante est au moins gale , et ne diffrant que par cette
composante, dcrivent le mme tat.

Systmes Temps Rel Volume 1

1.4.2. Construction du

F

Y @b!Z

Les classes dtats fortes sont reprsentes par des paires


, o
est un
marquage et
un domaine dhorloges dcrit par un systme dinquations
. Les variables sont bijectivement associes aux transitions sensibilises par .
Lquivalence est implante comme dans le thorme 5.

F o

F

Algorithme 2 (Calcul du
, classes fortes).
Une classe
calcule comme ci-dessous peut tre associe toute squence tirable
. Calculer le plus petit ensemble de classes contenant
et tel que, lorsque
et
est tirable, alors
).

F
+
+
YQx Z Y fl H t

La classe initiale est F] Y L @*3\o op5 L 9 CFEHG Y BZb;Z .


t
Si  est tirable et p] Y @bZ , alors  { est tirable si et seulement si :
(i) 9 CFEHG Y BZ ( est sensibilise par ) et,
(ii) le systme 8 3,o7
&; 8 3\![ N\Y BZH> o
po [ NY  Z\> 5 f9 CFEHG Y  Zb;
t
est consistant (
est une nouvelle variable).
Si  { est tirable, alors H ] Y q @b q Z est calcule depuis ,] Y @b!Z par :
q ] CFEHG Y BZj 2CTt I6JK Y BZ ,
q obtenu comme suit :
(a) Une nouvelle variable est introduite,
, contrainte par les conditions (ii),
(b) Pour chaque  sensibilise par q , une variable q est introduite, par :
k et rCFE\G Y BZ 9 CFEHG Y  Z ,
q ] 2
, si  ]W
po q o , sinon ;
(c) Les variables et
sont limines.


 {

La variable temporaire dcrit les dates de tir possible de depuis les tats de
la classe de dpart. Il y a un arc tiquet entre les classes
et
si et seulement
si
. Comme les systmes dcrivant les domaines de tir dans les classes du
, les systmes dhorloges sont des systmes de diffrences, lquivalence est
vrifie en temps polynmial en mettant ces systmes sous forme canonique.

H t

F

Si le rseau satisfait la restriction introduite dans le thorme 5 (tous les intervalles statiques sont borns), alors lensemble des systmes dhorloges distincts que
lon peut construire avec lalgorithme 2 est fini. Si cette condition nest pas satisfaite,
alors, pour assurer la terminaison de la construction, on doit ajouter dans lalgorithme
2 une tape (d) de relaxation de la classe construite. Cette tape est explique en dtail
dans [BER 03b], elle revient noter lensemble dtats
par le plus grand ensemble
dhorloges dcrivant cet ensemble dtats. Ce plus grand ensemble dhorloges nest
pas en gnral convexe, mais il est toujours constitu dune runion finie densembles

Rseaux de Petri temporels

convexes. En pratique, la reprsentation des classes et la relation sont inchanges,


mais une classe pourra avoir plusieurs classes suivantes par la mme transition.

F

F

Compar au
, le
prserve aussi les traces et traces maximales du rseau et donc ses proprits exprimables en logique
, mais il permet de plus de
vrifier laccessibilit dun tat. Soit
un tat dont on veut vrifier laccessibilit. Alors, on peut toujours calculer un vecteur dhorloges tel que, pour toute
.
transition sensibilise par , lon ait
. Les proprits du
assurent alors que est accessible si et seulement si il existe une classe forte
du
telle que
et
.

F
Le F

q +


] Y @bMcZ
M YQi Z]M-N YSi Z

F
Y q @b!Z

du rseau figure 1.2 admet onze classes et seize transitions, il est reprsent figure 1.4 (gauche). Si on le compare au
de ce rseau, figure 1.2, on notera
que les ensembles dtats
et
sont distingus dans le
(reprsents
par les classes et , respectivement), alors quils taient quivalents par dans le
. Il en est de mme pour les ensembles
( ) et
( ).

P *

F

t t y t y t

F

t y t

 F
t L -

1.4.3. Variantes

F

Comme pour le calcul du


(voir section 1.3.3), on peut aisment ajouter
lalgorithme 2 la vrification la vole dune condition suffisante pour le caractre
born.

F

Enfin, comme pour le


(voir section 1.3.4.2), comme propos dans [BOU 04],
on peut construire une version gnralement plus compacte du
ne prservant
que les tats (mais ne prservant pas les squences de tir). Il suffit pour cel de ne pas
mmoriser une classe contenue dans une classe dj construite.

F

1.5. Graphes de classes prservant tats et proprits



Les proprits de branchement sont celles exprimes dans les logiques temporelles
temps arborescent comme
, ou dans les logiques modales comme
ou le
-calcul. Ni le
, ni le
, ne prservent ces formules. Considrons le rseau
reprsent figure 1.2 avec son graphe de classes
. Un exemple de formule
dont la valeur nest pas prserve par ce graphe est
, exprimant que,
via , il est possible datteindre un tat depuis lequel tout tir de conduit un tat
permettant de tirer . Cette formule est vraie sur le
, mais fausse sur le graphe
des tats du rseau : en effet, aprs avoir tir lchancier
, les transitions
et sont toutes deux sensibilises, mais seule est tirable, la date 0.


F

F

s

F

T \~ 

F
Y zF{ zFZ

s

En labsence de transitions silencieuses, les proprits de branchement sont captures par la notion de bissimulation ; tout graphe de classes bissimilaire au graphe

Systmes Temps Rel Volume 1

c0

c0

c1

c8
t

t1

t1

t1

t1

c1

t0

t2

c11
t

t1

c8
t

t2

t2

t0

t2

c4
t0

c9

c10

c5

c4
t0

t2

t2

c10

t2

c5

t2

c2

c7

t
t

classe
marquage
domaine dhorloges

classe
marquage
domaine dhorloges
classe
marquage
domaine dhorloges
classe
marquage
domaine dhorloges

Figure 1.4.

c9

jj

et

Aj

c6

c2

c7

c6

c3

-
@6
po q o
po ~,o
po o
*
@Q
po o
-
@Q
po q o
po o

&@6
po o
, q oW

c3

@
,o ~,o
,o o
-
>@6
po o
po q o
*
@
po o

@6
po q o
po o

-
*
@
 @
po o
*
6!@6
,o q o

@6
po o
po q o

du rseau figure 1.2. La variable


>@
po o
*q
@6
p q o
po ,o

est note .

Rseaux de Petri temporels

des tats (annotations temporelles omises) prserve toutes ses proprits de branchement. Une premire construction pour un tel graphe de classes a t propose dans
[YON 98], pour la sous-classe des
dans lesquels les intervalles statiques des
transitions sont borns suprieurement. Une spcialisation de cette construction, ne
prservant que les formules de la logique
, est propose dans [PEN 01]. Plutt que ces constructions, nous rappellerons celle de [BER 03b], qui sapplique tout
et produit gnralement des graphes plus compacts.

<>= q

T

<>=

La technique standard de calcul de bissimulation est celle du raffinement minimal de partition introduite dans [PAI 87]. Soit une relation binaire sur un ensemble
fini . Pour tout
, soit
. Une partition de
est stable si, pour toute paire
de blocs de , soit
soit
( sera dite stable par rapport ). Calculer une bissimulation depuis une partition
initiale dtats, est calculer un raffinement stable de [KAN 90]. Un algorithme
est le suivant [PAI 87] :

V
 y ]3  5 YSxc + Z Y  V Zb; y
Y @b,Z
<

<

<

]l< +
k 7 y
k
@b tels quey
yR]W7 et ]WW y

Initialement :
tant que : il existe
faire : replacer par

<
7 y ]

dans Q

Notre contexte est sensiblement diffrent de celui suppos ci-dessus, car nos ensembles dtats ne sont pas finis, mais la mthode peut tre adapte. Suivant [YON 98],
appelons atomique une classe stable par rapport toutes ses classes suivantes, cest-dire dont chaque tat a un successeur dans chacune de ses classes suivantes. Les
classes fortes du
sont adquates comme partition initiale (contrairement aux
classes du
, lquivalence ne prservant pas latomicit). Toutefois, le fait que
cet ensemble soit un recouvrement plutt quune partition, implique que le rsultat
final sera gnralement non minimal en nombre de blocs, et non unique.

F

F

TF

Le graphe des classes dtats atomiques (ou


) sera obtenu par raffinement
du graphe des classes fortes (
). La technique de partition des classes est explique en dtail dans [BER 03b]. Intuitivement, pour chaque transition du graphe courant, on calcule depuis la classe destination lensemble des (horloges possibles des)
tats ayant un successeur dans . Lintersection de cet ensemble avec celui captur
par la classe source dfinit une partition de . Les classes atomiques sont considres modulo lquivalence , comme les classes fortes. Si un intervalle statique au
doit tre construit en prenant comme recouvremoins est non born, alors le
ment initial le
relax (voir section 1.4.2).

F

F
Par exemple, le TF

TF

du rseau figure 1.2 admet douze classes et dix-neuf transitions, il est reprsent figure 1.4. La seule classe non atomique de son
,
,
a dabord t partitionne en
et une classe quivalente par . La classe du
est alors devenue non atomique, et a son tour t partitionne en
et
.
Il peut tre vrifi sur le
quil prserve la valeur de vrit de notre formule
exemple
.

 F
s

q
TF
 - \h 

F
*
* q $

Systmes Temps Rel Volume 1

1.6. Calculs dchanciers


1.6.1. Systmes dchanciers

Pour chaque squence tirable , les dates possible de franchissement des transitions le long de sont lies par un systme dinquations linaires
; la -ime
composante du vecteur dcrit les dates de tir possible pour la -ime transition de .

 <F
o

Pour calculer ces systmes, on peut procder comme pour le calcul des classes
dtats fortes par lalgorithme 2, mais en nliminant pas les variables auxiliaires .
Cette mthode est exprime par lalgorithme 3 ci-aprs.

Algorithme 3 (Calcul des chanciers relatif une squence de tir ).

  


p+ \3 @{-{-{-@ i ;
< Y
5 Z o


Notons le prfixe de la squence de longueur et la -ime transition de .


,
On calcule par la mthode ci-dessous une suite de paires , pour
constitues dun marquage et dun systme dinquations de la forme
.

Intuitivement, si
, alors est le marquage atteint aprs le tir de , le
systme  caractrise simultanment les dates de tir possibles des transitions le long
de , et les valeurs dhorloges pour les transitions sensibilises par .
Le systme recherch est celui obtenu en liminant les variables dhorloge dans le
systme dinquations de la dernire paire calcule, .

] Y @ Z

] Y L *@ 3\ro o 5 L 9 FC EHG Y BZb;Z . Cette paire a la forme


t

napparaisse dans le systme din-

Initialement,
requise, bien quaucune variable de chemin
quations.

]  et ] Y @Z . Si  est tirable, alors  { lest si et seulement si :


(i) 9 CFHE G Y BZ ( est sensibilise par ) et,
(ii) le systme  8 3,o
; 8 3\![ N\Y BZH> o
po[ NY  Z\> 5 f9 CFEHG Y  Zb;
est consistant (
est une nouvelle variablet de chemin).
y
] Y @rZ :
La paire ) ] Y q @  q Z est obtenue comme suit depuis la paire
q ] CFEHG Y BZj 2CTI6JK Y BZ ,
 q obtenu par :
(a) Une nouvelle variable est introduite,
, contrainte comme en (ii) ci-dessus ;
(b) Pour chaque  sensibilise par q , une variable  q est introduite, par :
k et rCFE\G Y BZ 9 CFEHG Y &Z ,
q ]  2
, si  ]W
po q o , sinon ;
(c) Les variables sont limines.

Soit

La mise en uvre exacte de lalgorithme 3 ne sera pas dtaille ici. Plusieurs optimisations sont essentielles pour de bonnes performances sur de longues squences. En

Rseaux de Petri temporels

particulier, ces systmes sont typiquement structurs en sous-systmes indpendants,


proprit quil est intressant dexploiter. Alternativement, plutt que par lalgorithme
ci-dessus, les systmes dchanciers peuvent tre reconstruits depuis la squence de
classes dtats ou de classes fortes (sans relaxation) construites pour la squence .

Ces systmes permettent de rsoudre certains problmes quantitatifs concernant


les chanciers, notamment celui de lchancier le plus rapide, ou le plus lent, de support donn, ou lexistence dchanciers de support donn satisfaisant des conditions
particulires impliquant les dlais de tir.

<F
o

Les systmes
produits pour par lalgorithme 3 ont une structure particulire : chaque inquation a lune des formes suivantes, dans lesquelles et 
sont des constantes entires et est un intervalle dentiers de
. Noter que
les variables impliques dans les sommes concernent ncessairement des transitions
contiges de la squence de tir support :

3 @{-{{*@5  5 ;

 o7

 o Y
HSZ
 o Y
\~Zo 

1.6.2. Dlais (dates relatives) et dates (absolues)


Les systmes construits par lalgorithme 3 caractrisent des dates relatives de tir
(des dlais). Il est possible de reformuler cet algorithme afin de produire des systmes
en dates absolues de tir, plutt que relatives. Dans ce cas, on introduira une variable
supplmentaire,
, qui reprsente la date dinitialisation du rseau.

La date absolue de tir de la -ime transition de est la date initiale


augment
des dates relatives de tir des premires transitions de . On passe donc aisment
dun systme en dlais ( ) un systme en dates ( ), ou inversement, par la
transformation suivante (toutes les variables tant non ngatives) :

  yR]
H

(en posant

L ]  )

Noter que, applique un systme en dlais, et compte tenu de la forme gnrale


de ces systmes, cette transformation produit un systme de diffrences.

1.6.3. Illustration

zT
L { zT
$y{ BzT
{ q zT

A titre dexemple, tout chancier de support


a la forme
, les variables
vantes :

{ &{ { q dans le rseau figure 1.2

H satisfaisant les inquations sui-

Systmes Temps Rel Volume 1

,o
yTo
,o
y 2
o
,o
o
o
y 2
2
oW
o
\Fo
o
y 2
H 2
\ 4
\>oW
,o



Exprim en dates, plutt quen dlais, on obtiendrait le systme suivant, dans lequel
est la date dinitialisation du rseau, et la date laquelle est tire la
-ime transition de :

,o yA  o
,
o  oW
,
o  yT o

o  oW

o 
 o

o   oW
,
o |
 

1.7. Mise en uvre, lenvironnement





(TIme Petri Net Analyzer)1 est un environnement logiciel permettant ldition


et lanalyse de rseaux de Petri et rseaux temporels. Les diffrents outils constituant
lenvironnement peuvent tre utiliss de faon combine ou indpendante. Ces outils
incluent :

 (NetDraw) :  est un outil ddition de rseaux temporels et dautomates, sous


forme graphique ou textuelle. Aussi, il intgre un simulateur pas pas (graphique
ou textuel) pour les rseaux temporels et permet dinvoquer les outils ci-dessous sans
sortir de lditeur.

'
'

: cet outil construit des reprsentation de lespace dtats dun rseau de Petri,
temporel ou non. Aux constructions classiques (graphe de marquages, arbre de couverture),
ajoute la construction despaces dtats abstraits, bass sur les techniques
dordre partiel, prservant certaines classes de proprits, comme labsence de blocage, les proprits de certaines logiques, ou les quivalences de test ; ces facilits sont
dcrites dans [BER 04]. Pour les rseaux temporels,
propose toutes les constructions de graphes de classes discutes dans ce chapitre. Tous ces graphes peuvent
tre produits dans divers formats : en clair ( but pdagogique), dans un format
dchange compact destination des autres outils de lenvironnement, ou bien dans


'

. http://www.laas.fr/tina.

Rseaux de Petri temporels

les formats accepts par certains vrificateurs de modles externes, comme


[ARN 94] pour la vrification de formules du -calcul, ou les outils
[FER 96]
pour notamment la vrification de prordres ou dquivalences de comportements.

F<

'

Dans toutes ces constructions


peut vrifier la vole certaines proprits
gnrales telles que le caractre born (condition souvent ncessaire pour une implantation ultrieure et souvent requise pour envisager dautres vrifications), la prsence de blocage - suivant le cas il sera attendu (toujours le cas pour un calcul qui doit
en particulier terminer) ou non dsir (souvent le cas pour les systmes ractifs) - la
pseudo-vivacite qui permet de rechercher le code mort (transition jamais active)
ou encore la vivacit qui permet de sassurer quune transition (ou une configuration
du systme) est atteignable partir de tout tat du comportement du systme.

%$

: cet outil permet le calcul de systmes dchanciers comme expliqu section 1.6. Il produit la demande le systme complet dchanciers, ou une solution de
ce systme, en dlais ou dates, mis ou non sous forme canonique.

"H' H'

: il sagit dun outil danalyse structurelle, non dcrit ici, calculant des


ensembles gnrateurs de flots ou semiflots, sur les places et/ou transitions.

"$#&%$'

'

: nn plus des proprits gnrales vrifies par


, il est le plus souvent
indispensable de pouvoir garantir des proprits spcifiques relatives au systme modlis. Loutil
est un vrificateur de modle (model-checker) pour les formules
dune extension de la logique temporelle
(State/Event
) de [CHA 04].
Il opre sur les abstractions despaces dtat produites par
, ou, travers un outil
de conversion, sur des graphes produits par dautres outils tels que les outils
[FER 96]. La mise en uvre de ce vrificateur sera dtaille dans le paragraphe 1.8.2.

"$#c%$'

  c' 

 

'



F<

  ) et


  ,    : il sagit doutils de conversion de formats de rseaux (

de systmes de transitions (   ).

c' 

Ces diffrents outils peuvent cooprer au travers de fichiers dans des formats
dchange documents. Une capture dcran dune session
est reproduite figure
1.5, avec un rseau temporel en cours ddition, un rsultat textuel de construction de
graphe de classes et une reprsentation graphique de ce graphe.



1.8. La vrification de formules



dans



Dans cette section, nous nous focalisons sur la vrification de proprits spcifiques et prsentons les techniques et outils mis disposition dans
pour raliser cette tche. La vrification de proprits spcifiques ncessite en premier lieu un
langage formel permettant dnoncer les proprits que lon cherche vrifier, nous
,
utiliserons pour cela une variante de la logique temporelle temps linaire





Systmes Temps Rel Volume 1

Figure 1.5. Capture dcran dune session  "! # .

ensuite une abstraction du comportement du rseau prservant les formules de cette


logique (les constructions
et
de
sont adquates) et enfin un outil
(le module
) qui permet de contrler la satisfaction des proprits formellement
nonces sur la reprsentation produite du comportement du rseau.

"$#&%$'

F

1.8.1. La logique temporelle

 T


F

'

T

La logique
tend le calcul propositionnel en permettant lexpression de proprits spcifiques sur les squences dexcution dun systme.
est une
variante de
rcemment introduite [CHA 04], qui permet de traiter de faon homogne des propositions dtats et des propositions de transitions. Les modles pour

4 T

Rseaux de Petri temporels

 

 

la logique
sont des structures de Kripke tiquetes (ou $
les systmes de transitions de Kripke (ou 
).



), aussi appe-

Dfinition 3. Structure de Kripke tiquete

] ?  @bM   @DT<A@+*@BR@"T@,PO

Un tuple %'&)(
, un ensemble fini dtats,

constitu de :

M  '- , un sous-ensemble dtats initiaux,


T< , un ensemble fini de propositions atomiques dtats,
* : 4V/
.10 , un tiquetage des tats par des ensembles de propositions,
3
 2: , un ensemble fini de transitions,

, un ensemble fini dvnements, ou actions,


:

WV4

, un tiquetage des transitions par des ensembles dvnements.

Y @ $Z + ? 7a\  YBY @ $ ZBZF] 


V
>9 @  +  @  + ra\]  HyV @ y @ y @ @-{{-{ O Y  @  Z
g
)

Y Z
] ? y@  yH@ @  @-{{-{ O
+ M 

Dfinition 4.  L
6 est dfinie sur les ensembles <Wa\A  dune %'&)( . dnote une variable
de T< et  une variable de  .
Les formules de  sont dfinies par la grammaire suivante :
UU ]r:5  C5 BW5\
D::5 E 5 FH5 Gs5\2l

7
9,
7
. Un chemin, ou excution,
On crira 68
5 7 lorsque
dune %:&;( est une suite infinie <
alternant tats et transitions

telle que
. La paire
sera appele tape
>="?
. Classiquement, la relation daccessibilit est suppose totale (tout tat admet un
successeur). On note @ %'&)( lensemble de tous les chemins ayant leur origine dans
lun des tats
. Enfin, pour un chemin <
, < dsigne le
suffixe du chemin < commenant ltat .

Leur smantique est dfinie inductivement comme suit :

75 ] ssi <45] pour tout chemin < + @ Y %'&)(Z


+ * Y Hy Z (o Hy est le premier tat de < )
<r5 ]2 ssi
 ssi  + , Y  y Z (o  y est la premire transition de < )
<r5 ]
<r5 6
] B ssi   <45]
<r5 I
] EX ssi < 5 ]
9 @< 5]
<r5 ]IF ssi g
<r5 6
] Gs ssi x 9 @ < 5 ]
9 @ < 5 ] et g| 9  9  J@ <  5 ]y
<r5 ]yl ssi x

%'&)(

Systmes Temps Rel Volume 1

Exemple 1 Quelques formules de

<

f<
F<
G:<
<lW
FG:<
F Y <mKG !Z
E



(Pour tout chemin)


P vraie au dpart du chemin (pour ltape initiale),
P vraie dans ltape suivante,
P vraie tout le long du chemin,
P vraie une fois au moins le long du chemin,
Q sera vraie dans le futur et P est vraie jusqu cet instant,
P vraie infiniment souvent,
Q rpond P.

1.8.2. Prservation des proprits



par les constructions de

'

Les graphes de classes dcrits dans les sections 1.3 1.5 prservent tous les marquages et traces maximales du graphe des tats, et donc la valeur de vrit de toutes les
formules de
. Les structures de Kripke associes ces graphes sont constitues de ces graphes, dont les nuds (tats de la structure de Kripke) sont tiquets
par les marquages (interprts comme les proprits dtats satisfaites) et les arcs par
les transitions tires (interprtes comme les proprits de transitions satisfaites).

>

Les intervalles temporels statiques associs aux transitions dun rseau temporel
ntant pas ncessairement borns, il est possible que lon puisse rsider indfiniment dans certains tats, sans quune boucle sur les classes contenant ces tats ne
matrialise dans le graphe de classes ce temps dattente arbitraire ; cette information
figure toutefois dans linformation temporelle capture par les classes. Lutilisateur a
le choix, la gnration du graphe de classes ou son chargement dans le vrificateur,
de prendre ou non en compte ces temps dattente arbitraires. Sils sont pris en compte,
une boucle sur les tats dattente sera ajoute dans la structure de Kripke, ainsi quune
proprit spcifique div (pour divergence temporelle).
Dautre part, la relation daccessibilit dans les structures de Kripke tant suppose
totale, on ajoutera au graphe obtenu une boucle sur tous les nuds nayant aucun
suivant, ainsi quune proprit spcifique (dead).
1.8.3.

"$#&%$'

: le vrificateur



de



1.8.3.1. Technique de vrification

"#&%$'

Dans cette section, nous dcrivons les principales fonctionnalits du module


,
le model-checker pour la logique
L de la bote outils
.
permet de
vrifier la satisfaction dune proprit
sur une structure de Kripke obtenue
comme indiqu ci-dessus depuis un graphe de classes. La vrification comporte deux
phases :

pR
 T

 "$#&%$'

Rseaux de Petri temporels

1) construire un automate de Bchi acceptant les mots qui ne satisfont pas la formule
vrifier ; cette phase est ralise de faon transparente pour lutilisateur en invoquant le logiciel
L M dvelopp au LIAFA par Paul Gastin et Denis
Oddoux[GAS 01] ;
2) construire la composition de la structure de Kripke obtenue depuis le graphe des
classes et de lautomate de Bchi, et rechercher la vole une composante fortement
connexe contenant un tat acceptant de lautomate de Bchi. Si aucune telle composante nest trouve, alors la formule est satisfaite, sinon elle dfinit un contre-exemple.

 

%$'% 

"$#&%$'

En cas de non-satisfaction dune formule,


peut fournir une squence contreexemple en clair ou sous un format exploitable par le simulateur de
, afin de
pouvoir lexplorer pas pas. Notons que, dans le cas dun modle temporis, il faut
au pralable associer cette excution un chancier temporel. Celui-ci sera calcul
de faon transparente par le module 
dcrit en section 1.6.



%

Dans certains cas - notamment pour les systmes temporiss - la squence contreexemple dune formule peut tre trs longue et donc difficilement exploitable par
lutilisateur. Afin den faciliter lexploitation,
peut aussi produire des contreexemples sous forme compacte (symbolique). Le contre-exemple est alors prsent
comme une suite de squences, chacune imprime comme une seule transition, ne
matrialisant que les changements dtats essentiels pour la comprhension du problme (les changements dtats de lautomate de Bchi).

"$#c%$'

1.8.3.2. La logique de

"$#&%'

Les structures de Kripke tiquetes que nous manipulons ici sont obtenues partir
dun rseau de Petri. Dans ce contexte,
correspond lensemble des places du
rseau et  lensemble de ses transitions.

T<

<

r

Notons que linterprtation des formules


(void dfinition 4) confond
deux tats ds lors que, dans ces deux tats, les mmes places sont marques, indpendamment du nombre de marques dans les places marques. Si cette approche est
exacte dans le cas dun rseau sauf (pour lequel chaque place est borne par 1), elle
implique dans le cas gnral une perte dinformation significative.
Afin de conserver linformation de multiplicit de marques exprime par les martravaille sur des structures de Kripke enrichies, bases sur des multiquages,
ensembles de proprits atomiques plutt que des ensembles. La seule diffrence avec
la dfinition 3 est le remplacement des applications * et , par des applications * et ,
qui associent chaque tat de un multi-ensemble construit sur
(cest--dire une
application de ONQP R , ou encore un marquage, dans notre contexte) et chaque
transition de un multi-ensemble construit sur  , respectivement. Cette dernire possibilit, pour les transitions, nest pas exploite dans les exemples que nous prsenterons ici, mais elle est utile pour lanalyse des constructions base de pas couvrants
(non discutes ici).
aussi fournies par

"#&%$'

< V

'

T<

Systmes Temps Rel Volume 1

A cet enrichissement des structures de Kripke correspond un enrichissement du


langage des formules afin dexploiter au mieux linformation quelles contiennent.
Pour cela, on va substituer au calcul propositionnel (bi-valu par {true,false}), un
calcul propositionnel multi-valu et tendre le langage dinterrogation de
avec
des oprateurs logico-arithmtiques.

"$#c%$'

+  <  +  , + P R , les formules , propositions et expressions


a "$#c%$' obissent la grammaire suivante :

UUU U]W] a>5H5 a BSa 5H DW5:E 5HFW5CG5H4l Y S + 3]@->@-o>@ @ 9 ;Z


Y T + 3 @->@&@VUc;HZ
a UU ]25  5T5a T,a
X
C

tout chemin < , linterprtation W Y <Z dune proposition et la valeur entire


? aHO Y Pour
<Z dune expression sont dfinies comme suit :
?
X
9
W y S Wva X YY <<ZZ ]] W aH Oy YX <Y <Z YZ SZ W @ X Y <Z@
?
? -OO YY <<ZZ ]] * @ q Y Z Y Z , o s est le premier tat de <@
?
? aH[y T,a OO YY <<ZZ ]] , ? aq Y y* BO Z Y Y <YZZ ,T o? a t O estY Zla{ premire transition de <@
La smantique des formules est dfinie comme pour >T (voir la dfinition
4), sauf pour les rgles relatives et  , remplaces par :
X
<r5 ]la ssi Wa Y <ZP{
Enfin, "#&%$' permet la dclaration doprateurs drivs ainsi que la redclaration
Pour
,
arithmtiques de

des oprateurs existants ; un petit nombre de commandes sont aussi fournies pour
contrler limpression des rsultats ou encore permettre lutilisation de bibliothques
de formules. Nous renvoyons le lecteur au manuel de loutil
pour plus de dtails.

"$#c%$'

Exemple 2 Quelques formules de

"$#&%$'

concernant le rseau figure 1.1

tout chemin commence par et L Y Z 9 ,


8  9
un invariant de marquage linaire,
F Y R T >]Z
un invariant de marquage non linaire,
F Y R6T>]lZ
S [  7r \
] F Y mKG]7$Z dclare loprateur rpond , not R,

rpond .

Rseaux de Petri temporels

1.9. Quelques exemples dutilisation de

"$#c%$'

1.9.1. John et Fred


1.9.1.1. nonc
Cet exemple [DEC 91] est emprunt au domaine de lintelligence artificielle et
la problmatique de satisfaction de contraintes. Lnonc est le suivant :
John se rend son travail en utilisant sa voiture (la dure de son trajet est alors
de 30 40 minutes) ou le bus (au moins 60 minutes).
Fred se rend son travail en utilisant sa voiture (dure 20 30 minutes) ou un
systme de covoiturage (40 50 minutes).
Aujourdhui John a quitt son domicile entre 7h10 et 7h20, Fred est arriv son
travail entre 8h00 et 8h10. De plus John est arriv 10 20 minutes aprs que
Fred ait quitt sa maison.
Il sagit de rpondre trois questions :
1) Les contraintes temporelles figurant dans ce scnario sont-elles consistantes ?
2) Est-il possible que Fred ait pris le bus et John utilis le covoiturage ?
3) Dans quelle plage horaire Fred a pu partir ?
La modlisation du problme en rseau temporel est donne figure 1.6. Les parties
non grises correspondent aux comportements respectifs habituels de John et de Fred.
La partie grise spcifie deux observateurs mis en place pour prendre en compte les
contraintes temporelles spcifiques au scnario considr. Sur la composante centrale
sont reprsentes les contraintes absolues : heure de dpart de John, heure darrive
de Fred. La contrainte relative stipulant que John est arriv entre 10 et 20 minutes
aprs que Fred ait quitt sa maison est reprsente par un second observateur qui
complte le rseau de Fred en dclenchant un chronomtre aprs que Fred ait quitt
sa maison.
1.9.1.2. Les contraintes temporelles figurant dans ce scnario sont-elles consistantes ?

'

,
Le graphe de classes de ce rseau, calcul par lalgorithme 1 excut par
admet 3676 classes et 7578 transitions. Comme ce graphe est sans circuit, il suffit de
sassurer de lexistence dune excution permettant John et Fred de travailler et satisfaisant les contraintes exprimes, autrement dit satisfaisant la formule
suivante :

y ]^
8 GG
8 G
8 G

Y  _  _ QaH\[ b a 8 _ 8 __Z
Y [ aH` _  \ ca a 8
_ _/_ cZ
Y  _ _ a _$Z
Y  _  _T i S>8 [ aH` _ i   Z

John est parti entre 7h10 et 7h20


Fred est arriv entre 8h et 8h10
John arrive 10 20 minutes aprs le
dpart de Fred

Systmes Temps Rel Volume 1

john_at_home

Observer

[430,430]

t1

fred_at_home

to1

t6

fred_has_left
john_left

[0,0]

7h10_7h20

[0,0]

t2

jcar

t7

jbus

[30,40]

[60,[

jc

john_arrives

[0,0]

[10,10]

fred_left

to2

t15

7h20_8h00

jb

[40,40]

[10,10]

t8

10_20

to3

t17

[10,10]

[0,0]

fcpool

fp

[10,10]

[0,0]

fcar

[40,50]

8h00_8h10

t3

t9

fc

[20,30]

fred_arrives

to4
t0

john_working

[0,0]

fred_working

Figure 1.6. Modlisation en rseau temporel de John et Fred.

T

Comme
value les proprits sur toutes les excutions possibles, on considre la formule B
et on la soumet
. La rponse est ngative : toutes les
excutions ne satisfont pas B
, donc lune au moins satisfait sa ngation ( ).
fournit simultanment un contre-exemple de B
, cest--dire une squence dmontrant que le scnario est consistant. Dans le contre-exemple fourni, John a utilis sa
voiture et Fred le covoiturage. Loutil 
discut en section 1.6 permet de trouver
un chancier, ou tous, ayant cette squence pour support. La squence exhibe est la
suivante :

 y

 y

"$#c%$'

 y

y "#&%$'

%

'

v 1w v x

'

v w v x
v L v x

'

'

v { v x

"H'$'#ji:kmlM"$#/
n#/jo
#/p'qprqHs#ut rcqp'qprHs#
"H'$'y
# wzkmlM"$/# 
n/# jo
/# pq' prqHsu
# t rcq pc%
# o'
"H'$'y
# wH{|/}~ko/
# p$q' prqHs
# t r pc%
# o
' rAwCip
rqL
i
"H'$'y
# wH:ko/
# p$q' prqHs
# tq$ \ rAwHip/ rqLi
"H'$'y
# wH/}~ko/
# pr/" pc%/# o
' o/
# pc%
# oj
' tq/ 6 rAwHip/ rqLi

Rseaux de Petri temporels

'

v  v x

'

v 
L v x
v 1wC v x

'

v tq v x

'

v 1wC v x
v  v x

'
'

v 
v x
v o  v x
v i v x

'
'

v  } v x

"H'$'#ywH:koq  &%o/#
pr"/pc%#/o't$/6 rAwHip
rqLi
"H'$'y
# wH{:koq &%o/ #
pr"/pc%#/o't$/6 rqLip
rqii
"H'$'y
# wH:kwCip
Li o  &%tq$ \ rqLip/ rqii
"H'$'y
# wH:kwCip
Li o &%t rp/Hn#"Z rqLip
rqii
"H'$'y
# wH|iwzkoq  &
% t
 rcp Hn#" rqL
ip
rqi
i
"H'$'y
# wH|iL:koq  &
% t
 rc p/ rqL
ip
rqi
i
"H'$'y
# wH|i:koq &
% t
 rc p/ rqi
ip
rAwCi
"H'$'y
# wH|i/}~ko/
# p H n#
" t r pq/
  rqiip
rAwHi
"H'$'y
# wH|i|:ko/
# p/ t r pq/
  rqiip
rAwHi
"H'$'y
# wH|wHi:kc#c
 jo

# pq/ t rc pq/

1.9.1.3. Est-il possible que Fred ait pris le bus et que John ait utilis le covoiturage ?

Il suffit daffiner la formule


prcdente pour sassurer que Fred a pris le bus et
John le covoiturage. Un tel scnario est possible si une excution au moins satisfait
G
"
G
.

6]W y 8 Y

[6HHSZ

 "#&%$'

la question B
,
rpond vrai. Aucune excution ne satisfait donc
; il
nest donc pas possible de satisfaire les contraintes temporelles lorsque Fred part en
Bus et John en covoiturage.
1.9.1.4. A quels horaires Fred a pu partir ?
Contrairement aux questions prcdentes, celle-ci nappelle pas une simple rponse boolenne mais doit fournir une plage horaire pour le dpart de Fred. Il ne
sagit plus dans ce cas deffectuer une vrification mais une activit de synthse.

a\

apportera aisment une rponse la question de savoir si Fred a pu partir dans


un intervalle de dates donn. Il suffit pour cela dassocier cet intervalle la transition
du rseau (matrialisant le dpart de Fred) et de vrifier par la mthode prcdente
quil existe une excution consistante. Mais dans ce cas, la plage horaire a t propose
et il a suffi de vrifier que les nouvelles contraintes sont satisfaisables.

%$

Toutefois, loutil 
permet de rpondre partiellement ce problme de synthse. Pour une squence donne satisfaisant les contraintes temporelles, 
peut
dterminer les dates de dpart possibles de Fred, mais pas pour toutes ces squences
en une seule invocation. Pour avoir toutes ces dates possibles, il faut invoquer loutil 
pour toutes les squences consistantes possibles ; le rsultat recherch est la
runion des ensembles de dates calcules. Ces squences peuvent tre obtenues via

, en construisant le graphe de synchronisation en totalit (incluant donc tous les
contre-exemples).

%$

%$

Systmes Temps Rel Volume 1

1.9.2. Le protocole du bit altern


Les protocoles de communication font un large usage de contraintes temporelles :
les mcanismes de reconfiguration pour la perte de messages, par exemple, sont typiquement implants laide de temporisations. Le Protocole du Bit Altern est certainement le plus simple de ces protocoles. Il sagit dun protocole de transfert de
donnes du type envoi-attente : avant dmettre nouveau un message, le processus
metteur attend larrive de laccus de rception du message quil a prcdemment
envoy.
Les hypothses sur le fonctionnement du mdium de communication sont que les
messages ou accuss de rception peuvent tre perdus ou endommags (dans ce dernier cas, ils sont simplement rejets). Pour corriger les pertes de messages et/ou daccuss, une temporisation est lance lorsquun message est mis. Si laccus de rception du message narrive pas avant lexpiration de la temporisation, le message est
retransmis.
Le protocole du bit altern peut tre reprsent par le rseau temporel de la figure
1.7. Par souci de simplification, les messages endommags sont assimils des messages perdus. Notons que, dans ce rseau, les pertes de messages ou daccuss sont
simplement reprsentes par des transitions qui nont pas de place de sortie. Afin de
produire la spcification, des estimations pour la dure de toutes les oprations lmentaires du protocole doivent tre fournies. La temporisation de retransmission doit
tre choisie suffisamment longue pour que le mdium de transmission ne contienne au
plus quun message ou accus ; elle se produira au bout dun temps compris entre 5 et
6 units de temps aprs mission de sa dernire copie. Des estimations identiques sont
donnes pour la perte et la rception de messages ou daccuss de rception (entre 0 et
1 unit). Par contre, aucune contrainte de date nest donne pour lmission de la premire copie de chaque message ; les transitions correspondantes portent implicitement
lintervalle
.

@P0

Ce rseau est born. Son graphe de classes, construit par


rithme 1 admet seize classes dtats.

'

en utilisant lalgo-

Intressons-nous quelques proprits sur ce rseau, dans le langage de

"#&%$'

y]F Y y L :yDy sy o Z
]

] F Y mG: B$Z

] F Y mG Y D BZBZ
]f FG Y  D &Z|mF Y mKGs ~Z

] F
 `a `
y exprime quun message ou accus au plus est en transit chaque instant, ce qui
garantit que le dlai de retransmission est correctement choisi. y est vrifie.

Rseaux de Petri temporels

p1

[0,1]

p9

t1

p2

t7

t2

[5,6]

[0,1]

t13

[0,1]

[0,1]

p6

t9

p10

t3

t8

t14

[0,1]

[0,2]

p7

p3

p11

t4

p4

t10

t5

t15

[0,1]

[0,1]

[0,1]

t12

p8

[5,6]
p12
t11

t6

[0,2]

[0,1]

t16

[0,1]
p5

By



U
U

mission paquet 0
remission paquet 0
rception accus 0
mission paquet 1
remission paquet 1
rception accus 1
acceptation paquet 0
mission accus 0

L
By
Byby
By
By
By
By
Jy
U

rejet paquet 0 dupliqu


acceptation paquet 1
mission accus 1
rejet paquet 1 dupliqu
perte paquet 0
perte accus 0
perte paquet 1
perte accus 1

Figure 1.7. Un rseau temporel pour le Protocole du Bit Altern.

Systmes Temps Rel Volume 1

exprime que toute excution commence par la transition . Elle savre fausse :
ntant pas temporellement contrainte, peut tre retarde indfiniment ; ltat initial
est temporellement divergent. Loutil
laisse le choix lutilisateur dinterprter
les transitions non temporellement contraintes comme pouvant, ou non, tre infiniment
retardes. Par dfaut, la premire interprtation est retenue.


'

exprime que tout message mis est reu. Comme tout message peut tre perdu
puis retransmis une infinit de fois, elle nest pas satisfaite. Le contre-exemple, montr
ci-dessous, exhibe une squence contenant une circuit passant par ltat 16 et dans
lequel le message est perdu (t13) puis retransmis (t2). Par contre, tout message mis
est soit reu, soit perdu, comme exprim par , qui svalue vrai.

'

v 1w v x

'

v 1wC v x
v L v x

'

"H'$'#ji:k> Hn
"H'$'y
# wH{:k  L 
"H'$'y
# wH:k  L 
"H'$'y
# wH{:k L


w

|
|

exprime que laccus de rception de tout message mis est reu, ds lors que
ni le message ni son accus de rception nont t perdus une infinit de fois.
est
vrifie.

Enfin, la proprit exprime labsence de blocage, elle svalue vrai. Comme


dj expliqu, les blocages sont reprsents dans les systmes de transition de Kripke
utiliss par
par une proprit dtat spcifique (dead).

"$#&%$'

1.10. Conclusion
Les constructions exposes dans cet article permettent dabstraire de faon finie
le comportement, gnralement infini, des rseaux temporels borns, en prservant
certaines relations avec le graphe dtats du rseau temporel dont la plus riche est la
bissimulation. Disposer dune reprsentation finie de cet espace infini dtats permet
de mettre en uvre les techniques de vrification de modles ; dans ce chapitre nous
avons illustr cette possibilit dans le cadre de la logique temporelle
. La mthode
classique du graphe des classes a donn lieu de nombreux travaux, acadmiques
ou industriels, concernant le matriel ou le logiciel et a t intgre plusieurs autres
outils danalyse, notamment [GAR 05]. Lensemble des techniques prsent dans ce
chapitre est support par lenvironnement
[BER 04] qui offre des fonctionnalits
ddition, dexploration et danalyse de rseaux de Petri temporels.





Les limites intrinsques de ces mthodes ne doivent pas tre perdues de vue. Une
premire est quil ne peut tre nonc de condition ncessaire et suffisante pour la

Rseaux de Petri temporels

proprit born pour les rseaux temporels, mais il existe un bon nombre de conditions suffisantes, comportementales ou structurelles. Une seconde est que le nombre de
classes dtats dun rseau temporel peut tre trs grand. Ce nombre dpend de faon
difficilement prvisible de linteraction entre la structure de lespace des marquages du
rseau de Petri sous-jacent et les contraintes temporelles associes aux transitions. Il
est essentiel donc de porter un effort sur les techniques de vrification incrmentielles
ou limitant lexplosion combinatoire [RIB 05].
Les travaux en cours portent sur lenrichissement du modle de description. Deux
aspects sont plus particulirement retenus : la prise en compte des donnes et la possibilit de reprsenter les mcanismes de suspension/reprise dactivits pour permettre
la modlisation et la vrification de systmes rgis par un ordonnancement premptif
[BER 05].
Dautre part, de nombreux projets (tels que Topcased [FAR 04] ou Cotre [BER 03a]
auxquels nous participons ou avons particip) ont montr lintrt et la volont des industriels dintgrer les techniques de description et de vrification formelles (TDF)
dans leur processus de conception. Ceci constitue un second axe prospectif de notre
travail. Lintgration des TDF dans un atelier de dveloppement industriel ncessite
des travaux thoriques (passage lchelle), logiciels (efficacit/ergonomie des outils
supports) et collaboratifs - en partenariat direct avec les utilisateurs finaux de latelier logiciel - pour rduire la distance entre les standards mtier en vigueur dans
lindustrie et les formalismes cibles pour la vrification.

1.11. Bibliographie
[ARN 94] A RNOLD A., B EGAY D., C RUBILL P., Construction and analysis of transition
systems with MEC, Word Scientific Publishing Co, Singapour, 1994.
[BER 83] B ERTHOMIEU B., M ENASCHE M., An Enumerative Approach for Analyzing
Time Petri Nets. , IFIP Congress Series, vol. 9, p. 4146, Elsevier Science Publ. Comp.
(North Holland), 1983.
[BER 91] B ERTHOMIEU B., D IAZ M., Modeling and Verification of Time Dependent Systems Using Time Petri Nets. , IEEE Transactions on Software Engineering, vol. 17, n 3,
p. 259273, mars 1991.
[BER 01] B ERTHOMIEU B., La mthode des classes dtats pour lanalyse des rseaux Temporels Mise en uvre, Extension la multi-sensibilisation , Proc. Modlisation des
Systmes Ractifs, Toulouse, France, octobre 2001.
[BER 03a] B ERTHOMIEU B., R IBET P.-O., V ERNADAT F., B ERNARTT J., FARINES J.-M.,
B ODEVEIX J.-P., F ILALI M., PADIOU G., M ICHEL P., FARAIL P., G AUFFILET P., D IS SAUX P., L AMBERT J., Towards the verification of real-time systems in avionics : the cotre
approach , Workshop on Formal Methods for Industrial Critical Systems (FMICS2003),
p. 201216, 2003.

Systmes Temps Rel Volume 1

[BER 03b] B ERTHOMIEU B., V ERNADAT F., State Class Constructions for Branching Analysis of Time Petri Nets , Proc. Tools and Algorithms for the Construction and Analysis of
Systems (TACAS2003), Warsaw, Poland, Springer LNCS 2619, p. 442-457, 2003.
[BER 04] B ERTHOMIEU B., R IBET P.-O., V ERNADAT F., The tool TINA Construction
of Abstract State Spaces for Petri Nets and Time Petri Nets , International Journal of
Production Research, vol. 42, n 14, p. 27412756, 15 Juillet 2004.
[BER 05] B ERTHOMIEU B., L IME D., ROUX O. H., V ERNADAT F., Modlisation des Systmes Ractifs (MSR05) , Journal Europen des Systmes Automatiss, vol. 39 (1-2-3),
p. 223238, 2005.

[BOU 04] B OUCHENEB H., H ADJIDJ R., Towards optimal : model checking of Time
Petri nets , Proceedings of 7th Workshop on Discrete Events Systems, Reims, France,
septembre 2004.
[CHA 04] C HAKI S., E M., C LARKE , O UAKNINE J., S HARYGINA N., S INHA N.,
State/Event-based Software Model Checking , 4th International Conference on Integrated Formal Methods (IFM04), Springer LNCS 2999, p. 128147, avril 2004.
[DEC 91] D ECHTER R., M EIRI I., P EARL J., Temporal constraint networks , Artificial
Intelligence, vol. 49 (1-3), p. 6195, 1991.
[FAR 04] FARAIL P., G AUFILLET P., F ILALI M., M ICHEL P., V ERNADAT F., Vrifications
dans un AGL orient modles , Gnie Logiciel, vol. 69B, p. 51-55, 2004.
[FER 96] F ERNANDEZ J.-C., G ARAVEL H., M ATEESCU R., M OUNIER L., S IGHIREANU M.,
Cadp, a protocol validation and verification toolbox , 8th Conference Computer-Aided
Verification, CAV2001, Springer LNCS 1102, p. 437440, juillet 1996.
[GAR 05] G ARDEY G., L IME D., M AGNIN M., ROUX O. H., Romo : A Tool for Analyzing
time Petri nets , 17th International Conference on Computer Aided Verification, CAV05,
Springer LNCS 3576, juillet 2005.
[GAS 01] G ASTIN P., O DDOUX D., Fast LTL to Buchi Automata Translation , 13th Conference Computer-Aided Verification, CAV2001, Springer LNCS 2102, p. 5365, juillet 2001.
[JON 77] J ONES N. D., L ANDWEBER L. H., L IEN Y. E., Complexity of Some Problems in
Petri Nets. , Theoretical Computer Science 4, p. 277299, 1977.
[KAN 90] K ANELLAKIS P. K., S MOLKA S. A., CCS Expressions, Finite State Processes,
and Three Problems of Equivalence , Information and Computation, vol. 86, p. 4368,
1990.
[KAR 69] K ARP R. M., M ILLER R. E., Parallel Program Schemata. , Journal of Computer
and System Sciences 3, , n 2, p. 147195, mai 1969.
[MER 74] M ERLIN P. M., A Study of the Recoverability of Computing Systems., Irvine : Univ.
California, Thse de doctorat, 1974.
[PAI 87] PAIGE P., TARJAN R. E., Three Partition Refinement Algorithms , SIAM Journal
on Computing, vol. 16, n 6, p. 973989, 1987.

Rseaux de Petri temporels

[PEN 01] P ENCZEK W., P ROLA A., Abstraction and partial order reductions for checking
branching properties of Time Petri Nets , Proc. 22st International Conference on Application and Theory of Petri Nets (ICATPN 2001), Springer LNCS 2075, p. 323342, 2001.
[RIB 05] R IBET P.-O., Vrification formelle de systmes. Contribution la rduction de lexplosion combinatoire, Rapport, Thse de doctorat de lInstitut National des Sciences Appliques, Toulouse (Rapport LAAS/CNRS 05631), juillet 2005.
[YON 98] YONEDA T., RYUBA H., CTL Model Checking of Time Petri nets Using Geometric Regions , IEEE Transactions on Information and Systems, vol. E99-D, n 3, p. 1-10,
1998.

Vous aimerez peut-être aussi