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.
90 end Processeur;<br />
91<br />
92 system Client_Serveur<br />
93 end Client_Serveur;<br />
94<br />
Chapitre VIII – Mise en pratique<br />
95 system implementation Client_Serveur.i<br />
96 subcomponents<br />
97 <strong>la</strong>nceur : process Processus_Lanceur.i {Arao::Port_Number =><br />
10000;};<br />
98 noeud1 : process Processus_Applicatif.i {Arao::Port_Number =><br />
10002;};<br />
99 noeud2 : process Processus_Applicatif.i {Arao::Port_Number =><br />
10003;};<br />
100 processeur : processor Processeur;<br />
101 connections<br />
102 event data port <strong>la</strong>nceur.s -> noeud1.e;<br />
103 event data port noeud1.s -> noeud2.e;<br />
104 event data port noeud2.s -> noeud1.e;<br />
105 properties<br />
106 Actual_Processor_Binding => reference processeur applies to<br />
<strong>la</strong>nceur;<br />
107 Actual_Processor_Binding => reference processeur applies to<br />
noeud1;<br />
108 Actual_Processor_Binding => reference processeur applies to<br />
noeud2;<br />
109 end Client_Serveur.i;<br />
Listing VIII.3 – Déploiement de l’application de test<br />
L’imp<strong>la</strong>ntation <strong>des</strong> sous-programmes <strong>des</strong> nœuds applicatifs effectue une addition. L’essentiel<br />
du <strong>temps</strong> de traitement correspond donc à l’exécution <strong>des</strong> mécanismes de <strong>la</strong> couche applicative<br />
AADL et <strong>des</strong> composants de PolyORB. Les deux nœuds principaux de l’application sont symétriques<br />
; nous n’avons pas <strong>la</strong> notion de client et de serveur. Une seule <strong>des</strong>cription comportementale<br />
est donc nécessaire (listing VIII.4).<br />
1 with Partition;<br />
2 with Ada.Text_IO;<br />
3 with Ada.Calendar;<br />
4<br />
5 package body Repository is<br />
6<br />
7 Date_Start, Date_End : Ada.Calendar.Time;<br />
8<br />
9 procedure Initiateur (s : out Partition.Donnee) is<br />
10 use Ada.Text_IO;<br />
11 begin<br />
12 Put_Line ("initiation");<br />
13 s := 1;<br />
14 end Initiateur;<br />
15<br />
16 procedure Application (e : in Partition.Donnee; s : out<br />
Partition.Donnee) is<br />
17 use Ada.Calendar;<br />
18 use Ada.Text_IO;<br />
c○ 2007 Thomas Vergnaud 159