04.07.2013 Views

Modélisation des systèmes temps-réel répartis embarqués pour la ...

Modélisation des systèmes temps-réel répartis embarqués pour la ...

Modélisation des systèmes temps-réel répartis embarqués pour la ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Modélisation</strong> <strong>des</strong> <strong>systèmes</strong> <strong>temps</strong>-<strong>réel</strong> <strong>répartis</strong> <strong>embarqués</strong><br />

Règle VII.14 (Traduction <strong>des</strong> appels de sous-programme distant)<br />

Un appel de sous-programme distant est modélisé comme un appel de sous-programme<br />

local en ajoutant une paire de p<strong>la</strong>ces de contrôle ; ces p<strong>la</strong>ces correspondent au thread<br />

fournissant le sous-programme.<br />

Un appel de sous-programme distant possède donc deux p<strong>la</strong>ces d’entrée <strong>pour</strong> les jetons de<br />

contrôle : l’une correspondant au jeton de contrôle du thread local, l’autre recevant le jeton de<br />

contrôle du thread distant.<br />

VII-5.2.1 <strong>Modélisation</strong> <strong>des</strong> connexions <strong>des</strong> paramètres<br />

Les connexions de paramètres doivent <strong>la</strong>isser les jetons de donnée à <strong>la</strong> disposition d’éventuelles<br />

autres connexions.<br />

Règle VII.15 (Traduction <strong>des</strong> connexions de paramètres)<br />

L’ensemble <strong>des</strong> connexions dirigée vers un appel de sous-programme donné est traduit<br />

par une unique transition. Cette transition consomme et réinjecte les jetons issus <strong>des</strong><br />

p<strong>la</strong>ces correspondant aux paramètres de sortie <strong>des</strong> appels de sous-programme situés en<br />

amont dans <strong>la</strong> séquence d’appels. Elle consomme également le jeton de contrôle <strong>des</strong>tiné<br />

à l’appel de sous-programme.<br />

Elle distribue l’ensemble de ces jetons aux p<strong>la</strong>ces d’entrée du sous-programme.<br />

De <strong>la</strong> même façon que les connexions de ports de donnée, les connexions de paramètres<br />

consomment et réinjectent les jetons de donnée. Elles centralisent l’ensemble <strong>des</strong> jetons <strong>des</strong>tinés<br />

au sous-programme <strong>des</strong>tinataire. Cette synchronisation permet de limiter les états possibles<br />

au sein du réseau de Petri. En effet, dans <strong>la</strong> mesure où <strong>la</strong> transition d’une connexion consomme<br />

et réinjecte les jetons issus <strong>des</strong> p<strong>la</strong>ces de sortie <strong>des</strong> sous-programmes amonts, il est nécessaire de<br />

synchroniser leur déclenchement avec le jeton de contrôle d’exécution, qui est consommé normalement.<br />

Nous évitons ainsi <strong>la</strong> création d’états artificiels liés au fait qu’une transition réinjectant le<br />

jeton consommé peut toujours être déclenchée.<br />

C<strong>la</strong>ss<br />

Value is ["u", "d"];<br />

Control is 1 .. 1;<br />

Var<br />

v, v2 in Value;<br />

c in Control;<br />

Value<br />

<br />

<br />

sp1_e<br />

1<br />

Control<br />

sp1_c_e<br />

<br />

<br />

<br />

sp1<br />

<br />

sp1_s<br />

Value<br />

<br />

sp1_c_s<br />

Control<br />

<br />

sp1_sp2<br />

sp2_e<br />

Value<br />

[v u]<br />

<br />

<br />

sp2_c_e<br />

Control<br />

<br />

sp2<br />

sp2_s<br />

<br />

sp2_c_s<br />

Value<br />

Control<br />

FIG. VII.6 – Réseau de Petri d’une connexion entre deux sous-programmes<br />

Le réseau de Petri de <strong>la</strong> figure VII.6 illustre une connexion entre deux sous-programmes (sp1<br />

et sp2) d’une même sequence d’appels.<br />

134 c○ 2007 Thomas Vergnaud

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!