Procédé et système d'exécution de protocoles de chargement de données Des protocoles logiciels de chargement de données sont utilisés pour charger des logiciels dans des unités compatibles remplaçables en ligne dans des aéronefs. Les protocoles de chargement de données pour applications avioniques sont conçus généralement à l'appui de la gamme d'équipements cibles la plus large possible. Souvent, les intégrateurs de systèmes désirent étendre l'utilisation d'un protocole donné au plus grand nombre possible d'organes d'un système de bord afin de simplifier les questions de maintenance associées au système. Par conséquent, les protocoles de chargement de données atteignent un niveau de complexité qu'il n'est pas toujours pécuniairement avantageux d'appliquer dans les dispositifs les plus simples ou les plus petits, ou dans les dispositifs les plus anciens, incompatibles avec les protocoles de chargement de données les plus récents. Les tentatives visant à résoudre le problème de l'adaptation des protocoles de chargement de données à des dispositifs simples ou existants incompatibles avec la complexité de la plupart des protocoles de chargement de données à solution unique comportent (1) la modification des équipements cibles pour y inclure des fonctions supplémentaires nécessaires, et (2) la réalisation d'une passerelle par laquelle le support de communication est adapté à un support plus simple ou moins onéreux, mais le protocole de chargement de données restant assumé par le dispositif cible. La première provoque une augmentation du coût et un allongement des délais de mise au point et peut impliquer de prévoir des supports de communication différents ou supplémentaires ainsi que de prévoir des fonctions supplémentaires à l'appui du protocole requis. L'une et l'autre dispositions peuvent nécessiter de coûteuses modifications dans la conception du matériel pour faire face aux modifications nécessaires de l'interface et du traitement. La seconde peut régler le problème de coût associé à la connectivité physique, mais n'atténue pas le besoin d'exécuter les fonctions du protocole de chargement de données dans les dispositifs simples ou existants. Un premier aspect de l'invention comprend un système pour charger des données dans un dispositif cible à l'aide d'un protocole de communication standard de chargement de données lorsque le dispositif cible est incompatible avec le protocole de communication standard de chargement de données. Le système comporte un référentiel de supports pour stocker des données ; un chargeur de données configuré pour communiquer des données à l'aide d'un protocole de communication standard de chargement de données ; un dispositif cible configuré pour communiquer à l'aide d'un protocole exclusif de chargement de données initialement employé dans le dispositif cible et qui est incompatible avec le protocole de communication standard de chargement de données ; et un dispositif mandataire entre le chargeur de données et le dispositif cible, le dispositif mandataire étant configuré pour convertir des communications entre le protocole de communication standard de chargement de données et le protocole exclusif de chargement de données. Un autre aspect de l'invention comprend un procédé de chargement de données dans un dispositif cible à l'aide d'un protocole de communication standard de chargement de données lorsque le dispositif cible est incompatible avec le protocole de communication standard de chargement de données. Le procédé comporte les étapes d'extraction de données d'un référentiel de supports, de téléchargement des données dans un dispositif mandataire intermédiaire à l'aide d'un protocole de communication standard de chargement de données, de configuration des données à transmettre à l'aide d'un protocole exclusif de chargement de données initialement employé dans le dispositif cible et incompatible avec le protocole de communication standard de chargement de données ; et la transmission des données au dispositif cible à l'aide du protocole exclusif de chargement de données. L'invention sera mieux comprise à l'étude détaillée de quelques modes de réalisation pris à titre d'exemples non limitatifs et illustrés par les dessins annexés sur lesquels : -la figure 1 est une illustration schématique de la solution selon la technique antérieure pour l'exécution d'un protocole de chargement de données ; -la figure 2 est une illustration schématique d'un procédé d'exécution d'un protocole de chargement de données selon l'invention ; et -la figure 3 est une illustration schématique d'autres détails du dispositif mandataire de la figure 2. Les exemples de formes de réalisation sont décrits ci-après en référence aux dessins. Ces dessins illustrent certains détails de formes de réalisation spécifiques mettant en oeuvre le module, le procédé et le programme informatique décrits ici. Cependant, les dessins ne doivent pas être interprétés comme imposant des limites éventuellement présentes sur les dessins. Le procédé et le programme informatique peuvent être exécutés sur tout support lisible par ordinateur. Les formes de réalisation peuvent être mises en oeuvre à l'aide d'un processeur informatique existant ou par un processeur informatique spécial inclus à cette fin ou à une autre, ou par un système câblé. Comme indiqué plus haut, les formes de réalisation décrites ici comportent un programme informatique comprenant des supports lisibles par ordinateur contenant ou stockant des instructions ou des structures de données exécutables par ordinateur. Ces supports lisibles par ordinateur peuvent être n'importe quels supports, accessibles par un ordinateur polyvalent ou spécial ou autre machine équipée d'un processeur. A titre d'exemple, ces supports lisibles par ordinateur peuvent comprendre une mémoire vive, une mémoire morte, une EPROM, une EEPROM, un CD-ROM ou autre disque optique de stockage, un disque magnétique de stockage ou autre dispositif magnétique de stockage, ou tout autre support pouvant servir à contenir ou stocker un code programme voulu sous la forme d'instructions ou de structures de données exécutables par ordinateur et accessibles par un ordinateur polyvalent ou spécial ou autre machine équipée d'un processeur. Quand des informations sont transmises ou fournies à une machine via un réseau ou autre connexion de communication (câblée, radioélectrique ou à la fois câblée et radioélectrique), la machine perçoit correctement la connexion comme un support lisible par ordinateur. Ainsi, toute connexion de ce type est appelée à juste titre support lisible par ordinateur. Des combinaisons des moyens ci-dessus entrent également dans le cadre des supports lisibles par ordinateur. Les instructions exécutables par ordinateur comprennent, par exemple, des instructions et des données, qui amènent un ordinateur polyvalent, un ordinateur spécial ou des machines de traitement spéciales à exécuter une certaine fonction ou un certain groupe de fonctions.
Les formes de réalisation seront décrites dans le contexte général d'étapes de procédé qui peuvent être exécutées dans une forme de réalisation par un programme comprenant des instructions exécutables par ordinateur, telles qu'un code programme, par exemple sous la forme de modules de programme exécutés par des machines dans des environnements en réseau. Globalement, les modules de programmes comprennent des routines, des programmes, des objets, des composants, des structures de données, etc., qui ont pour effet technique d'effectuer des tâches particulières ou d'appliquer des types de données abstraits particuliers. Les instructions exécutables par ordinateur, les structures de données associées et les modules de programmes constituent des exemples de codes programmes pour exécuter des étapes du procédé décrit ici. L'ordre particulier de ces instructions exécutables ou structures de données associées constituent des exemples d'actes correspondants pour mettre en oeuvre les fonctions décrites dans ces étapes. Les formes de réalisation peuvent employées dans un environnement en réseau à l'aide de connexions logiques à un ou plusieurs ordinateurs distants équipés de processeurs. Les connexions logiques peuvent comprendre un réseau local (LAN) et un réseau étendu (WAN), proposés ici à titre d'exemples nullement limitatifs. De tels environnements en réseau sont courants dans les réseaux informatiques entre bureaux ou entre entreprises, les intranets et l'Internet et peuvent utiliser toutes sortes de protocoles de communication différents. Les spécialistes de la technique comprendront que ces environnements informatiques en réseau couvrent ordinairement de nombreux types de configuration de systèmes informatiques, dont les ordinateurs personnels, les dispositifs portatifs, les systèmes de multiprocesseurs, les équipements électroniques grand public à microprocesseurs ou programmables, les PC en réseau, les mini-ordinateurs, les gros ordinateurs et autres. Les formes de réalisation peuvent également être employées dans des environnements informatiques distribués où des tâches sont effectuées par des dispositifs de traitement locaux et distants qui sont en liaison (par des liaisons câblées, des liaisons radioélectriques, ou par une combinaison de liaisons câblées et radioélectriques) via un réseau de communication. Dans un environnement informatique distribué, des modules de programmes peuvent être situés dans des dispositifs de mémorisation locaux et distants. Un exemple de système pour mettre en oeuvre l'ensemble ou des parties des exemples de formes de réalisation pourrait comporter un dispositif informatique polyvalent sous la forme d'un ordinateur, comprenant une unité centrale, une mémoire système et un bus système, qui couple à l'unité centrale divers composants du système, dont la mémoire système. La mémoire système peut comprendre une mémoire morte (ROM) et une mémoire vive (RAM). L'ordinateur peut aussi comprendre un lecteur de disque dur magnétique pour lire et écrire sur un disque dur magnétique, un lecteur de disque magnétique pour lire ou écrire sur un disque magnétique amovible, ou un lecteur de disque optique pour lire ou écrire sur un disque optique amovible tel qu'un CD-ROM ou d'autres supports optiques. Les lecteurs et leurs supports associés lisibles par ordinateur réalisent un stockage rémanent d'instructions exécutables par ordinateur, de structures de données, de modules de programmes et autres données pour l'ordinateur. Les effets avantageux du procédé décrit dans les formes de réalisation comprennent la suppression de la dépendance au protocole de chargement de données, aussi devient-il possible d'utiliser des équipements dans un système sans avoir besoin d'ajouter des fonctions de gestion complexes. De substantielles économies pécuniaires sont réalisables grâce à une fonction de mandataire séparée à l'appui du chargement de données et/ou d'autres fonctions de gestion. La présente invention propose un autre moyen possible à l'appui de protocoles logiciels de chargement de données dans un système électronique quand des équipements sont incompatibles avec le protocole nécessaire ou quand il est préférable de ne pas faire intervenir cet appui, par exemple quand on utilise des équipements existants. L'invention permet à un système donné d'appuyer le protocole de chargement de données requis en logeant les moyens de prise en charge du protocole de chargement de données dans un autre module qui sert de dispositif mandataire, en convertissant le protocole requis et en exécutant le comportement nécessaire d'une manière convenant mieux à la cible voulue. L'invention suppose qu'un ou plusieurs supports de communication existe(nt) entre la fonction de chargement de données et le dispositif mandataire et que le/les même(s) support(s) de communication ou un/des support(s) de communication existe(nt) entre le dispositif mandataire et la cible voulue. L'invention est mise au point principalement pour des systèmes avioniques utilisant un protocole de chargement de données reposant sur la norme ARINC 615, mais peut tout autant s'appliquer à d' autres environnements où un protocole particulier de charge de données, ou autre, est nécessaire à l'appui des besoins des systèmes mais où les équipements présents sont, à l'origine, incompatibles avec le protocole requis. Un aspect avantageux de l'invention réside dans l'application d'une fonction de mandataire à des applications logicielles de chargement de données. Cette solution permet au système mis en oeuvre d'utiliser un protocole de chargement de données commun avec celui d'équipements qui, à l'origine, sont incompatibles avec le protocole de chargement de données commun choisi.
Considérant maintenant la figure 1, une solution classique tend à impliquer un chargeur de données 12 à fonction de chargement de données qui accède à un référentiel de supports 14 et communique directement avec un dispositif cible 16 pour exécuter des fonctions de chargement de données (c'est-à-dire transmet des 10 données au dispositif cible 16) à l'aide d'un protocole de communication standard 18 de chargement de données. Cette solution simplifie des questions de maintenance d'un système mais nécessite que le dispositif cible 16 exécute le protocole de communication standard 18 de chargement de données. Un problème posé par la solution classique 10 est que le dispositif cible risque d'être incapable d'exécuter le protocole de communication standard 18 de chargement de données. Par exemple, le dispositif cible peut être dépourvu des moyens de traitement pour assumer le protocole de communication standard 18 de chargement de données ou peut être trop ancien pour être compatible avec un protocole de communication standard 18 de chargement de données plus récent et utiliser un protocole exclusif de chargement de données. Dans certains cas, un dispositif cible potentiel peut avoir à être modernisé ou remplacé. Dans d'autres cas, le protocole de communication standard 18 de chargement de données peut être recodé pour satisfaire les besoins du dispositif cible. Toutes ces solutions potentielles sont coûteuses, chronophages et représentent beaucoup de travail. Considérant maintenant la figure 2, une autre solution possible 20 selon l'invention comporte un chargeur 12 de données accédant à un référentiel 14 de supports comme dans la solution traditionnelle de la figure 1. Cependant, dans la présente invention, au moins un dispositif mandataire intermédiaire 22 assure une fonction de conversion entre le protocole de communication standard 18 de chargement de données et un protocole exclusif 24 de chargement de données exécuté dans un dispositif cible 26 qui, sinon, est incapable d'être directement compatible avec le protocole de communication standard 18 de chargement de données. Le protocole de communication standard 18 de chargement de données peut être normalisé ou peut être un protocole de communication spécifique du système pour le chargement de données, par lequel le dispositif mandataire intermédiaire 22 permet la communication avec une fonction ordinaire de chargement de données. Cependant, le dispositif mandataire intermédiaire 22 peut assurer de multiples fonctions, notamment en convertissant également le protocole de communication standard 18 de chargement de données sous une forme plus appropriée au dispositif cible voulu, par exemple le protocole exclusif 24 de chargement de données, et un contrôle de validité pour vérifier la propriété des données, les données utiles et les sources. Par exemple, le dispositif mandataire 22 peut vérifier que les données utiles sont correctes, p. ex. sans erreur de transmission ni perte, par un total de contrôle ou un moyen proche. En outre, le dispositif mandataire 22 peut également vérifier la propriété des données, p. ex., à l'aide de signatures numériques, le fait que des données utiles ne sont pas "usurpées". Ces multiples fonctions peuvent être exécutées individuellement ou simultanément. Un avantage de cette solution est que le dispositif mandataire intermédiaire 22 peut réaliser une conversion du formatage des données, par exemple pour la compression ou la décompression de données. Il est également envisagé que le dispositif mandataire intermédiaire 22 soit aussi configuré pour assumer le téléchargement de données dans les deux sens. Autrement dit, le dispositif mandataire intermédiaire 22 peut être considéré comme bidirectionnel ou comme réunissant deux mandataires en un. En fait, la fonction de chargement de données et la cible du chargement de données se comportent chacune à la fois en client et en serveur pendant le processus de chargement de données. De plus, le dispositif mandataire intermédiaire 22 assure des services complets d'aide au transfert de fichiers tels que le signalement de l'identité des données et de l'état des données (c'est-à-dire ce qui a été chargé), en interaction directe avec le flux de données pour mettre en mémoire tampon et segmenter ou réassembler le flux de données, et une maîtrise totale du processus de transfert. L'application de cette solution est envisagée, en particulier, pour le chargement de données dans les systèmes avioniques d'un aéronef où le protocole de communication standard de chargement de données est défini par un chargeur de données à norme ARINC 615A, et avec des formats de supports régis par ARINC 665 et des exigences d'intégrité de transfert/transport régies par ARINC 666. Considérant maintenant la figure 3, le dispositif mandataire intermédiaire 22 a trois organes principaux. Un premier organe est un agent 28 de protocole de chargement de données qui coopère avec la fonction de chargement de données à l'aide du protocole de communication standard 18 de chargement de données choisi pour appuyer le système. Cela permet à la fonction de chargement de données, et donc au système, d'assumer des dispositifs cibles non originaux de la même manière que d'autres dispositifs cibles originaux. Un autre organe est un gestionnaire 30 de données qui assure le stockage intermédiaire des données et un formatage pour mettre en correspondance des formats de chargement de données du système tels que les formats de données dans le référentiel 14 de supports et les formats de données nécessités par le/les dispositif(s) cible(s) 26. Le gestionnaire 30 de données pourrait prendre la forme d'un mécanisme d'enregistrement-et-transmission pour permettre à la validation des données d'être effectuée par la fonction de mandataire avant l'envoi des données au dispositif cible 26, mais pourrait assurer un transfert des données avec une fonction d'émulation. Un autre organe est un agent 32 de protocole de cible(s) qui coopère avec un ou plusieurs dispositif(s) cible(s) 26 pour transférer des données de la mémoire intermédiaire 28 au(x) dispositif(s) cible(s) 26. Si le dispositif mandataire intermédiaire 22 coopère avec de multiples dispositifs cibles, l'agent 32 de protocole de cibles pourrait en outre appuyer de multiples protocoles de cibles différents et/ou assumer la synchronisation du chargement de données. Le dispositif mandataire intermédiaire 22 peut être mis en oeuvre sur un matériel spécifique, comme fonction supplémentaire sur du matériel existant ou comme application logicielle dans une ressource de traitement commune en fonction du type de système prévu, des ressources disponibles dans ce système et d'une analyse des coûts pour le système. Le/les dispositif(s) cible(s) 26 peut/peuvent être n'importe quel type de dispositif(s) choisi(s) pour faire partie du système mais qui n'exécute(nt) pas le protocole de communication standard de chargement de données choisi 18. On peut citer comme exemples de dispositifs cibles 26 utilisables avec la présente invention les dispositifs proposés dans le commerce, les capteurs programmables simples, les petits dispositifs de concentration de données, les commutateurs et les équipements électroniques distants simples. En supprimant une dépendance à un protocole de communication standard 18 de chargement de données, il est possible d'utiliser des équipements dans un système sans avoir à ajouter des fonctions de gestion complexes. Cette solution réduit le coût des équipements fournis tout en préservant les fonctions du système en proposant une fonctions de mandataire séparée à l'appui des fonctions de chargement de données de la cible ou d'autres fonctions de gestion. Si, par exemple, un dispositif cible existant ou un dispositif cible simple devait être ajouté au système, les moyens requis pour appuyer la fonction ordinaire de chargement de données ou d'autres fonctions de gestion devraient être ajoutés dans le nouveau dispositif ou dans le système, ce qui alourdirait notablement le coût lié au dispositif et retarderait le moment où il pourrait être introduit dans un environnement nécessitant un appui pour le protocole standard. Exécuter une fonction de mandataire séparée pour assumer les fonctions de gestion telles que le chargement de données peut constituer une solution moins onéreuse ou apporter d'autres avantages tels que des délais de mise au point plus courts.