La mission Pathfinder sur Mars
La mission Pathfinder sonde sur Mars, arrivée le 4 juillet 1997 robot mobile Sojourner chargé de différentes tâches photos relevés météo prélèvements poids : 11.5kg vitesse : 24m/h puissance totale : 30W liaison UHF avec la sonde Pathfinder bug dans la gestion des ressources critiques ⇒ perte de données importantes
Architecture Sonde Pathfinder Robot Sojourner monoprocesseur RS6000 (architecture RISC de IBM) (+ un processeur Intel 8085 pour les automatismes de base du robot) caméra émetteur radio Sonde Pathfinder Processeur Mémoires Interface caméra Interface radio bus VME Interface bus bus 1553 Coupleur Interface altimètre Interface accéléromètre Interface enregistreur altimètre altimètre accéléromètre enregistreur météo Robot Sojourner bus 1553 Interface moteurs Interface vannes Interface capteur Interface analyseur Coupleur moteurs vannes capteurs solaires analyseur d'étoiles
Spécification fonctionnelle le système de gestion de la sonde communique avec l'extérieur par la carte radio pour les liaisons avec la terre la carte de liaison avec la caméra l'interface avec le bus 1553 pour les autres capteurs/actionneurs Carte radio caméra Réception Gestion sonde Pathfinder Données mesurées Emission Interface bus 1553 Images Commandes Commandes caméra
Architecture logicielle multitâche gérée par le noyau Vxworks (Wind River) 25 tâches périodiques (ex. : gestion du bus 1553) apériodiques (ex. : analyse des erreurs) communication et synchronisation par des files de messages suivant les phases de la mission (vol interplanétaire, aterrissage, exploration par le robot), toutes les tâches ne sont pas utiles
Architecture logicielle Liste des tâches et priorités relatives
Architecture logicielle Architecture en tâches (HTR : horloge temps réel) ORDO_BUS HTR DISTRIBUTION_ DONNÉES HTR données mesurées commandes TÂCHE_PILOTAGE HTR Tampon_données TÂCHE_CAMÉRA HTR LIRE TÂCHE_MESURE HTR ÉCRIRE images commande caméra TÂCHE_RADIO HTR TÂCHE-MÉTÉO HTR réception émission
Utilisation du bus 1553 la gestion du bus est pilotée par une horloge à 8 Hz (125ms) 2 tâches pour réguler le transfert des données ORDO_BUS priorité maximale vérifie que le transfert des données a été correctement effectué et prépare le transfert suivant DISTRIBUTION_DONNÉES 2 ème priorité collecte les données sur le bus et les place dans la mémoire tampon
Caractéristiques des tâches pour CMÉTÉO = 2, U=0.72 et pour CMÉTÉO = 3, U=0.725 analyse Rate Monotonic pourrait s'appliquer (URMA=0.729), mais partage de la ressource MÉMOIRE_TAMPON ⇒ analyse détaillée
recherche d'ordonnancement période d'étude théorique : 5000ms mais on va se contenter d'étudier sur 250ms en considérant que les tâches MESURES et MÉTÉO viennent de se terminer et en se mettant sur la période suivante étudier les cas CMÉTÉO = 2 et CMÉTÉO = 3 remplir les chronogrammes dans le cas où l’héritage de priorité n’est pas activé
diagramme d'exécution pour C=2 ORDO_BUS R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 DISTRIBUTION_DONNÉES R R R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_PILOTAGE R R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 Inversion de priorité TÂCHE_RADIO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 Inversion de priorité TÂCHE_CAMÉRA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_MESURES R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_MÉTÉO R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
diagramme d'exécution pour C=3 Reset ORDO_BUS ALARME 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 DISTRIBUTION_DONNÉES R R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_PILOTAGE R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 Inversion de priorité TÂCHE_RADIO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 Inversion de priorité TÂCHE_CAMÉRA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_MESURES R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_MÉTÉO R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25
C=3 avec héritage de priorité ORDO_BUS R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 DISTRIBUTION_DONNÉES R R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_PILOTAGE R R 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 80 80 19 19 20 20 21 21 22 22 23 23 24 24 25 25 TÂCHE_RADIO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_CAMÉRA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_MESURES R Héritage de priorité 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_MÉTÉO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25