Offre de stage
Développement d'un logiciel de vol générique pour instruments spatiaux
Description
Contexte :
L’augmentation de la puissance de calcul des ordinateurs de bord, conjuguée au développement d’instruments scientifiques toujours plus ambitieux, conduit à une forte croissance des volumes de données acquis lors des missions spatiales. Les limitations sur la quantité de données pouvant être transmises quotidiennement vers le sol imposent un traitement de plus en plus poussé directement à bord des satellites. Cette évolution entraîne une complexification significative de leurs logiciels embarqués, aussi appelés logiciels de vol, ainsi qu’une augmentation de leurs coûts de développement et de validation.
Afin de permettre aux équipes de se concentrer sur les développements spécifiques aux missions, l’équipe ELVET (Équipe Logiciels Vol Et Tests) du LIRA (Laboratoire d’Instrumentation et de Recherche en Astrophysique, Observatoire de Paris) a développé la solution GERICOS (GEneRic Onboard Software) qui contient un ensemble de bibliothèques C++ réutilisables, compatibles des standards de l’Agence Spatiale Européenne (ECSS) et répondant aux exigences de qualité du domaine spatial, ainsi qu’un ensemble d’outils permettant d’automatiser le développement de telles applications (chaines de construction, génération de code à partir de modèle UML, gestion transparente des architectures multi-coeurs, etc.)
GERICOS est actuellement embarqué sur les missions Solar Orbiter en exploitation depuis 6 ans et PLATO (PLAnetary Transits and Oscillations of stars) dont le lancement est prévu début 2027. Il est également utilisé pour les phases d’études des missions Plasma Observatory (ESA M7) et HAYDN (ESA M8).
Le stage se déroulera au sein de l’équipe ELVET du LIRA qui est spécialisée dans le développement de logiciels embarqués pour instruments spatiaux scientifiques ainsi que dans la conception de moyens logiciels de test et de validation (simulateurs, bancs de test, outils d’analyse de performances). Elle intervient sur l’ensemble du cycle de vie du logiciel de vol, depuis les études amont et le dimensionnement jusqu’à la validation et l’exploitation
Objectif du stage :
Afin de faciliter la diffusion de GERICOS, mais aussi d’accélérer les développements lors de futures missions, l’équipe ELVET développe l’application GericosStarter qui est une application contenant toutes les fonctionnalités que les logiciels implémentent habituellement lors des missions avec l’ESA. Elle contient également des fonctionnalités spécifiques à GERICOS permettant de faire des mesures sur les performances temps-réel du logiciel.
Elle doit contenir une fonctionnalité simulant des traitement scientifique, ce servirait d’exemple / base aux équipes qui souhaitent développer une application avec GERICOS.
Enfin, cette application doit être multi-architecture, c’est à dire qu’un même code source permet de créer des applications compatibles avec différentes cibles matérielles (monocoeur, dualcoeur et quadricoeur) en fonction des options de compilation.
L’objectif du stage est de participer aux développements C++ de fonctionnalités génériques et à leur intégration au sein de l’application à l’aide du modèle UML. Tout en s’assurant que ces développements respectent les exigences des logiciels spatiaux en terme de qualité et de tests.
Travail attendu :
Partie 1 : Ajout de fonctionnalités au Starter
Intégration de la fonctionnalité permettant la surveillance automatique des paramètres vitaux du logiciel.
Développement du code permettant de gérer la configuration de cette fonctionnalité à travers le réception de paquets de télécommandes.
Co-conception et développement du service scientifique d’exemple, de sa configuration et de la gestion des paquets de télécommandes (vers le logiciel) et télémétries (émis par le logiciel).
Partie 2 : Rendre l’application multi-architecture :
Evolution de nos outils pour permettre d’adapter un même code à plusieurs cartes au moment de la compilation.
Vérification que l’application est toujours fonctionnelle pour les cibles dualcoeur.
Développement de l’application pour la rendre compatible avec les architectures monocoeur.
Développement de l’application pour la rendre compatible avec les architecture quadricoeur.
Pour tous les développements
Réaliser des Tests Unitaires en C++ des composants développés.
Réaliser des Tests d’Intégration des fonctionnalités sur les bancs de tests de l’équipe.
Faire le suivi du code en utilisant Git/Gitlab.
Gérer respect des règles de qualité du code produits en se basant sur les résultats d’analyses du serveur d’intégration continue.
Documenter les parties implémentées / programmées pour alimenter le manuel utilisateur de GERICOS.
Livrables :
Les livrables attendus à l’issue du stage sont :
Le code des différentes fonctionnalités livré sur le répertoire git au fil des développements
La documentation des éléments intégrés et développés
Les résultats de tests et d’analyse du code pour les différentes fonctionnalités
Informations pratiques
Stage niveau M1/M2 ou ingénieur
Stage à l’Observatoire de Meudon, 5 Place Jules Janssen, 92190 Meudon (https://lira.obspm.fr/)
Gratification : gratification minimale horaire légale à 4,50 € par heure (35 h/hebdo)
Remboursement à 75% des titres de transport
Restaurant d’entreprise sur le site
Contact : pierre-vincent.gouel@obspm.fr
Compétences
Compétences requises :
Maîtrise de la programmation en C++.
Connaissances de la programmation embarquée.
Notion des comportements "temps-réel" d’un logiciel.
Connaissances en Git et en intégration continue (CI) appréciées.
Anglais (lecture / rédaction)
Compétences développées :
Développement de logiciels embarqués pour applications spatiales.
Développement de logiciels génériques compatibles avec plusieurs architectures matérielles et logicielles.
Modélisation UML d’applications et architectures
Conception de tests logiciels.
Connaissance des standards, règles et bonnes pratique du développement C++ embarqué.
Développement d’un projet logiciel en équipe.
Retour à la liste
Déposer une demande de stage de collège ou lycée
Vous pouvez déposer votre candidature pour un stage de collège ou lycée, en remplissant ce formulaire.
Demandes de stage post-bac
Le LIRA accueille des stagiaires post-bac à tous les niveaux, mais surtout post-licence. Si vous désirez effectuer un stage au LIRA, identifiez la personne du laboratoire avec qui vous souhaiteriez travailler (en fonction par exemple des thèmes de recherche ou instrumentaux), et contactez-la directement par courriel (prenom.nom@obspm.fr).
Demandes de contrats d’apprentissage
Nous ne recevons aucune demande de contrat d’apprentissage via ce site web.