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 />
29 Date_Start := Clock;<br />
30 Addition.Add (myadd, Mesg + 1);<br />
31 elsif Mesg = 200001 then<br />
32 Date_End := Clock;<br />
33 E<strong>la</strong>psed_Time := Date_End - Date_Start;<br />
34 Ada.Text_IO.Put_Line<br />
35 ("E<strong>la</strong>psed time : " & Duration’Image (E<strong>la</strong>psed_Time));<br />
36 Addition.Add (myadd, 0);<br />
37 else<br />
38 Addition.Add (myadd, Mesg + 1);<br />
39 end if;<br />
40 end Add;<br />
41<br />
42 procedure Set_Target is<br />
43 Ior : String (1 .. 1024);<br />
44 L : Natural;<br />
45 begin<br />
46 Ada.Text_IO.Put ("target ior =");<br />
47 Ada.Text_IO.Get_Line (Ior, L);<br />
48 CORBA.ORB.String_To_Object<br />
49 (CORBA.To_CORBA_String (Ior (1 .. L)), myadd);<br />
50 end Set_Target;<br />
51<br />
52 end Addition.Impl;<br />
Listing VIII.9 – Code source de <strong>la</strong> méthode <strong>pour</strong> le passage de messages CORBA<br />
La procédure Set_Target permet de spécifier <strong>la</strong> <strong>des</strong>tination <strong>des</strong> messages ; elle doit être appelée<br />
avant l’exécution du nœud initiateur afin de mettre en p<strong>la</strong>ce les références entre les deux nœuds<br />
de l’application.<br />
L’imp<strong>la</strong>ntation du nœud initiateur est semb<strong>la</strong>ble à celle du client CORBA de <strong>la</strong> première<br />
application-témoin ; l’imp<strong>la</strong>ntation <strong>des</strong> nœuds applicatifs est semb<strong>la</strong>ble à celle du serveur CORBA.<br />
VIII-2.3 Résultats<br />
Nous effectuons deux séries de mesures, <strong>pour</strong> 20 000 messages et 200 000 messages. De cette<br />
façon, nous pouvons détecter un éventuel dé<strong>la</strong>i d’exécution fixe, correspondant à <strong>la</strong> mise en p<strong>la</strong>ce<br />
<strong>des</strong> nœuds applicatifs. Nous nous servons d’un PC mono-processeur Athlon 2500+. Les résultats<br />
<strong>des</strong> mesures sont rassemblés dans le tableau VIII.1.<br />
communications 20000 200000<br />
PolyORB/AADL 4,3 s 43,5 s<br />
PolyORB/CORBA 3,2 s 32,5 s<br />
rapport AADL/CORBA +37% +33%<br />
PolyORB/CORBA oneway 2,7 s 27,1 s<br />
rapport AADL/CORBA oneway +63% +60%<br />
TAB. VIII.1 – Comparaison <strong>des</strong> <strong>temps</strong> d’exécution <strong>des</strong> applications AADL et CORBA <strong>pour</strong> <strong>la</strong><br />
transmission d’entiers<br />
164 c○ 2007 Thomas Vergnaud