Au cœur des instruments scientifiques spatiaux
jeudi 7 décembre 2023, par Philippe Plasson
Le LESIA, à travers l’équipe Logiciels de vol du SII, dispose d’un savoir-faire pointu dans le domaine du développement et de la validation des logiciels à forte composante temps réel qui sont au cœur des instruments scientifiques spatiaux.
Le processus de développement des logiciels embarqués spatiaux, du fait de la criticité de ces derniers, est toujours très lourd et s’étale sur plusieurs années. Entre les premières études de faisabilité et la première utilisation en vol des logiciels développés, il peut s’écouler une dizaine d’années. Par ailleurs, des opérations de maintenance peuvent avoir lieu durant toute la phase d’exploitation (entre trois et six ans). Ceci implique de maintenir les équipes sur une très longue durée et surtout de mettre en place des méthodes de travail rigoureuses qui s’appuient sur les standards de l’industrie spatiale.
Le processus de développement des logiciels embarqués spatiaux est formalisé dans des documents de standardisation maintenus par l’ECSS (European Cooperation For Space Standardization). Ces recommandations définissent les différentes phases du processus et, pour chacune des phases, les documents de spécification et de justification qui doivent être fournis, ainsi que l’ensemble des revues devant être mises en place.
Durant la phase 0-A des projets, l’activité se concentre autour des études de faisabilité et de dimensionnement. Il s’agit de maintenir un dialogue étroit avec l’équipe scientifique en charge des spécifications scientifiques de l’instrument afin de dresser une première mouture des exigences fonctionnelles et non fonctionnelles des traitements bord. L’objectif est aussi de déterminer l’ensemble des ressources matérielles nécessaires et de vérifier si elles sont en adéquation avec ce qui est disponible. Des bilans de charge CPU et d’occupation mémoire doivent être menés à bien durant cette phase. Ces bilans sont complémentaires de ceux réalisés par les architectes électriques concernant la consommation électrique, l’encombrement, le poids, etc.
Les spécifications logicielles définitives, en termes de définition des interfaces et de définition des exigences utilisateurs, sont produites durant la phase B. Ces spécifications n’évolueront qu’à la marge durant les phases ultérieures du projet et de façon très encadrée. Durant la phase B, l’activité de prototypage et de validation des choix techniques mène à une première définition de l’architecture logicielle.
Les phases C et D sont consacrées à la conception détaillée, à l’implémentation et aux tests. Les activités de tests, de validation et d’intégration des logiciels de bord sont particulièrement lourdes car elles recouvrent à la fois les aspects scientifiques et les aspects techniques. Les algorithmes scientifiques qui ont été implémentés sont validés par rapport à des modèles maintenus par les équipes scientifiques et à l’aide de données produites par des simulateurs. La couche technique des logiciels de bord et leurs interfaces sont testées à l’aide d’outils offrant un fort degré d’automatisation. Un suivi qualité pointu est mis en place durant ces activités critiques.
Durant la phase d’exploitation de l’instrument, un suivi technique régulier est assuré par les équipes responsables des logiciels de bord. Ce suivi est basé sur l’analyse des télémétries techniques et scientifiques transmises par l’instrument. Différents niveaux de maintenance des logiciels de bord peuvent avoir lieu durant les missions : on parle de maintenance corrective quand il s’agit de corriger une anomalie et de maintenance adaptative quand il s’agit d’ajouter une nouvelle fonctionnalité ou de modifier une fonctionnalité existante.
Contact : Philippe Plasson