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.

53 end global.impl;<br />

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

Listing VII.2 – Exemple de connexion AADL, traduit par le réseau VII.5<br />

Règle VII.11 (Limitation du nombre d’états du réseau)<br />

À chaque transition modélisant un thread recevant <strong>des</strong> données doit correspondre une<br />

p<strong>la</strong>ce de sortie. Cette p<strong>la</strong>ce de sortie reçoit les différents jetons de contrôle dont les<br />

couleur correspondent à celles <strong>des</strong> jetons reçu dans les p<strong>la</strong>ces d’entrée.<br />

Les jetons accumulés dans cette p<strong>la</strong>ce de sortie sont envoyés vers les p<strong>la</strong>ces reset <strong>des</strong><br />

threads émetteurs afin de réguler leur production de jetons.<br />

La p<strong>la</strong>ce reset du thread émetteur doit donc comporter une garde s’assurant que seul les jetons<br />

de contrôle correspondant à sa couleur sont acceptés. Il est par conséquent nécessaire de définir<br />

une couleur de contrôle par thread AADL, comme nous l’avons énoncé dans <strong>la</strong> règle VII.3.<br />

Notons que dans le cas d’un thread en tâche de fond, cette rétroaction est inutile, puisque le<br />

thread considéré ne boucle pas ; ces thread ne possèdent d’ailleurs pas de transition reset.<br />

La figure VII.5 donne le réseau de Petri issu de <strong>la</strong> modélisation du listing VII.2. Les représentations<br />

<strong>des</strong> threads sont repérées par les zones grisées. Les deux connexions cnx1 et cnx2 du<br />

processus processus_b sont fusionnées en une seule transition lors de <strong>la</strong> traduction en réseau de<br />

Petri. Nous nommons <strong>la</strong> transition résultante d’après <strong>la</strong> concaténation <strong>des</strong> différents threads impliqués<br />

: process1_thread1_process2_threads1_process2_thread2.<br />

process1_thread1_restart<br />

control <br />

<br />

process1_thread1_start process1_thread1_reset<br />

<br />

<br />

<br />

[c = th_1]<br />

process1_thread1_end<br />

control<br />

process1_thread1_s<br />

comm<br />

<br />

c<strong>la</strong>ss<br />

donnee is [d, u];<br />

control is 1 .. 3;<br />

domain<br />

comm is ;<br />

var<br />

v in donnee;<br />

c, c1 in control;<br />

<br />

process2_thread2_e<br />

comm<br />

<br />

process2_thread2_start<br />

<br />

control<br />

process2_thread2_choose<br />

<br />

<br />

<br />

<br />

<br />

control<br />

process2_thread1_choose<br />

<br />

<br />

process1_thread1_process2_thread1_process2_thread2<br />

process2_thread1_e<br />

comm<br />

process2_thread1_start<br />

process2_thread2_restart<br />

<br />

process2_thread1_restart<br />

<br />

control<br />

<br />

process2_thread1_reset<br />

<br />

control<br />

process2_thread2_reset<br />

process2_thread2_end<br />

control<br />

control<br />

process2_thread1_end<br />

FIG. VII.5 – Réseau de Petri borné modélisant une architecture de haut niveau correspondant au<br />

listing VII.2, page 131<br />

132 c○ 2007 Thomas Vergnaud

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

Saved successfully!

Ooh no, something went wrong!