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.

Chapitre VI – Construction et configuration de l’interface avec l’intergiciel d’exécution<br />

11 Request : in parameter Ipao::Request;<br />

12 Buffer : requires data access Buffer;<br />

13 end Add_Request;<br />

14<br />

15 subprogram Exec_Request<br />

16 features<br />

17 Buffer : requires data access Buffer;<br />

18 end Exec_Request;<br />

19 end Ipao::Activation;<br />

VI-3.4.7 Exécution<br />

Listing VI.8 – <strong>Modélisation</strong> du service d’activation<br />

Dans l’architecture schizophrène, le service d’exécution s’occupe d’attribuer une tâche (thread<br />

système) au sous-programme applicatif approprié. La tâche utilisée peut être soit une tâche prêtée<br />

temporairement à l’intergiciel par l’application, soit une tâche propre à l’intergiciel.<br />

Dans le cas d’une modélisation en AADL, toutes les ressources d’exécutions sont connues<br />

au moment de générer l’intergiciel ; le service d’exécution n’a donc pas de traduction à proprement<br />

parler en terme de composant AADL, et nous pouvons considérer qu’il est confondu avec le<br />

service d’activation.<br />

VI-3.4.8 Le µBroker<br />

Les services sont coordonnés par un composant central [Hugues, 2005] appelé µBroker, qui<br />

gère les threads supportant l’exécution <strong>des</strong> services de communication. L’utilisation d’un intergiciel<br />

de bas niveau revient donc à modéliser les services en AADL tandis que l’exécutif en lui-même<br />

correspond à l’imp<strong>la</strong>ntation du µBroker.<br />

Le µBroker coordonne l’exécution <strong>des</strong> différents services. Il s’agit donc essentiellement d’une<br />

machine à état. En conséquence, il est modélisé par un sous-programme pouvant appeler les différents<br />

sous-programmes <strong>des</strong> services schizophrènes. Ce sous-programme a accès à un composant<br />

de donnée AADL qui stocke l’état du µBroker.<br />

Les services à coordonner dépendent de <strong>la</strong> nature <strong>des</strong> requêtes à prendre en charge. Deux cas<br />

doivent être considérés : une requête venant d’une entité locale ou du réseau. La réception d’une<br />

requête à partir du réseau s’effectue en deux phases : d’abord <strong>la</strong> réception de <strong>la</strong> requête et ensuite<br />

son traitement par le service de liaison. Pour une requête émise par une entité locale, il n’y a qu’une<br />

seule phase, qui est l’invocation du service de liaison. Les requêtes issues d’une entité locale sont<br />

modélisées par <strong>des</strong> séquences d’appel dont l’origine est située dans les entités applicatives.<br />

L’imp<strong>la</strong>ntation du sous-programme du µBroker décrit les différentes séquences d’appels possibles.<br />

Le listing VI.9 illustre une imp<strong>la</strong>ntation générique du µBroker <strong>pour</strong> un nœud applicatif de<br />

serveur, n’ayant qu’une seule personnalité protoco<strong>la</strong>ire.<br />

1 package Ipao:Mubroker<br />

2 public<br />

3 data Mubroker_State<br />

4 end Mubroker_State;<br />

5<br />

6 subprogram Mubroker<br />

7 features<br />

c○ 2007 Thomas Vergnaud 115

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

Saved successfully!

Ooh no, something went wrong!