Une grande partie des systèmes techniques qui nous entourent mettent en œuvre du logiciel exécuté par un « calculateur ». La défaillance de ces systèmes peut avoir des conséquences désastreuses sur les plans financiers, environnementaux ou humains. Aussi, leurs développements sont soumis à des contraintes strictes visant à abaisser la probabilité d’occurrence de ces événements à un niveau jugé acceptable sur les plans économiques et sociaux.
Le Centre de Compétences « Système Embarqués Critiques » (CSEC) de l’IRT Saint Exupéry a pour mission de participer à la définition de ces contraintes et de fournir les outils nécessaires pour y répondre.
L’IRT Saint Exupéry vous invite à découvrir une série d’articles dédiés à cette thématique de recherche hautement stratégique. Dans ce premier article, nous vous proposons une vue d’ensemble sur ce sujet de recherche. Nous mettrons en lumière quelques résultats marquants de l’IRT Saint Exupéry obtenus en la matière au cours des dix dernières années.
Systèmes embarqués et systèmes embarqués temps-réel critiques : de quoi parlons-nous ?
Systèmes temps-réel
Le saviez-vous ? Un système embarqué est un ensemble matériel et logiciel conçu pour contrôler un système plus vaste, tel qu’une automobile ou un aéronef. Il interagit généralement avec son environnement et doit répondre aux contraintes de temps imposées par celui-ci. On parle alors de système « temps-réel » car il doit réagir en fonction du temps « réel » c’est-à-dire « physique ».
Le temps peut être mesuré de différentes manières. Par exemple, par les battements d’une horloge ou par d’autres phénomènes physiques, comme le passage de l’arbre moteur d’une automobile à une position précise. Quelle que soit la mesure choisie, un système temps-réel doit fournir un service avant une échéance précise, voire à une échéance donnée. Tout non-respect de cette contrainte réduit significativement la valeur du service et est considéré comme une défaillance.
Systèmes temps-réel critiques
Le saviez-vous ? Un système est généralement qualifié de critique lorsque ses défaillances peuvent avoir des conséquences catastrophiques sur son environnement, qu’il soit technique, financier, écologique ou humain.
De nombreux systèmes embarqués sont critiques. Parmi eux, on peut citer les systèmes de gestion des commandes de vol ou de pilotage automatique d’un avion ou les systèmes de régulation de vitesse ou de contrôle de l’air bag d’une automobile. Dans ces exemples, la défaillance des systèmes peut entraîner des conséquences graves, affectant tant des personnes (les passagers, les personnes au sol ou à proximité du véhicule) que l’environnement. À noter que certains systèmes peuvent aussi être qualifiés de critiques en raison de l’impact économique en cas de défaillance.
Cachez ce logiciel que je ne saurais voir…
Les systèmes embarqués temps-réel traitent automatiquement une information provenant de mesures physiques (comme la vitesse, la température, la pression, etc.) ou de dispositifs permettant d’interagir avec un opérateur humain (par exemple, la position du volant). Ce sont des systèmes informatiques, dans lesquels le rôle du logiciel est prépondérant. Dans ce contexte, la complexité du logiciel augmente naturellement avec celle des fonctions réalisées par ces systèmes.
Considérer que les méthodes et les outils utilisés pour développer ces logiciels sont pleinement satisfaisants, matures et parfaitement maitrisés est une erreur. L’histoire de l’informatique est loin d’être terminée. La production de logiciels demeure aujourd’hui encore une tâche intellectuelle très complexe et, surtout, critique, dans la mesure où une défaillance du logiciel peut conduire à une défaillance fonctionnelle. De plus, les activités de conception, de réalisation et de vérification des logiciels représentent une part toujours plus importante du coût de développement des systèmes. Cela soulève des interrogations sur notre capacité à maîtriser des « cathédrales logicielles » de plus en plus hautes et fragiles. Ainsi, les activités de recherche dans le domaine du logiciel sont essentielles, comme en témoigne le nombre considérable d’équipes de recherche œuvrant sur tous les aspects du développement logiciel.
L’IRT Saint Exupéry, spécialiste des systèmes embarqués critiques
Depuis la création de l’IRT Saint Exupéry il y a plus de dix ans, le Centre de Compétence « Systèmes embarqués critiques » (CSEC) est acteur du développement de logiciels au sein de la filière aéronautique et spatiale. En réponse aux besoins croissants de ses partenaires industriels, ce pôle de spécialistes contribue à l’amélioration de la qualité des logiciels, à réduire leurs coûts de production et à renforcer leur efficacité.
Au fil des ans, le CSEC a abordé de nombreuses problématiques, alliant recherche d’efficacité et recherche de qualité. Parmi celles-ci, nous avons exploré des solutions pour produire des systèmes et du logiciel de meilleure qualité grâce à l’usage de méthodes de développement ou de vérification formelles. Nous avons également mis à profit les « plateformes virtuelles » pour valider au plus tôt les logiciels de bas niveau. Nous avons étudié comment garantir les propriétés temporelles des systèmes par des choix de langages et d’architecture adaptés tout en analysant des plateformes matérielles. Comment construire une argumentation solide pour justifier les méthodes mises en œuvre fait partie des questions auxquelles nous avons pu apporter notre expertise.