La technologie derrière KOSMOS

Objectifs initiaux (et toujours actifs) de KOSMOS

  • Permettre la rĂ©utilisation de fonctions rĂ©currentes sur les calculateurs spatiaux sous forme de bibliothèques ou de partitions.
  • Simplifier leur intĂ©gration et garantir leur indĂ©pendance grâce aux garanties de modularitĂ© offertes par le TSP/A653.
  • Permettre aux utilisateurs de se concentrer sur leurs fonctions applicatives tout en bĂ©nĂ©ficiant de services standardisĂ©s, sĂ©curisĂ©s et prĂŞts Ă  l'emploi.


IMA : La technologie Ă  l’origine de KOSMOS

  • Historiquement, dans le milieu de l’aĂ©ronautique, chaque fonction critique (contrĂ´le d’un Ă©quipement, communication avec le sol, etc.) Ă©tait assurĂ©e par un calculateur (processeur) indĂ©pendant. Ce qui Ă©tait cher, alourdissait les avions et complexifiait les interconnexions.
Schéma des 9 fonctions et des 9 calculateurs
Présentation des 9 fonctions et des 9 calculateurs
  • Avec l’augmentation de la puissance de calcul de processeurs, un nouveau paradigme apparait : l’IMA (Integrated Modular Avionics). Cette solution est mise en Ĺ“uvre sur les avions Airbus & Boeing depuis l’A380 et le B777.
  • La solution consiste Ă  faire coexister plusieurs fonctions un mĂŞme calculateur en s’assurant que les fonctions ne se marchent pas les unes sur les autres.
Schéma consistant à faire coexister plusieurs fonctions
Solution consistant Ă  faire coexister plusieurs fonctions

Un concept clé : le TSP

Le TSP, pour Time & Space Partitionning, a pour principes :

  • Chaque application logicielle est appelĂ©e "partition" et dispose de son propre espace mĂ©moire et de ses propres plages horaires allouĂ©es sur le processeur.
  • Cette sĂ©paration des ressources permet de dĂ©velopper et de qualifier chaque application indĂ©pendamment.
Schéma du TSP (Time & Space Partitionning)
Présentation du TSP (Time & Space Partitionning)
  • Et ce, mĂŞme sur un processeur comportant plusieurs cĹ“urs.
Schéma de processeur comportant plusieurs cœurs
Processeur comportant plusieurs cœurs

Un outil clĂ© : l’hyperviseur

  • De la mĂŞme manière que Windows ou Linux sur un ordinateur, le rĂ´le de l’hyperviseur consiste Ă  permettre l’exĂ©cution de chaque application (partition), en respectant strictement les contraintes de l’IMA et du TSP.

 

Qu’est-ce que KOSMOS ?

  • Un ensemble de briques de base compatibles IMA & TSP, qualifiĂ©es Ă  de hauts niveaux de criticitĂ© (niveau B ECSS) :
    • IOS : partition logicielle de gestion des pĂ©riphĂ©riques entrĂ©es/sorties partagĂ©es (comment communiquer avec un instrument scientifique, une camĂ©ra par exemple)
    • MMDL : partition logicielle de gestion de la mĂ©moire (de stockage notamment) Ă  laquelle a accès le processeur.
    • HSEM : partition logicielle de gestion des anomalies pouvant se produire quelque part dans le Logiciel de Vol.
    • CCSW : partition logicielle gĂ©rant la commande-contrĂ´le, c’est Ă  dire la communication entre le Logiciel de Vol et les opĂ©rateurs de l’engin spatial, au sol.
      • En particulier, une librairie gĂ©nĂ©rique implĂ©mentant le protocole de communication bord-sol PUS : la libPUS. Cette librairie offre un certain nombre de tĂ©lĂ©commandes et tĂ©lĂ©mesures de base que le satellite peut rĂ©utiliser pour rĂ©aliser des fonctions de base (envoi de tĂ©lĂ©mesures de bonne santĂ©, d’évènements, de surveillances ; mise Ă  jour de paramètres Ă  bord, de donnĂ©es en mĂ©moire du satellite, etc.).
  • AUTHSW : partition logicielle d’authentification et de chiffrement des TĂ©lĂ©commandes reçues par le satellite.
  • OBCPSW : partition logicielle implĂ©mentant des ProcĂ©dures Bord jouant le rĂ´le de mini centre de contrĂ´le Ă  bord du satellite.
  • Des kits de dĂ©veloppements permettant Ă  l’utilisateur de dĂ©marrer plus aisĂ©ment :
    • LVROOT : un logiciel d’exemple basĂ© KOSMOS, Ă  adapter et enrichir pour sa mission.
    • APPDK : partition logicielle exemple, permettant de dĂ©velopper un algorithme applicatif pour sa mission sans avoir Ă  se prĂ©occuper du reste du Logiciel de Vol.
    • APPDKPUS : partition logicielle analogue Ă  APPDK, intĂ©grant la librairie PUS.
    • CCDK : un kit de dĂ©veloppement de la partition Commande ContrĂ´le permettant de l’adapter Ă  son besoin mission.
  • Des composants logiciels spĂ©cifiques et rĂ©utilisables :
    • Un logiciel de boot qualifiĂ© permettant, sur cible Zynq, de dĂ©marrer le Logiciel de Vol en toute sĂ©curitĂ©.
    • Des librairies de calcul spatialisĂ©es et de standardisation des interfaces (format d’échanges entre partitions, calculs mathĂ©matiques, etc.).
  • Des outils pour faciliter le dĂ©veloppement logiciel :
    • Briques et librairies DevOps (CI/CD, outils d’automatisation des tests, etc.).
    • MĂ©caniques de « serveur de cartes Â» permettant l’accès Ă  distance Ă  des cibles matĂ©rielles.