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

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

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

Saved successfully!

Ooh no, something went wrong!