• Aucun résultat trouvé

Explosion de l’espace des ´etats

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.