Maîtrise de la couche hyperviseur sur les architectures multi-coeurs COTS dans un contexte avionique

Dans les avions de dernière génération, de plus en plus de systèmes critiques font intervenir de l’électronique numérique et des composants logiciels. Pour chaque composant matériel et logiciel embarqués dans de tels systèmes, il est nécessaire d’apporter des garanties sur son bon fonctionnement. On parle informellement de satisfaire une exigence de déterminisme. Cette notion (cf. section 2.1.2) couvre des exigences portant sur le comportement du logiciel vis-à-vis de sa spécification, ainsi que le respect de contraintes temporelles. La plupart des systèmes avioniques critiques sont dits “temps réel durs”. Cela signifie qu’ils doivent remplir leur fonction dans une durée finie. Quand ils embarquent des tâches logicielles, on associe à ces tâches des échéances, qui sont en général périodiques ou bien définies à partir d’évènements externes. Une analyse d’ordonançabilité peut être effectuée pour montrer que chaque tâche respecte son échéance. Cependant, cette analyse suppose que toutes les tâches complètent leur exécution en un temps fini si elles sont exécutées seules. Ce problème est habituellement abordé par des techniques d’évaluation de pire temps d’exécution (ou WCET).

Depuis le milieu des années 2000, la communauté avionique considère les processeurs multi-cœurs comme de bons candidats pour équiper les prochaines générations de systèmes embarqués. L’enjeu est à la fois d’obtenir des systèmes plus efficaces en termes de puissance de calcul, plus économes en consommation et en place occupée, mais également de trouver une solution pérenne à l’obsolescence des processeurs mono-cœurs.

Exigence de déterminisme

Un avion est un système critique dont la défaillance, définie par la perte de sa capacité à voler et atterrir, a en général des conséquences lourdes sur le plan humain. Afin d’éviter ce type de scenario, on demande à un avion et aux systèmes qui le composent de remplir des exigences de sûreté de fonctionnement. On dit informellement qu’ils doivent être déterministes. La notion de déterminisme à proprement parler n’a cependant été introduite que récemment [5] dans la règlementation portant sur les systèmes IMA, qui sont un sous-ensemble des systèmes avioniques. L’objectif de cette section est de définir la notion de déterminisme dans le cadre d’un système soumis à des exigences de sûreté de fonctionnement, et d’expliciter la notion de déterminisme temporel dans le cadre de systèmes temps réel durs.

Principes de sûreté de fonctionnement

L’objectif premier d’un avion est d’être sûr, c’est-à-dire de pouvoir voler et atterrir sans mettre en péril des vies humaines. Pour cela, son développement fait l’objet d’un processus de certification. Au cours de ce processus, on associe à chaque fonction un niveau de criticité. Cette étape s’appelle l’analyse fonctionnelle des risques  . Le niveau de criticité d’un système correspondra au risque encouru sur la sûreté du vol en cas de condition de défaillance (cf définition 2.1) impliquant ce système (cf table 2.1). La règlementation en vigueur est constituée de l’ARP4761 [3] et l’ARP4754 [2], qui sont les standards qui ont uniformisé la règlementation américaine (CTR-25) et européenne (CS25 [6], §25.1309). La notion de sûreté de fonctionnement se transpose donc de l’avion à ses systèmes, à un degré dépendant de leur niveau de criticité.

Définition 2.1 (Défaillance système). Une défaillance système (Failure conditions) correspond à une défaillance d’une fonction complète d’un avion. Celle-ci a des effets observables sur l’avion ou ses occupants .

On considère un système avionique comme sûr quand on a démontré que sa probabilité de défaillance par heure de vol est inférieure à une valeur spécifiée par la règlementation, selon son niveau de criticité. Au niveau le plus critique s’ajoute l’obligation d’empécher qu’une défaillance système soit le résultat d’une défaillance unique. Ce sont des obligations de résultats. La manière d’obtenir ces résultats est cependant contrainte par la règlementation. Il y a donc une obligation de moyens, résumée dans le plan de sûreté du système (SSP), qui porte sur la mise en œuvre des actions suivantes :

Analyses qualitatives de risques. Ces analyses visent à déterminer les défaillances auxquelles le système peut être soumis. Ces défaillances sont souvent représentées sous forme d’arbres afin d’illustrer leurs liens de causalités. Il y a sept classes d’analyses de risques recensées dans la littérature [70]. Chaque classe d’analyse regroupe des méthodes qui lui sont propres. On considère que la couverture des défaillances est correcte quand une méthode appartenant à chaque classe a été appliquée.
Analyses quantitatives de risques. Ces analyses visent à déterminer, étant donné les cas de défaillance connus, la probabilité d’une défaillance système. Les techniques d’analyses les plus répandues sont les FMEA  et les FTA  . Un aperçu de ces techniques est donné par Ericson [35].
Analyse des Causes Communes de Défaillances. Cette phase d’analyse vise à explorer les dépendances entre systèmes afin de déterminer dans quels cas deux défaillances de systèmes fonctionnellement indépendant n’ont pas des probabilités d’occurrences indépendantes. Dans le cas de systèmes avioniques, une cause commune de défaillance classique est la perte d’une source d’alimentation électrique, qui cause l’arrêt de tous les systèmes alimentés par cette source.

Les standards en vigueur sont actuellement la DO-178B et DO-178C [1; 9] pour les composants logiciels, et la DO-254 [4] pour les composants matériels. L’EASA a également publié en 2011 un Certification Memorandum [8], qui se veut comme un complément de la DO-254. Ces standards définissent des niveaux DAL  , allant du niveau A pour les systèmes les plus critiques au niveau E pour les systèmes les moins critiques . Ces standards spécifient pour chaque niveau DAL les actions à mener parmi celles définies précédemment sur les composants logiciels et/ou matériels.

Définition de la notion de déterminisme

La notion de déterminisme n’a été introduite que récemment dans les standards avioniques. La DO-297  [5] le présente comme “La capacité à produire un résultat prédictible en fonction des opérations précédentes. Ce résultat doit être produit dans une plage de temps spécifiée qui peut se répéter”. C’est donc une notion qui s’applique à la fois sur le système complet et sur ses composants. La définition proposée par la DO-297 est proche de la définition de correction d’un système telle que définie par Powell [71]. Elle se formule comme une obligation de résultats. On peut également proposer une définition duale du déterminisme exprimée comme une obligation de moyens, et qui s’appuie sur des standards avioniques plus anciens [2; 3].

Définition 2.2 (Source de non déterminisme). Une source de non déterminisme est un mode de défaillance non quantifié, c’est-à-dire dont la probabilité d’occurrence n’est pas connue.

Définition 2.3 (Déterminisme). Un système est dit déterministe s’il ne comporte pas de sources de non déterminisme.

Lorsqu’une cause de défaillance n’est pas bien maîtrisée, par exemple si sa probabilité d’occurence n’est pas connue, on parle de source de non-déterminisme. Un système déterministe  se définit alors par opposition à un système non déterministe. On peut donc prouver qu’un système est déterministe en montrant qu’il n’est pas non-déterministe. La difficulté de cette preuve est l’identification et la couverture des sources de non déterminisme. Elle est effectuée lors du plan de sûreté du système dans les phases d’analyses qualitatives. On peut donc apporter la preuve de déterminisme en se conformant à une obligation de moyens.

Contraintes temps réel et déterminisme temporel

Les systèmes avioniques sont pour la plupart soumis à des exigences temps réel dures. Cela signifie qu’ils doivent remplir leurs fonctions en respectant des contraintes de ponctualité pour leurs traitements. Le manquement d’une échéance constitue une défaillance du système au même titre qu’un résultat erroné. D’après la définition 2.2, un système avionique sera considéré comme temporellement déterministe lorsque la probabilité d’occurrence d’un manquement d’échéance sera connue. En général, un système avionique met en œuvre une chaine de traitements impliquant du logiciel, mais pas uniquement. On considère par exemple la gestion des entrées/sorties, ainsi que les transferts sur le réseau. Pour garantir le respect de l’échéance finale, il est courant de spécifier des échéances dites “locales” pour les différents éléments de la chaine de traitement. Pour un logiciel, respecter une échéance signifie avoir terminé son exécution avant celle-ci. L’exigence de déterminisme temporel est en général étendue au respect des échéances locales auxquelles les éléments de la chaine de traitement sont soumis.

L’exigence de déterminisme temporel soulève donc deux grandes problématiques : l’évaluation du besoin en ressources et en temps de calcul par le logiciel, et le dimensionnement des supports d’exécution pour offrir au logiciel les ressources nécessaires, y compris en présence de défaillances. Dans cette thèse, nous nous intéressons principalement à la première problématique, à savoir l’évaluation du pire temps d’exécution d’une tâche séquentielle. Le déterminisme est la principale problématique à laquelle sont soumis les systèmes avioniques. Toutefois ces derniers doivent également répondre à une problématique d’efficacité. C’est pourquoi l’architecture des systèmes avioniques a globalement suivi l’évolution des technologies existantes dans le domaine des processeurs.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

I Introduction générale
1 Introduction
1.1 Contexte
1.2 Problématique
1.3 Résumé des contributions
1.4 Plan du mémoire
II Enjeux industriels et scientifiques
2 Contexte Avionique
2.1 Exigence de déterminisme
2.1.1 Principes de sûreté de fonctionnement
2.1.2 Définition de la notion de déterminisme
2.1.3 Contraintes temps réel et déterminisme temporel
2.1.4 Problématiques liées aux contraintes temps réel
2.2 Technologies embarquées dans les systèmes avioniques
2.2.1 Évolution des systèmes avioniques
2.2.2 Problématiques liées à l’usage de processeurs COTS
2.2.3 Problématiques liées aux technologies semi-conducteurs
2.3 Avionique Modulaire Intégrée (IMA)
2.3.1 Architecture d’un système IMA
2.3.2 Propriété de Partitionnement Robuste
2.3.3 Acteurs industriels d’un système IMA
2.3.4 Profil des applications déployées dans les systèmes IMA
2.4 Processeurs multi-cœurs pour l’avionique
2.4.1 Architectures multi-cœurs
2.4.2 Problématiques spécifiques aux processeurs multi-cœurs
2.5 Synthèse
3 Évaluation du WCET dans les processeurs multi-cœurs
3.1 Méthodes existantes dans un contexte mono-cœur
3.1.1 Vue d’ensemble
3.1.2 Spécificités des méthodes statiques
3.1.3 Spécificités des méthodes dynamiques
3.1.4 Utilisation dans un processus industriel
3.2 Applicabilité des méthodes mono-cœurs dans un cadre multi-cœurs
3.2.1 Prédictibilité des processeurs multi-cœurs
3.2.2 Gestion du manque d’information sur les processeurs COTS
3.2.3 Techniques d’analyse d’interférences
3.3 Alternatives pour l’évaluation du WCET sur des processeurs multi-cœurs
3.3.1 Approches par pénalité d’interférences globale
3.3.2 Approches par processeurs déterministes
3.3.3 Approches par logiciel déterministe
3.4 Synthèse
III Démarche scientifique
4 Problématique
4.1 Problème général
4.2 Résumé des approches existantes
4.3 Problématique de thèse
4.4 Synthèse
5 Approche
5.1 Définition et existence du logiciel de contrôle
5.2 Prototypage et étude de l’efficacité du logiciel de contrôle
5.2.1 Vue d’ensemble du prototype
5.2.2 Efficacité du logiciel de contrôle
IV Conclusion générale

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *