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 ...
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