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.
<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 />
Ces deux approches peuvent être combinées. La <strong>des</strong>cription architecturale permet de sélectionner<br />
les personnalités par défaut, et les propriétés AADL permettent de « forcer » l’utilisation<br />
d’une personnalité particulière. Les principales personnalités de PolyORB sont les imp<strong>la</strong>ntations<br />
du protocole GIOP de CORBA :<br />
– IIOP 1 correspond au protocole de communication point à point fiable ;<br />
– DIOP 2 correspond à une communication point à point non fiable, utilisable <strong>pour</strong> les requêtes<br />
sans réponse ;<br />
– MIOP 3 correspond à une diffusion non fiable.<br />
L’utilisation de protocoles de communication non fiables ne peut se faire qu’avec <strong>la</strong> garantie<br />
que le support de communication est lui-même fiable. C’est typiquement le cas <strong>des</strong> communication<br />
entre deux processus s’exécutant sur le même processeur. Le protocole IIOP devrait être utilisé<br />
<strong>pour</strong> les autres cas.<br />
La spécification explicite du protocole à utiliser doit se faire par l’utilisation d’une propriété<br />
d’énumération s’appliquant aux connexions AADL. Le standard définit <strong>pour</strong> ce<strong>la</strong> <strong>la</strong> propriété<br />
Connection_Protocol, dont les valeurs possibles doivent être définies par l’utilisateur dans l’ensemble<br />
AADL_Project.<br />
Dimension <strong>des</strong> files d’attente<br />
La modélisation <strong>des</strong> files d’attente de données dans une <strong>des</strong>cription AADL apparaît en deux<br />
endroits :<br />
– sur les éléments d’interface <strong>des</strong> processus ;<br />
– sur les éléments d’interface <strong>des</strong> threads.<br />
La propriété AADL standard Queue_Size permet de spécifier une taille de file d’attente <strong>pour</strong><br />
ces entités.<br />
La taille <strong>des</strong> files d’attente associée aux éléments d’interface <strong>des</strong> processus – ports d’événement/donnée<br />
et sous-programmes – se traduit par <strong>la</strong> dimension <strong>des</strong> tampons de mémoire mis en<br />
p<strong>la</strong>ce dans le service de transport de PolyORB. Ces tampons de mémoire permettent de stocker les<br />
données entrantes avant leur traitement par les servants. Les files d’attentes associées aux threads<br />
AADL correspondent aux dimensions <strong>des</strong> tampons de <strong>la</strong> personnalité applicative.<br />
Optimisation <strong>des</strong> <strong>temps</strong> d’exécution<br />
Dans <strong>la</strong> section V-2.2 nous avons défini les types de données AADL manipu<strong>la</strong>bles dans le<br />
cadre de nos travaux. La plupart de ces types de données ont une taille déterminée. Par ailleurs,<br />
AADL ne permet pas <strong>la</strong> création dynamique d’entités. Tous les caractéristiques <strong>des</strong> requêtes sont<br />
donc connues lors de <strong>la</strong> construction de l’intergiciel.<br />
Ces informations peuvent être exploitées <strong>pour</strong> optimiser l’imp<strong>la</strong>ntation de certains services de<br />
l’intergiciel. Il est ainsi possible de définir précisément <strong>la</strong> taille <strong>des</strong> tampons mémoire utilisés dans<br />
les personnalités protoco<strong>la</strong>ires, au niveau du service de représentation. L’indexation <strong>des</strong> entités<br />
référencées au niveau du service d’activation peut prendre <strong>la</strong> forme d’un tableau statique, dont les<br />
<strong>temps</strong> d’accès sont fixes.<br />
De tels travaux d’optimisation sont déjà réalisés dans le cadre du compi<strong>la</strong>teur IDL IAC [Zali<strong>la</strong><br />
et al., 2006] associé à PolyORB. Ils peuvent être transposés dans le cadre d’AADL.<br />
1 IIOP : Internet InterORB Protocol<br />
2 IIOP : Datagram InterORB Protocol<br />
3 IIOP : Multicast InterORB Protocol<br />
106 c○ 2007 Thomas Vergnaud