Brevet FR2803926A1 — publié le 20010720

La présente invention se rapporte à un procédé de génération automatique de table de symboles d'un calculateur temps réel, La mise au point et la validation des calculateurs embarqués de type gestion de vol d'aéronefs (dits "FMS", c'est-à-dire "Flight Management System") nécessitent l'installation, aussi bien sur l'aéronef qu'en laboratoire (pour la mise au point et/ou la maintenance) de moyens d'investigation permettant l'accès à un certain nombre de données internes (en particulier, données caractéristiques des fonctionnements nominaux du calculateur). Dans le cas des calculateurs "FMS" (Flight Management system) pour avions tels que les Airbus A320 à A340, ces moyens d'investigation sont l'outil "SPATIAAL", c'est à dire un outil de visualisation de données internes du calculateur, outil qui est inclus dans un simulateur relié au calculateur, lui-même relié à son environnement matériel habituel. Le simulateur envoie des commandes de visualisation des paramètres internes via un bus ARINC au calculateur, et, en retour, le calculateur émet les données correspondantes sur un bus dédié aux essais en vol, De la même façon, le simulateur peut émettre des commandes de modification de paramètres internes. Cependant, pour des raisons de sécurité, ces types de commandes sont exclusivement réservés à la sélection de tables de gains ou de gains dont les effets ont été préalablement validés en laboratoire. Pour que ces paramètres internes puissent être référencés par l'outil, ils doivent être complètement décrits dans un dictionnaire de données. Leur description comporte notamment : leur mnémonique, l'adresse physique de la variable, l'identification du processeur du calculateur, le type de paramètres en question, le cadrage de leurs valeurs, etc.. Dans les systèmes actuels, les dictionnaires de données doivent être générés à partir de fichiers (appelés "tables de symboles " ou "maps") issus des chaînes d'élaboration des logiciels exécutables (chaîne de compilation, éditeur de liens,...). Dans la mesure où les adresses physiques des variables peuvent évoluer (par exemple suite à un changement de type d'avion, de calculateur...), la génération d'un dictionnaire de données doit être recommencée pour chaque nouvelle version d'un logiciel exécutable. De plus, les fichiers "maps" ne sont pas directement exploitables par l'outil et doivent donc faire l'objet d'un traitement approprié (mise en forme des informations suivant une "grammaire" précise). La présente invention a pour objet un procédé de génération automatique de tables de symboles ne nécessitant pas la génération d'un dictionnaire de données à chaque modification des logiciels exécutables correspondants, et d'éviter ainsi les erreurs potentielles associées à la nécessaire cohérence de ces logiciels exécutables et des dictionnaires de données, ainsi que d'éviter d'avoir à développer des logiciels de traitement des informations pour leur mise en forme suivant la grammaire utilisée, et aussi d'éviter des évolutions ou des modifications des chaînes d'élaboration des logiciels exécutables. Le procédé conforme à l'invention comporte, pour chaque nouveau calculateur à identifier, une étape d'établissement d'un dictionnaire de données, à l'initialisation du calculateur, sous conditions externes sécurisées, de préférence hors fonctionnement opérationnel, en faisant fournir par le calculateur la liste des symboles que ses logiciels peuvent utiliser, à envoyer le fichier correspondant à cette liste sur une ligne externe, avantageusement une ligne dédiée, à des moyens d'accès à des données du calculateur qui le stockent, puis en phase d'exploitation d'un calculateur déterminé, à faire envoyer par ce calculateur son identité à un simulateur, à faire retrouver par ce dernier le fichier correspondant à ce calculateur déterminé, et à en déduire le dictionnaire de données associé à ce calculateur. On peut ensuite procéder aux processus de validation des logiciels exécutables à valider. La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de mise en oeuvre, pris à titre d'exemple non limitatif et illustré parle dessin annexé, sur lequel ; - la figure 1 est un bloc-diagramme des dispositifs servant à la génération d'un dictionnaire de données correspondant à un calculateur, conformément au procédé de l'invention, et - - la figure 2 est un bloc-diagramme des dispositifs utilisés pour la mise en oeuvre du procédé de l'invention, en mode opérationnel, lors de la validation de logiciels exécutables. La présente invention est décrite ci-dessous en référence à des calculateurs d'avions, mais il est bien entendu qu'elle n'est pas limitée à cette seule application, et qu'elle peut être mise en oeuvre pour d'autres types de calculateurs. Le dispositif représenté schématiquement en figure 1 est généralement utilisé au sol, en laboratoire, pour produire un dictionnaire de données (également dénommé dictionnaire de symboles) correspondant à un type de calculateur embarqué, Le calculateur 1, auquel se rapporte le procédé de l'invention, est inclus dans son environnement matériel habituel 2. La sortie du calculateur, sur laquelle apparaissent les fichiers des tables de symboles, est reliée par une ligne 3 à un outil de maintenance 4, qui est par exemple un PC de maintenance. Le calculateur 4 est relié, d'autre part, par une ligne 5 (par exemple une ligne de type Ethernet) à un banc de validation (ou simulateur) 6. En variante, comme représenté en trait interrompu, le calculateur 1 peut être directement relié au banc 6 par une ligne 7 (ligne de maintenance). Le banc 6 comporte une partie 8 qui est la fonction "SPATIAAL" précitée (outil de visualisation de données internes du calculateur 1) et une partie 9 se composant de plusieurs zones d'enregistrement de dictionnaires de données, chacune de ces zones étant affectée au dictionnaire de données d'un calculateur particulier. Bien entendu, certaines de ces zones peuvent être vides, après exécution du procédé de l'invention pour tous les calculateurs susceptibles d'être utilisés à ce moment-là, en prévision de l'enregistrement ultérieur d'autres dictionnaires de données pour d'autres calculateurs futurs, De même, si certains calculateurs deviennent obsolètes ultérieurement, les dictionnaires correspondants peuvent être effacés de la partie 9, Le calculateur 1 reçoit, pour pouvoir produire un dictionnaire de données, des paramètres de configuration 10. Ce sont ; un ordre "LABMODE", un ordre "DD-ENABLE" et des données "SOL" relatives aux conditions externes au sol standard (telles que "NOSEGEARPRESSE D", c'est à dire train de nez pressé) "LABMODE" indique que le calculateur est monté sur un banc de validation en laboratoire, et "DD-ENABLED" autorise la génération automatique du dictionnaire de données. Lorsque le calculateur 1 est mis sous tension, et si les deux ordres précités sont à l'état actif, le calculateur lit les données relatives aux conditions externes, et initie la génération du dictionnaire de données, qui est envoyé vers le banc 6 via la ligne 3, le PC 4 et la ligne 5 (ou, le cas échéant, sur la ligne 7). Le dictionnaire de données est enregistré dans la zone correspondante de la partie 9. La figure 2 se rapporte à la deuxième partie de la mise en ceuvre du procédé de l'invention. Cette deuxième partie se déroule en mode opérationnel, c'est à dire lorsque le calculateur 1 est embarqué dans l'avion auquel il est destiné, pour des essais en laboratoire et en vol, lorsqu'il est connecté à son environnement matériel réel 2'. II est relié par une ligne 11 au banc 6, et la fonction 8 du banc 6 est reliée par une ligne 12 au calculateur 1. A la mise sous tension du calculateur 1 (le banc de validation 6 est déjà alimenté alors), ce calculateur envoie au banc, via la ligne 11, ses références d'identification ("Part Numbers") ainsi que les paramètres à visualiser. Le banc 6 est donc en mesure de comparer automatiquement ces références qu'il reçoit du calculateur avec les différentes références des dictionnaires de données stockées dans les différentes zones de la partie 9, et donc de sélectionner le dictionnaire de données associé au logiciel exécutable en cours de validation. Ainsi, le calculateur 1 est automatiquement reconnu par le simulateur (Fonction SPATIAAL), sans en perturber le fonctionnement en temps réel. REVENDICATIONS 1 - Procédé de génération automatique de table de symboles d'un calculateur temps réel, caractérisé en ce qu'il comporte, pour chaque nouveau calculateur (1) à identifier, une étape d'établissement d'un dictionnaire de données, à l'initialisation du calculateur, sous conditions externes sécurisées, en faisant fournir par le calculateur la liste des symboles que ses logiciels peuvent utiliser, à envoyer le fichier correspondant à cette liste à des moyens d'accès à des données du calculateur (6) qui le stockent (9), puis, en phase d'exploitation d'un calculateur déterminé, à faire envoyer par ce calculateur son identité à un simulateur, à faire retrouver par ce dernier le fichier correspondant à ce calculateur déterminé et à en déduire le dictionnaire de données associé à ce calculateur. 2 - Procédé selon la revendication 1, caractérisé en ce que le fichier est envoyé au banc via une ligne externe (5) et un calculateur auxiliaire (4). 3 - Procédé selon la revendication 2, caractérisé en ce que la ligne est de type Ethernet. 4 - Procédé selon la revendication 1, caractérisé en ce que le fichier est envoyé directement au banc (7), 5 - Procédé selon l'une des revendications précédentes, caractérisé en ce que l'établissement du dictionnaire de données est fait hors fonctionnement opérationnel. 6 - Procédé selon l'une des revendications précédentes caractérisé en ce que le calculateur est un calculateur embarqué et que les moyens d'accès sont un banc de validation de logiciels exécutables parle calculateur.