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 ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<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 />
C<strong>la</strong>ss<br />
Value is ["u", "d"];<br />
Control is 1 .. 2;<br />
Domain<br />
Comm is ;<br />
Var<br />
v, v1, v2 in Value;<br />
c, c1, c2 in Control;<br />
thread1_s1<br />
<br />
Comm <br />
Comm<br />
thread1_s2<br />
<br />
cnx1<br />
cnx2<br />
<br />
<br />
thread2_e1<br />
Comm<br />
<br />
<br />
<br />
<br />
thread1_restart<br />
Control<br />
<br />
thread1 thread1_reset<br />
<br />
thread2_e2<br />
Comm<br />
Control<br />
thread1_finish<br />
thread2_restart<br />
<br />
<br />
Control<br />
thread2_reset<br />
thread2<br />
[v1 u] <br />
<br />
Control<br />
thread2_finish<br />
FIG. VII.3 – Description <strong>des</strong> connexions en réseau de Petri, correspondant à <strong>la</strong> figure VII.4<br />
thread1 s1<br />
s2<br />
e1<br />
e2<br />
thread2<br />
FIG. VII.4 – Connexions AADL, traduites par le réseau de <strong>la</strong> figure VII.3<br />
VII-4.2.3 Optimisation <strong>des</strong> réseaux générés<br />
Le fait de ne pas considérer les propriétés temporelles <strong>des</strong> architectures implique que <strong>la</strong> modélisation<br />
en réseau de Petri d’un thread émetteur n’a aucune contrainte dans son débit d’émission<br />
de jetons. L’architecture décrite au listing VII.2 fait apparaître un thread émetteur et deux threads<br />
récepteurs. Si le thread émetteur s’exécute à une fréquence plus élevée que les récepteur, les files<br />
d’attente <strong>des</strong> threads récepteur déborderont. Ce scénario d’exécution se traduirait par un réseau de<br />
Petri non borné.<br />
Pour pallier ce problème, nous exploitons le fait que nous ignorons délibérément les propriétés<br />
temporelles de l’architecture. Nous pouvons alors considérer que les threads sont bien synchronisés<br />
; le thread émetteur ne produit une nouvelle donnée que lorsque les précédentes ont été<br />
consommées. Cette hypothèse permet de borner le réseau. Sa traduction en terme de construction<br />
syntaxique consiste à mettre en p<strong>la</strong>ce une boucle de rétroaction entre les threads récepteur et les<br />
threads émetteurs.<br />
Règle VII.10 (Jetons modélisant les communications inter-threads)<br />
Les jetons de donnée émis par <strong>la</strong> transition d’un thread est un couple < d,c > du domaine<br />
Comm, où c appartient à <strong>la</strong> c<strong>la</strong>sse Control et a <strong>la</strong> valeur correspondant au thread<br />
émetteur.<br />
Chaque message émis par un thread porte ainsi <strong>la</strong> marque de son émetteur. Ce<strong>la</strong> permet de<br />
mettre en p<strong>la</strong>ce un mécanisme d’acquittement à partir du thread récepteur.<br />
130 c○ 2007 Thomas Vergnaud