Home
rapport DEA - Nacelles pointées
Contents
1. pragma Boot Server tcp localhost 5557 Bank Server service has to be mapped on a given host and a given port Bank Server Partition Server There is only one RCI package Note that this RCI package is similar to Bank package with only the limited features allowed to a client Bank Client Partition for Bank Client Termination use Local Termination A client should not wait for the termination of the whole distributed application to terminate procedure Manager is in Bank Server procedure Client for Bank Client Main use Client The main subprogram of partition Bank Client is not a dummy one The zip filter works only on 32 bits machines don t try it on Digital Unix Alpha Channel 1 Channel Bank Client Bank Server for Channel 1 Filter use zip end Simcity ANNEXES FICHIER DE CONFIGURATION SPIRAL CFG DE L EXEMPLE ERATHO SPIRAL configuration Spiral4 is pragma Starter Shell pragma Boot Server tcp localhost 555 7 Partition1 Partition Prime 1 a partition comporte uniquement l unit de biblioth que Prime 1 Partition2 Partition Prime 2 Partitions Partition Prime 3 for Partition2 Host use pc bana daurat cst cnes fr la partition2 sera h berg e sur pc bana daurat for Partition3 Host use localhost for Partition Storage Dir use bin procedure Mainloop is in Partition end Spiral4 xvii
2. O23 package tache2 is new Tache Cyclique Descripteur gt Mode gt Periodique Nom gt tache2 Priorite gt 5 Periode gt 1 0 Duree Phase Lecture gt 0 1 Duree Phase Calcul gt 0 2 Flot Phase Tm 200 Duree Phase Commande gt 0 1 Envoi gt Tm Envoi package tache3 is new Tache Cyclique Descripteur Mode Periodique Nom gt tache3 Priorite gt 2 Periode gt 3 0 Duree Phase Lecture gt 0 2 Duree Phase Calcul gt 1 0 Flot Phase Tm gt 20 Duree Phase Commande gt 0 2 Envoi gt Tm Envoi package tache4 is new Tache Cyclique Descripteur Mode Periodique Nom tache4 Priorite gt 10 Periode gt 0 1 Duree Phase Lecture gt 0 3 Duree Phase Calcul gt 0 05 Flot Phase Tm gt 100 Duree Phase Commande gt 0 3 Envoi gt Tm Envoi package taches is new Tache Cyclique Descripteur gt Mode gt Periodique Nom gt taches Priorite gt 5 Periode gt 1 0 Duree Phase Lecture gt 0 4 Duree Phase Calcul gt 0 2 Flot Phase Tm 200 Duree Phase Commande gt 0 4 Envoi gt Tm Envoi package tache6 is new Tache Cyclique Descripteur gt Mode gt Periodique Nom gt tache6 Priorite gt 2 Periode gt 3 0 Duree Phase Lecture gt 0 5 Duree Phase Calcul gt 1 0 Flot Phase Tm gt 20 Duree Phase Commande gt 0 5 Envoi gt Im Envol begin tache2 Controle Demarrer tachel Controle D
3. l optimiseur pour les phases de calcul ce dernier point pouvant tre v rifi simplement Cependant on peut dire que ces tests temporels devront tre confirm s lorsque les t ches tournant sur les PC104 seront des vraies t ches avec des vrais calculs comme les calculs astronomiques qui occuperont le CPU de mani re r elle 3 3 ETUDE DU MODELE DE REPARTITION DU LANGAGE ADA95 La deuxi me partie de mon stage consistait valuer le mod le de r partition du langage Ada95 pour notre application Cette partie s appuie sur le travail r alis par un des d veloppeurs de l annexe des syst mes r partis d Ada95 DSA pour le compilateur GNAT Pautet 2001 J noncerai d abord rapidement les entit s d Ada95 indispensables la compr hension de DSA pour qu un utilisateur de cet outil sache sur quelles notions du langage repose DSA Je pr senterai par la suite les fonctionnalit s qu offre DSA ainsi que l architecture d une application r partie Ada95 Enfin j aborderai les tests effectu s sur la base d une r partition entre les PC104 et mon poste de d veloppement gr ce aux exemples fournis avec GNAT GLADE Tout d abord essayons de r pondre cette question Qu est ce qui caract rise une application distribu e en Ada95 Au sens g n ral une application distribu e est caract ris e par plusieurs processus communicants chacun s ex cutant potentiellement sur diff rents ordinateurs les ordinateurs tant connect s u
4. l outil STOOD n impl mente pas la g n ration de code pour des noeuds virtuels Nous avons vu dans la partie pr c dente comment on pouvait distribuer un logiciel sur plusieurs partitions l aide de l outil GNAT GLADE Un des objectifs de cette partie est d tudier le moyen de consid rer les partitions GLADE comme des noeuds virtuels dans une conception L id e est de d finir de mani re formelle les r gles de correspondance entre partition et noeud virtuel pour que l outil STOOD permette de g n rer de facon automatique les fichiers de configuration GLADE 3 4 2 Les n uds virtuels HOOD e Concepts D apr s le manuel de reference HOOD HOOD User s Group 1995 cette m thode offre 3 concepts permettant de traiter les syst mes distribu s le noeud virtuel Virtual Node VN c est un ensemble d objets HOOD qui est allouable un processeur et qui est graphiquement repr sent par un objet avec la lettre V dans sa partie sup rieure gauche comme sur la figure6 ci dessous ASER by host OS Start Server ASER by allocated object me y allocated objec V Remote VN top Server ASER by Communication protocol Message In fig6 un noeud virtuel HOOD le partitionnement processus de s paration d un arbre de conception HOOD en un ensemble de noeuds virtuels 31 le n ud physique Physical Node PN c est le mod le de conception HOOD d un programme ex cutable r sulte de la mise en correspondance bi
5. p riph riques d un syst me d exploitation drivers couches r seau window manager A titre de comparaison les syst mes d exploitation traditionnels bord VxWorks Lynx sont marqu s d veloppement crois chers et d un confort relatif Bien qu ils soient bien fournis en biblioth ques utilitaires ce sont des OS propri taires et il faut payer pour toute maintenance ou ajout de fonctionnalit s Le monde Linux offre l avantage de rassembler travers l internet des communaut s de travail et d veloppement qui sont susceptibles de pouvoir aider gr ce aux listes de questions On peut signaler que le syst me d exploitation Linux n est pas pr emptif la base ce qui donne l emploi du langage Ada95 une justification suppl mentaire car celui ci offre un multi t ches ou tasking pr emptif De m me les listes comme celle d Ada France permettent d tre orient vers des solutions assez rapidement Ces crit res de flexibilit de co ts et fiabilit que l on esp re tre satisfaits par les choix de Linux et Ada dans le cadre d une conception HOOD seront valuer tout le long de la chaine de d veloppement logiciel 2 20 UNSYSTEME VU EN COUCHES Dans ce contexte je vais essayer de d gager quelques id es simples de la philosophie de linformatique embarqu e dans les nacelles Tout d abord on peut faire des consid rations d architecture d ordre g n ral Chaque entit du monde r el peut tre associ e u
6. rabilit entre mod les de r partition M moire pour l obtention de l Habilitation Diriger des recherches de l Universit Pierre et Marie Curie Paris VI 17 12 2001 Jorg Kienzle Network Applications in Ada 95 Rapport de stage Ecole Polytechnique F d rale de Lausanne 1997 Laurent Pautet Samuel Tardieu GLADE User s Guide version 3 13p GNAT Library for Ada Distributed Environment 07 12 2001 HOOD User s Group HOOD Reference Manual rev4 ref HRM4 10 12 1995 HOOD User s Group HOOD User Manual release 1 0 ref HUM 1 0 27 07 1994 JP Rosen HOOD an Industrial Approach for Software Design HOOD User s Group 1997 J M Berg L O Donzelle V Olive J Rouillard ADA avec le sourire Presses Polytechniques romandes et CNET ENST 1989 41 ANNEXES ANNEXE1 ABR VIATIONS ASER Asynchronous execution request CCD Charged Coupled Device DSA Distributed Systems Annex GARLIC Generic Ada95 Reusable Library for Inter partition Communication ISO LAN MC MPF NFS OBCS ODS OSI PN RCI RPC RPM RTE TC TM VN International Standard Organization Local Area Network Module de Commande Module de Pointage Fin Network File System OBject Control Structure Object Description Skeleton Open System Interconnection Physical Node Remote Call Interface Remote Procedure Call appel de proc dure distante RedHat Package Manager Run Time Environment T l commande T l mesure Virt
7. raise Erreur end if Create File gt Log Name gt Nom Fichier Log Enregistrer Creation end Tache Cyclique KK KK KK KK kk Ck Kk kk kk kk kk ckck ck ck k kc kck ck ckck ck ck kc kck k kck ck kck kk P test taches adb e test 6taches 2 f RKCKCKCkCKkCk kk KK KK KK KK KK KK KK OK KK KK ck kc kckckckck kc kck ck kk kk with Tache with Tache Cyclique with Ada Text Io with Unchecked Deallocation procedure Test Taches is task Tm is pragma Priority 1 entry Envoi Tag 5 an Strang Taille an Tache Taille Paquet Tm end Tm task body Tm is type Access String is access String procedure Free is new Unchecked Deallocation Object gt String Name Access String leg Courant Access String Taille Courante Tache Taille Paquet Tm use Ada Text Io begin loop select accept Envoi Tag gt in String Taille in Tache Taille Paquet Tm do Tag Courant new String Tag Taille Courante Taille end Envoi vi Put rag Couradt mLL amp E Jj for I in 1 Taille Courante loop Put x end loop New Line Free Tag Courant Or terminate end select end loop end Tm package tachel is new Tache Cyclique Descripteur Mode Periodique Nom gt tachel Priorite gt 10 Periode gt 0 Duree Phase Lecture gt 0 03 Duree Phase Calcul gt Flot Phase Tm gt 100 Duree Phase Commande gt 0 1 Envoi gt Im Enmnvoi l
8. 02 Flot Phase Tm gt 100 Duree Phase Commande gt 0 01 Envoi gt Tm Envoi package Tache pilotage4 is new Tache Cyclique Descripteur gt Mode gt Periodique Nom gt tache pil4 Priorite gt 10 Periode gt 0 1 Duree Phase Lecture gt 0 02 Duree Phase Calcul gt 0 02 Flot Phase Tm 100 Duree Phase Commande gt 0 01 Envoi gt Tm Envoi package Tache servitudel is new Tache Cyclique Descripteur Mode Periodique Nom gt tache serl Priorite gt 2 Periode gt 30 0 Duree Phase Lecture gt 0 03 Duree Phase Calcul gt 0 02 Flot Phase Tm 300 Duree Phase Commande gt 0 0 Envoi gt Tm Envoi package Tache servitude2 is new Tache Cyclique Descripteur Mode Periodique Nom gt tache ser2 Priorite gt 2 Periode gt 10 0 Duree Phase Lecture gt 0 03 Duree Phase Calcul gt 0 02 Flot Phase Tm 300 Duree Phase Commande gt 0 0 Envoi gt Tm Envoi package Tache servitude3 is new Tache Cyclique Descripteur Mode Periodique Nom gt tache ser3 Priorite gt 2 Periode gt 1 0 Duree Phase Lecture gt 0 03 Duree Phase Calcul gt 0 02 Flot Phase Tm 300 Duree Phase Commande gt 0 0 Envoi gt Im Envol package Tache servitude4 is new Tache Cyclique Descripteur gt Mode gt Periodique Nom gt tache ser4 Priorite gt 2 Periode gt 1 0 Duree Phase Lecture gt 0 03 Duree Phase Calcu
9. Controle Arreter Tache astroZ Controle Arreter end Test 12Taches f ROKCKCKCkCKkCkkCKkCk kk kk kk kk kk kk ck k ck ck k kc kck ck ckck ck ck k ck ck kc kck ck kk kk ES depouille taches adb mot KKK KKK KK KK KK KK KK KK KK ck ck k ck ck k ck ckck ck ckck ck ck k ck ck kckck ck kk kk with Ada Command Line with Ada Text Io with Mots Extraction with Tache procedure Depouille Taches is type Decompte Temps is record Debut Duration lt 0 0 Fin Duration 0 0 Duree Duration 0 07 Duree_Totale Duration i 0 0 Nombre_Occurrences Natural 0 end record Nom Fichier Log constant String Ada Command_Line Argument 1 Log Ada Text Io File Type Ligne obrang Ob as 2D0 3 Dernier la Natural Activate Lecture Calcul Im Commande Decompte Temps Premiere Fois Boolean True Periode Duration 0 0 Cumul Periode Duration gt 0 0 begin Ada Text Io Open Pile gt Log Name gt Nom Fichier Log Mode gt Ada Text Io In File while not Ada Text Io End Of File Log loop Ada Text Io Get Line File gt Log Item gt Ligne Last Dernier Lu declare package Le Mot is new Mots Extraction De Ligne 1 Dernier Lu Separes Par Nom Tache constant String gt Le Mot Courant Temps constant Duration Duration Value Le Mot Suivant Action constant Tache Evenement D Tache Evenement Value Le Mot Suivant use Tache begi
10. GLADE peut construire cette partition de sorte qu elle se charge de lancer automatiquement les autres partitions pour l utilisateur 3 3 3 Tests effectu s avec les exemples fournis par GNAT GLADE Mon travail consiste faire marcher une application r partie entre plusieurs calculateurs la machine de d veloppement et les maquettes de calculateur embarqu En 26 m appuyant sur les exemples de d monstration fournis par l outil GNAT GLADE ma d marche a t de commencer par faire d abord marcher une application simple du type client serveur et lui rajouter des fonctionnalit s au fur et mesure E Processus de test L annexe traitant des applications r parties ne d crit pas comment une application doit tre configur e Il appartient donc au programmeur de pr ciser quelles sont les partitions dans son application et sur quelles machines elles doivent tre ex cut es L outil gnatdist lit un fichier de configuration crit avec une syntaxe Ada like qui permet de construire les divers ex cutables un pour chaque partition Cette syntaxe est d taill e dans le manuel d utilisateur de GNAT GLADE Pautet amp Tardieu 2001 Voici la d marche adopter pour r partir une application sur plusieurs machines 1 Ecrire une application non r partie en pr cisant les pragmas de cat gories pour sp cifier les paquetages qui peuvent tre appel s distance Remote Call Interface 2 Ecrire le fichier de configurat
11. communication Ada95 d finit l interface utiliser entre le compilateur et le systeme de communication de DSA Le paquetage System RPC d finit types et sous programmes utiliser comme points d entr e du syst me de communication Ce dernier pour r le gt d envoyer les requ tes et recevoir les ventuelles r ponses d appels de sous programmes ou de m thodes distance aupr s d un serveur de recevoir les requ tes et envoyer ventuellement les r ponses de requ tes aupr s du client d bloquant ainsi les t ches responsables des appels distance Analyser les requ tes du client chez le serveur pour en effectuer le traitement en d l guant ventuellement aupr s de t ches Ada95 d di es cet effet Mais System RPC ne propose aucun m canisme de localisation des partitions et des unit s de biblioth que Il apparait que DSA s adresse plus particuli rement aux applications temps r el statiquement r parties Dans ce cas chaque partition connait la localisation pr d termin e des autres partitions ainsi que celle des unit s de biblioth que OU se situe ce sous syst me de communication dans GNAT GLADE la mise en ceuvre du mod le de r partition d Ada95 GNAT GLADE s organise autour de trois composants fondamentaux GNAT GARLIC et GNATDIST Sans rentrer dans les d tails qui pourront tre compris par la lecture de Pautet 2001 le compilateur GNAT g n re les souches et squelettes des entit s r pa
12. d codage ne sont ni canoniques comme pour les types pr d finis ni sp cifiques comme pour les r f rences l utilisateur doit se charger de leur d finition Un type transportable se d clare dans une unit de biblioth que cat goris e charg e d appliquer ces restrictions Un sous programme distant doit pouvoir tre localis sans ambiguit et l unit de biblioth que cat goris e qui le d clare doit donc tre unique L appel un tel sous programme distant se r sout de mani re statique La d r f rence d une variable de type acc s sur sous programme provoque l ex cution du sous programme d sign Dans le cas d un type acc s distant sur sous 21 programme cette d r f rence correspond l appel d un sous programme distant r solu de mani re dynamique Un objet r parti doit se prot ger contre copies et acc s En cons quence le type tiquet qui le d finit dans une unit de biblioth que cat goris e doit tre limit priv Le type acc s distant ou r f rence sur cet objet doit galement tre d fini dans une unit de biblioth que cat goris e et devient ainsi transportable Les unit s de biblioth que impliqu es dans ce dispositif peuvent tre r pliqu es Un pragma doit permettre un sous programme sans param tre de sortie d une unit de biblioth que cat goris e de s ex cuter de mani re asynchrone Ce m me pragma peut s appliquer un type acc s distant sur objets et rend automat
13. dans Sneed et Heitz 07 93 qui tente d utiliser le concept de noeud virtuel pour structurer les processus d une application et pour synchroniser ces noeuds virtuels On part du constat suivant Les op rations des objets HOOD sont ex cut es par des processus qui leur sont soit compl tement internes pour certains objets exemple d un objet parent qui contient forc ment un ou plusieurs processus soit compl tement externes pour d autres objets exemple d un objet terminal passif qui d finit du code compl tement s quentiel soit ni externes ni internes mais selon la chronologie d ex cution et les contraintes d ex cution certains processus ex cutent du logiciel dans un objet puis passent un autre La d finition d un noeud logique comme regroupement d objets HOOD permettrait donc de r aliser un regroupement des processus logiques associ s La notion de processus 33 logique est typiquement une t che Ada mais on peut galement penser un processus de type Unix On distingue alors les processus l gers qui correspondent plut t des impl mentations de m canismes de synchronisation des processus lourds qui correspondent plus des entit s logicielles machines virtuelles compl tes se partageant le processeur Pour tablir l impl mentation des processus HOOD qui ex cutent les op rations des objets et impl mentent leur OBCS nous disposons donc de deux niveaux de granularit le processus l ger corre
14. ese Ease teea eade 30 VR P TICS OUI VOD EE 31 EE EE 3l QUEE ces a ERROR E 32 POS Gaile te AOU pcr teats teenie eee aoe eade et ei cise ee ee 32 3 4 3 Les utilisations possibles des n uds virtele LR 33 3 5 BILAN ET TRAVAIL RESTANT A EN E 38 dad Jrolotypace avec STOOL eisene 38 E 38 CONCLUSION eem 40 BIBLIOGRAPHIE E 41 ANNEXES ANNEXEI ANNEXE2 ANNEXE3 ANNEXE4 ANNEXES n 42 SABRE VIATON oo A I PROGRAMMES DE TEST ADAF INU i Giese adelante a a D ono fuae ta eu e sai II DONN ES D POUILL ES DU TEST TACHES AVEC 6 T CHES SUR LE PCIOA XIV FICHIER DE CONFIGURATION SIMGEST CFG DE L EXEMPLE BANK FOURNI PAR GNAT GLADE XVI FICHIER DE CONFIGURATION SPIRAL CFG DE L EXEMPLE ERATHO SPIRAL seen XVII INTRODUCTION Le document pr sent s inscrit dans le plan de modernisation des architectures informatiques des nacelles point es initi il y a deux ans Cet effort repose sur l id e que les changements de technologie sur du mat riel industriel existant et op rationnel peuvent se r v ler opportuns Mais les choix effectu s peuvent laisser les personnes impliqu es dans le projet dubitatives quant la capacit du nouveau syst me r pondre aux m mes exigences que l ancien Il ne sera pas ici question de convaincre quiconque de l int r t d
15. l envie de se documenter sur un sujet connexe au sujet qui tait l objet de notre rechercher initiale mais c est une facon de s ouvrir de nouveaux concepts C est ainsi que j ai approfondi mes connaissances sur le syst me d exploitation linux J avoue ne pas avoir l habitude de poser de questions sur les listes de discussion du type Ada France lorsque j ai t bloqu par une erreur de compilation ou d ex cution pr f rant me documenter gr ce aux manuels utilisateurs et aux exemples de d monstration fournis avec les logiciels Cependant je pense que c est la toute la puissance du choix du tandem Linux Ada dont la communaut d adeptes semble motiv e par son emploi de mani re plus tendue dans l informatique en juger par quelques r ponses lues sur des listes de questions L assistance technique du CNES et de TNI pour l outil STOOD m ont agr ablement aid a r gler mes probl mes d installation provenant souvent d erreurs li es aux distributions ou de mauvaises configurations de la machine 39 CONCLUSION Mon travail a surtout t un travail de mise plat des concepts et des outils qui sous tendent la nouvelle architecture informatique pour les nacelles point es Nous avons valid en premi re approche la faisabilit d une application Ada Linux s ex cutant sur une maquette de calculateur embarqu La r partition des programmes sur plusieurs calculateurs est rendue possible avec l outil test mais reste ex
16. s est pos e dans la logique de l architecture nouvelle atteindre O vaut il mieux faire le plus gros du travail de calcul bord ou au sol Prenons l exemple du calcul astronomique Actuellement le calcul de la consigne en azimut et l vation d un appareil devant pointer sur un objet c leste met en oeuvre un m canisme co teux en temps En effet le calcul de la position de l objet c leste est fait au sol apr s avoir r cup r les informations de localisation et de temps d livr es par le GPS la consigne g n r e au sol est envoy e bord par une t l commande Ce calcul n cessitant un minimum de puissance les anciens calculateurs embarqu s ne permettaient pas de le faire bord D sormais les PC104 dont nous disposons poss dent un co processeur et font partie de la famille des processeurs 486 et de plus fonctionnent 133MHz Le fait dembarquer le calcul astronomique permettra de s affranchir de ces d lais de transmission qui sont source d erreur dans le pointage de lib rer la liaison bord sol et de faire d autres choses bord qui utilisent le calcul astronomique e Comment r partir Deux approches semblent possibles La premi re consisterait partir d une architecture mat rielle et venir coller l architecture logicielle associ e dessus Cette premi re approche n est pas r aliste compte tenu du fait que les exp rimentations test es avec les nacelles seront potentiellement amen es
17. un changement d architecture mais bien d essayer de la mettre en ceuvre en mettant en vidence ses points forts et ses ventuelles faiblesses J ai effectu mon stage de DEA d une dur e de six mois mars ao t 2002 au sein de l quipe des Nacelles Point es la division Ballons du CNES Ce rapport pr sente l tat d avancement la fin du mois d ao t du prototypage d applications r parties sur plusieurs calculateurs embarqu s bord de nacelles point es On ne peut pas s parer la conception du prototype de l application proprement parler des aspects m thodologiques et l tude de la faisabilit d une architecture r partie Ces derni res donnent lieu un travail qui repose sur des tudes d j effectu es En cons quence il aurait t inopportun de se lancer dans une tentative de conception d taill e sans tudier d abord le mod le de r partition Nous nous efforcerons ici de pr senter et de justifier les choix effectu s pour la nouvelle architecture informatique des logiciels bord et sol des nacelles point es et de d finir et tester l architecture r partie 1 DOMAINE D APPLICATION 1 1 LES NACELLES POINTEES Une nacelle point e est un v hicule d emport d exp riences scientifiques sous ballons stratosph riques La particularit de ce type de nacelle est la pr sence d un syst me de pointage destin orienter et maintenir la charge utile l instrument scientifique dans une direction bien pr cis
18. utiliser des calculateurs changeant en nombre et en cartes d entr es sorties connect es La deuxi me consisterait plut t commencer par concevoir le logiciel sans consid rer la distribution L avantage de cette technique c est qu en pratique l architecture mat rielle n est pas enti rement d finie en d but de projet et surtout qu elle peut tre amen e changer rapidement selon les missions La distribution est d finir dans l architecture pendant la conception et non dans la phase de sp cifications 3 TRAVAIL EFFECTUE 3 1 INSTALLATION DE LOGICIELS Outre la prise de contact avec le sujet et le contexte il m a fallu au d but de ce stage mettre jour un certain nombre de logiciels et proc der des installations de logiciels que j utilise ou qui seront utiles dans un futur proche C est une t che qui pourrait sembler imm diate mais la stabilit d une version de logiciel n est atteinte qu au prix de la modification de d tails dans les fichiers de configuration et dans les droits d ex cution de fichiers et r pertoires mise en vidence des bogues du logiciel d tails qui appellent la mise jour d autres versions de logiciels Parmi les mises jour je citerai le version 8 1 de la distribution Mandrake de Linux Je conseillerais au prochain utilisateur de ce poste de d veloppement de privil gier l administration de logiciels par paquetages RPM RedHat Package Manager qui ont l avantage de regrouper le
19. vol calculateur calculateur nacelle conduite de vol calculateur 3 L L LI Lem calculateur Routeur IP instrument Routeur IP Sol instrument Rees L AH sol h _ Sol Sol nacelle conduite de vol fig3 Architecture IP bord sol D s lors l utilisation du gestionnaire de r partition GNAT GLADE permet de r aliser des logiciels bords r partis avec une grande souplesse de distribution des fonctions L id e est de d velopper une application comme si elle devait s ex cuter sur un seul calculateur puis de r partir les fonctions sur les noeuds en prenant en compte des consid rations purement applicatives et ce sans modifier le code Nous pr senterons de mani re plus d taill e le mod le de r partition de l annexe des syst mes distribu s de la norme du langage Ada95 et son impl mentation par GNAT GLADE dans la partie 3 3 de ce document e Pourquoi r partir le traitement En premi re approche on peut consid rer qu il est logique d affecter un calculateur les paquetages qui lui permettent de dialoguer avec les cartes qui sont connect es directement sur son bus En pratique la configuration mat rielle est d finie partir du besoin en interfaces avec les quipements n cessaires la mission la capacit de connexion des cartes sur un bus d un calculateur de type PC104 est en th orie limit e cinq cartes En cons quence la solution cette limitation sera
20. 00 s Tm 36 fois dur e totale 0 037429000 s dur e moyenne 0 001039694 s Commande 36 fois dur e totale 11 061963000 s dur e moyenne 0 307276750 s KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKE T che taches Activit 2 fois dur e totale 20 217380000 s dur e moyenne 10 108690000 s Lecture 20 fois dur e totale 8 195045000 s dur e moyenne 0 409752250 s p riode moyenne 1 116687263 s Calcul 20 fois dur e totale 0 068369000 s dur e moyenne 0 003418450 s Tm 20 fois dur e totale 0 017439000 s dur e moyenne 0 000871950 s Commande 20 fois dur e totale 8 092656000 s dur e moyenne 0 404632800 s KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK T che tache6 Activit 1 fois dur e totale 15 059128000 s dur e moyenne 15 059128000 s Lecture 5 fois dur e totale 2 548320000 s dur e moyenne 0 509664000 s p riode moyenne 3 012125750 s Calcul 5 fois dur e totale 0 081245000 s dur e moyenne 0 016249000 s Tm 5 fois dur e totale 0 005569000 s dur e moyenne 0 001113800 s Commande 5 fois dur e totale 2 507592000 s dur e moyenne 0 501518400 s XV ANNEXE4 FICHIER DE CONFIGURATION SIMGEST CFG DE L EXEMPLE BANK FOURNI PAR GNAT GLADE configuration Simcity is pragma Version False Don t want to check Version pragma Starter None Bank Client and Bank Server are launched manually
21. Ada Calendar with Ada Numerics Generic Elementary Functions package body Tache Cyclique is Espace En Underscore Character Mapping To Mapping From gt W n To gt QE Nom_Tache onstan Sorring Translate Source E Trim Descripteur Nom Side gt Both Mapping gt Espace En Underscore Log Ada Text Io File Type function Construit Nom Log Tache in Strang return String i8 use Ada Calendar A Year Number M Month Number J Day Number S Day Duration begin Splat CLOOk Ay M Jy oy return Translate Source gt Tache amp ES amp Day Number Image J amp US amp Month Number Image M amp amp Year Number Image A amp amp Natural Image Natural 5 amp T ilog Mapping gt Espace En Underscore end Construit Nom Log Nom Fichier Log constant String Construit Nom Log Nom Tache Duree Du Tour constant Duration 4 5e 6 Duree Du Tour constant Duration 1 0e 4 package Math is new Ada Numerics Generic Elementary Functions Float procedure Enregistrer Action f in Evenement is use Ada Calendar S t Day Duration begin S Seconds Clock Put Line File gt Log Item gt Nom Tache amp i j amp Day Duration Image S amp amp Evenement Image Action end Enregistrer procedure Phase Lecture Duree in Duration is begin Enregistrer Debut Phase Lecture delay Duree Enregistrer Fin Phase Lecture end P
22. ETUDE DE L INTEGRATION DES CONCEPTS DE REPARTITION DANS UNE CONCEPTION HOOD Cette derni re partie pose les bases d un travail sur la correspondance que l on peut faire entre des partitions au sens GNAT GLADE et les noeuds virtuels HOOD Ce travail est n du besoin d int grer les concepts de r partition dans une conception HOOD Nous rappellerons quelques propri t s de lapproche de conception HOOD nous pr senterons le concept des noeuds virtuels et nous essaierons de pr senter les diff rentes approches possibles pour le travail restant faire 3 41 L approche m thodologique de conception HOOD pour les syst mes complexes e HOOD HOOD 4 comme HOOD 3 offre au concepteur des possibilit s de repr sentation des mod les diff rents niveaux d abstraction et de raffinements tout en gardant la coh rence avec les repr sentations initiales Dans le cadre du d veloppement d un syst me complexe ces propri t s vont tre exploit es pour produire des versions successives des mod les HOOD maquettes prototypes jusqu au syst me op rationnel avec une tr s bonne tra abilit et un haut niveau de r utilisation Elles s appuient sur la notion d invariance des mod les initiaux et sur la notion de raffinements d une description d ODS La d marche de d veloppement est bas e sur les principes suivants Elaboration d un mod le initial solution logique Ce mod le est une abstraction de solution en termes d objets les l
23. MINISTERE DE L EDUCATION NATIONALE DE LA RECHERCHE ET DE LA TECHNOLOGIE kk Institut National des Sciences Appliqu es o pO Q CG s INSR TOULOUSE D partement de G nie Electrique et Informatique kk PROJET DE FIN DETUDES DEA Systemes Informatiques Contr le commande pour les nacelles point es a base de technologies standard Une contribution prototypage d applications embarqu es r parties Centre Spatial de Toulouse do CEHTRE HATIONAL D ETUDES FATIALES 18 avenue Edouard Belin 31 401 TOULOUSE CEDEX 4 FRANCE Seuma Vidal Jean Pierre 5GII TRS 2 Septembre 2002 MINISTERE DE L EDUCATION NATIONALE DE LA RECHERCHE ET DE LA TECHNOLOGIE kk Institut National des Sciences Appliqu es o pO Q CG s INSR TOULOUSE D partement de G nie Electrique et Informatique kk PROJET DE FIN DETUDES DEA Systemes Informatiques Contr le commande pour les nacelles point es a base de technologies standard Une contribution prototypage d applications embarqu es r parties Centre Spatial de Toulouse do CEHTRE HATIONAL D ETUDES FATIALES 18 avenue Edouard Belin 31 401 TOULOUSE CEDEX 4 FRANCE Seuma Vidal Jean Pierre 5GII TRS 2 Septembre 2002 REMERCIEMENTS Je remercie vivement Jean Evrard pour m avoir accueilli au sein de son quipe et Andr Laurens pour m avoir permis d effectuer ce stage et pour son soutien et ses conseils avis s Je tiens remercier Philippe Laporte pour sa gent
24. ande 134 fois dur e totale 14 310149000 s dur e moyenne 0 106792156 s KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKE T che tache2 Activit 1 fois dur e totale 22 236714000 s dur e moyenne 22 236714000 s Lecture 22 fois dur e totale 2 412877000 s dur e moyenne 0 10967622 s p riode moyenne 1 010641333 s Calcul 22 fois dur e totale 0 076616000 s dur e moyenne 0 003482545 s Tm 22 fois dur e totale 0 059527000 s dur e moyenne 0 002705772 s Commande 22 fois dur e totale 2 291384000 s dur e moyenne 0 104153818 s KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK E T che tache3 Activit 1 fois dur e totale 15 058 23000 s dur e moyenne 15 058723000 s Lecture 5 fois dur e totale 1 052242000 s dur e moyenne 0 210448400 s p riode moyenne 3 011944500 s Calcul 5 fois dur e totale 0 087116000 s dur e moyenne 0 017423200 s Tm 5 fois dur e totale 0 054038000 s dur e moyenne 0 010807600 s Commande 5 fois dur e totale 0 001790000 s dur e moyenne 0 000358000 s KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKE XIV T che tache4 Activit 1 fois dur e totale 22 329454000 s dur e moyenne 22 329454000 s Lecture 36 fois dur e totale 11 133319000 s dur e moyenne 0 309258861 s p riode moyenne 0 620253971 s Calcul 36 fois dur e totale 0 039924000 s dur e moyenne 0 0011090
25. architecture actuelle fait apparaitre une s paration des segments bord et sol qui communiquent travers des liaisons de transmission num riques gr ce au syst me ETNA Ces liaisons se pr sentent comme des voies s ries RS232 multiplex es dans un canal radiofr quence Qu elles soient bord sol t l mesure ou sol bord t l commande elles acheminent les informations chaque voie pouvant avoir un rythme de bit qui lui est propre Le canal physique ne sachant acheminer que des trains d octets ind pendants il appartient chaque client du syst me ETNA d impl menter un protocole pour r aliser un protocole de bout en bout A titre indicatif dans le cas pr cis des nacelles point es les TM TC sont envoy es par paquets De plus dans le syst me actuel dont j ai repr sent une vue globale sur la figure2 les deux calculateurs ne communiquent pratiquement pas entre eux et certaines fonctions doivent tre obligatoirement dupliqu es sur les deux calculateurs Des trames TM et TC sont utilis es par les deux calculateurs et chacun poss de des r pliques des programmes permettant de traiter les TM TC quelques fonctionnalit s pr s Les liaisons RS232 entre les 2 calculateurs et le syst me ETNA tant multiplex es pour laisser passer des trames TM ou TC le port de liaison est limit par la voie dont le rythme de bit est le plus faible les voies TM sont limit es 38400 bauds et les voies TC 9600 baud
26. dite de marshalling sur les param tres de la proc dure et les passera GARLIC En effet pour envoyer les param tres d un appel distant travers un r seau ils doivent tre applatis c est dire mis plat dans un simple flot d octets Sur la partition r ceptrice ils doivent tre reconstruits partir de cette repr sentation lin aire C est cette op ration qui est appel e marshalling et unmarshalling Voici la structure de GARLIC selon Kienzle 1997 Code de l application ouches et Squelettes g n r s System RPC GARLIC TCP TCP autres protocoles de communication r seau fig5 Structure de Garlic GARLIC se charge donc de la gestion des appels de sous programmes ou de m thodes distance et constitue cet gard un ORB Object Request Broker pour DSA En Ada95 pour construire une application monolithique l utilisateur doit en sp cifier le sous programme principal Dans d autres langages il se nomme main par convention A l aide de cet identificateur GNAT compile toutes les unit s de l application pour produire un ex cutable du m me nom que l utilisateur peut invoquer pour ex cuter le programme Dans le souci de toujours minimiser les diff rences entre le d veloppement d un programme monolithique et de sa version r partie GNAT GLADE attribue un r le particulier la partition principale dont le sous programme principal correspond celui de l application monolithique De plus GNAT
27. e Commande Duree Totale Commande Duree Commande Nombre Occurrences Commande Nombre Occurrences 1 end case end end loop Ada Text Io New Line Ada Text Io Put Line Activite amp Natural Image Activite Nombre Occurrences amp fois if Activite Nombre Occurrences gt 0 then Ada Text Io Put duree totale amp Duration Image Activite Duree Totale amp s Ada Text Io Put Line duree moyenne amp Duration Image Activite Duree Totale Activite Nombre Occurrences T sa end if xii Ada Text Io New Line Ada Text Io Put Line Lecture amp Natural Image Lecture Nombre Occurrences amp fois if Lecture Nombre Occurrences gt 0 then Ada Text Io Put duree totale amp Duration Image Lecture Duree Totale amp sw Ada Text Io Put Line duree moyenne amp Duration Image Lecture Duree Totale Lecture Nombre Occurrences amp P sw end if if Lecture Nombre Occurrences then Ada Text Io Put Line periode moyenne amp Duration Image Cumul Periode Lecture Nombre Occurrences 1 amp s end if Ada Text Io New Line Ada Text Io Put Line Calcul amp Natural Image Calcul Nombre Occurrences amp fois if Calcul Nombre Occurrences O0 then Ada Text Io Put duree totale amp Duration Image Calcul Duree Totale amp s Ada Text Io Put Line duree moyenne amp Duration Image Calcul Dure
28. e La nacelle est destin e tre achemin e une altitude qui peut aller jusqu 45 km Le poids de celle ci peut atteindre 500 kg qui est la limitation r glementaire en France C est par l interm diaire d un ballon qu elle va tre transport e dans la stratosph re Elle est reli e celui ci via un parachute pour la r cup rer et une chaine de vol qui est constitu e de sangles ou c bles porteurs et elle est quip e de divers dispositifs de conduite du vol r flecteur ou r pondeur radar GPS boitier de commande du d lestage s parateurs ballon parachute nacelle quipements de t l communication associ s Les domaines scientifiques int ress s par les vols stratosph riques sont nombreux car le ballon est un v hicule peu co teux qui permet une exp rience de s affranchir de l essentiel de l atmosph re donc des inconv nients qui y sont souvent li s comme l att nuation du signal scientifique et l missivit parasite N anmoins les clients des nacelles point es appartiennent essentiellement deux domaines e les instruments d observation astronomique ou astrophysique Le r le du syst me de pointage sera de diriger ces instruments dans la direction des objets astronomiques souhait s et ce avec la pr cision et la stabilit requises Il peut y avoir plusieurs objets observer au cours d un m me vol e les exp riences de chimie atmosph rique ont pour but essentiel d identifier les esp ces chimiques
29. e Totale 7 Calcul Nombre Occurrences amp gs end if Ada Text Io New Line Ada Text Io Put Line Tm amp Natural Image Tm Nombre Occurrences amp fois if Tm Nombre Occurrences gt 0 then Ada Text Io Put duree totale amp Duration Image Im Duree Totale amp s Ada Text Io Put Line duree moyenne amp Duration Image Im Duree Totale Im Nombre Occurrences amp P a end if Ada Text Io New Line Ada Text Io Put Line Commande amp Natural Image Commande Nombre Occurrences amp fois if Commande Nombre Occurrences gt 0 then Ada Text Io Put duree totale amp Duration Image Commande Duree Totale amp s Ada Text Io Put Line duree moyenne amp Duration Image Commande Duree Totale Commande Nombre Occurrences amp s end if exception when Ada Text Io Name Error Ada Text Io Put Line Tess nom Crchier log incorrect ou inconnu TS Nom Fichier Log end Depouille Taches xiii ANNEXE3 DONNEES DEPOUILLEES DU TEST TACHES AVEC 6 TACHES SUR LE PC104 T che tache1 Activit 2 fois dur e totale 20 156229000 s dur e moyenne 10 078114500 s Lecture 134 fois dur e totale 5 286845000 s dur e moyenne 0 039454067 s p riode moyenne 0 165527300 s Calcul 134 fois dur e totale 0 146764000 s dur e moyenne 0 001095253 s Tm 134 fois dur e totale 0 199946000 s dur e moyenne 0 001492134 s Comm
30. e pointage e la chaine de contr le commande qui comprend entre autre le sous syst me informatique de bord calculateurs embarqu s bus de communication p riph riques informatiques logiciels e l int gration de l exp rience scientifique e le test et la validation de la nacelle e l op ration de la nacelle en vol Le 22 avril 2002 j ai eu la chance d assister au lancement d une nacelle embarquant des senseurs stellaires cam ras construites sur le principe des CCD Coupled Charged Device et pointant un objet c leste Ce vol tait uniquement technologique et avait pour but de tester des nouveaux quipements comme la roue inertie un syst me d quilibrage de la nacelle et une instrumentation de mesure du fond de ciel J ai pu me rendre compte du travail de pr paration qui pr c de un vol et de la fiabilit requise par 3 les quipements au cours d un vol qui somme toute n a pas dur longtemps En mettant de c t les dur es de mont e et de descente et en ne consid rant que la phase de plafond pendant laquelle le ballon est maintenu une certaine altitude l quipe n a pu disposer que de deux heures de plafond pour mettre en ceuvre les tests 1 3 LES IDEES DIRECTRICES ET L ETAT DE L ART Actuellement Andr Laurens ing nieur en informatique de l quipe prend en charge l volution et la maintenance du logiciel de vol et du sol Les logiciels de vol et de sol sont tous les deux programm s en C
31. e servitude thermique de 30 s servitude lectrique de 1 s Pour le calcul astronomique qui n a ni phase de lecture ni phase de commande actuation on prend 2 p riodes diff rentes 0 1 et 1 e Observations On constate que les p riodes sont respect es aussi bien sur le PC de d veloppement que sur les PC 104 On observe toujours les m me carts par rapport la valeur pass e l instanciation du paquetage pour les phases de calcul e Extensions possibles aux tests On aurait pu cr er des t ches ap riodiques se chargeant de lancer des t ches p riodiques par exemple ou en imaginant une interface simple permettant l utilisateur de lancer une t che ap riodique pendant l ex cution du test Mais le comportement essentiel v rifier ce stade de la conception du logiciel de vol tait le respect des fr quences d activation des t ches Il conviendrait d utiliser un outil de trace non intrusif comme sur l exp rience Pronaos Pour cette exp rience avait t utilis un outil maison CNES tr s simple et tr s commode pour tracer l activit et le comportement temporel du logiciel de vol ce qui permettait de visualiser des chronogrammes d activation de t ches des statistiques de charge CPU etoc Cet outil tait bas sur gt une instrumentation tr s l g re du noyau multit che et de l application qui crivaient des informations une adresse m moire donn e une sonde connect e au bus du calculateur et
32. eloppement de DSA pour GNAT constate que la norme num re de mani re exhaustive les restrictions impos es aux unit s de biblioth que sans toutefois les justifier ni indiquer les entit s r parties autoris es L approche de Laurent Pautet que je vais synth tiser ici est une approche constructive consistant explorer l ensemble du langage Ada95 pour d gager les entit s susceptibles d tre r parties en claircissant les motivations cach es derri re les restrictions impos es aux entit s Ada95 Notons simplement quelques propositions permettant de justifier par la suite la d finition des pragmas de cat gorisation DSA devant rendre aussi faible que possible la diff rence existant entre la version r partie et la version monolithique d une m me application la localisation des entit s r parties comme les noeuds logiques ou les unit s de biblioth que doit s effectuer de mani re transparente pour l utilisateur gr ce un service de nommage interne Cependant les syst mes temps r el r partis peuvent exiger un placement statique Pour participer la r partition un type doit disposer des propri t s d un type transportable Plus pr cis ment une donn e doit pouvoir tre cod e par l metteur et d cod e par le r cepteur pour repr senter une donn e quivalente la donn e originelle En particulier les param tres de proc dure distance doivent pouvoir tre transport s Si les primitives de codage et
33. emarrer delay 10 0 tachel Controle Arreter tache3 Controle Demarrer delay 2 0 tachel Controle Demarrer vii delay 10 0 tachel Controle Arreter tache2 Controle Arreter tache3 Controle Arreter on rajoute des taches tache4 Controle Demarrer tache5 Controle Demarrer delay 10 0 tache5 Controle Arreter tache6 Controle Demarrer delay 2 0 tache5 Controle Demarrer delay 10 0 taches Controle Arreter tache4 Controle Arreter tache6 Controle Arreter end Test Taches f NKCKCKCkCkCkkCKkCk kk Ck KK KK KK KK KK kc kck kc kck ck ckck kck kc kck kc kck ck kk kk CS test 12taches adb t f RKCKCKkCkCkkCkCKCkCKkCk kk kk kk kk kck ck ckck ck ck kk ck k ck ck k ck ck kc kck kc kck ck kck kk with Tache with Tache Cyclique with Ada Text Io with Unchecked Deallocation procedure Test 1l2Taches is task Tm is pragma Priority 1 entry Envoi Tag S xn DENG Taille in Tache Taille Paquet Tm end Tm task body Tm is type Access String is access String procedure Free is new Unchecked Deallocation Object gt String Name gt Access String Tag Courant Access String Taille Courante Tache Taille Paquet Tm use Ada Text Io begin loop select accept Envoi Tag am EE Taille in Tache Taille Paquet Tm Tag Courant new String Tag Taille Courante Taille end Envoi Puc Tag Courant all amp s Tt for I in 1 Taille Courante loop Put i vii
34. en 13 3 2 1 D termination de la dur e d une boucle de calcul 14 ee 14 dua OO D a D 15 RQ SE E E 15 e 2 test avec la correction de Iaecent ettet tenerent te Anean annin rrene tnter toten nd 16 ee UY 208 el Cap OUR 2 61 12 Eeer mm 17 e Commentaires sur les choix des priorit s et des p nodes 17 Wii eranc mmm 18 s o Ea CI ER eio E 18 amp Conclusions Generales du test AOI HETHUX eebe ee 19 3 3 ETUDE DU MOD LE DE R PARTITION DU LANGAGE ADA9S u ccccccccccesessseesessncceeeeeeescceceeeesseeeessaaeeeeeeeeeeeeeees 20 3 3 1 Vers un sous ensemble d Ada95 pour la r partition 21 3 3 2 Architecture d une application r partie dans le mod le 22 Partitions actives el DaSSIVOS nn 9 2924 2 92 da 1 8 4m B 99 058 00 89 0 0 60 0 0 9 5859 00088 0 80 5059548 ne ni en 000080 22 s Unit s de ee TEE EE 23 e Sous syst me de Commumicatton eeeeeeeeeeereeeeeeeeeeeeeeeeeeeeeeeereseeeeeseeeeeeeeeeeeeeeeeeeeeeeeeeeeenes 23 3 3 3 Tests effectu s avec les exemples fournis par GNAT GLADE nennen nnns 26 ROC SSSR a M Ua dM E TE 27 e E 27 ES ee 29 3 4 ETUDE DE L INT GRATION DES CONCEPTS DE R PARTITION DANS UNE CONCEPTION HOOD cee eeeeeeeeeees 30 3 4 1 L approche m thodologique de conception HOOD pour les syst mes complexes 30 RO f 30 e Paruiculant s de l outil STOOD et objec ts de l tude i i ett tetti aee n Irt IE EN Io Eo ER So ER Rp
35. et priv s types tiquet s tagged type ils interviennent lors de la d finition d objets r partis types t ches flots de contr le s ex cutant ind pendamment des autres sauf en cas de synchronisation explicite ils permettent de traiter plusieurs appels distants simultan ment gt types prot g s destin s la gestion des acc s concurrents Vv VV WV 20 gt attributs Read et Write les types d riv s du type abstrait Root Stream Type permettent d emballer ou de d baller des objets dans un flot de donn es Ils permettent par exemple de stocker un objet dans un fichier Dans le cas sp cifique de la r partition le flot de donn es correspond un message gt pragma cest une directive de compilation qui indique certaines propri t s au compilateur sans effet s mantique Six pragmas dits de cat gorisation imposent aux unit s de biblioth ques des restrictions propres un contexte r parti Nous d finirons ces pragmas plus tard 3 3 1 Vers un sous ensemble d Ada95 pour la r partition DSA rel ve d une volont d int grer la r partition dans le langage sans lui ajouter de nouvelles entit s Pour ne pas sortir de ce cadre l id e est de s lectionner les entit s d Ada95 susceptibles de donner lieu un comportement r parti Ensuite l usage de ces entit s peut tre restreint gr ce des pragmas afin de r pondre aux contraintes de r partition Y Kermarrec participant au projet de d v
36. giques une vue spatiale de noeuds physiques qui d finit des noeuds physiques en configurant les unit s dites de distribution L espace de distribution est mod lis par une hi rarchie de noeuds virtuels Ils sont appel s noeuds parce qu ils pourraient tre des unit s de distribution mais ce sont des noeuds virtuels parce qu ils ne correspondent pas n cessairement aux noeuds physiques En r alit plusieurs noeuds virtuels peuvent tre impl ment s sur un unique noeud physique Un noeud virtuel est soit terminal et correspond un ex cutable s il est impl ment par du logiciel ou d compos en noeuds virtuels enfants On peut repr senter un projet comme l organisation d un ensemble d espaces et de hi rarchies voir figure7 Les design HOOD ou hi rarchies d objets sont branch es sur l espace des g n riques c est dire l espace des modules r utilisables Si l application est distribu e les diff rents noeuds sont projet s sur l espace des noeuds virtuels qui lui m me est projet sur l espace des noeuds physiques 32 HIERACHIE DE GENERIQUES 7 7 re o I S Oo a om W X W I m 2 Uy Yj LLLP y y z EF 7277 P m J a y SLL X wu rr I p ur fig vue des espaces et hi rarchies HOOD 3 4 3 Les utilisations possibles des n uds virtuels On peut utiliser le concept de noeuds virtuels de diff rentes facons Je vais ici pr senter succintement la d marche pens e
37. grammes distants dont la localisation doit tre statique L unit de biblioth que laquelle s applique le pragma Shared Passive ne contient que des objets partag s et aucun flot de contr le Les variables d finies dans la partie publique de sa d claration sont accessibles depuis plusieurs partitions travers un support partag ventuellement r parti Une telle unit ne peut tre r pliqu e L unit de biblioth que laquelle s applique le pragma Pure est garantie sans effet de bord et ne conserve aucun tat interne Elle contient typiquement des d finitions de types simples et les op rations primitives applicables sur ces types Une telle unit de biblioth que peut tre r pliqu e sur toutes les partitions sur lesquelles elle est r f renc e Ce type de cat gorisation n est pas propre la r partition et se r v le utile dans d autres contextes Une unit peut avoir visibilit sur les entit s d une autre unit de cat gorie diff rente Pour pr venir toute incoh rence tout pragma de cat gorisation doit respecter la hi rarchie suivante entre les unit s de biblioth que Remote Call Interface Remote Types Shared Passive Pure ou C1 gt C2 signifie qu une unit de biblioth que de cat gorie C1 peut avoir une visibilit sur une unit de biblioth que de cat gorie C2 Toute unit de biblioth que sans cat gorisation est qualifi e de normale et peut tre r pliqu e sur toutes les partitions
38. hase Lecture procedure Phase Calcul Duree in Duration is Nombre De Tours constant Natural Natural Float Duree Float Duree Du Tour X X Float lt 1 9 begin Enregistrer Debut Phase Calcul for Iin 1 Nombre De Tours loop Y Math Sin X 7 2 00 X Y end loop Enregistrer Fin Phase Calcul end Phase Calcul procedure Phase Tm Taille in Taille Paquet Tm is begin Enregistrer Debut Phase Tm Envoi Nom Tache Taille Enregistrer Fin Phase Tm end Phase Tm procedure Phase Commande Duree in Duration is begin Enregistrer Debut Phase Commande delay Duree Enregistrer Fin Phase Commande end Phase Commande task body Controle is begin Ada Dynamic Priorities Set Priority Descripteur Priorite loop select accept Demarrer do Enregistrer Demarrage end Demarrer Activite loop select accept Arreter do Enregistrer Arret end Arreter exit Activite else Action Recurrente declare use Ada Calendar Prochaine Echeance constant Time D Clock Descripteur Periode begin Phase Lecture Descripteur Duree Phase Lecture Phase Calcul Descripteur Duree Phase Calcul Phase Tm Descripteur Flot Phase Tm Phase Commande Descripteur Duree Phase Commande delay until Prochaine Echeance end Action Recurrente end select end loop Activite Or terminate end select end loop end Controle begin if Descripteur Mode Periodique then
39. hes sont bien respect es Faisons le test avec 12 t ches 1 t che TM 1 t che TC 4 t ches de pilotage 4 t ches repr sentant les servitudes 2 t ches de calculs astronomiques dont les caract ristiques sont rassembl es dans le tableau suivant TC TM Pil 1 Pil 2 Pil 3 Pil 4 Serv Serv Serv Serv Astro 1 Astro 2 1 2 Ee 4 e epe pm pe m Rm BR RE Dur e 0 02 0 02 0 02 0 02 0 02 0 03 0 03 0 03 0 03 phase Lecture Dur e 0 01 0 01 0 02 0 02 0 02 0 02 0 02 phase Calcul Flot 20 250 100 100 100 100 300 300 300 300 100 100 Phase Tm Dur e 0 065 0 01 0 01 0 01 0 01 phase Commande J ai laiss tourner ce test pendant cinq minutes e Commentaires sur les choix des priorit s et des p riodes Taches dans l ordre d croissant des priorit s pilotage gt calcul astro TC gt servitudes gt TM Le plus important durant le vol est d assurer le pilotage de la nacelle de pouvoir la rep rer tout instant dans un rep re horizontal local gr ce aux mesures de temps et de localisation et pouvoir lui envoyer des t l commandes Enfin on consid re les servitudes thermiques et lectriques comme moins prioritaires et avec des p riodes plus grandes ainsi que les TM En effet il n est pas vital de recevoir toutes les TM Choix des p riodes Les taches de TC TM et pilotage ont des p riodes de 0 1 s Et l on choisit des p riodes diff rentes pour les servitudes exempl
40. i end loop New Line Free Tag Courant or terminate end select end loop end Tm package Tache TC is new Tache Cyclique Descripteur gt Mode gt Periodique Nom gt tacheTC Priorite gt 5 Periode gt 0 1 Duree Phase Lecture gt 0 02 Duree Phase Calcul gt Flot Phase Tm gt 20 Duree Phase Commande gt 0 0 Envoi gt Tm Envoi UE package Tache TM is new Tache Cyclique Descripteur Mode Periodique Nom tacheTM Priorite gt 1 Periode gt 0 1 Duree Phase Lecture gt 0 0 Duree Phase Calcul gt 0 01 Flot Phase Tm gt 250 Duree Phase Commande gt 0 065 Envoi gt Im Emnvol package Tache pilotagel is new Tache Cyclique Descripteur gt Mode gt Periodique Nom gt tache pill Priorite gt 10 Periode gt 0 1 Duree Phase Lecture gt 0 02 Duree Phase Calcul gt 0 02 Flot Phase Tm 100 Duree Phase Commande 0 01 Envoi gt IN Envol package Tache pilotage2 is new Tache Cyclique Descripteur gt Mode gt Periodique Nom gt tache pil2 Priorite gt 10 Periode gt 0 1 Duree Phase Lecture gt 0 02 Duree Phase Calcul gt 0 02 Flot Phase Tm gt 100 Duree Phase Commande gt 0 01 Envoi gt Tm Envoi package Tache pilotage3 is new Tache Cyclique Descripteur gt Mode gt Periodique Nom gt tache pil3 Priorite gt 10 Periode gt 0 1 Duree Phase Lecture gt 0 02 Duree Phase Calcul gt 0
41. iciels supportant la communication inter processeurs sont d finies cette configuration est semi automatisable Pendant cette phase le concepteur regroupe les noeuds virtuels eux m mes les alloue et les implante sur des noeuds physiques les processeurs du syst me cible L outil STOOD permet de faciliter la phase d allocation et v rifie que chaque objet de la conception a t allou au moins un noeud virtuel Prenons l exemple de la figure 8 qui repr sente la vue op ration du module Logiciel de Vol de la conception commenc e par Semra operation emm s H Date Courante 4 Heure Courante Ad ntn H Localisation Courant 3 Demarrer H Mettre Off Bus Controle Ihennique h Anu e re H Mettre On Bus ASER i HSER phi i Mettre On Batterie Rec Temperature Recevoir H Pointer Elevation H Changer fct transfert Ariunut H Changer Pct Transfert Blevation H Increment Consigne Azimut Increment Consigne Elevation fig8 vue operation du LV 35 A la suite j ai repr sent une allocation possible des objets HOOD deux noeuds virtuels que j ai directement assimil s aux calculateurs pr sents dans l architecture mat rielle actuelle L allocation des objets aux calculateurs MC et MPF est repr sent e respectivement sur les figures 9 et 10 Cette allocation n est qu une premi re approche mais elle pr figure la m thodologie de r partition envisag e pour les d veloppements futurs les objets logiciels re
42. illesse et sa disponibilit Je remercie Andr P lissier et Alain Vecten pour leur sympathie Je remercie galement Semra Sarpdag pour avoir pos les bases du travail et pour son introduction sur les nacelles point es Je remercie par ailleurs Eric Poupart et Vincent Berjot compagnons de nombreuses discussions dans la bonne humeur Enfin merci toute l quipe Nacelles point es pour l accueil qu elle m a r serv en f vrier et pour m avoir donn l occasion de participer au lancement d un ballon Aire sur l Adour le 22 avril 2002 SOMMAIRE EN RODUC TION ct 1 Be DOMAINE D APPLICATION suier Enia EEEE qeu ees uu e ule QvEe ape RN YE EFRON E ex Fre UR ES E TRUE CU RD ER TUE 2 ck LES NACELLES POIN TEES ec E A E S A 2 1 2 LES TRAVAUX DE L QUIPE NACELLES POINTEERS AAA 3 l3 LES ID ES DIRECTRICES BRL ETAT DEL ART eege thao Hd RU ma Dua paio YUAN E DUMP DNE essence 4 LA ES OBJECTIES DE E 5 2s PRINCIPESD ARCHITEC IURE nant ei eR YYAFReEER USES MEYER UR PS EREYSRRUVA ERA CHERUyER QUI AUS S FUERO TEE ES VR ERR MESURE 6 FP FM CONS C Dii EE 6 EPIS e gus IS EN COLOR ee ae Pass ne ao teen a tn waneieeonte 7 c NEM UE TORE REPARER sae den ce a ee te a ot is 8 Pourquoltepattr le f ralle BHIGHE 2 een sn ere ec ee en eee 10 CC D DC CE DAC ee ne ne dide 11 3 IRAVAIEBBECTBE EE 13 3 1 INSTALLATION DE EE 13 3 2 EST MINIMAL ADA DER BIST eeneg
43. ion qui repartit les paquetages dans les partitions en pr cisant le programme principal de l application r partie 3 Lancer la commande a gnatdist fichier configuration lt options gt 4 Enfin avant de lancer l application r partie en invoquant le programme principal ou en invoquant le script shell de lancement positionner les variables d environnement o RPC et S PARINT true pour pouvoir tracer l change des RPC et avoir des informations sur l tat des partitions et des unit s e Tests L objectif principal de ces tests est de mettre en vidence l utilit de certains mots cl s du langage de configuration de gnatdist et d ventuels disfonctionnements li s au processus de configuration On cherchera terme faire en sorte que la partition principale se charge de lancer automatiquement les autres partitions en utilisant le mode de lancement Starter Ada qui n est autre qu un ex cutable correspondant au script shell g n r dans le mode de lancement Starter Shell En effet dans le cadre de notre application pour le logiciel de vol il est int ressant de pouvoir g n rer des ex cutables qui seront plac s physiquement sur un calculateur choisi et sur la base de cette allocation physique pouvoir lancer l ex cutable de la partition principale qui se chargera de lancer les autres partitions Une des contraintes dans cette phase de d marrage de l application est de s assurer que toutes les partitions ont t lanc es et so
44. iquement unidirectionnel tout appel une m thode d objet r parti n ayant aucun param tre de sortie Un autre pragma doit permettre ce que tout appel un sous programme distant transite par le syst me de communication m me si l appel peut tre r solu en local Un objet partag doit pouvoir tre d fini dans une unit de biblioth que cat goris e unique et accessible depuis plusieurs noeuds logiques travers un support partag ventuellement r parti comme une m moire un syst me de fichiers ou une base de donn es Enfin des r gles de visibilit entre unit s de biblioth que doivent interdire des compositions d objets de types incompatibles 3 3 2 Architecture d une application r partie dans le modele Apr s avoir num r les entit s du langage Ada95 susceptibles de donner lieu un comportement r parti et les restrictions qui devaient les accompagner nous allons montrer comment ces restrictions se traduisent dans la norme Je vais tout d abord d crire l architecture d une application r partie et pr ciser la notion de noeud logique puis je d crirai les pragmas de cat gorisation qui d terminent les entit s r parties dans les diff rentes unit s de biblioth que et enfin je pr senterai succinctement l interface du syst me de communication laquelle une impl mentation doit faire appel e Partitions actives et passives En Ada95 une partition correspond un noeud logique et se compose d u
45. ise dans le fichier de configuration for Partition3 Host use localhost ceci est traduit en un rsh sur le localhost Ce n est pas utile gt un rsh lance une commande dont l ex cutable est physiquement sur la machine distante Or la commande ici l ex cutable de la partition est consid r e comme tant sur la machine depuis laquelle le rsh est lanc J ai pass assez de temps essayer de faire marcher l outil GNAT GLADE uniquement a l aide des exemples fournis ce qui m a amen faire des modifications sur les machines daurat et diderot dans les fichiers etc hosts etc hosts allow et letc hosts deny qui sont reproduire sur la machine saintex e Id es et perspectives La premi re chose qui devrait tre fix e doit tre la mise au point de l outil GNAT GLADE pour que les scripts g n r s partir du fichier de configuration marchent Une solution possible de stockage des ex cutables pendant la mise au point de l application serait envisageable en utilisant les services NFS Elle permettrait de stocker sur un seul calculateur tous les ex cutables et moyennant quelques modifications dans les fichiers g rant la configuration NFS l ensemble des calculateurs connect s sur le r seau local pourrait monter le r pertoire dans lequel seraient stock s tous les ex cutables Un calculateur distant pourrait ainsi avoir acc s l ex cutable comme s il se trouvait dans sa propre arborescence de fichiers 29 3 4
46. it le simple ajout de calculateurs reli s entre eux travers le r seau local bord ce qui permettra de connecter les cartes suppl mentaires devant tre connect es Dans ce cas il faut imaginer un m canisme permettant de relier les entit s logicielles localis es physiquement sur un seul calculateur et permettant l acc s ces cartes avec le calculateur appropri La r partition de fonctions ou de modules logiciels sur l architecture r partie ne sera pas faite au hasard Parmi les crit res de r partition utiliser on peut citer e Le couplage par les flux de donn es il serait maladroit de localiser sur des calculateurs diff rents des entit s qui changent une grande quantit de donn es ou qui ont des changes de donn es fr quents e Le couplage par les flux de contr le il serait maladroit de localiser sur des machines diff rentes des entit s qui requi rent l une de l autre des services de facon tr s fr quente e Le couplage par le mat riel il serait maladroit voire impossible de localiser le driver d un quipement ou d une carte d entr es sorties sur un autre calculateur que celui o est connect l quipement ou la carte e La charge CPU la gestion des marges de ressources CPU peut tre facilit e par une r partition judicieuse des traitements sur les diff rents calculateurs En r sum quelles fonctions r partir et sur quels calculateurs et pour quelle mission Une autre question
47. l l autre ne sont pas fig es et chaque nouvelle mission des besoins nouveaux sont amen s et peuvent faire l objet de fonctions suppl mentaires La solution informatique devra permettre d ajouter facilement des modules Cette vision modulaire correspond ce qu offre le langage Ada95 par l interm diaire de ses paquetages Il faut noter ici que l on aura une approche maximaliste consistant garder tous les composants d j cr s de facon pouvoir les r utiliser Deuxi mement il faut rappeler le contexte conomique li aux nacelles point es En effet cette quipe ne dispose pas des m mes moyens allou s aux satellites et le temps de r action du d veloppement d applications sur des ballons est plus court que celui des satellites De plus en pratique on ne peut pas attribuer aux applications embarqu es sur des nacelles point es l appellation hautement critique du point de vue des contraintes temporelles Malgr tout c est un aspect qu il ne faudra pas n gliger dans la conception et auquel il faudra porter une attention particuli re Dans ces conditions il est souhaitable de miser sur des solutions fiables car d j prouv es facilement r alisables et reposant sur un environnement de d veloppement peu co teux et confortable Le choix du syst me d exploitation Linux parait se pr ter notre cas sans risque Ce syst me est diffus mondialement en open source et il est fourni avec tous les utilitaires
48. l gt 0 02 Flot Phase Tm 300 Duree Phase Commande gt 0 0 Envoi gt Im Enmnvoli package Tache astrol is new Tache Cyclique Descripteur Mode Periodique Nom gt tache astl Priorite gt 5 Periode gt 1 0 Duree Phase Lecture gt 0 0 Duree Phase Calcul gt 0 1 Flot Phase Tm gt 100 Duree Phase Commande gt 0 0 Envoi gt Tm Envoi package Tache astro2 is new Tache Cyclique Descripteur gt Mode gt Periodique Nom gt tache ast2 Priorite gt 5 Periode gt 0 1 Duree Phase Lecture gt 0 0 Duree Phase Calcul gt 0 02 Flot Phase Tm gt 100 Duree Phase Commande gt 0 0 Envoi gt Tm Envoi begin Tache TC Controle Demarrer Tache TM Controle Demarrer Tache pilotagel Controle Demarrer Tache pilotage2 Controle Demarrer Tache pilotage3 Controle Demarrer Tache pilotage4 Controle Demarrer Tache servitudel Controle Demarrer Tache servitude2 Controle Demarrer Tache servitude3 Controle Demarrer Tache servitude4 Controle Demarrer Tache astrol Controle Demarrer Tache astro2 Controle Demarrer delay 300 0 lache IC Controle Arrerter Tache TM Controle Arreter Tache pilotagel Controle Arreter Tache pilotage2 Controle Arreter Tache pilotage3 Controle Arreter Tache pilotage4 Controle Arreter Tache servitudel Controle Arreter Tache servitude2 Controle Arreter Tache servitude3 Controle Arreter Tache servitude4 Controle Arreter Tache astrol
49. le ainsi que la dur e moyenne d une boucle L ex cutable est transf r sur le PC104 de facon pouvoir ex cuter le programme de test directement sur la carte cible en s affranchissant des temps suppl mentaires engendr s par une connexion distance du type telnet On observe qu il faut tourner quelques milliers de boucles pour que le temps moyen d une boucle converge vers une valeur stable Les valeurs de stabilit sont approxim es avec un nombre de boucles de 200000 Voici les r sultats obtenus Pour le PC104 100 8 10 s Pour le PC de d veloppement 4 5 10 s Ce temps va pouvoir maintenant tre int gr dans l ex cution des t ches ll suffit de le sp cifier dans le fichier tache cyclique adb en affectant la bonne valeur pour la variable Duree Du Tour 3 2 2 Test avec 6 t ches Le choix a t fait d effectuer un premier test avec 6 t ches cycliques Chaque t che est caract ris e dans le programme par un nom une priorit une p riode et se d coupe en 4 phases chacune d entre elles ayant pour fonction d occuper le processeur pour une dur e exacte On distingue donc une phase de lecture une phase de calcul une phase de t l mesure une phase de commande Les phases de lecture calcul et commande sont exprim es directement avec un temps en secondes et la phase de t l mesure est exprim e sous forme de la taille du paquet TM mis Les priorit s les plus fortes sont dans la con
50. mais tournent sous un environnement diff rent Le premier dispose du syst me d exploitation VxWorks et le second de Windows 98 oon objectif est de faire voluer l architecture du syst me informatique afin e d obtenir une application plus flexible vis vis des missions flexibilit des fonctions et des quipements diversit des interfaces e de r duire les co ts et les d lais e de disposer d un environnement de d veloppement mat riel et logiciel qui permet d uniformiser les technologies utilis es entre bord et sol en s appuyant sur des solutions standards puissantes peu co teuses et p rennes La base de la solution repose sur le fait que les cartes PC104 embarquables sont de plus en plus puissantes et int gr es ce qui permet de les faire fonctionner comme des calculateurs sol donc avec des syst mes d exploitation et des chaines de d veloppement standards dits de monsieur tout le monde Le syst me d exploitation retenu par mon responsable de stage est Linux En effet beaucoup d applications utilisent aujourd hui un Linux embarqu entre autre sur des PC104 et au prix d une configuration du noyau l g rement diff rente de ce que l on trouve sur les calculateurs sol On obtient alors une cible bord tout fait standard avec des fonctionnalit s et un confort de d veloppement analogues aux syst mes sol Le d veloppement de logiciels bord s effectue alors en natif et non plus en crois Du c t ap
51. ments d impl mentation sont ignor s et le mod le est donc garant d un ind pendance de la solution vis vis des syst mes cibles langages machines syst mes r partis Raffinement des mod les initiaux Les mod les obtenus par raffinement sont plus d taill s v rifiables et validables Ils permettent de maitriser la complexit tout en respectant les contraintes d invariance nonc es ci dessus e Particularit s de l outil STOOD et objectifs de l tude STOOD permet de regrouper les applications en ensembles syst mes pouvant avoir une intersection non nulle applications partag es Les applications HOOD sont accessibles leur plus haut niveau sous forme d un objet racine d une arborescence de d composition Root Object 30 Cet objet racine peut tre de type DESIGN application principale GENERIC anciennement appel CLASS mod le d application ou VIRTUAL NODE sch ma d impl mentation physique En s parant le mod le logique de conception design du mod le d impl mentation physique virtual node HOOD permet la conception le design de syst mes distribu s sans laisser les aspects li s la r partition bouleverser toute la conception De facon simplifi e car nous les d finirons en d tail plus tard les noeuds virtuels ont t pens s pour pouvoir passer d une conception logique HOOD une implantation physique sur un environnement multi processeurs Or jusqu ce jour
52. n case Action is xi when Creation gt null when Demarrage gt Activite Debut Temps when Arret gt Activite Fin Temps Activite Duree Activite Fin Activite Debut Actaivite Duree Totale Activite Duree Totale Activite Duree Activite Nombre Occurrences Activite Nombre Occurrences l when Debut Phase Lecture gt if Premiere Fois then Ada Text Io Put Line Tache amp Nom Tache Premiere Fois False else Periode Temps Lecture Debut Cumul Periode Cumul Periode Periode end if Lecture Debut Temps when Fin Phase Lecture gt Lecture Fin Temps Lecture Duree Lecture Fin Lecture Debut Lecture Duree Totale Lecture Duree Totale Lecture Duree Lecture Nombre Occurrences lt Lecture Nombre Occurrences 1 when Debut Phase Calcul gt Calcul Debut Temps when Fin Phase Calcul gt Calcul Fin Temps Calcul Duree Calcul Fin Calcul Dbebut Calcul Duree Totale Calcul Duree Totale Calcul Duree Calcul Nombre Occurrences Calcul Nombre Occurrences 1 when Debut Phase Tm gt Im Debut Temps when Fin Phase Tm gt Tm Fin Temps Tm Duree Tm Fin Tm Debut Im Duree Totale Tm Duree Totale Tm Duree Im Nombre Occurrences Tm Nombre Occurrences 1 when Debut Phase Commande gt Commande Debut Temps when Fin Phase Commande gt Commande Fin Temps Commande Duree Commande Fin Commande Debut Commande Duree Total
53. n cat goris s ou relevant d un pragma Pure ll est noter que l outil STOOD ne permet de r partir que des objets terminaux ce qui est coh rent avec la philosophie HOOD il n y a de code que pour les objets terminaux les objets non terminaux n tant que des coquilles vides illustrant le processus mental de d composition hi rarchique 36 physical lagical Control ermique Automate Controleur TC PP Azimut Alimentation PP Elevation Control ointag SYSTEM URATION calculateur MPF fig9 allocation des objets HOOD au calculateur MC physical logical IM TG SYSTEM URATIUN fig10 allocation des objets HOOD au calculateur MPF 37 3 5 BILAN ET TRAVAIL RESTANT A EFFECTUER 3 5 1 Prototypage avec STOOD Le prototypage de l application n a pas pu tre avanc avec l outil STOOD et il reste concevoir une application minimale d finir une hi rarchie de noeuds virtuels et la r partition mat rielle et le fichier de configuration GNAT GLADE correspondants Il faudra g n rer le code correspondant le tester sur un calculateur puis le r partir sur deux calculateurs Tout le travail sera alors d coup de la sorte laborer une strat gie de r partition des unit s de biblioth que sur les calculateurs permettant d effectuer les d cisions de conception ci dessous appliquer cf repr sentation Stood ci dessous d finir formellement les sch mas de traductio
54. n des mesures de temp rature tensions et courants e et selon la mission le module de pointage fin logiciel MPF qui r alise les fonctions de pointage primaire en l vation et un pointage tr s pr cis Un calculateur est actuellement constitu de cartes PC104 qui sont comparables de v ritables PC industriels tenant sur une carte de 10 10 centim tres et qui comprend toutes les interfaces d un PC standard Il int gre une carte r seau est d pourvu de disque dur mais c est une carte Flash PCMCIA de 256 Mo qui le remplace On peut en empilant des cartes sur un bus disposer de cartes d entr es sorties analogiques logique s rie commandes moteurs Ces calculateurs ex cutent des applications d velopp es en c et utilisant le syst me d exploitation temps r el VxWorks 1 2 LES TRAVAUX DE L EQUIPE NACELLES POINTEES L quipe Nacelles point es a en charge la d finition la r alisation et la mise en uvre des nacelles qui n cessitent un pointage solaire ou stellaire pour les besoins scientifiques des utilisateurs C est elle qui va analyser les besoins de la mission valuer sa faisabilit et mettre en place les diff rents dispositifs pour assurer la meilleure int gration de l exp rience la nacelle D une mission l autre les quipements sont r cup r s afin de les r utiliser Mais certains projets scientifiques peuvent n cessiter des d veloppements sp cifiques L quipe r alise e le syst me d
55. n permettant de faire r aliser automatiquement la traduction en Ada par le g n rateur de code de Stood D cision de conception Repr sentation dans Traduction en Ada Stood Cat gorisation des unit s de Propri t s des objets Pragmas de cat gorisation biblioth que logiques RCI RT SP Pure Affectation des unit s de allocation editor Directives d association U B biblioth que aux partitions partition dans le fichier de configuration de GNATDIST Caract ristiques des Propri t s des VN Pragmas dans le fichier de partitions configuration de GNATDIST Les pragmas de localisation des partitions tel que Boot server Partition Host et de stockage des ex cutables Partition Storage Dir sont associer au VN correspondant Les pragmas g n raux Version Starter sont des pragmas que l on peut associer au VN p re de l application Dans un autre d id e il faudra aussi prouver la mise en uvre de la fonction de r tro conception de l outil STOOD afin d incorporer une conception HOOD d j entam e des paquetages d velopp s par ailleurs g n riques ou non et r utilis s pour les applications d velopper 3 5 2 Bilan personnel Je me suis rendu compte de la profusion des documents que l on peut trouver sur l internet traitant d un sujet particulier A noter que les versions fran aises sont assez rares mais appr ci es quand on les trouve Il est d ailleurs souvent difficile de r sister a 38
56. n r seau ll s agit de d terminer comment les processus distribu s communiquent au niveau programmation et comment les petites parties de logiciel d une application distribu e peuvent interagir Il y a plusieurs fa ons de distribuer une application en utilisant les services r seau d un syst me d exploitation ou en utilisant un environnement de type middleware ou enfin en utilisant un langage distribu C est dans ce dernier cadre que le langage de programmation Ada95 a t tendu par les d veloppeurs de GNAT GLADE avec des caract ristiques de distribution D finissons maintenant les entit s fondamentales d Ada95 n cessaires la compr hension des m canismes de r partition gt unit s de biblioth ques un paquetage regroupe un ensemble logique d entit s du langage Une unit de biblioth que est un paquetage ou un sous programme pris comme unit d abstraction de niveau le plus haut Notamment elle n est pas imbriqu e dans une partie d clarative Les paquetages g n riques ainsi que leurs instances peuvent galement constituer des unit s de biblioth que L unit de biblioth que constitue l l ment de granularit de la r partition En effet certaines de ces unit s de biblioth que vont doter les entit s pr sentes dans la partie d clarative d un comportement r parti types acc s et types acc s g n ralis r le important pour la d finition de r f rences sur entit s r parties types limit s
57. nding entre au moins un noeud virtuel des repr sentants d objets situ s dans des noeuds physiques distants de tels repr sentants s appellent des objets remplacants surrogates et un run time environment RTE e Propri t s un VN terminal est d fini comme l encapsulation d objets HOOD instances de classes et g n riques allou s ce VN un VN peut avoir une ou plusieurs op rations pr d finies Message In qu il fournit l ext rieur permettant de sp cifier le protocole de communication avec le client VN l aide du label ASER un VN terminal inclut un objet VNCS Virtual Node Control Structure pr d fini et les objets allou s La repr sentation graphique d un tel VN terminal est optionnelle d s lors que toutes les repr sentations graphiques de VN terminaux devraient tre similaires et une description textuelle des objets allou s est suffisante un VN peut seulement utiliser d autres VNs un VN peut seulement tre d compos en d autres VNs ce qui d finit une hi rarchie de VNs Cette caract ristique permet l abstraction et le raffinement de gros programmes en des entit s VNs maitrisables et bien d finies e Principes d impl mentation ll y a trois vues ind pendantes dans un syst me distribu a vue spatiale logique consistant en un ensemble d arbres de conception une vue spatiale distribu e qui d finit des unit s indivisibles de distribution mais encore comme des entit s lo
58. ne entit logicielle la mani re de l architecture de r f rence d finie par l ISO International Standard Organization architecture en couches de mod le OSI Open System Interconnection pour les r seaux La figure 1 ci dessous pr sente cette vue en couches monde logiciel monde r el Lois de fonctionnement du monde Algorithmes de guidage Algorithmes de Lois de fonctionnement conirole du systeme Drivers des Mat riel quipements du syst me Mat riel Drivers des cartes du calculateur fig1 Syst me vu en couches Au mat riel li au calculateur comme les cartes d entr es sorties on peut associer les drivers de ces cartes Au dessus de ces cartes se trouve le mat riel dit du syst me comme les capteurs gyrometre magn tom tre inclinom tre On leur associe les drivers de ces quipements qui encapsuleront entre autres leur fonction de transfert Au dessus se trouvent les lois de fonctionnement du syst me par exemple pointer en azimut auxquelles on peut associer les composants logiciels qui r alisent les lois de contr le asservissements Enfin en haut de cette vue on trouve les lois de fonctionnement du monde r gissant la position des objets c lestes auxquelles correspondront les composants logiciels du guidage permettant gr ce au calcul astronomique et aux informations de localisation et de temps de g n rer les consignes de pointage 2 3 UNE ARCHITECTURE REPARTIE L
59. nit s de biblioth que cat goris es ou non DSA d finit deux types de partition une partition active poss de un ou plusieurs flots de contr le elle met et recoit des requ tes d autres partitions actives Elle peut contenir toutes les entit s r parties pr sent es pr c demment Une partition passive ne contient que des objets partag s auxquels acc dent des partitions actives A ce titre elle ne dispose d aucun flot de contr le Ses objets se trouvent d finis dans un espace de stockage partag 22 Chaque partition poss de un identificateur unique de partition L attribut Partition ld appliqu la partition donnera la valeur de cet identificateur sous la forme d un entier Ue eae R seau Objet Proc dure Objet i R partl distante partag Tacne fig4 Exemple de partitionnement Cette figure illustre l architecture d une application r partie selon le mod le DSA Elle se compose de 2 machines ou supports d ex cution E1 et E2 reli es par le r seau et partageant un disque ou support de stockage commun S1 Seule une partition passive PP peut tre configur e sur S1 Cette partition PP1 ne d tient donc que des objets partag s qui se trouvent dans l unit U1 Sur E1 s ex cutent deux partitions actives PA1 et PA2 La premi re contient une t che d finie par l unit U3 ce qui fait d elle une partition active Cette t che effectue des appels des sous programmes distants de l unit U5 config
60. nt les dur es de delay pour voir si cet cart est significatif quand on augmente la dur e des delay tache1 dur e lecture 0 03 et dur e phase de commande O 1 tache2 dur e lecture 0 1 et dur e phase de commande O 1 tache3 dur e lecture 0 2 et dur e phase de commande 0 2 tache4 dur e lecture 0 3 et dur e phase de commande 0 3 taches dur e lecture 0 4 et dur e phase de commande 0 4 tache6 dur e lecture 0 5 et dur e phase de commande 0 5 Sur le PC de d veloppement on constate que les dur es de lecture et commande ont en moyenne augment toujours du m me temps 9 ou 10 ms Sur le PC104 il y a toujours 9 10 ms d cart pour la phase de lecture et un peu moins pour la phase de commande C est cet exemple dont les fichiers de logs ont t d pouill s qui figure en annexe 2 A partir de maintenant nous n gligerons cet cart mais nous aurions pu nous poser la question suivante Jusqu quelle limite inf rieure de temps de delay ou plus g n ralement de temps d activation d une t che on peut consid rer que les carts de temps par rapport aux valeurs escompt es sont insignifiants 3 2 3 Test avec 12 t ches L objectif du test est charger le calculateur et d observer le fonctionnement avec plusieurs t ches en consid rant des dur es r elles repr sentatives des dur es des boucles de contr le et commande en vol Je me suis surtout attach v rifier que les p riodes d activation des t c
61. nt pr tes changer des RPC e e 1 test lancement manuel des partitions Dans l ordre je me propose de tester dans une premi re phase l aide de l exemple BANK la cr ation de deux partitions sur la m me machine et un change du type client serveur entre ces partitions en limitant le test o le serveur et le client se trouvent chacun sur leur partition 27 la distribution de cette m me application sur mon PC de d veloppement et sur une seule maquette PC104 a distribution de cette m me application sur mon PC de d veloppement et sur les deux maquettes PC104 Le fichier de configuration simcity cfg de cet exemple correspondant aux cas test s figure en annexe 4 Cette phase a pu tre valid e en lancant manuellement chaque ex cutable pr alablement copi sur chaque partition et en pr cisant dans la ligne de commande correspondante la localisation de la partition principale avec ce format Partition serveur sur pc bana diderot bank server boot server tcp pc bana diderot cst cnes fr 5557 Partition 2 client sur pc bana daurat bank client boot server tcp pc bana diderot cst cnes fr 5557 Partition 3 client sur pc bana saintex bank client boot server tcp pc bana diderot cst cnes fr 5557 l est noter que dans ce mode de lancement manuel starter None il n est pas n cessaire de faire figurer dans le fichier de configuration le pragma Boot Server e 2 test starter Shell e
62. p rimenter avec des cas plus repr sentatifs du vrai logiciel de vol Bien que j aie pass une partie non n gligeable du temps faire marcher les installations de logiciels cette phase fait partie de la prise en main de tout projet informatique et est formatrice Mon stage de DEA m a permis de m ouvrir d autres dimensions des travaux que l informatique propose La dimension recherche dans le domaine de l informatique m est apparue importante aussi bien pour la mise au point de nouveaux outils que pour l int r t personnel qu elle suscite en moi C est en me documentant sur l annexe des syst mes distribu s de la norme du langage Ada95 que j ai t amen r fl chir en m me temps la strat gie de r partition et la m thode de conception J esp re que cette mise plat permettra aux futurs concepteurs et d veloppeurs des logiciels informatiques des nacelles point es de disposer d un document synth tisant les approches et solutions possibles li es ce d veloppement 40 BIBLIOGRAPHIE DOCUMENTS INTERNES Semra Sarpdag Linux embarqu pour nacelles point es rapport de stage IUP ISI ao t 2001 Andr Laurens Plan informatique nacelles ref AL 2000 001 24 ao t 2000 Sneed et M Heitz Cisi Ing nierie document Qualit Ada et HOOD R gles et recommandations HOOD 07 93 RAPPORTS ET MANUELS DE REFERENCE Laurent Pautet Intergiciels schizophrenes une solution l interop
63. plicatif deux d cisions ont t prises e l utilisation de la m thode de conception HOOD et de l outil STOOD afin d obtenir une architecture saine fiable et volutive e le d veloppement en Ada95 qui outre ses vertus de modularit et maintenabilit offre un multi t ches pr emptif ce qui permet de d velopper des applications temps r el comme les logiciels de bord Dans ce cadre le travail effectu par Semra Sarpdag stagiaire qui m a pr c d l an dernier a t double D une part elle s est appliqu e rechercher et mettre en place une distribution de Linux adapt e aux besoins et d autre part ele a d but une conception g n rale HOOD de l application Actuellement je dispose d un poste de d veloppement avec une version Linux Mandrake 8 1 et de deux maquettes de calculateurs embarqu s base de cartes PC104 connect s au r seau local Une version Slackware de Linux est install e sur les deux maquettes et l ex cution d applications de type Ada95 ne pr sente aucun probl me La traduction de classes et de fonctions C actuellement utilis es dans le logiciel de vol vers des paquetages et des proc dures Ada95 a t commenc par Andr Laurens 4 1 4 LES OBJECTIFS DE MON STAGE Dans la premi re partie de mon stage sur les bases du travail de Semra Sarpdag je devais tester une application minimale Ada95 s ex cutant sur la carte PC104 repr sentative des t ches qui coexistent lors d une ex c
64. pproche n est plus d actualit car l outil de r partition GNAT GLADE g re d j de mani re cach e les processus lanc s par un ex cutable correspondant une partition Les communications inter partitions sont faites au moyen des RPC et ce m canisme est totalement transparent pour l utilisateur de GNAT GLADE Une meilleure approche consisterait tudier directement la correspondance entre les noeuds virtuels et les partitions Autrement dit on impl mentera un noeud virtuel par un ex cutable g n r par l outil GLADE apres g n ration du fichier de configuration GLADE par l outil STOOD L approche de d veloppement adopt e se fera alors en 3 phases phase de d finition logique d finition d une solution logique non r partie ind pendante des contraintes non fonctionnelles 34 phase d allocation definition d un mod le d architecture en termes de noeuds virtuels Pendant cette phase le concepteur alloue les objets HOOD de la solution logique sur des noeuds virtuels phase de configuration regroupement de plusieurs noeuds virtuels en vue de leur affectation sur des processeurs Cette phase d finit des contraintes de configuration associ es aux noeuds virtuels Elles sont li es la configuration des r seaux et aux possibilit s de communication inter processeurs La prise en compte de ces contraintes conduit la d finition de la configuration logicielle des noeuds virtuels Si les interfaces des log
65. pr sentant les quipements sont affect s au calculateur auquel l quipement est physiquement connect Magneto GyroZ Pivot et Couplemetre sur MC PP Verin Inclinometre sur MPF En effet le driver de l quipement ne peut pas tre r parti ailleurs que sur le calculateur qui poss de la carte d interface les objets de traitement qui ont un fort couplage avec les objets quipements sont localis s sur le m me noeud virtuel Boucle Azimut sur MC Boucle Elevation sur MPF pour la m me raison les objets Controle thermique et Alimentation sont affect s au MC les capteurs de temp rature et le sous syst me alimentation lectrique sont connect s au MC la base de temps n a pas int r t tre localis e sur un seul calculateur et acc d e via la r seau pour des questions de pr cision De ce fait les objets relatifs au service Temps sont r pliqu s sur les deux calculateurs le terminal GPS tant lui aussi physiquement connect aux deux calculateurs en consid rant que le calculateur MC est le calculateur maitre on lui associe les objets qui lui sont propres au niveau fonctionnel c est dire les objets Automate Contr le Pointage ainsi que et le contr leur TC la voie TC est connect e au MC L objet Trame TM est localis sur le MPF puisque la voie TM lui est connect e les objets Dcapteur Dcarteio Types et Standard sont r pliqu s sur les deux calculateurs comme peuvent l tre tous les objets no
66. qui composent l atmosph re et d en d terminer les concentrations en fonction de l altitude Une des m thodes de mesure les plus fr quentes est la spectrom trie par occultation en visant un astre typiquement le soleil qui traverse les diff rentes couches de l atmosph re du z nith jusqu son coucher on verra le spectre du soleil se modifier en fonction de la quantit d atmosph re travers e donc des esp ces rencontr es et de leur concentration Dans ce cas le r le du syst me de pointage sera d orienter et maintenir la charge utile dans la direction de l astre en question Quelle que soit la nature de la mission la nacelle transporte e des quipements de mesure et de traitement scientifique instrument scientifique une source d nergie lectrique piles ou batteries des quipements d acquisition et de surveillance de param tres de servitude capteurs de temp rature gyrom tres magn tometres inclinometres etc un syst me de localisation GPS le plus souvent un syst me de telecommunication avec le sol quipements de telecommande telemesure TM TC Cnes 2 e les quipements constituants le syst me de pointage capteurs et actionneurs Elle embarque son bord un ou deux calculateurs e dans tous les cas le module de commande logiciel MC qui r alise les fonctions de pointage primaire en azimut et la gestion des servitudes contr le des bus d alimentation acquisitio
67. qui interceptait les acc s cette adresse les datait la microseconde les enregistrait et les servait sur demande un PC de d pouillement L id e est de d velopper quelque chose de similaire pour nos besoins et utilisant la p riph rie standard des PC104 L outil serait bas sur l utilisation du port parall le puisqu on n utilise pas d imprimante sur les nacelles L instrumentation crit quelques octets toujours le m me nombre sur le port parall le accompagn s de quelques signaux utiles un signal de d but de message et si besoin un signal par octet transmis gt Un boitier lectronique ventuellement num rique avec un calculateur traditionnel inclus pour des besoins de rapidit date tr s pr cis ment le signal de d but de message acquiert les octets et les enregistre en m moire avec la datation et ce jusqu arr t de l acquisition ou saturation de la m moire gt Sur demande le boitier vide les donn es sur une liaison s rie destination d un PC qui les d pouillera En attendant mieux cet outil sera prototyp par un PC standard permettant de simuler le fonctionnement de cette sonde Ce d veloppement a t entrepris par Andr Laurens e Conclusions g n rales du test Ada Linux Globalement les p riodes sont respect es et nous avons mis en vidence des sources d impr cisions temporelles dues soit au temps pris par les entr es sorties Ada Text lo utilis es comme moyen de trace soit
68. rties de DSA Le syst me de communication entre partitions est appel GARLIC pour Generic Ada95 Reusable Library for Inter partition Communication offre plusieurs services gestion de partitions gestion d unit s de biblioth que terminaison annulation de requ tes traitement de requ tes concurrentes repr sentation de donn es Enfin GNATDIST est l outil de partitionnement qui produit souches et squelettes gr ce GNAT De plus pour chaque partition il relie les squelettes des unit s de biblioth que qui lui ont t affect es les souches des autres unit s de biblioth que r f renc es et le syst me de communication afin de produire un ex cutable Arr tons nous un instant sur GARLIC qui forme l interface entre la couche de communication Ada et le niveau r seau et pr cisons ce qui se cache derri re les termes utilis s de souches et de squelettes GARLIC impl mente et encapsule les protocoles utiles pour fournir la s mantique des RPC linux Remote Procedure Call Les RPC sont transparents pour le programmeur c est dire que les param tres et r sultats d un appel distant sont pass s par le r seau sans son intervention Comme cela a d j t pr cis c est le compilateur GNAT qui cr e des souches stub du c t client d un appel et des squelettes skeleton du c t serveur de cet appel Le code de l application au 25 lieu d appeler directement la proc dure appellera ces souches et fera une op ration
69. s 15 La t che 3 pour laquelle on a un delay 0 fait appara tre un temps de 3 5 10 s pour la phase de commande ce qui doit correspondre peu ou prou au temps pris par le Put Line de la phase de commande Les dur es de lecture et de commande sont assez inattendues car le temps pass correspond juste une instruction de delay et il ne devrait pas y avoir de diff rence entre la dur e pr vue et la dur e effective Ici on obtient presque le double de la valeur pass e l instanciation du paquetage tache cyclique On peut penser que le temps de mesure du temps et le temps pass l enregistrement sur le log participent cet cart Enfin les dur es prises par la phase de t l mesure fluctuent norm ment et le temps pris par l instruction put du paquetage text io pour crire l cran n est peut tre pas repr sentatif du temps que prend r ellement l envoi d octets sur une liaison s rie e 2 test avec la correction de l accept On fait la m me constatation les dur es de lecture et commande ont des valeurs beaucoup plus grandes que pr vu Par exemple pour 0 01s attendu on obtient 0 02s La dur e des Put Line estim e 5 0 10 s ne suffit pas expliquer cet cart J ai donc voulu savoir si ce d faut de dur e tait li la plateforme utilis e mais j ai effectivement constat les m mes carts en ex cutant test taches sur le PC de d veloppement J ai entrepris un autre test en modifia
70. s Dans ce cas la vitesse de transmission sur la liaison Module de Contr le syst me Etna est donc limit e 9600 bauds l serait int ressant de pouvoir disposer des deux vitesses de transmission diff rentes pour exploiter le lien la vitesse de transmission fournie par les voies et de pouvoir centraliser le traitement des TM TC sur un seul calculateur de facon ne plus dupliquer les programmes par exemple Dans cette optique l autre calculateur bord communiquerait avec ce dernier pour traiter des informations de TM TC MC MPF instrument liaison s rie lier Radio Freq liaison Serie ETNA SOL Instrument SOL Hacelle fig2 Architecture bord sol actuelle L utilisation conjointe de machines dot es en standard de contr leurs r seau et du systeme d exploitation Linux disposant de toutes les couches logicielles du r seau associ es ouvre la porte la mise en place d architectures bord bas es sur la communication entre calculateurs via un r seau local de type Ethernet utilisant le protocole IP A terme on pourra donc faire communiquer les calculateurs bord entre eux par le r seau local LAN Local Area Network et il est aussi envisag de faire communiquer le segment bord et le segment sol organis lui aussi sur un LAN avec une architecture IP comme indiqu dans la figure3 Le segment sol aurait alors essentiellement pour r le la pr sentation des informations recueillies en cours de
71. s de la r alit ll faudra d abord attribuer aux t ches des caract ristiques leur conf rant un comportement concurrent et qui permet de v rifier que leurs p riodes d activation sont bien respect es dans ce contexte multi t ches On peut associer une t che deux valeurs un temps de cycle ou p riode d activation et un temps de retard temps entre l activation de la t che par ses entr es et l activation 13 des sorties fournies par la t che car en pratique l ex cution d une t che n est pas instantan e Andr Laurens m a fourni les programmes disponibles dans l annexe 2 avec lesquels je devais e Identifier la dur e d une boucle de calcul ordinaire consommant du temps processeur calcul d un sinus sur le PC104 e tester la coexistence de plusieurs t ches de p riodes d activation d finies sur la base de ce temps de boucle La chaine de test consiste compiler les fichiers de test sur le PC de d veloppement test taches adb puis transf rer par ftp le fichier ex cutable sur le PC104 Les r sultats crits au fur et mesure dans un fichier de log sont r cup r s sur le PC de d veloppement puis remis en forme par le programme d fini dans depouille taches adb Un exemple de fichier mis en forme par ce petit programme figure dans l annexe 3 3 2 1 D termination de la dur e d une boucle de calcul Ce temps est d termin avec test boucles adb On calcule le temps total de calcul pour N tours de bouc
72. s fichiers r sultants de la compilation et de l installation complete du produit Il est facile d installer d sinstaller avec le gestionnaire de paquetages de la Mandrake qui permet de savoir quels sont les paquetages utilis s par le paquetage install et la connaissance de ces d pendances s avere fort utile dans la recherche des bonnes versions J ai aussi mis jour la version de STOOD qui pour le moment se trouve tre la 4 2 55 version pour HOOD4 et Hard Real Time HOOD Elle a subi quelques retouches manuelles sous les conseils avis s de l assistance technique de STOOD pour r gler des bogues li s la version Cependant la r tro conception de programmes Ada vers des objets HOOD reste encore tester J ai install le mode Ada pour Emacs et le compilateur GNAT 3 13 incluant l utilitaire GNAT GLADE impl mentation de l annexe des syst mes distribu s DSA Distributed oystems Annex pour GNAT Voici sur quoi reposent les outils de cr ation d interfaces graphiques en Ada ActiveTcl 8 3 4 2 Tash 8 3 2 Tcl Ada Shell et Rapid 3 0 qui est l outil de cr ation d interfaces portables en Ada 3 20 TEST MINIMAL ADA LINUX La premi re chose accomplir durant mon stage tait de tester une application simple Ada95 s ex cutant sur les PC104 Mais simple ne veut pas dire qu elle ne soit pas repr sentative des t ches s ex cutant sur les calculateurs lors d un vol sur un calculateur Comment alors se rapprocher le plu
73. spondant un processus logique HOOD manipul de mani re transparente par la d finition d op rations et de contraintes d ex cution sur ces op rations le processus lourd correspondant a la notion de noeud virtuel regroupement d objets et de processus l gers en une seule entit Dans ce cadre l il est conseill de d finir d abord un processus unique regroupant toutes les t ches dans un programme Ada comme solution logique et maquettable Puis dans un deuxi me temps on consid re un processus Unix comme un noeud virtuel sur lequel on alloue des objets HOOD de la solution logique La d finition du syst me en termes de processus Unix noeuds virtuels va d pendre de deux types de contraintes regroupement logique associ des fonctionnalit s et objets fortement coupl s regroupement logistique un processus Unix par quipe de d veloppement autorisant un d veloppement en parall le avec des biblioth ques de code ind pendantes Dans le cadre d une application temps r el chaque noeud virtuel repr sente un processus lourd et supporte l impl mentation d une fonctionnalit du futur systeme avec les contraintes de performances associ es Les contraintes de temps sont exprim es par des contraintes sur les services offerts Enfin les communications inter noeuds virtuels peuvent tre exprim es d abord de mani re logique c est dire par les fl ches USE de HOOD avec indications de flots de donn es Cette a
74. sur lesquelles elle est r f renc e Les unit s d finissant des entit s statiques comme les unit s de biblioth que cat goris es RCI et Shared Passive ne peuvent tre r pliqu es la diff rence des unit s de biblioth que sans cat gorisation ou cat goris es Remote Types et Pure En plus des quatre pragmas majeurs deux pragmas mineurs permettent d alt rer l ex cution des appels de sous programmes ou de m thodes distance Le pragma Asynchronous s applique un sous programme sans parametres de sortie d une unit de biblioth que cat goris e RCI Tout appel ce sous programme est unidirectionnel et toute lev e d exception est alors ignor e Ce pragma s applique aussi a un type d acc s distant sur entit s r parties Comme il s applique aussi bien des sous programmes qu des r f rences le destinataire peut tre d termin aussi bien statiquement que dynamiquement II offre ainsi la possibilit de mettre en uvre un m canisme d envoi de messages Le pragma Al Calls Remote s applique une unit de biblioth que cat goris e RCI de sorte que tout appel un sous programme distant de ce paquetage devra transiter 24 par le syst me de communication m me si l appel peut tre r solu en local Cette fonctionnalit s av re utile lors de la mise au point de l application alors qu elle n a pas encore t r partie puisque les latences induites par la communication ne sont pas omises e Sous syst me de
75. t Ada Le mode de lancement automatique Starter Ada est celui qu il reste faire fonctionner dans un contexte r parti A partir de l exemple Eratho spiral dont le fichier de configuration figure en annexed j ai pu tester que ce mode marche lorsque les partitions sont d finies sur un m me calculateur Ce mode demande l ex cution de la partition principale les noms des h tes sur lesquels les ex cutables doivent se lancer On peut sauter cette phase en pr cisant dans le fichier de configuration for Partition2 Host use localhost for Partition3 Host use localhost Dans le cas d une r partition sur deux calculateurs ce mode est rest inop rant Pr cisons ici qu il y a deux fa ons d assigner les partitions des noeuds physiques Comme cela a t dit plus haut par d faut l allocation est dynamique et c est la partition principale qui demande le nom de l h te l ex cution Ici j ai test le cas d une allocation statique ou le nom de l h te est d fini dans le fichier de configuration comme Suit for Partition2 Host use pc bana daurat cst cnes fr for Partition3 Host use localhost On teste ainsi l allocation physique suivante 28 partition 1 et 3 pc bana diderot partition 2 pc bana daurat Pour d bugger ce mode je suis remont au mode Starter Shell et j ai constat que le script g n r par l outil GNAT GLADE comportait des incoh rences gt Pour une partition donn e si on pr c
76. ual Node VNCS Virtual Node Control Structure ANNEXE2 PROGRAMMES DE TEST ADA LINUX KKK KKK KKK KK KK KK KK KK KK kk Kk KK kk kk kk kk kk d p test boucle adb ai KKK KKK KK KK KK KK KK KK KK KK KK kk kk kk kk kk kk d with Ada Numerics Generic_Elementary_Functions with Ada Calendar use Ada Calendar with Ada Text_Io use Ada Text Io procedure Test Boucle is package Math is new Ada Numerics Generic Elementary Functions Float Nombre De Boucles constant 100 Debut EDS Duree Day Duration Duree Totale Duration gt 0 0 X X Float 1 0 begin for I in 1 Nombre De Boucles loop Debut Seconds Clock Y se Math cim X 2 0 X Y Fin Seconds Clock Duree Fin Debut Duree Totale Duree Totale Duree Put Line duree boucle amp Positive Image I amp amp Duration Image Fin Debut amp s end loop New Line Put Line duree totale amp Duration Image Duree Totale amp s Put Line duree moyenne amp Duration Image Duree Totale Nombre De Boucles amp gU s end Test Boucle KKK KKK KK KK kk kk kk kk kk kck ck ck k ck ck kk ck k kck kc kck kc kck kc kck ck kk kk tach ads i f amp KK KKK KK KK kk kk kk kk Ck KK kckck ck ckck ck ckck ck ckck ck ck kc kck kc kck ck ck ck kk with System package Tache is type Mode Tache is Aperiodique Periodique subtype Taille Paquet Tm is Natural range 0 2048 t
77. ur e sur la partition PA3 de la machine E2 La partition active PA1 peut galement contenir des objets partag s comme celui d fini dans l unit U4 La partition PA2 ne contient qu une unit U2 comportant des objets r partis Aussi peut elle avoir plusieurs instances une sur E1 et une sur E2 Au contraire l unit U6 qui contient des sous programmes distants doit tre unique comme la partition PA3 qui la contient Enfin les instances de PA2 localis es sur E1 et E2 acc dent un objet partag au moyen de S1 e Unit s de biblioth que cat goris es Seule une unit de biblioth que cat goris e offre les services r partis propos s en RAP 23 L unit de biblioth que laquelle s applique le pragma Remote Types ne contient dans la partie publique de sa d claration que des types transportables Elle peut d finir des r f rences sur entit s distantes mais aussi d river des types tiquet s susceptibles d tre d sign s par ces r f rences Une telle unit peut tre r pliqu e sur toutes les partitions sur lesquelles elle est r f renc e L unit de biblioth que laquelle s applique le pragma Remote Call Interface RCI peut contenir dans la partie publique de sa d claration des types transportables comme des r f rences sur entit s distantes mais galement des sous programmes distants D s lors une telle unit ne peut tre r pliqu e Cette restriction s explique par la pr sence ventuelle de sous pro
78. ution typique en vol en s assurant du respect des contraintes temporelles Il s agit ici de v rifier en premier lieu la r alit d une solution Ada sur un Linux embarqu En deuxi me approche il s agissait d tudier le mod le de r partition d crit dans l annexe de la norme du langage Ada95 et son impl mentation par GNAT GLADE pour valuer son emploi dans notre application La derni re partie de mon stage s attache int grer ces deux approches et continuer la conception entreprise par Semra avec l outil STOOD pour s acheminer vers une application r partie sur plusieurs calculateurs bord Je tacherai d abord dans ce rapport de pr senter les principes d architecture informatique pour les nacelles point es d tudier le mod le de r partition GNAT GLADE et le travail effectu jusqu ce jour 2 PRINCIPES D ARCHITECTURE 2 1 LE CONTEXTE GENERAL Avant de pr senter la nouvelle architecture logicielle atteindre d finissons d abord les axes d volution des solutions informatiques pour les nacelles point es Cette partie reprend certains aspects des documents internes de sp cifications du contr le commande des nacelles point es et Laurens 2000 On peut d abord d gager quelques crit res sur lesquels reposent les choix effectu s Comme cela a t pr sent dans la partie pr c dente il est question de d velopper des architectures flexibles Qu est ce dire Les fonctions du logiciel de vol d un vo
79. vention Ada95 celles de valeur les plus grandes et les temps sont exprim s en secondes Les valeurs choisies n ont ici pas vraiment d importance et ne sont pas repr sentatives d un comportement en vol Voici rassembl es les caract ristiques de ces t ches dans le tableau suivant gt T che1 T che2 Tache3 T che4 T ches T che Dur e 0 03 0 1 0 2 0 3 0 4 0 5 phase gt 0 05 0 02 1 0 05 0 2 1 phase Tm Dur e 0 1 0 1 0 3 0 4 0 5 phase Commande E 1 test A la lecture des fichiers de logs la t che 2 d marre apr s la t che 1 ce qui n est pas conforme l ordre des appels d entr e aux t ches 1 et 2 La solution a t d inclure l enregistrement des temps de d but et de fin de t che dans l accept instruction Ada95 de l entr e Demarrer dans le corps de la t che contr le dans le fichier tache cyclique adb t che g n rique permettant d instancier toutes les t ches cr es accept demarrer do enregistrer end accept e Remarques sur les temps Les p riodes sont globalement respect es on mesure 1 01s au lieu de la seconde sp cifi e l instanciation soit une valeur l g rement sup rieure de quelques pour cent Ceci est acceptable Les dur es de calcul ne ressemblent en rien aux valeurs attendues nous supposons que l optimiseur doit intervenir et fausser ces valeurs Il faudrait pouvoir faire varier le calcul chaque tour de boucle pour avoir des valeurs plus r aliste
80. ype Caracteristiques Tache Mode Mode Tache Periodique is record Nom D Dering DL L9 Priorite System Priority System Default Priority case Mode is when Aperiodique gt null when Periodique gt Periode Duration 1 0 Duree Phase Lecture Duration c 0 0 Duree Phase Calcul Duration 0 0 Flot Phase Tm Taille Paquet Tm 0 Duree Phase Commande Duration Ss 0 0 end case end record type Evenement is Creation Demarrage Arret Debut Phase Lecture Fin Phase Lecture Debut Phase Calcul Fin Phase Calcul Debut Phase Tm Fin Phase Tm Debut Phase Commande Fin Phase Commande Erreur exception end Tache f RKCKCKkCKkCk kk kk kk kk kk kk kk kck ck ck ck ck ck k ck ck kc kck kc kckckckck ck kk kk Le tache cyclique ads i f RKCKCKkCKkCk kk kk kk kk kk kc kckck ck ck k ck ckckck ck k ck ck kc kckck ck ck k kck ck kk kk generic Descripteur Caracteristiques Tache with procedure envoi tag in string taille in taille paquet tm package Tache Cyclique is task Controle is entry D marrer entry ArrerLer end Controle end Tache Cyclique KKK KKK KKK KK KK KK KK KK Kk Kk KK kk kk KK kk kk kk d Late tache cyclique adb ud KKK KKK KKK KK KK KK KK KK KK KK kk kk kk kk kk kk d with Ada Text_Io use Ada Text Io with Ada Dynamic Priorities with Ada Strings Maps use Ada Strings Maps with Ada Strings Fixed use Ada Strings Fixed use Ada Strings with
Download Pdf Manuals
Related Search
Related Contents
Marina ENG Balboa.indd OM, 353 O4, 343 O4 X-series, 2009-01 PDF MANUAL DEL USUARIO Philips DLM4344 Braun 310 headset Visite des cueillettes : mode d`emploi BS-1103S施工説明書(PDF:3257KB) owners manual.psd Copyright © All rights reserved.
Failed to retrieve file