Académique Documents
Professionnel Documents
Culture Documents
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.
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.
!
"$#&%$'
(*) ,+
(-) .
/
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.
p1
p2
2
2
[0,3]
t5
[4,9]
t1
t2
[0,2]
t3
[1,3]
p3
p4
p5
t4
[0,2]
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.
]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
<>= 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
+ MN Y BZ
] ? b@ @DCFEHG@DCTI6JK$@b q S@ jHO
] ? D@ @DCFEHG@DCIJK$@D q Q@ O
MN
@0
F
H t ]
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
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 @DZ
1.3.2. Illustration
aL
By
y
ay
y
depuis
tapes :
conduit
] Y @D Z , avec ] Y @ @ Z
(a) on ajoute
et
dtermin en 3
o
o
o
~$@D @D ~ res q ]d ~ , pour
+ 3@D@c;
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
F
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
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
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].
[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]
1.3.4. Variantes
1.3.4.1. Sensibilisations multiples
9 i { CFEHG Y BZ
F
] 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
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.
F
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
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.
1.4.2. Construction du
F
Y @b!Z
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 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
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
F
F
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
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
>@
po o
*q
@6
p q o
po ,o
est note .
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
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 $
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.
p+ \3 @{-{-{-@ i ;
< Y
5 Z o
] Y @ Z
Initialement,
requise, bien quaucune variable de chemin
quations.
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
<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
yR]
H
(en posant
L ] )
1.6.3. Illustration
zT
L { zT
$y{ BzT
{ q zT
,o
yTo
,o
y2
o
,o
o
o
y2
2
oW
o
\Fo
o
y 2
H2
\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 :
,oyA o
,
o oW
,
o yT o
o oW
o
o
o oW
,
o |
'
'
: 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.
F<
'
%$
: 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.
"$#&%$'
'
"$#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.
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
"$#&%$'
F
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
la logique
sont des structures de Kripke tiquetes (ou $
les systmes de transitions de Kripke (ou
).
), aussi appe-
] ? @bM @DT<A@+*@BR@"T@,PO
Un tuple %'&)(
, un ensemble fini dtats,
constitu de :
WV4
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 .
%'&)(
<
f<
F<
G:<
<lW
FG:<
F Y <mKG !Z
E
'
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
"#&%$'
pR
T
"$#&%$'
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.
%$'%
"$#&%$'
%
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
"#&%$'
< V
'
T<
"$#c%$'
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%$'
"$#&%$'
"$#c%$'
'
,
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_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
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
'
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
Lio &%tq$ \ rqLip/ rqii
"H'$'y
# wH:kwCip
Lio &%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 ?
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\
%$
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).
%$
%$
@P0
'
en utilisant lalgo-
"#&%$'
y]F Y y L :yDysy 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.
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
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.
"$#&%$'
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
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.
[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.
[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.