• Aucun résultat trouvé

Conception d’un système modulaire IMA

Comme présenté sur la Figure 2.8, une centaine de modules de calcul sont embarqués sur l’A380, interconnectés par un millier de liens virtuels AFDX.

Figure 2.8 – Architecture IMA distribuée sur un Airbus A380

Pour concevoir un tel système, nous avons identifié les grandes étapes suivantes, illustrées par le schéma2.9 :

1. Définition du niveau fonctionnel. La première étape de conception est liée à la spécifi- cation des éléments du niveau de modélisation fonctionnel. Ce niveau représente toutes les fonc- tionnalités du système final. Il est complètement indépendant de l’architecture matérielle. Nous

Fonctionnel fonctionnelle Modelisation − Fonctions − Partitions − Communications 1. APEX − ... − Modules − Reseaux 2. − ... => types => capacites Architecture du systeme − Allocation des :

=> Partitions sur modules => Com. APEX sur reseaux − Parametrage temporel − ... Integration IMA 3. Modele Fonctionnel Architecture Cible Modele

Figure 2.9 – Principales étapes de conception d’un système modulaire IMA

supposons ici que le niveau de modélisation système est défini par l’avionneur. Nous connaissons toutes les fonctions avioniques, les partitions qui les hébergent et les communications APEX qui les lient. Cette étape spécifie également les contraintes temporelles qui s’appliquent aux commu- nications temps-réel.

2. Définition du niveau système. Une seconde étape consiste en une première définition de l’architecture cible qui devra héberger l’ensemble des fonctions avioniques. Pour définir cette architecture, une étape de dimensionnement s’impose pour déterminer le nombre de modules de calculs, ainsi que la nature et la capacité des réseaux physiques qui les interconnent. Cette étape de dimensionnement nécessite, entre autres, la prise en compte du modèle système et des contraintes industrielles de l’avionneur. Dans cette thèse, nous ne nous intéressons pas à ce problème de dimensionnement car les choix présentent des contraintes industrielles difficiles à identifier. Nous considérons que l’architecture cible est figée et capable d’héberger l’ensemble des fonctions avioniques du modèle système.

3. Intégration. La troisième étape de conception est l’étape d’intégration du modèle fonc- tionnel sur l’architecture cible, issus des deux premières étapes de conception. Cette thèse traite exclusivement de cette étape d’intégration des systèmes embarqués modulaires temps-réels. Cette étape alloue les différents fonctions et canaux APEX aux modules et liens réseaux de l’architecture cible. Pour cela, il faut prendre en compte toutes les contraintes système, et tout particulièrement respecter les contraintes temporelles imposées par les fonctions avioniques. C’est actuellement le rôle d’une équipe d’intégration. Les principales tâches sont les suivantes :

– l’allocation des partitions embarquées sur les calculateurs distribués avec définition des partitions,

– l’allocation des canaux de communication logiques sur les liens physiques existant dans le réseau de bord,

– le paramétrage temporel des partitions. C’est le choix des périodes et l’ordonnancement des partitions pour créer les MAFs de chaque module.

On peut définir deux grands types de problèmes à résoudre pour réaliser les tâches précé- dentes. La première famille est relative à des problématique d’allocation spatiale et la seconde s’intéresse au paramétrage temporel du système IMA.

Intégration IMA : Allocation spatiale

L’allocation spatiale prend en entrée le résultat de la modélisation de niveau système et l’architecture cible. Il s’agit ici d’allouer les partitions aux différents modules de calcul et les communications logiques inter-partitions aux canaux physiques disponibles des réseaux déployés. Chaque partition est affectée à un module de calcul connaissant l’espace mémoire disponible et la vitesse de traitement du calculateur. Le choix du lien physique (AFDX, ARINC 429, ...) pour un canal logique APEX dépend de plusieurs paramètres, tels que le débit du réseau, l’emplace- ment du composant source et du composant cible, le partage du réseau, ainsi que la carte de routage possible. Une fois qu’une allocation spatiale valide est obtenue, l’intégrateur connaît la cartographie des partitions sur les modules et l’utilisation du réseau. Une allocation valide est une allocation où toutes les partitions et canaux logiques sont alloués sur l’architecture cible. Les partitions possèdent leur propre périodicité et durée d’exécution. On peut donc calculer leur charge de calcul et choisir le module capable de servir cette charge.

Pour pouvoir valider une allocation spatiale, il faut vérifier que les contraintes temporelles applicatives sont respectées. Pour cela, il faut construire un ordonnancement des partitions (i.e. la MAF) pour chaque module. Connaissant ces MAFs, on doit vérifier que les contraintes temporelles sont respectées pour toutes les communications inter-modules.

Si cette validation temporelle est réalisée avec succès, l’intégration proposée est validée et peut-être déployée. Si cette validation temporelle échoue, on cherche généralement une nouvelle allocation spatiale jusqu’à en trouver une qui soit temporellement valide. Cette recherche peut s’autoriser à modifier le nombre de modules ou la capacité du réseau.

Intégration IMA : Allocation temporelle

Dans cette thèse, nous proposons un mode de résolution différent. Nous supposons qu’une pre- mière allocation spatiale a été déterminée de façon à simplement remplir la contrainte de capacité des modules et du réseau. Pour parvenir à une solution valide temporellement, nous introduisons une étape d’allocation temporelle qui ne changera pas l’allocation spatiale des partitions aux modules, ou l’allocation des canaux APEX aux liens réseaux, mais modifiera le comportement temporel du système de façon à rendre l’allocation valide temporellement parlant.

Pour cela, nous nous autorisons à modifier la périodicité des partitions qui sont uniquement réceptrices de communications APEX. La période des partitions émettrices est figée de par la modélisation système qui prend en compte le comportement in fine des fonctions avioniques. En s’autorisant à modifier les périodes des partitions en réception, nous montrons dans cette thèse qu’il est possible d’obtenir une allocation valide temporellement parlant, sans avoir à recalculer une nouvelle allocation spatiale complète.

Cette nouvelle méthode d’allocation temporelle est décrite en détails dans la suite de ce manuscrit car elle constitue le cœur de ces travaux de thèse.