5.4 R´esultats
5.4.2 Explosion de l’espace des ´etats
Les r´esultats pr´esent´es ci-dessus indiquent que les performances obtenues avec MARIA
pour les M-nets causalement temporis´es sont g´en´eralement meilleures que celles
obte-nues avec les autres outils pour les automates temporis´es. Cet optimisme doit cependant
ˆetre un peu temp´er´e. En effet, en s’appuyant sur MARIA, l’approche causale du temps
souffre du probl`eme bien connu d’explosion de l’espace des ´etats : si nous augmentons
les constantes utilis´ees pour borner les comptages de tics, le nombre de marquages
ac-cessibles croˆıt tr`es vite. Comme MARIA g´en`ere explicitement tous ces marquages, ses
performances deviennent tr`es mauvaises.
Avec les automates temporis´es, ce qui est effectivement test´e n’est pas les automates
eux mˆemes mais desautomates de r´egions qui confondent les ´etats ´equivalents des
au-tomates de d´epart. Les r´egions sont n´ecessaires dans cette approche car le temps ´etant
suppos´e continu, un syst`eme qui utiliserait au moins un chronom`etre aurait une infinit´e
non d´enombrable d’´etats distincts. Une telle notion de r´egions n’existe pas dans le cas
du temps causal. Nous envisageons de mener des recherches dans cette direction afin de
lever la limitation actuelle.
D’autre part, les techniques permettant d’all´eger le probl`eme d’explosion de l’espace de
´etats pour les r´eseaux de Petri sont typiquement bas´ees sur l’ind´ependance de certaines
actions et reposent le plus souvent sur des s´emantiques d’ordres partiels des r´eseaux.
Par exemple, l’espace des ´etats peut ˆetre repr´esent´e implicitement par un pr´efixe du
r´eseau d’occurrences g´en´eralis´e [McM95]. Ces techniques sont pour le moment limit´ees
aux mod`eles bas´es sur les r´eseaux places/transitions, mais des recherches r´ecentes dans le
domaine montrent qu’il est possible de les ´etendre `a des r´eseaux color´es pour produire des
pr´efixes de haut niveau qui peuvent ˆetre analys´es [Kou+02, FP00]. Il est mˆeme possible
d’am´eliorer consid´erablement l’efficacit´e des v´erifications en d´efinissant une ´equivalence
sur les marquages, ce qui permet de regrouper de nombreux ´etats dans les pr´efixes
g´en´er´es. Cela revient `a abstraire les donn´ees du r´eseau color´e pour ne les repr´esenter
que lorsqu’elles influent sur son ex´ecution. Dans notre sp´ecification, par exemple, la
placeTimen’apparaˆıtrait dans le pr´efixe que lorsque les valeurs qu’elle contient seraient
discriminantes pour l’´evolution du syst`eme. De mˆeme, la plupart des occurrences du tic
Ce type d’approches m`enera certainement rapidement `a une solution satisfaisante du
probl`eme d’explosion de l’espace des ´etats. Dans ce cas, non seulement nous l`everions
les limites actuelles, mais en plus, les performances constat´ees pourraient se voir encore
am´elior´ees puisque la v´erification des pr´efixes est g´en´eralement beaucoup plus efficace
que la g´en´eration des graphes de marquage. En fait, le gain en efficacit´e est proportionnel
au degr´e de concurrence du r´eseau v´erifi´e. Dans notre cas, il faudra r´ealiser un contrˆoleur
permettant plus de concurrence pour am´eliorer grandement nos r´esultats. Remarquons
quand mˆeme que les constantes que nous avons utilis´ees ne sont pas sp´ecialement petites
et l’utilisation de ces techniques r´eduirait consid´erablement la taille de la repr´esentation
de l’espace des ´etats, mˆeme avec la sp´ecification pr´esent´ee ici.
6
Pr´eemption
Ce chapitre est d´edi´e `a l’introduction de la pr´eemption dans le mod`ele des M-nets. Cette
introduction est motiv´ee par la recherche d’un mod`ele complet pour le temps-r´eel et
nous avons vu au chapitre 2 que la pr´eemption est un concept central du temps-r´eel, au
mˆeme titre que la repr´esentation du temps.
Nous avons aussi vu que la pr´eemption imp´erative n´ecessite une vue globale de la
tˆache `a interrompre. Pour mod´eliser la suspension notamment, il faut donc se doter
d’un m´ecanisme permettant de contrˆoler la franchissabilit´e d’un ensemble de transitions
(celles qui composent la tˆache `a suspendre) de mani`ere centralis´ee. Dans les r´eseaux
de Petri, chaque transition n’a qu’une vue locale du syst`eme (ses places en entr´ee) et
son franchissement ne d´epend que de cet environnement restreint. La franchissabilit´e
d’un ensemble de transitions est donc un crit`ere r´eparti et non centralis´e comme nous
en aurions besoin. Ce mod`ele se r´ev`ele donc `a priori peu adapt´e `a l’introduction de la
suspension.
Afin de surmonter cette difficult´e, nous augmentons le mod`ele des M-nets avec des
priorit´es entre les transitions. Ajouter des priorit´es aux r´eseaux de Petri peut augmenter
leur expressivit´e et permettre de repr´esenter les machines de Turing. C’est le cas en
g´en´eral lorsque les r´eseaux sont non born´es. Les places de liens n’´etant pas born´ees en
g´en´eral, l’ajout des priorit´es augmente strictement la puissance d’expression des M-nets.
Cependant, comme nous l’avons vu `a la section 3.4, il est possible de garantir que les
places de liens restent born´ees par l’ajout de places compl´ementaires. Nous pouvons alors
montrer que les r´eseaux ainsi born´es sont des abr´eviations de r´eseaux places/transitions
et que leur taille est compact´ee (avec un facteur exponentiel) grˆace `a l’utilisation des
priorit´es.
L’ajout des priorit´es nous permet de d´efinir deux nouveaux op´erateurs autorisant
res-pectivement la suspension/reprise et l’avortement d’un M-net `a priorit´es. Nous
respec-tons ainsi l’aspect composable de notre mod`ele de d´epart et nous obtenons un nouveau
mod`ele, baptis´ealg`ebre des M-nets pr´eemptibles (aussi appel´esPM-nets). L’importance
de l’ind´ependance de la pr´eemption par rapport aux autres aspects, comme le temps,
le contrˆole de flot et les communications est d´etaill´ee dans [Ber93]. En l’int´egrant sous
op´erateurs de l’alg`ebre), nous garantissons sa compl`ete orthogonalit´e au reste du mod`ele.
Afin d’aboutir `a la d´efinition de l’alg`ebre des PM-nets, nous proc´edons en plusieurs
´etapes correspondant aux sections de ce chapitre.
1. Nous commen¸cons par ajouter aux M-nets des priorit´es entre leurs transitions.
Il en r´esulte des M-nets `a priorit´es. Cette classe de r´eseaux de Petri peut ˆetre
vue comme une version de haut niveau des syst`emes `a priorit´es d´efinis et ´etudi´es
dans [BK92].
2. Les op´erateurs de l’alg`ebre des M-nets sont ensuite ´etendus pour tenir compte des
priorit´es. Les M-nets `a priorit´es sont alors dot´es de la mˆeme structure alg´ebrique
que les M-nets pr´esent´es au chapitre 3.
3. Nous d´efinissons deux nouveaux op´erateurs,πsetπa, autorisant respectivement la
suspension/reprise et l’avortement de M-nets `a priorit´es.
4. Nous d´efinissons enfin l’alg`ebre des PM-nets grˆace `a des contraintes syntaxiques
sur les M-nets `a priorit´es qui permettent d’assurer de bonnes propri´et´es au mod`ele
ainsi obtenu (en particulier, nous montrons qu’ils abr`egent les r´eseaux P/T dans
les cas finis).
Remarquons que l’approche consistant `a d´efinir un mod`ele g´en´eral et puissant sur
lequel on impose des restrictions syntaxiques a d´ej`a ´et´e utilis´ee pour les M-nets (voir les
restrictions syntaxiques impos´ees `a la section 3.3 page 48).
6.1 M-nets `a priorit´es
Soit N = (S, T, ι) un M-net. Une relation de priorit´es sur les transitions de N est une
relation binaireρ⊆T×T. Pour (t1, t2)∈ρ, nous notonst1≺ρt2(ou simplementt1 ≺t2
s’il n’y a pas d’ambigu¨ıt´e surρ) ; cela signifie intuitivement que le franchissement de t2
est toujours prioritaire sur celui det1 lorsque les deux transitions peuvent ˆetre franchies.
D’autre part, sit1 ett2 sont en conflit sur une place, la priorit´e r´esout le conflit en faveur
de t2; si les deux transitions sont ind´ependantes, et donc potentiellement franchissables
dans un mˆeme step, seulet2 peut s’ex´ecuter car t1 est inhib´ee.
Le graphe d’une relation de priorit´es ρ sur T a pour nœuds les transitions de T et,
pour chaque paire (t, t0)∈ρ, il existe un arct← t0 dans le graphe. La figure 6.1 donne
un exemple de tel graphe.
Une relation de priorit´es ρ est bien form´ee si elle ne sp´ecifie rien d’incoh´erent avec
l’intuition donn´ee ci-dessus. Par exemple, s’il n’existe pas de transitions t1 et t2 telles
que t1 ≺ t2 et t2 ≺t1. Plus pr´ecis´ement, ρ est bien form´e si le graphe de ρ ne contient
pas de cycle (en particulier, il faut avoirρ∩ {(t, t)|t∈T}=∅qui interdit les cycles ne
contenant qu’un nœud). Cela revient `a dire que nous pouvons compl´eterρpour former un
ordre partiel, ce qui correspond bien `a la perception intuitive d’une relation de priorit´es.
La relation de la figure 6.1 est bien form´ee.
.
.
t1
t2
t3
t4
t5
Figure 6.1 — Le graphe de la relation de priorit´es{(t2, t1),(t3, t1),(t5, t1),
(t4, t2),(t5, t2)}.
Un M-net `a priorit´es, ou ρ-net, est une paire P = (N, ρ) o`uN est un M-net et ρ est
une relation de priorit´es sur les transitions deN. Un ρ-net P = (N, ρ) estbien form´e si
N etρ le sont. Nous appelons N la partie r´eseau deP etρ sa relation de priorit´es.
Remarquons que nous n’imposons pas `a unρ-net d’ˆetre bien form´e. Nous verrons dans
la suite que c’est une propri´et´e qui sera obtenue, sur une sous-classe desρ-nets, par des
restrictions syntaxiques.
Un ρ-net est statique, respectivement dynamique, si sa partie r´eseau l’est. Plus
g´e-n´eralement, le vocabulaire associ´e aux propri´et´es des M-nets et de leurs marquages est
´etendu aux ρ-nets en consid´erant leurs parties r´eseaux.
Franchissement et s´emantique concurrente. La r`egle de franchissement des ρ-nets
doit prendre en compte les priorit´es entre transitions. SoitP = (N, ρ) un ρ-net tel que
N = (S, T, ι) et soitM un marquage de N (par extension, nous dirons aussi que c’est
un marquage de P). Une transition t ∈ T, franchissable sous le marquage M, est ρ
-franchissable, ce que nous notons M[tiρ, s’il n’existe pas de transition t0 ∈T telle que
M[t0iett≺t0. Nous voyons ici que l’ajout de priorit´es peut rendre non franchissable une
transition qui aurait pu l’ˆetre avec la r`egle de franchissement des M-nets, mais que le
contraire n’est pas vrai. Nous avons donc toujoursM[tiρ⇒M[timais pas la r´eciproque.
Comme la r`egle de franchissement, la notion de steps doit ˆetre adapt´ee aux
priori-t´es. Sans cela, la s´emantique steps des M-nets `a priorit´es contiendrait des incoh´erences.
Consid´erons par exemple leρ-netP = (N, ρ) pr´esent´e figure 6.2 (cet exemple est repris
de [BK92]).
.
.
•⇐ t1 t2 ⇒
•⇐ t3 ⇒
Figure 6.2 —Un ρ-net pour lequelρ={(t3, t2)}.
En consid´erant uniquement sa partie r´eseau N, nous obtenons :
o`u ∅ repr´esente la s´equence vide. Cette s´emantique contient la s´equence {t1}{t3} qui
viole la relation de priorit´es ; en effet, si t1 est franchie,t2 ett3 deviennent toutes deux
franchissables et, puisquet3≺t2,t3n’est pasρ-franchissable. Il faut donc supprimer cette
s´equence de la s´emantique. Ce n’est pourtant pas suffisant car la s´emantique contient
encore le step {t1, t3} dont {t1}{t3} est une lin´earisation. Pour conserver la coh´erence
de la s´emantique par rapport `a la lin´earisation, il faut aussi supprimer {t1, t3}. La
s´e-mantique steps coh´erente d’un ρ-net P = (N, ρ), not´eesteps(P), est donc le plus grand
sous-ensemble de steps(N) tel que chaque s´equence de steps(P) et chacune de ses
lin´ea-risations respecte ρ. Pour l’exemple ci-dessus, nous obtenons :
steps(P) ={∅,{t1},{t3},{t3}{t1},{t1}{t2}} .
Dans [BK92], les auteurs consid`erent cette s´emantique comme l’une des « plus
concur-rentes »qu’on peut obtenir pour des r´eseaux de Petri `a priorit´es.
Dans le document
Modèles composables et concurrents pour le temps-réel
(Page 92-97)