Terma utilisera GNAT Pro Safety-Critical combiné aux outils de test GNATemulator et GNATcoverage pour développer et tester l’application avant déploiement sur la plateforme LEON3.
ASIM est utilisé pour détecter des phénomènes de foudre connus sous les noms de “redsprites”, “blue jets” et “elves”, ainsi que les décharges de rayons X et gamma. L’objectif est la mise en lumière de la corrélation entre ces formations et les orages de grande ampleur, améliorant notre compréhension de ces phénomènes et leur influence sur le climat terrestre. Terma est, pour le compte de l’ESA (European Space Agency), le maître d’œuvre du développement des instruments ASIM, et en particulier du logiciel embarqué. ASIM sera déployé dans l’espace, là où les opérations de maintenance et de réparation sont très coûteuses, sinon impossibles. En conséquence, la fiabilité de la plateforme est essentielle. Cette exigence de fiabilité a été le principal facteur de sélection du langage de programmation Ada pour le développement logiciel. Le profil Ravenscar (un sous-ensemble des fonctionnalités de tasking d’Ada conçu pour les applications critiques temps réel dur) sera utilisé pour garantir que les propriétés temps réel multitâches de l’application sont déterministes et ordonnançables. Les possibilités qu’offre Ada en termes de spécification de contrats statiques et dynamiques– en particulier les fonctionnalités introduites récemment dans le nouveau standard Ada 2012 –permettent aux développeurs d’exprimer les exigences logicielles directement au niveau de la spécification. En conséquence, les incohérences peuvent être détectées préventivement, soit statiquement (au moment de la compilation), soit dynamiquement (au moment du test).
Pour réaliser le développement en Ada, Terma a sélectionné la configuration LEON 3 ELF de l’environnement GNAT Pro Safety-Critical. Cet environnement inclut les outils qui tirent parti des propriétés du langage pour réaliser des vérifications statiques et dynamiques supplémentaires, permettant d’atteindre des niveaux de fiabilité encore supérieurs. Les mesures telles que la complexité du code sont suivies automatiquement via GNATmetric, tandis que GNATcheck s’assure du respect d’un style de codage cohérent et détecte un certain nombre de vulnérabilités de code bien identifiées. L’outil GNATstack réalise une analyse d’utilisation de pile statique, de manière à vérifier les besoins mémoire avant exécution. En ce qui concerne l’analyse dynamique, GNATemulator est utilisé comme plateforme de test unitaire, exécutant directement le code compilé pour LEON3, indépendamment de la disponibilité du matériel final. Combiné à GNATemulator, GNATcoverage fournit des informations de couverture structurelle de code très tôt dans le cycle de développement, sans qu’il soit nécessaire d’instrumenter le code testé. En effet, le logiciel est exécuté dans un environnement intégralement simulé, les seuls tests d’intégration restant nécessaire sur la cible finale.
“Chez Terma, nous considérons qu’Ada est approprié pour le développement de notre logiciel embarqué, du fait de ces avantages et de son historique dans le domaine du logiciel critique temps réel. En choisissant GNAT Pro pour LEON 3 ELF, nous utilisons une chaîne de développement Ada qui nous permet d’obtenir le niveau de qualité requis et les preuves associées nécessaires lors du développement de logiciel critique. Nous sommes particulièrement satisfaits de ne pas avoir à dépendre d’un système d’exploitation, puisque GNAT Pro for LEON 3 ELF nous permet de développer une application temps réel Ravenscar ciblant une machine nue LEON 3.” [Mark Lorenzen, Développeur logiciel, Responsable du logiciel des instruments ASIM]
“Ada et GNAT Pro ont une implantation solide dans le domaine des applications spatiales, et leur sélection pour le logiciel ASIM confirme leur avantage dans ce domaine critique,” déclare Cyrille Comar, Directeur Général à AdaCore. “Il est particulièrement agréable de voir Terma tirer parti de tout l’éventail de technologies qui permettent à GNAT Pro d’assurer les plus hauts niveaux de fiabilité.”