Offre de stage
Développement d' une application de démonstration de la solution GERICOS pour logiciels de vol.
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 des 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 ECSS de l’ESA 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 (Équipe Logiciels Vol Et Tests) du LIRA (Laboratoire d’Instrumentation et de Recherche en Astrophysique, Observatoire de Paris). L’équipe ELVET 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 services que les logiciels implémentent habituellement lors des missions ESA. Elle contient également tous les fonctionnalités spécifiques à GERICOS permettant de faire des mesures temps-réel de l’exécution du logiciel afin de réaliser des budgets techniques ou du suivi d’exécution fin. Elle contient un composant logiciel scientifique d’exemple pour servir de 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 des cibles matérielles monocoeur, dualcoeur et quadricoeur, le choix ce faisant en fonction du modèle UML utilisé et des options de compilation.
L’objectif du stage est de participer aux développements C++ de nouveaux services 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 :
Développement des fonctionnalités suivantes :
Intégration du service de vérification des télécommandes.
Intégration du service de surveillance des paramètres vitaux du logiciel et développement du traitement de ses télécommandes de configuration.
Co-conception et développement du service scientifique d’exemple, de sa configuration et du traitement de ses télécommandes et télémétries.
Rendre l’application multi-architecture :
Rendre l’application compatible avec le multi-architecture et vérifier que le dualcoeur ( achitecture actuelle) reste fonctionnel.
Portage de l’application pour les architectures monocoeur.
Portage de l’application pour les architecture quadricoeur.
Autres implémentations / développements possibles en fonction de l’avancée.
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 de versionning du code en utilisant Git/Gitlab.
Faire le suivi du 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
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.
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.