Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

SpaceX : en savoir plus sur les équipes d'ingénieurs logiciels, leurs différentes missions de développement,
Les certifications logicielles et autres

Le , par Stéphane le calme

791PARTAGES

16  0 
Samedi, le lancement de la fusée fabriquée par SpaceX, première société privée à se voir confier par la Nasa une mission aussi prestigieuse et risquée, était extrêmement attendu. Il s’agit du premier vol spatial privé et habité. Bob Behnken et Doug Hurley, deux astronautes américains ont rejoint l'ISS, la Station spatiale internationale ce dimanche, près de 20 heures après le décollage réussi depuis le centre spatial Kennedy en Floride.

Dans un premier temps, nous avons parlé des ordinateurs qui tournent sur Linux et des commandes gérées par écrans tactiles. Et si nous nous intéressions aux équipes de développement logiciel ?


Les ingénieurs logiciels de SpaceX avaient procédé à une FAQ il y a sept ans où ils ont donné au public plus d’information sur ce qu’ils faisaient. Ils ont par exemple indiqué qu’ils sont répartis en quatre équipes :
  • L’équipe Flight Software : Au moment de l’échange, elle était constituée de 35 ingénieurs. Ce sont eux qui sont chargés d’écrire tout le code pour les applications Falcon 9, Grasshopper et Dragon. Ils s’occupent également du cœur de la plateforme. Ils écrivent aussi le code des logiciels de simulation, des tests de vol, du logiciel de communication et d'analyse qui est déployé dans les stations SpaceX et au sol. Cette équipe travaille également dans le contrôle de mission pour soutenir les missions actives.
  • L’équipe Enterprise Information Systems : Cette équipe construit les systèmes logiciels internes qui font fonctionner SpaceX. Elle porte de nombreuses casquettesx, mais le produit phare qu’elle développe et commercialise est une application Web interne que presque toutes les personnes de l'entreprise utilisent. Les ingénieurs expliquent que « cela inclut les personnes qui créent les bons de commande et remplissent l’inventaire de pièces, les ingénieurs qui créent des conceptions et des bons de travail avec ces pièces, les techniciens au sol qui pointent et voient quel sera le travail d'aujourd'hui selon ces conceptions... et littéralement tout le reste ».

    Bien qu’ils reconnaissent qu’il existe des produits disponibles dans le commerce qui font cela, ils sont persuadés que leur outil convient beaucoup mieux à SpaceX : « SpaceX se transforme d'une entreprise de recherche et d'ingénierie en une entreprise de fabrication - ce qui est essentiel à notre succès - et notre équipe est à l'avant-garde pour y arriver. Nous tirons parti de C# / MVC4 / EF / SQL; JavaScript / Knockout / Handlebars / LESS / etc et une API REST super sexy ».
  • L’équipe Ground Software : Au moment de l’échange, elle était constituée de 9 ingénieurs. Elle code principalement en LabVIEW. Elle développe les interfaces graphiques utilisées dans le contrôle de mission et de lancement, pour que les ingénieurs et les opérateurs surveillent la télémétrie des véhicules et commandent les fusées, les navettes spatiales et les équipements de soutien des pads. « Nous poussons des données à large bande passante autour d'un système hautement distribué et mettons en œuvre des interfaces utilisateur complexes avec des exigences strictes pour garantir que les opérateurs peuvent contrôler et évaluer les engins spatiaux en temps opportun ».
  • L’équipe Avionics Test ; L'équipe travaille avec les concepteurs de matériel avionique pour écrire des logiciels pour les tests. « Nous détectons des problèmes avec le hardware tôt ; quand il est temps pour l'intégration et les tests avec le logiciel de vol, il vaut mieux que ce soit une unité fonctionnelle ». L'objectif principal de cette équipe est d'écrire un logiciel très complet et robuste pour pouvoir automatiser la recherche de problèmes avec le matériel à haut volume. Le logiciel s'exécute généralement pendant les tests dans un environnement mécanique.

Certifications logicielles

La plupart des logiciels importants dans les infrastructures critiques passent par différentes certifications. Par exemple, vous ne pouvez pas exécuter de logiciel aléatoire sur un avion. Même le code du système de divertissement doit satisfaire à diverses certifications. L'une de ces certifications est la norme DO-178B (Software considerations in airborne systems and equipment certification) qui fixe les conditions de sécurité applicables aux logiciels critiques de l'avionique dans l'aviation commerciale et l'aviation générale.

La partie certification et correction est facilitée par l'utilisation d'outils de vérification logicielle. Un tel outil est Astrée. Il s'agit d'un analyseur de code statique qui vérifie les erreurs d'exécution et les bogues liés à la concurrence dans les projets C. Cela nous amène également à la réponse pour laquelle beaucoup de code critique est écrit en C. C'est parce qu'il existe de nombreux analyseurs statiques et outils de vérification de logiciels pour C.

SpaceX a également utilisé Chromium et JavaScript pour l'interface de vol de Dragon 2. Un ingénieur qui a participé à l’échange suppose que cela a été autorisé, car pour chaque entrée critique sur l'écran, il y avait également un bouton physique sous l'écran. Donc, en cas de dysfonctionnement de l'écran, les astronautes pourraient potentiellement utiliser les boutons physiques. Vous pouvez vois les boutons physiques sur cette vidéo, ils sont situés en dessous des écrans tactiles.


Concernant l'utilisation de Chrome et JS, un autre a commenté en ces termes : « De plus, seule l'application d'affichage graphique réelle utilise Chromium / JS. Le reste du système est entièrement en C++. Le code d'affichage a une couverture de test de 100%, jusqu'à la validation de la sortie graphique (par exemple, si vous avez une barre de progression et que vous la définissez sur X%, les tests vérifient qu'elle est réellement dessinée correctement) ».

Les astronautes expliquent comment le système fonctionne et ce qu'ils font en cas de dysfonctionnement de l'interface utilisateur dans cette vidéo.


Les infrastructures

Les infrastructures pour les missions critiques se servent également de système d'exploitation temps réel (en anglais RTOS pour real-time operating system). Ces systèmes d'exploitation ont des garanties spéciales qui pourraient ne pas être fournies par les systèmes d'exploitation ordinaires. Par exemple, une réponse d'interruption plus rapide et une meilleure protection de la mémoire. Un RTOS fournit des garanties en temps réel qui sont essentielles pour de tels logiciels.

Comme exemple nous pouvons citer VxWorks, système d'exploitation temps réel multitâche, généralement utilisé dans les systèmes embarqués. Ce système d'exploitation propriétaire, développé par la firme Wind River (acquise par Intel en 2009), a été employé par la NASA pour les missions spatiales du programme Discovery, Mars Pathfinder, Stardust, Messenger, Dawn, les rovers martiens (Spirit, Opportunity et Curiosity) et la sonde Mars Reconnaissance Orbiter. Il a également été utilisé par l'Agence spatiale européenne sur le satellite PROBA-1 mais aussi par SpaceX sur le Dragon.

Bien entendu, avoir autant de certifications ne signifie pas que les bogues ne peuvent pas apparaître. Apparemment, les rovers mars 2003 ont rencontré un bogue dans leur pilote de mémoire flash, mais il a été résolu en envoyant une mise à jour depuis la Terre.

Source : billet sur SpaceX

Et vous ?

Qu'en pensez-vous ?

Voir aussi :

SpaceX et l'armée américaine auraient signé un accord pour tester le haut débit Starlink pour l'usage militaire
Elon Musk : la version bêta privée de Starlink commencera dans environ trois mois et la version bêta publique dans six mois, alors que SpaceX a demandé l'approbation des orbites encore plus basses
SpaceX lance avec succès le dernier lot de 60 satellites en orbite, la constellation compte désormais 420 satellites
Le ransomware DoppelPaymer a été utilisé par des hackers pour voler les données appartenant à Tesla, SpaceX, Boeing, ainsi qu'à d'autres sociétés clientes de l'américain Visser Precision

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de benjani13
Membre extrêmement actif https://www.developpez.com
Le 04/06/2020 à 20:14
Citation Envoyé par Pierre Louis Chevalier Voir le message
La capsule n'a pas un écran mais plusieurs, si c'est bien fait chaque écran peut utiliser plusieurs applis, au cas ou.

De toute façon c'est comme un écran sur un siège d'avion de ligne, c'est pour distraire les passagers, les capsules sont commandées depuis la salle de contrôle, les astronautes c'est du "cargo", la capsule s'appelle un "vaisseau cargo"....
La capsule est certes entièrement autonome mais les astronautes doivent tout de même être en capacité d'analyser l'état de la capsules et de réagir en conséquence, ils sont sur place et seront les derniers maitres à bord en cas de problème. Les astronautes peuvent prendre le contrôle manuel du vaisseau si nécessaire, d'ailleurs des tests de navigation manuelles ont été réalisé par les deux astronautes avant de s’amarrer à l'ISS.

Citation Envoyé par gros_rougeot Voir le message
Je suis très curieux de savoir combien ils sont à l'ESA pour faire le même boulot dans un environnement bureaucratique extrème. A non .... pas le même boulot, puisqu'ils ne récupère pas le 1er étage, ni la coiffe.
J'ai vu cette phrase répété plusieurs fois ici : "l'ESA est à la ramasse on est des nuls bouh bouh bouh". Il faut être claire : tous le monde est à la ramasse. Même la NASA est à la ramasse par rapport à Spacex. Si l'ESA est bientôt prête à lancer Ariane 6, certe non réutilisable, cette fusée aura au moins une utilité. La NASA se retrouve à la fois à la ramasse techniquement et avec le programme SLS sur les bras qui ne cesse de perdre des charges utiles depuis 2 ans. La NASA risque de se retrouver avec un lanceur lourd qui est un gouffre financier pour au final servir à peine 5 ou 6 fois.

C'est le marché entier et mondiale du spatial qui a subit un séisme "à cause" de SpaceX. Il reste tout de même à Spacex de prouver que leur modèle est rentable et nous n'avons pas de chiffre publiques actuellement pour se prononcer. La navette spatiale était réutilisable, tout comme ses booster, mais le cout de remise en état était équivalent au cout de construction (et prenait un temps conséquent). L'objectif de spacex est une réutilisation en 24H, j'attend de voir. Suite au dernier lancement de Starlink la nuit dernière ils ont fait voler et réatterrir avec succès 5 fois le même premier étage. C'est déjà un succès immense mais ils reste encore un long chemin.

Sinon je trouve la pique vraiment pas sympa pour les ingé du spatiale européen, notamment français, qui sont d'une grande qualité. Si nous ne sommes pas en avance sur les lanceurs (enfin on a pas à rougir quand même on a un port spatiale en Guyane qui envoie trois lanceurs différents), en revanche énormément de satellites de pointes passent par les mains d'ingés français, sans compter des rovers martiens et des sondes interplanétaire diverses.
5  0 
Avatar de benjani13
Membre extrêmement actif https://www.developpez.com
Le 08/06/2020 à 20:07
Citation Envoyé par pierre-y Voir le message
Pour distraire jusqu'au jour ou les passagers de la cabine sont laissé a eux même et la ca va déja moins faire le beau avec des écrans qui risque de déconner. la regle d'or est la sécurité avant tout et dans ce cas present elle n'y est pas. A croire que c'est boeing qui a imaginé ce tableau de bord.
Des dizaines de milliers de personnes impliquées dans la réalisation de ce vol, des millions d'heures de boulots, mais, depuis sa chaise, et en une simple ligne de texte, pierre-y prononce sa sentence sur la sécurité de la capsule Crew Dragon.

1  0 
Avatar de pierre-y
Membre expérimenté https://www.developpez.com
Le 06/06/2020 à 11:46
Citation Envoyé par Pierre Louis Chevalier Voir le message
La capsule n'a pas un écran mais plusieurs, si c'est bien fait chaque écran peut utiliser plusieurs applis, au cas ou.

De toute façon c'est comme un écran sur un siège d'avion de ligne, c'est pour distraire les passagers, les capsules sont commandées depuis la salle de contrôle, les astronautes c'est du "cargo", la capsule s'appelle un "vaisseau cargo"....
Pour distraire jusqu'au jour ou les passagers de la cabine sont laissé a eux même et la ca va déja moins faire le beau avec des écrans qui risque de déconner. la regle d'or est la sécurité avant tout et dans ce cas present elle n'y est pas. A croire que c'est boeing qui a imaginé ce tableau de bord.
0  0 
Avatar de gros_rougeot
Membre actif https://www.developpez.com
Le 04/06/2020 à 16:11
Je suis très curieux de savoir combien ils sont à l'ESA pour faire le même boulot dans un environnement bureaucratique extrème. A non .... pas le même boulot, puisqu'ils ne récupère pas le 1er étage, ni la coiffe.
0  1