Brevet FR3115130A1 — publié le 20220415

Procédé de gestion de compatibilité entre un premier équipement et un deuxième équipement reliés par des interfaces de communication. Le procédé comprend les étapes suivantes : envoi, au deuxième équipement par le premier équipement, d’au moins une première information de compatibilité représentative de premiers formats de données ; élaboration par le deuxième équipement d’au moins une deuxième information de compatibilité identifiant au moins un des premiers formats correspondant au deuxième format ; et détermination par le deuxième équipement d’un niveau de compatibilité avec le premier équipement à partir de la deuxième information de compatibilité. Système pour la mise en œuvre de ce procédé. FIGURE DE L’ABREGE : Fig.1 Procédé et système de gestion de compatibilité entre deux équipements La présente invention concerne le domaine de l’informatique et plus particulièrement la gestion de compatibilités entre deux équipements tels que ceux d’un aéronef ou de tout autre moyen de transport (ferroviaire, automobile…) comprenant plusieurs calculateurs. L’invention concerne en particulier les opérations de mise à jour des logiciels installés dans les calculateurs embarqués (opérations couramment désignées dans ce domaine par l’anglicisme « data loading »). ARRIERE PLAN DE L’INVENTION Pour optimiser la fiabilité des aéronefs et augmenter leur rentabilité, des opérations de maintenance sont fréquemment mises en œuvre. Ces opérations de maintenance comprennent en particulier des modifications de la configuration matérielle et logicielle des calculateurs de l'aéronef. La mise à jour de la configuration logicielle des calculateurs, tout comme l’installation d’un nouveau calculateur, nécessite l’intervention d’un opérateur de maintenance à bord de l’aéronef. L’opérateur doit suivre des procédures prédéfinies de manière à éviter toute erreur matérielle ou logicielle risquant de mettre l’aéronef dans un mode d’opération non optimal ou défaillant pouvant avoir des conséquences potentiellement dangereuses. Conventionnellement, les procédures reposent sur une liste d’identifiants de calculateurs et/ou de configurations logicielles compatibles avec le nouveau calculateur et/ou la nouvelle configuration logicielle. La liste est établie lors de la demande de certification dudit nouveau calculateur et/ou de ladite nouvelle configuration logicielle. Ainsi, l’opérateur de maintenance ou le gestionnaire de configuration vérifie, avant toute nouvelle installation ou mise à jour logicielle, que les identifiants des calculateurs et/ou des configurations logicielles avec lesquels le nouveau calculateur ou la nouvelle configuration logicielle sont destinés à échanger des données sont bien dans la liste. Dès lors, la vérification de la compatibilité logicielle des équipements de l’aéronef est réalisée manuellement. Une erreur humaine ne peut donc être corrigée que par des contraintes opérationnelles lourdes (signatures de procès-verbaux d’opération de maintenance, doubles vérifications…). OBJET DE L’INVENTION L’invention a donc pour objet de proposer un procédé pour gérer de manière automatique, fiable et efficace les compatibilités logicielles entre deux équipements. A cet effet, on prévoit un procédé de gestion de compatibilité entre un premier équipement et un deuxième équipement. Le premier équipement a une interface de communication reliée à une interface de communication du deuxième équipement, le premier équipement étant compatible avec des premiers formats de données et le deuxième équipement étant compatible avec au moins un deuxième format de données. Selon l’invention, le procédé comprend les étapes suivantes : - envoi, au deuxième équipement par le premier équipement, d’au moins une première information de compatibilité représentative des premiers formats de données ; - élaboration par le deuxième équipement d’au moins une deuxième information de compatibilité identifiant au moins un des premiers formats correspondant au deuxième format ; et - détermination par le deuxième équipement d’un niveau de compatibilité avec le premier équipement à partir de la deuxième information de compatibilité. Ainsi, le premier équipement envoie au deuxième équipement des informations de compatibilité permettant au deuxième équipement d’identifier de façon sûre et automatique s’il est compatible avec le premier équipement. Selon une caractéristique particulière de l’invention, le procédé comprend l’émission par le deuxième équipement d’un signal d’alerte caractérisant le niveau de compatibilité déterminé par ledit deuxième équipement. Selon une autre caractéristique particulière de l’invention, le procédé comprend les étapes suivantes : - envoi par le deuxième équipement de la deuxième information de compatibilité au premier équipement ; et - envoi par le premier équipement de données dans un des premiers formats identifiés par la deuxième information de compatibilité. Ainsi, les premier et deuxième équipements échangent entre eux des informations de compatibilité permettant au premier équipement de s’assurer d’envoyer les données dans un format compatible avec le deuxième équipement, mais aussi d’identifier de façon sûre et automatique s’il est compatible avec le deuxième équipement. Le procédé de l’invention permet donc un transfert de données fiable qui permet de limiter les risques d’une mauvaise interprétation des données reçues par le deuxième équipement. Le premier équipement peut être un équipement destiné à être raccordé temporairement au deuxième équipement, par exemple pour une intervention de maintenance, ou un équipement destiné à être raccordé à demeure au deuxième équipement. Selon un mode de réalisation préférée de l’invention, les première et deuxième informations de comptabilité comprennent des identifiants de documents de spécification de l’interface du premier équipement. Ces documents peuvent par exemple être des documents normatifs définissant un protocole de communication établi par un organisme de normalisation, un constructeur d’équipements électroniques ou un groupe de constructeurs. Ces documents peuvent également être des spécifications techniques d’interface des calculateurs (appelées aussi ICD, pour « Interface Control Document ») établies par un constructeur d’équipements ou un intégrateur d’équipements. De manière particulière, les identifiants comprennent une référence accompagnée d’un indice de version et d’un indice de révision. De manière particulière, les identifiants comprennent en plus un paramètre supplémentaire représentatif d’au moins un canal de communication de l’interface du premier équipement. De manière particulière, les identifiants comprennent en outre un indicateur de chapitre. De manière particulière, les premier et deuxième équipements sont des calculateurs embarqués dans un aéronef. L’invention concerne également un ensemble d’équipements électroniques agencés pour mettre en œuvre un tel procédé. L’invention sera mieux comprise à la lumière de la description qui suit, laquelle est purement illustrative et non limitative, et doit être lue en regard du dessin unique annexé : la figure unique est une vue schématique des étapes d’un procédé de gestion de compatibilités logicielles selon un mode de réalisation particulier de l’invention ; DESCRIPTION DETAILLEE DE L’INVENTION L’invention est ici décrite en application un premier calculateur C1 et un deuxième calculateur C2 embarqués dans un aéronef. Les calculateurs sont des équipements électroniques connus en eux-mêmes et comprenant au moins un processeur et des mémoires leur permettant d’exécuter des programmes informatiques et de traiter des données. Le premier calculateur C1 a une interface I1 de communication reliée à une interface I2 de communication du deuxième calculateur C2. Le calculateur C1 est compatible avec des premiers formats de données F1 et l’interface I1 dudit calculateur C1 supporte des premiers protocoles P1. Les formats de données F1 et les protocoles P1 sont décrits dans des premiers documents ICD1 dits documents de spécification d’interface (en anglais « Interface Control Document »). Chaque document ICD1 est défini par un identifiant Id1 unique qui comprend une référence Ref1 accompagnée d’un indice de version Ver1 et d’un indice de révision Rev1 correspondant à un état donné d’une évolution du contenu du document ICD1. Sur la figure 1, les identifiants Id1 et leurs composants (référence Ref1, indice de version Ver1, indice de révision Rev1) sont distingués par l’adjonction de la lettre « i ». Une incrémentation de l’indice de révision Rev1 représente une évolution mineure du contenu du document ICD1 concerné, de sorte que le ou les premiers formats de données F1 définis par le document ICD1 dont l’indice de révision Rev1 a été incrémenté restent compatibles avec celui ou ceux définis par l’indice de révision Rev1 précédent. Lors d’une incrémentation de l’indice de révision Rev1, l’indice de version Ver1 reste inchangé. Une incrémentation de l’indice de version Ver1 représente une évolution majeure du contenu du document ICD1, de sorte que le ou les premiers formats de données F1 définis par le document ICD1 dont l’indice de version Ver1 a été incrémenté sont incompatibles avec celui ou ceux définis par l’indice de version Ver1 précédent. Lors d’une incrémentation de l’indice de version Ver1, l’indice de révision Rev1 est réinitialisé. Les identifiants Id1 des documents ICD1 sont stockés dans une mémoire M1 du calculateur C1 et forment une première information de compatibilité représentative des premiers formats de données F1 avec lesquels ledit calculateur C1 est compatible. Le calculateur C2 est compatible avec des deuxièmes formats de données F2 et l’interface I2 dudit calculateur C2 supporte des deuxièmes protocoles P2. Les formats de données F2 et les protocoles P2 sont décrits dans des deuxièmes documents ICD2 de spécification d’interface. Comme pour les documents ICD1, chaque document ICD2 est défini par un identifiant Id2 unique qui comprend une référence Ref2 accompagnée d’un indice de version Ver2 et d’un indice de révision Rev2 correspondant à un état donné d’une évolution du contenu du document ICD2. Sur la figure 1, les identifiants Id2 et leurs composants (référence Ref2, indice de version Ver2, indice de révision Rev2) sont distingués par l’adjonction de la lettre « j ». Une incrémentation de l’indice de révision Rev2 représente une évolution mineure du contenu du document ICD2 concerné, de sorte que le ou les deuxièmes formats de données F2 définis par le document ICD2 dont l’indice de révision Rev2 a été incrémenté restent compatibles avec celui ou ceux définis par l’indice de révision Rev2 précédent. Lors d’une incrémentation de l’indice de révision Rev2, l’indice de version Ver2 reste inchangé. Une incrémentation de l’indice de version Ver2 représente une évolution majeure du contenu du document ICD2 concerné, de sorte que le ou les deuxièmes formats de données F2 définis par le document ICD2 dont l’indice de version Ver2 a été incrémenté sont incompatibles avec celui ou ceux définis par l’indice de version Ver2 précédent. Lors d’une incrémentation de l’indice de version Ver2, l’indice de révision Rev2 est réinitialisé. Les identifiants Id2 des documents ICD2 sont stockés dans une mémoire M2 du calculateur C2 et forment une deuxième information de compatibilité représentative des deuxièmes formats de données F2 avec lesquels ledit calculateur C2 est compatible. Selon un mode de réalisation particulier de l’invention illustré à la figure 1, les premier et deuxième calculateurs C1, C2 effectuent une séquence d’opérations pour s’assurer que des données D de fonctionnement de l’aéronef transmises par le premier calculateur C1 au deuxième calculateur sont dans un format compatible avec ledit deuxième calculateur C2. Lors d’une première étape 10 d’initialisation de communication, le premier calculateur C1 envoie au deuxième calculateur C2 l’ensemble des premiers identifiants Id1 des documents de spécification de l’interface I1. Le deuxième calculateur C2 compare ensuite les premiers identifiants Id1 envoyés par le premier calculateur C1 avec les deuxièmes identifiants Id2 des documents de spécification de l’interface I2 et élabore une liste desdits premiers identifiants Id1 qui sont identiques aux deuxièmes identifiants Id2 ou qui sont compatibles avec lesdits deuxièmes identifiants Id2 (étape 20), c’est-à-dire que : l’un des premiers identifiants Id1 et l’un des deuxièmes identifiants Id2 renvoient à la même révision de la même version d’un même document ; l’un des premiers identifiants Id1 et l’un des deuxièmes identifiants Id2 renvoient à deux révisions différentes mais compatibles d’une même version d’un même document ; l’un des premiers identifiants Id1 et l’un des deuxièmes identifiants Id2 renvoient à deux versions différentes mais compatibles d’un même document. ; l’un des premiers identifiants Id1 et l’un des deuxièmes identifiants Id2 renvoient à deux documents différents mais qui seraient compatibles entre eux. Si la liste élaborée par le deuxième calculateur C2 est vide ou ne garantit pas un niveau de compatibilité suffisant, ledit deuxième calculateur C2 émet un signal d’alerte (étape 25) signifiant à l’opérateur de maintenance ou à un organisme de gestion de bon fonctionnement que le système formé par les premier et deuxième calculateurs C1, C2 n’est pas opérationnel. Le niveau de compatibilité est par exemple déterminé à partir du nombre d’identifiants Id1 que comprend la liste ou de la présence dans ladite liste d’un ou plusieurs identifiants Id1 prédéterminés. Si la liste élaborée par le deuxième calculateur C2 est non vide et garantit un niveau de compatibilité suffisant, ledit deuxième calculateur C2 envoie au premier calculateur C1 ladite liste (étape 30) et émet un signal d’alerte (étape 25) signifiant à l’opérateur de maintenance ou à l’organisme de gestion de bon fonctionnement que le système formé par les premier et deuxième calculateurs C1, C2 est opérationnel. Sur la figure 1, les identifiants Id1 composants la liste sont distingués par l’adjonction de la lettre « x ». Le premier calculateur C1 sélectionne ensuite l’un des premiers identifiants Id1 renvoyés par le deuxième calculateur C2, par exemple celui qu’il considère le plus optimal, et transmet les données D de fonctionnement de l’aéronef dans le format de données F1 décrit dans le document ICD1 correspondant au premier identifiant Id1 sélectionné (étape 40). Les premier et deuxième calculateurs C1, C2 ont ainsi échangés entre eux des informations de compatibilité permettant audit premier calculateur C1 d’envoyer les données D dans un format compatible avec ledit deuxième calculateur C2. Ces informations peuvent aussi être utilisés par le deuxième calculateur C2 pour envoyer, en retour au premier calculateur C1, d’autres données de fonctionnement dans un format compatible avec ledit premier calculateur C1. Un tel procédé permet également aux premier et deuxième calculateurs C1, C2 de détecter automatiquement et de façon autonome des incompatibilités entre eux, et donc d’ajouter une vérification automatique de compatibilité en accord avec les contraintes de qualité en développement des calculateurs critiques. Qui plus est, la mise en œuvre d’un tel procédé de gestion s’avère simple, généralisable à tout équipement électronique et évolutive. Par ailleurs, il possible avec un tel procédé de gestion des compatibilités, de réaliser des calculateurs capables d’adapter leur fonction d’acquisition ou de décodage de données en fonction des informations de compatibilités échangées. Les premiers et deuxièmes identifiants Id1, Id2 peuvent par exemple être des identifiants de la norme avec laquelle sont conformes les bus informatiques utilisés pour véhiculer des données entre les deux calculateurs C1, C2, telle que « ARINC 615-3 », « ARINC 664_part 7 », « ARINC 739A » … Comme illustré à la figure 1, il peut être envisagé que le premier calculateur C1 envoie, en plus des premiers identifiants Id1 des documents ICD1 de spécification de l’interface I1, un paramètre supplémentaire, ici noté « Param1 », représentatif d’un canal de communication de ladite interface I1. Ce paramètre supplémentaire Param1 permettrait notamment une gestion des compatibilités sur chacun des canaux de communication des interfaces I1, I2. Une telle gestion des compatibilités conviendrait notamment aux architectures d’aéronef basées sur la norme « ARINC 664 part7 ». Afin de rendre encore plus précis la gestion des compatibilités entre les calculateurs C1, C2, il peut également être envisagé que le premier calculateur C1 envoie, en plus de la référence Ref1, de l’indice de version Ver1 et de l’indice de révision Rev1, un indicateur Chap1 représentatif d’un chapitre des premiers documents ICD1. Cet indicateur permettrait une gestion des compatibilités sur chaque trame de chacun des canaux de communication des interfaces I1, I2. Une telle gestion des compatibilités conviendrait notamment aux architectures d’aéronef basées sur la norme « ARINC 664 part7 ». Il est aussi possible d’ajouter un champ additionnel aux identifiants pour : indiquer qu’un calculateur est un prototype qui est utilisé pour des essais dans un laboratoire et qui donc ne doit pas être monté dans l’aéronef ; et/ou indiquer la présence d’un bug tel que la déviance d’une ou plusieurs données de leur spécification ou de leurs contraintes de transmission. Bien entendu, l’invention n’est pas limitée aux modes de réalisation décrits mais englobe toute variante entrant dans le champ de l’invention telle que définie par les revendications. Bien qu’ici soient utilisés les identifiants de documents de spécification d’interface, d’autres types d’identifiants peuvent être utilisés du moment qu’ils permettent d’identifier de façon unique les spécifications des interfaces entre les calculateurs auxquels ils se rapportent. Bien qu’ici le procédé s’applique à deux calculateurs d’aéronef, il peut s’appliquer à tous équipements échangeant des données. Procédé de gestion de compatibilité entre un premier équipement (C1) et un deuxième équipement (C2), le premier équipement ayant une interface de communication (I1) reliée à une interface de communication (I2) du deuxième équipement, et le premier équipement étant compatible avec des premiers formats (F1) de données et le deuxième équipement étant compatible avec au moins un deuxième format (F2) de données, caractérisé en ce que le procédé comprend les étapes suivantes : Envoi (10), au deuxième équipement par le premier équipement, d’au moins une première information de compatibilité (Id1) représentative des premiers formats de données ; élaboration (20) par le deuxième équipement d’au moins une deuxième information de compatibilité identifiant au moins un des premiers formats compatibles avec le deuxième format ; et détermination par le deuxième équipement d’un niveau de compatibilité avec le premier équipement à partir de la deuxième information de compatibilité. Procédé de gestion selon la revendication 1, comprenant l’émission (25) par le deuxième équipement (C2) d’un signal d’alerte caractérisant le niveau de compatibilité déterminé par ledit deuxième équipement. Procédé de gestion selon l’une quelconque des revendications précédentes, comprenant les étapes suivantes : envoi (30) par le deuxième équipement de la deuxième information de compatibilité au premier équipement (C1) ; et envoi (40) par le premier équipement de données (D) dans un des premiers formats (F1) identifiés par la deuxième information de compatibilité. Procédé de gestion selon l’une quelconque des revendications précédentes, dans lequel les première et deuxième informations de comptabilité comprennent des identifiants (Id1) de documents de spécification de l’interface (ICD1) du premier équipement (C1). Procédé de gestion selon la revendication 4, dans lequel les documents de spécification de l’interface (ICD1) comprennent des normes définissant un protocole de communication. Procédé de gestion selon la revendication 4 ou 5, dans lequel les identifiants (Id1) comprennent une référence (Ref1) accompagnée d’un indice de version (Ver1) et d’un indice de révision (Rev1). Procédé de gestion selon la revendication 6, dans lequel les première et deuxième informations de comptabilité comprennent un paramètre supplémentaire (Param1) représentatif d’un canal de communication de l’interface du premier équipement. Procédé de gestion selon la revendication 6 ou 7, dans lequel les identifiants (Id1) comprennent en outre un indicateur de chapitre (Chap1). Procédé de gestion selon l’une quelconque des revendications précédentes, dans lequel les premier et deuxième équipements (C1, C2) sont des calculateurs embarqués dans un aéronef. Ensemble d’équipements électroniques agencés pour mettre en œuvre le procédé de gestion selon l’une quelconque des revendications précédentes.