Stage : Conception et développement d’un modèle dynamique

La société :

Spacebel SAS est une agence située à Toulouse spécialisée dans les simulateurs de satellites et travaille en particulier avec le Centre National d’Etudes Spatiales (CNES) de Toulouse.

Contexte du sujet proposé :

BASILES est une infrastructure logicielle de moyens de simulation de satellites du CNES. Il  permet de couvrir à la fois les besoins en simulation d’un projet lors des études de dimensionnement ou de performance, et les besoins de validations système ou opérationnelles effectuées lors des essais de qualification. Il est principalement constitué de :

  • Un noyau de simulation qui intègre des services et définit les interfaces des modèles.
  • Un atelier pour la conception/développement/construction de modèles et simulateurs.
  • Une infrastructure pour la configuration des simulateurs.
  • Une infrastructure pour l’exécution et l’exploitation des essais.

Le noyau implémente une architecture objet qui met en œuvre des modèles, des instances, des connexions et d’autres mécanismes classiques de la simulation. La mise en œuvre des modèles s’effectue au moyen d’un moteur à évènements discrets.

Sujet du stage :

Actuellement, les modèles pris en charge par l’infrastructure de simulation BASILES (écrits en C, C++, Fortran ou Java) sont relativement « statiques » : ils ne sont pas modifiables en cours de simulation. Lors des premières phases de conception d’un simulateur, il est nécessaire de créer des modèles simples, pour des besoins de test d’autres modèles essentiellement, et dont les performances ne sont pas critiques. De tels modèles doivent pouvoir être mis en œuvre rapidement, avec le moins d’effort de codage possible et pouvoir être modifiés sans recompilation du simulateur, voire mieux, sans redémarrage du simulateur.

Après s’être familiarisé avec les concepts mis en œuvre au sein de l’environnement de simulation de BASILES, l’objet du stage est de concevoir puis de développer un modèle « dynamique » dont la description des interfaces, ainsi que le code métier serait en langage Python. Plus exactement, il s’agit de développer les mécanismes C++/Python permettant à un modèle écrit en Python d’être intégré automatiquement dans un environnement C++ de simulation comme s’il s’agissait d’un modèle développé en C++. Pour cela, le modèle Python devra être capable d’accéder aux services du noyau, pouvoir être activé par le noyau ou d’autres modèles, être capable d’activer d’autres modèles, et pouvoir effectuer des échanges de données avec d’autres modèles.

Lors de ce travail, il sera possible au stagiaire de :

–       Se familiariser avec une infrastructure logicielle de simulation à événements discrets

–       Appréhender les problématiques de la simulation d’étude

–       Maîtriser les interfaces entre un modèle et une infrastructure de simulation

–       Étudier les interfaces entre le langage python et C/C++

L’équipe :

Le stagiaire intègrera l’équipe simulateur dans nos locaux de Labège, il s’agit de 21 ingénieurs spécialisés dans le domaine avec un profil informatique ou mathématique. Il interagira plus particulièrement avec un développeur sénior ayant une bonne expérience du monde de la simulation ainsi qu’avec un ingénieur junior issu du secteur aéronautique.

Publié le February 6th, 2017