1 / 77

Problématique et retour d’expérience du développement des Logiciels embarqués pour le spatial

Problématique et retour d’expérience du développement des Logiciels embarqués pour le spatial. Paul ARBERET. Plan de la présentation. 1- Introduction 2- Description fonctionnelle 3- Environnement calculateur 4- Sûreté de fonctionnement 5- Problématique de maintenance en vol

vala
Download Presentation

Problématique et retour d’expérience du développement des Logiciels embarqués pour le spatial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Problématique et retour d’expérience du développement des Logiciels embarqués pour le spatial Paul ARBERET ETR’11 – Best le 29 août 20111

  2. Plan de la présentation • 1- Introduction • 2- Description fonctionnelle • 3- Environnement calculateur • 4- Sûreté de fonctionnement • 5- Problématique de maintenance en vol • 6- Le(s) cycle(s) de développement des logiciels de vol • 7- Les phases de vie du logiciel : objectifs et moyens • 8- Difficultés • 9- Conclusion : perspectives ETR’11 – Best le 29 août 20112

  3. 1-Introduction : le CNES – Centre National d’Etudes Spatiales Donneur d’ordre du programme spatial français • Propose une politique, une stratégie et un programme au gouvernement • Met en œuvre cette politique : recherche, développement et opérations Quatre établissements : • Siège à Paris • Direction des lanceurs d’Evry • Centre spatial de Toulouse • Centre spatial Guyanais ETR’11 – Best le 29 août 20113

  4. 1-Introduction : le CNES – chiffres clés • Créé il y a 50 ans en 1961 • 1740 M€ de budget annuel (dont environ la moitié de subvention à l’ESA) • 2418 salariés • Répartition homme / femme : 65% / 35% ETR’11 – Best le 29 août 20114

  5. 1-Introduction : les missions spatiales européennes • Les lanceurs et véhicules de transport spatial : Ariane, ATV ETR’11 – Best le 29 août 20115

  6. 1-Introduction : les missions spatiales européennes • Les systèmes orbitaux et les sondes : • Observation de la terre (SPOT), environnement (JASON) et météo (METEOSAT), défense (HELIOS), • Télécommunications, • Navigation (GALILEO), • Science (Herschel/Planck, COROT, etc…) • Exploration lointaine (Rosetta, Mars express) ETR’11 – Best le 29 août 20116

  7. LV 1- Introduction : les orbites et leurs contraintes - orbite basse « observation de la terre / scientifique » SPOT-Pléiades - Jason : nombre de passages réduit (10mn/100mn) - bande passante faible (quelques centaines de kbits/s) - géostationnaire « télécommunication » Telecom1 - Stentor - E3000 : continuité du service (satellites télécom) -> réactivité aux pannes - sonde interplanétaire « astrophysique / scientifique » - Rosetta/Mars Express : autonomie vis à vis des pannes - très faible bande passante - interruptions TM/TC - capacité de reprogrammation. - lanceur - Ariane : aucune commandabilité sol hormis la sauvegarde ETR’11 – Best le 29 août 20117

  8. 1-Introduction : principales caractéristiques des logiciels embarqués • De 1 à 30 logiciels embarqués par satellite • Complexité et fonctionnalités –très- variables en fonction de la mission et des contraintes du système spatial • Majoritairement modifiables en vol • 20.000 à 200.000 lignes de code C, ADA, ou Assembleur (émergence de JAVA) • Durée de développement : 6 mois à 5 ans • Durée de vie du système : quelques minutes (lanceurs) , de 1 à 15-20 ans (satellites ou les sondes) ETR’11 – Best le 29 août 20118

  9. LV Calculateur PF Calculateur CU Eq-1 Eq-2 Satellite Calculateur Sol Centre de Contrôle 1-Introduction : au cœur du système Bord/Sol Le Logiciel de Vol « LV » = à l ’interface entre le sol et le satellite, assure les fonctions embarquées « intelligentes » vitales qui ne permettraient pas une réactivité suffisante si réalisées au sol. • niveau d ’autonomie requis par la mission, • capacité d ’évolution tardive y compris en vol que ne permettent pas les composants matériels ! ETR’11 – Best le 29 août 20119

  10. LV Calculateur PF Calculateur CU Eq-1 Eq-2 Satellite Calculateur Sol Centre de Contrôle 1-Introduction : logiciel temps réel Le Logiciel de Vol « LV » = des activités réalisées en temps « borné » par les exigences de la mission et les contraintes du système. • Temps réel dur : cycles de quelques µs à quelques centaines de ms, • Temps réel mou : cycles d’une seconde à quelques secondes. Déterminisme et prédictabilité nécessaires. ETR’11 – Best le 29 août 201110

  11. LV 2- Description fonctionnelle • Dialogue Bord/Sol « TM/TC » • Contrôle d ’attitude et d ’orbite (SCAO) • Contrôle thermique actif • Contrôle de l ’énergie • Séquence automatique / Contrôle de Vol • Programmation mission / charge utile • Gestion des anomalies et des reconfigurations (FDIR) Classification des fonctions embarquées: • Gestion : modes – surveillances - FDIR • Traitement: SCAO – contrôle thermique - énergie • Communication: TM/TC – protocoles bord ETR’11 – Best le 29 août 201111

  12. LV 2- Description fonctionnelle • Dialogue Bord/Sol + communication avec le matériel : gestion des protocoles • réception TC / émission TM : protocole sol/bord (CCSDS) • encodage/décodage/mémorisation et routage de/vers les sous-systèmes (CCSDS) • élaboration de tables de diagnostic (extrema de paramètres, divers historiques, dwell / acquisitions à la demande) • capacité de mémorisation et exécution différée TC fonction de « service » non algorithmique simple de manipulation de données / vérifications - configurée par la Base de Données Système (BDS) : complexité due aux interactions temps réel entre fonctions et niveaux de tâches. ETR’11 – Best le 29 août 201112

  13. LV 2- Description fonctionnelle • Contrôle d ’attitude et d ’orbite (SCAO) • assure le pointage adéquat (modes de contrôle d ’attitude) : acquisition des informations senseurs - prédiction des actuations et envoi des commandes aux actuateurs • réalise les manœuvres (modes de contrôle d ’orbite) commandées par le sol fonction « applicative » algorithmique (calculs numériques cycliques plus ou moins complexes : filtres - manipulations et calculs matriciels - équations sur polynômes) . ETR’11 – Best le 29 août 201113

  14. LV 2- Description fonctionnelle • Contrôle thermique actif • assure la stabilité thermique de la plateforme et des instruments : acquisition des températures - prédiction et envoi des commandes/consignes de réchauffage fonction « applicative » algorithmique (calcul numérique de type proportionnel/intégral = filtre du 2ème ordre - vote sur plusieurs thermistances). ETR’11 – Best le 29 août 201114

  15. LV 2- Description fonctionnelle • Contrôle de l ’énergie • gère la charge et la décharge des batteries en fonction du niveau d ’éclairement des panneaux solaires (passages en éclipse) • asservissement du moteur d ’entrainement des panneaux solaires pour garantir un éclairement maximal (orbite basse) ou utilisation pour pilotage attitude satellite (géostationnaire) fonction « applicative » - algorithmie simple ETR’11 – Best le 29 août 201115

  16. LV 2- Description fonctionnelle • Séquence automatique / Contrôle de Vol (CDV) • cadence l ’envoi des ordres pyrotechniques / AMF durant la mise à poste satellite (déploiement des antennes, panneaux solaires, déblocage des mécanismes) • séquence l ’ensemble des mises en œuvre matérielles lanceur fonction « applicative » cyclique = séquenceur d ’ordres interprétés (commandes - délais - vérifications - logique simple) capacité de reprogrammation simple en fonction des missions (ex : CDV Ariane V ou Séquence Automatique SL) ETR’11 – Best le 29 août 201116

  17. LV 2- Description fonctionnelle • Programmation mission / charge utile • gère les mises en œuvre des différents composants de la charge utile sur ordre de programmation du sol (plan de travail) • Traite données mission fonction « applicative » supportée par un interpréteur de séquences élémentaires (commandes bas niveau - délais - vérifications) capacité de mémorisation du plan de travail (chargé par TC) et d ’exécution différée en continu sur l ’orbite (satellites orbite basse) capacité / souplesse de reprogrammation tardive dans le développement, ou en vol - meilleure indépendance du LV vis à vis de la mission (ex : IASI - SPOT5 / HELIOS 2 - Stentor) Traitement numérique + ou – complexe sur les données mission ETR’11 – Best le 29 août 201117

  18. LV 2- Description fonctionnelle • Gestion des modes • gère les ressources et l ’état des ressources depuis le niveau matériel jusqu’au niveau des fonctions et du satellite Modes LVC SPOT5 : fonction « de service » simple qui mémorise les états des ressources, et des fonctions et du satellite. = Chef d ’orchestre en charge de cadencer les activités LV ETR’11 – Best le 29 août 201118

  19. LV 2- Description fonctionnelle • Isolation et passivation des pannes • surveille les paramètres sous-systèmes et systèmes dans des intervalles de valeurs attendues • consommation électrique : tensions, courants, • thermique : températures, • protocoles : checksum, parités, • aberrations algorithmiques /dysfonctionnements : erreurs matérielles et logicielles • reconfigure le(s) sous-système(s) défaillant(s) • mise en œuvre du sous-système redondant et mise hors service du sous-système en panne • repliement vers un mode sain -> Survie fonction de « service » paramétrée par la BDS capacité de reprogrammation tardive y compris en vol - complexité système (combinatoire des pannes et logique de déclenchement) ETR’11 – Best le 29 août 201119

  20. LV 2- Description fonctionnelle • Reprogrammation/Support diagnostic en vol • gestion de l ’implantation mémoire et des versions logicielles (ex : Myriade - Pharao) • patch/dump : rechargement de tout ou partie du LV (ex : Hipparcos - ERS2 - SPOT1) • fonctions programmables à la demande (chargement de parties « libres » du logiciel ou de ses données) • reprogrammation simple des séquences interprêtées (ex : IASI - Stentor/E3000 - Rosetta - PHARAO) • suppression des fonctions inutiles (ex : suppression séquence automatique après le succès de la mise à poste - HELIOS1A) peu de code spécifique mais des règles de conception et codage permettent d ’assurer ces mises en œuvre en vol ETR’11 – Best le 29 août 201120

  21. LV 3- Environnement : la problématique calculateur Limitation des ressources masse, consommation Environnement spatial radiations, températures Processeurs spécifiques Besoin de programmation efficace Environnement de développement limité Système de développement spécifique machine hôte/carte cible compilateur croisé ETR’11 – Best le 29 août 201121

  22. 3-Environnement : Les Performances calculateur LV Plateformes d ’observation et scientifiques ETR’11 – Best le 29 août 201122

  23. 3- Environnement : Les Performances calculateur LV Plateformes télécom LV lanceur ETR’11 – Best le 29 août 201123

  24. 3- Environnement : Les Performances calculateur LV Instruments ETR’11 – Best le 29 août 201124

  25. 4- La Sûreté de fonctionnement Le LV est le seul sous-système non redondé à bord = point de panne unique • Comme tout logiciel, il est difficile à valider exhaustivement (combinatoire exponentielle) • C ’est sur le LV que repose la plupart des évolutions tardives avant tir avec tous les risques associés (validation de la non-régression) • ...y compris en vol : problématique de maintenance des moyens et compétence Exemples d ’anomalies « célèbres » : • ARIANE 501 • Survie SPOT3 ETR’11 – Best le 29 août 201125

  26. 4-Sûreté de fonctionnement : une démarche « avant tout » qualité En réponse à l ’ensemble des problématiques et contraintes posées, le LV est un métier d ’austérité et de rigueur : • Processus de développement et de validation strict (ECSS) • Standards applicables pour chaque phase de développement et de validation : objectifs, moyens, règles, documents • Traçabilitéde boût en boût : • suivi des exigences dans tout le cycle (phase par phase) • suivi des évolutions : anomalies, améliorations (gestion de configuration) • Adéquation et pérennité des compétences et moyens pendant toute la durée du développement et la vie du satellite • Investissement conséquent recherche / solutions innovantes ETR’11 – Best le 29 août 201126

  27. LV 5-Problématique de la maintenance en vol • Correction d’anomalies logicielles • Implémentation de palliatifs des anomalies systèmes/matérielles • Amélioration de la mission • Expériences embarquées • Palliatifs en fin de vie Besoins Performances réduites du lien bord/sol Observabilité limitée du comportement du logiciel Rechargement des modifications logiciel à sécuriser Perturbations de la mission à minimiser (disponibilité) ETR’11 – Best le 29 août 201127

  28. 6- Cycle(s) de développement LV • Cycle théorique « en V » • Cycles incrémentaux • Cycles en spirale ETR’11 – Best le 29 août 201128

  29. Intégration 6- Cycle de développement théorique « en V » URD Analyse besoins Qualification Activités avionique Activités logiciel SRD Spécification Validation SVTR ADD ITR Architecture DDD UTR Production ETR’11 – Best le 29 août 201129

  30. 6- Cycle(s) incrémentaux : • Définition de plusieurs versions, « les incréments », du LV • par fonction : suivant des besoins des utilisateurs (ex : ordre d ’intégration). • par niveau de validation suivant de la criticité des besoins planning. • Chaque fonction élémentaire suit un cycle en V de développement. Exemple SPOT5: • LV100 services généraux TM/TC : niveau fin TU (besoin intégration calculateur HW/SW) • LV200 SCAO : fin essais fonctionnels SCAO (besoin essais avionique) • LV200 CU : fin essais fonctionnels CU (besoin intégration CU) • LV300 complet (besoin essais LV sur satellite) ETR’11 – Best le 29 août 201130

  31. 6- Exemple de processus en spirale Translation Testing Integration Unit Testing test Coding Validation Testing Iterative Prototypes Next step preparation Design Analysis ETR’11 – Best le 29 août 201131

  32. 7- Les phases de développement et de validation LV : objectifs et moyens 7.1 - Collecte des besoins 7.2 - Spécification détaillée et l ’architecture LV 7.3 - Production - Intégration : conception détaillée, codage, TU, TI 7.4 - Validation fonctionnelle 7.5 - Qualification - Validation système 7.6 - La gestion des évolutions/non-régression 7.7 - La maintenance en vol ETR’11 – Best le 29 août 201132

  33. 7.1- Collecte et Analyse des besoins Analyse système globale => définir • La répartition bord/sol • L ’autonomie de la mission • La fiabilité/disponibilité : stratégie de surveillance et reconfiguration • Les constituants de l’architecture informatique matérielle et logicielle • La répartition matériel/logiciel • Les informations échangées bord/sol et bord/bord Rôle, interfaces, performances de chaque élément du système URD + ICD Démarrage des développements ETR’11 – Best le 29 août 201133

  34. 7.2- Spécification détaillée et architecture LV 7.2.1 - Spécification détaillée - Modélisation 7.2.2 - Architecture - Architecture statique - Architecture dynamique - Interpréteurs embarqués - Production des données BDS ETR’11 – Best le 29 août 201134

  35. LV 7.2.1- Spécifications • Exprimer tout ce que doit faire le logiciel, mais sans sur-spécifier • Traduction informatique d ’exigences systèmes (SCAO, thermique, C&C) • Problématique de terminologie dûs aux différences de culture de chaque métier • Traçabilité des exigences vis à vis des spécifications de besoin • Exprimer les exigences temporelles • Durée à respecter entre l ’acquisition d ’une mesure et l ’envoi d ’une commande • Retrait du contenu d ’une TC avant écrasement par la TC suivante • Datation d ’un événement (--> 1ms) • Vérifier la faisabilité et la testabilité de l ’ensemble de ces exigences • Nécessité d ’exprimer dans un langage formalisé, éventuellement exécutable • Numérotation des exigences - matrice de testabilité ETR’11 – Best le 29 août 201135

  36. LV 7.2.1-Spécifications : La modélisation • Modèles descriptifs • formaliser la représentation de spécifications, de conceptions • Modèles exécutables (logiciels ou systèmes) • modèles de dimensionnement et de performances (SES/workbench, Opnet) • modèles comportementaux (UML, SDL) • vue précoce et exécutable du système - détection d ’erreurs, incomplétudes, incohérences - gain important en validation • analyses comparatives, évaluation de l’impact d ’une modification • amélioration de la communication • meilleure confiance dans le système utilisation limitée pour l’instant pendant la phase de spécification LV ETR’11 – Best le 29 août 201136

  37. 7.2.1- Spécifications : Modélisation de performances Pour un logiciel ou un système ETR’11 – Best le 29 août 201137

  38. Exemple de résultats ETR’11 – Best le 29 août 201138

  39. Utilisateur Système Haut-parleur Jouer message Jouer son Afficher progression Arrêter Arrêter son TEMPS Les principaux diagrammes UML (1/2) ETR’11 – Best le 29 août 201139

  40. Diagramme de déploiement (organisation du matériel) Les principaux diagrammes UML (2/2) Diagramme de collaboration (communication entre objets) ETR’11 – Best le 29 août 201140

  41. Exemple de diagramme de séquence SCA Gestion Bord Charge Utile Mode Normal Mode Normal Alarme panne équipement Commande passage survie Mode Survie Alarme survie Mode Survie TEMPS Reconf avec panne Désactiver Charge Utile ETR’11 – Best le 29 août 201141

  42. LV 7.2.2- Architecture Statique : notion de couches Le logiciel est structué en plusieurs couches, de la plus proche du matériel à la plus indépendante : SCAO - Contrôle thermique - CU TM/TC - Surveillances / Reconfigurations - Gestion modes Application Services OS +Drivers Matériel ETR’11 – Best le 29 août 201142

  43. Parent OP1 OP2 OP3 Enfant_1 7.2.2- Architecture statique : notion d ’objet • L ’architecture repose sur des objets (Méthode HOOD) qui offrent des services : OP1,OP2, OP3 • Les objets (parents) sont décomposés en objets (fils) ... AVANTAGES : -Règles de structuration - Principe d ’abstraction - Encapsulation des données - Modularité Maintenabilité ETR’11 – Best le 29 août 201143

  44. LV 7.2.2- Architecture dynamique • Logiciel Réactif : qui réagit aux stimulations de l ’environnement • son fonctionnement est lié au temps • -Le logiciel est organisé en tâches • - La ressource processeur est partagée entre ces tâches • Comment ? • - séquenceur périodique: SPOT ( 3 tâches périodiques) • - exécutif préemptif : Pléiades - Proteus (>20 tâches périodiques et apériodiques) ETR’11 – Best le 29 août 201144

  45. IT niveau 0 IT niveau 2 IT niveau 5 7.2.2- Architecture dynamique : les interruptions avertir la CPU qu’un événement s’est produit • Quand une interruption survient, le processeur déroute l’exécution à un programme dédié (handler d’interruption) • A fin du handleur d’interruption, le contrôle est rendu au programme interrompu • Des priorités sont attribuées aux différentes IT Sources d’interruptions : timers (ex : horloge), entrées/sorties asynchrones, matériels, … ETR’11 – Best le 29 août 201145

  46. LV 7.2.2- Architecture dynamique Séquenceur Périodique(exemple SPOT) IT 64 Hz IT 1 Hz Tâche 32 Hz Tâche 8 Hz Tâche 1 Hz ETR’11 – Best le 29 août 201146

  47. LV 7.2.2- Architecture dynamique : Exécutif temps réel • Exécutif = Logiciel de gestion de l ’attribution du processeur aux tâcheset gestion des ressources.Exemples : ( ASTRES, OSTRALES, VxWorks, RTEMS…) • Fonctionalités de gestion des tâches • Encapsulation des handlers d’interruptions associés aux évènements externes • Ordonnancement des tâches en fonction des priorités définies et du schéma d’ordonnancement (pre-emptif, time-slicing…) • Fonctionalités de gestion des ressources • Gestion mémoire (zones privées et publiques) • Messages and sémaphores (communication entre tâches) ETR’11 – Best le 29 août 201147

  48. Exécutif temps réel : les états des tâches - A chaque tâche est affectéeune priorité- A tout instant, la tâche qui s ’exécute est la tâche prête de plus haute priorité (la tâche en cours peut être pré-emptée …) En cours En attente ressource, évt Prête Différée délai ETR’11 – Best le 29 août 201148

  49. Exécutif temps réel : les types de tâches • Les tâches peuvent être : • Périodiques : périodes et phases multiples de l ’horloge • Apériodiques : déclenchées par la présence d ’un événement • Exemple : • Périodique : traitements répétitifs, surveillances • +Apériodique : communications, événements, exceptions • La vérification de la possibilité « d ’ordonnancer » toutes les tâches : • - a priori : par calcul • - a posteriori : par observation ETR’11 – Best le 29 août 201149

  50. LV 7.2.2- Architecture : Interpréteurs embarqués Besoin = évolutivité/souplesse de reprogrammation par TC au sol et/ou en vol sans recours au patch/rechargement LV • langage dédié aux spécificités de la fonction à réaliser : • acquisition de données • envoi de commandes • traitement / logique simples • délais • modifications réalisées en AIT ou en vol par des non-spécialistes LV. Validation plus légère que des évolutions LV classiques • Exemples : • séquences automatiques satellite SPOT4 - SPOT5 • contrôle de vol lanceur Ariane, mise en œuvre instruments IASI et PHARAO, • mise en œuvre Charge Utile SPOT5 ETR’11 – Best le 29 août 201150

More Related