• Aucun résultat trouvé

Ex´ecution des tM-nets

4.3 Ad´equation du temps causal et du temps r´eel

4.3.3 Ex´ecution des tM-nets

L’ex´ecution de l’automate d’un tM-net est relativement simple. La machine d’ex´ecution

tire des transitions et les ex´ecute. Plus pr´ecis´ement, ´etant donn´e M0 l’´etat courant de

l’automate, la machine ex´ecute des cycles dont chacun correspond aux ´etapes suivantes :

1. M´emoriser les demandes de communications sur ses ports d’entr´ee.

2. Choisir une transition (M0, M00) ∈TA qui maximise le nombre d’actions d’entr´ee

qui peuvent ˆetre servies (le crit`ere de maximalit´e est d´efini ci-dessous). Cette

tran-sition porte l’´etiquette (λ(U1), . . . , λ(Uk)).

3. Pour chaque valeur de i entre 1 et k (dans l’ordre) et pour chaque action a(v) ∈

λ(Ui) (dans un ordre al´eatoire) :

• si a∈O, ´ecrirev sur le port de sortie a;

• si a ∈ I et que v est la valeur pr´esente sur le port d’entr´ee a, marquer la

communication sura «accept´ee»;

• si a∈I mais quev diff`ere de la valeur demand´ee sur le port ou qu’aucune

valeur n’y est demand´ee, marquer la communication sur a« en erreur».

4. Marquer«refus´ee»chaque communication m´emoris´ee `a l’´etape 1 qui n’a pas d´ej`a

´et´e marqu´ee« accept´ee»ou « en erreur»`a l’´etape 3.

5. M´emoriser le nouvel ´etat de l’automate et attendre le d´ebut du cycle suivant.

Nous observons que la dur´ee des cycles peut ˆetre born´ee et donc fix´ee puisque toutes les

´etapes sont born´ees : le nombre de ports, le nombre de transitions parmi lesquelles choisir,

le nombre de steps `a ex´ecuter et le nombre d’actions dans chaque step (puisque les r´eseaux

sont finis). La transition de tic a disparu de l’automate, mais nous nous sommes assur´es

qu’elle ´etait franchie dans le premier step de chaque transition de l’automate, elle est donc

virtuellement ex´ecut´ee au d´ebut de chaque cycle de la machine (sauf ´eventuellement le

tout premier) et donc ses occurrences sont r´eguli`eres puisque les cycles ont une dur´ee fixe.

Il nous reste `a d´efinir le crit`ere de choix d’une transition. Le but est de servir un

maximum de ports d’entr´ee tout en minimisant le nombre d’erreurs. Lorsque plusieurs

choix sont possibles, nous faisons appel `a l’ordre sur les actions pour choisir. La strat´egie

de choix peut ˆetre d´ecrite de la fa¸con suivante : pour chaque actionai, de la plus grande

`a la plus petite selon l’ordre surI,

• si une communication est demand´ee sur ai et qu’elle peut ˆetre servie par une

transition de l’automate, ´eliminer toutes les transitions qui ne permettent pas de

servir la communication sur ai;

• si aucune communication n’est demand´ee sur ai et qu’il existe une transition ne

comportant pas d’action ai, ´eliminer toutes les transitions qui serventai.

Cela revient `a servir les communications demand´ees par ordre de priorit´e. Lorsqu’une

communication n’est pas demand´ee, nous ´evitons de plus de mettre en erreur les ports

prioritaires plutˆot que de servir une communication de moindre priorit´e.

D’autres strat´egies peuvent ˆetre envisag´ees, mais en toute g´en´eralit´e, il n’en existe pas

qui soit satisfaisante quand le tM-net est arbitraire. Cependant, nous pouvons facilement

constater que la strat´egie choisie ici garantit que si un tM-net est r´eactif par rapport `a

une action, celle-ci est toujours servie et n’est jamais mise en erreur (sauf ´eventuellement

lors du dernier cycle de la machine qui correspond `a son arrˆet). Comme la r´eactivit´e est

facile `a obtenir, nous consid´erons que notre strat´egie est satisfaisante.

5

Efficacit´e de l’approche

causale du temps

Ce chapitre s’attache `a l’´etude de la pertinence et de l’efficacit´e de l’approche causale

du temps en pratique. Pour cela, nous ´etudions un exemple de passage `a niveau pour

lequel nous r´ealisons plusieurs sp´ecifications que nous v´erifions avec diff´erents outils

logiciels. Les r´esultats montrent que l’utilisation d’une horloge causale peut s’av´erer plus

efficace que l’utilisation d’un mod`ele int´egrant le temps de fa¸con explicite ; cependant,

cette efficacit´e est d´ependante de la taille des constantes utilis´ees comme contraintes

temporelles, ce qui devra ˆetre r´esolu `a l’avenir. Nous constatons aussi que notre approche

est assez simple `a mettre en œuvre et plutˆot intuitive.

5.1 Un passage `a niveau

Nous consid´erons un syst`eme de passage `a niveau ayant les caract´eristiques suivantes :

• il comporten voies parall`eles ; sur chacune d’elle peut circuler un train ;

• l’approche d’un train d´eclenche un signalapp; lorsque le train s’´eloigne, un

cap-teur ´emet le signalexit; ces signaux ne sont pas diff´erenci´es selon les trains ;

• les voies croisent une route gard´ee par une paire de barri`eres, celle-ci peut recevoir

deux signaux, down et up, qui commandent respectivement sa fermeture et son

ouverture ;

• lorsque le signalapp est lev´e, le train met ensuite entreametaM unit´es de temps

pour atteindre le niveau des barri`eres ; il met ensuite entre em et eM unit´es de

temps pour d´eclencher le signal exit;

• les barri`eres mettent entregm etgM unit´es de temps pour se fermer ou s’ouvrir.

Le probl`eme est de construire un contrˆoleur dont le rˆole est de lire les signaux r´esultant

du passage des trains devant leurs capteurs afin de commander l’ouverture et la fermeture

des barri`eres, tout en respectant les contraintes suivantes :

• le contrˆoleur r´eagit au minimum en cm et au maximum en cM unit´es de temps ;

• la condition de s´ecurit´e est toujours v´erifi´ee : si un train se trouve entre les

barri`eres, alors celles-ci sont forc´ement ferm´ees ;

Pour une sp´ecification satisfaisante, nous devrions aussi ajouter une condition de

dis-ponibilit´e sp´ecifiant que si aucun signal app n’a eu lieu depuis un certain temps, les

barri`eres doivent ˆetre ouvertes. On pourrait la v´erifier au moyen de formules de logique

temporelle ou bien par l’ajout de r´eseaux (et d’automates temporis´es) de test permettant

de d´etecter son non respect lors de l’ex´ecution. Notre ´etude de cet exemple n’a pas pour

but de sp´ecifier un bon syst`eme mais de v´erifier la pertinence et l’efficacit´e de l’approche

causale. Nous nous en tenons donc `a cette version minimale.