You are here: Home / ATV /

Un million de lignes de code

Pour le rendez-vous de Jules Verne : un million de lignes de code

Le logiciel de vol ATV est à la mesure de la complexité du véhicule et de sa mission:

  • pour satisfaire aux contraintes de sureté et de disponibilité, l'architecture électrique et numérique (avionique) de l'ATV est de type quadruplex (quadruple redondance) et ne comprend pas moins d'une cinquantaine d'équipements (senseurs, et actuateurs, nominaux et redondants), pilotés par un calculateur central tolérant aux fautes. Ce calculateur est constitué de 3 unités de traitement exécutant chacune en parallèle le logiciel de vol dénommé FAS (Flight Application Software),
  • la mission ATV, de la séparation d'avec le lanceur Ariane5 jusqu'à la désorbitation de réentrée, en passant par les phases de rendez-vous, de docking / dé-docking, et de support à la station ISS durant la phase attachée, est constituée de près d'une centaine de modes de fonctionnement différents.

Au cœur de ce système, le logiciel de vol ATV est principalement en charge:

de la gestion de la mission, et de l'enchaînement des différents modes véhicule, via l'exécution des plans de mission (une centaine) chargés à bord, et le traitement des commandes envoyées au cours de la mission par le centre de contrôle de Toulouse (ATV-CC) ou par l'ISS, et

de l'exécution des différentes fonctionnalités permettant d'assurer la mission « Jules Verne » dans son ensemble; en particulier:

  • les algorithmes du contrôle de vol permettant de rallier la station depuis l'orbite d'injection A5, ou de désorbiter après désamarrage de la station
  • les algorithmes de régulation thermique, et de gestion de la puissance électrique bord
  • les fonctions de docking / dé-docking
  • les fonctions de refuelling et de support propulsif à la station (Re-Boost)
  • les fonctions de communication avec le sol et la station …
  • de la surveillance à bord de l'état de bon fonctionnement des équipements, et du véhicule, ainsi que de la gestion des différentes configurations (pas moins de 200 configurations dégradées possibles).

La complexité de ce logiciel résulte à la fois du nombre et de la complexité intrinsèque des algorithmes nécessaires à la réalisation d'un rendez-vous autonome, ainsi que du volume de données traitées, et du nombre de configurations possibles; Au final, ce logiciel représente:

  • plus de 2600 exigences fonctionnelles à implémenter et à vérifier
  • près d'un million de lignes de code Ada et de données de configuration (plus de 5 fois le Programme de Vol Ariane 5)

-plus de 8000 mesures acquises et traitées à bord

  • de nombreuses campagnes officielles d'essai, à la fois en interne ASTRIUM et avec les partenaires RSCE & NASA, conduisant à des milliers d'heures de tests tant sur simulateurs que sur plateformes équipées des équipements réels. A titre d'exemple, l'une de ces campagnes, dite de « validation du logiciel », met typiquement en œuvre plus de 700 scénarios de tests, déroulés sur le calculateur de vol pour une durée totale « non-stop » de 15 jours, engrangeant quantité de résultats dépouillés à l'aide d'outils spécialisés et automatisés.

Sécurité maximale avec un logiciel de classe A

L'approche de la station doit se faire en toute sécurité pour l'équipage, en particulier vis-à-vis du risque de collision qui est l'un des principaux événements redoutés. Pour cela, un autre logiciel s'exécutant sur un calculateur spécifique et indépendant du reste du véhicule surveille la phase de rendez-vous et, si nécessaire, prend la main sur le calculateur principal pour commander une manœuvre d'évitement. Cette manœuvre (Collision Avoidance Manoeuvre), va éloigner l’ATV de l’ISS et le positionner sur une orbite qui ne pourra croiser celle de l’ISS, tout en orientant l’ATV de façon à obtenir le maximum d'énergie de ses panneaux solaires.

Ce second logiciel (le Monitoring and Safing Unit – software), directement impliqué dans la sécurité de la station, satisfait aux exigences les plus élevées (la "classe A") des standards de développement ESA. Pour cela, il est volontairement très simple (30 000 lignes de code Ada), a été testé au niveau même du code machine, et offre une robustesse maximale en cas de défauts ou de pannes, qui fut vérifiée lors de campagnes de test intensives couvrant les fonctionnements normaux et dégradés du véhicule; jusqu'aux limites du domaine de fonctionnement (« stress testing »).

C'est l'un des rares (sinon le premier) logiciels de classe A développé par l'industrie spatiale en Europe.