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.

<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

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

Saved successfully!

Ooh no, something went wrong!