Brevet FR2927435A1 — publié le 20090814

La présente invention concerne généralement les opérations de maintenance sur les aéronefs et plus particulièrement un procédé et un dispositif améliorés pour les opérations de diagnostic et de maintenance adaptés à synthétiser de façon performante des données de diagnostic issues de différents éléments. La maintenance de premier niveau des aéronefs, c'est-à-dire l'ensemble des interventions directes (ne prenant pas en compte les réparations en atelier), est constituée principalement des actions curatives visant à remplacer ou à réparer des composants défaillants de l'aéronef ou des composants en cours de dégradation, des inspections planifiées, généralement périodiques, et des actions préventives telles que le remplacement des équipements à durée de vie limitée. Les actions curatives reposent en particulier sur la connaissance de l'état de l'aéronef qui est notamment obtenue par les rapports des équipages, les systèmes embarqués de diagnostic et les inspections réalisées durant les visites planifiées. Les systèmes embarqués de diagnostic ont une architecture à double niveau comprenant d'une part une analyse locale des principaux systèmes des aéronefs et, d'autre part, une analyse centralisée permettant d'effectuer une synthèse des informations issues des analyses locales. Ainsi, chaque système majeur d'un aéronef est doté d'un équipement intégré de test et de diagnostic appelé BITE (acronyme de Built-ln Test Equipment en terminologie anglo-saxonne), qui détecte les événements anormaux, les confirme et élabore un diagnostic local. Ces informations sont transmises à un système de maintenance centralisé appelé CMS (sigle de Centralized Maintenance System en terminologie anglo-saxonne) qui filtre ces données et les corrèle. Dans les architectures actuelles, les résultats de diagnostic élaboré par les équipements intégrés de test et de diagnostic sont généralement des accusations, c'est-à-dire des indications de défaillances détectées ou potentielles exprimées sous forme logique. Les formules logiques utilisées comprennent une ou plusieurs références à des composants, notamment des composants remplaçables tels que des LRUs (sigle de Line Replaceable Unit en terminologie anglo-saxonne). S'il est fait référence à plusieurs composants, ceux-ci sont généralement reliés par des opérateurs logiques tels que ET et OU permettant de donner une indication sur le ou les composants défaillants ou susceptibles de l'être. Par exemple, l'expression � ISOL VALVECAX,AFT(310HU2) / CTL MODULE-VENT AFT(102HG1) � indique qu'une valve ou un module de contrôle est en panne. Dans certaines architectures de maintenance, les résultats de diagnostic sont transmis intégralement par les équipements intégrés de test et de diagnostic. Dans d'autres architectures, seul un code est transmis au système de maintenance centralisé. Une base de connaissances sur les défaillances est alors utilisée pour élaborer, au niveau central, le ou les diagnostics possibles de l'événement détecté. Les résultats de diagnostic transmis par les équipements intégrés de test et de diagnostic, généralement sous forme de messages, sont souvent datés (par les BITES ou par le CMS) : chaque message est associé à une date d'apparition et, éventuellement, à une date de disparition. Dans un scénario classique, la date d'apparition du message est légèrement postérieure à la date d'occurrence de la panne et la date de disparition correspond à la date de réparation de la panne. Pour limiter le nombre de messages à traiter, les messages reçus par le système de maintenance centralisé peuvent être filtrés. Les filtrages effectués aujourd'hui par le système de maintenance centralisé consistent généralement à supprimer les messages intempestifs, considérés comme non fiables. Le filtrage est en particulier basé sur le type de défaillance détectée et la phase de vol. De plus, une corrélation consistant à regrouper les messages liés à la même cause et à lier les messages de maintenance aux symptômes observés par les pilotes est mise en oeuvre. Cependant, les systèmes d'aide au diagnostic étant de plus en plus fortement interconnectés et devenant de plus en plus complexes, la corrélation est rendue de plus en plus difficile. Par exemple, une même panne peut être vue par de nombreux équipements intégrés de test et de diagnostic. De plus, en raison de la multiplication des capteurs utilisés, de la complexification des mesures réalisées et de l'augmentation des puissances de calculs, le nombre et la variété des messages générés par les équipements intégrés de test et de diagnostic ont considérablement augmenté. Par conséquent, si les diagnostics peuvent être affinés, ils sont plus difficiles à appréhender. Ainsi, malgré les fonctions de filtrage des messages intempestifs, les 15 fonctions de corrélation doivent considérer un nombre élevé de messages, posant des problèmes de performance. L'invention permet de résoudre au moins un des problèmes exposés précédemment. L'invention a ainsi pour objet un procédé de filtrage de messages de 20 diagnostic dans un système comprenant une pluralité d'éléments, chaque élément de ladite pluralité d'éléments comprenant des moyens de diagnostic adaptés à détecter une défaillance et à transmettre un message comprenant au moins une indication relative à au moins une défaillance détectée, l'état d'au moins certains éléments de ladite pluralité d'éléments étant représenté par un 25 modèle d'état, ce procédé comprenant les étapes suivantes, - réception d'au moins un message de défaillance ; - filtrage dudit au moins un message reçu selon ladite au moins une indication relative à ladite au moins une défaillance détectée, contenue dans ledit au moins un message reçu, et selon ledit modèle d'état ; et, 30 - en réponse à ladite étape de filtrage, ^ mise à jour dudit modèle d'état selon ladite au moins une indication relative à ladite au moins une défaillance détectée contenue dans ledit au moins un message reçu ; ou, ^ rejet dudit au moins un message reçu. Le procédé selon l'invention permet ainsi de filtrer les messages reçus, considérés comme valides, mais dont le contenu n'est pas jugé pertinent. Selon un mode de réalisation particulier, au moins l'un desdits messages de défaillance comprend en outre au moins une indication relative à l'instant auquel la défaillance correspondante a été détectée ou est survenue, ladite étape de filtrage prenant en compte ladite au moins une indication relative audit instant. Le procédé selon l'invention permet ainsi de filtrer plus précisément les messages reçus en tenant compte de la nature de la défaillance détectée et de l'instant auquel elle a été détectée ou de l'instant auquel elle est survenue. De façon avantageuse, une étape de ladite étape de filtrage consiste à déterminer si ladite au moins une indication relative à ladite au moins une défaillance détectée, contenue dans ledit au moins un message reçu, est au moins implicitement contenue dans ledit modèle d'état. Ainsi, un message est considéré comme pertinent s'il contient une information non explicitement contenue dans le modèle d'état ou non dérivable de celui-ci. De préférence, ledit modèle d'état est représenté au moins partiellement sous forme d'une combinaison logique d'indications relatives à au moins une défaillance détectée et ladite étape de filtrage met en oeuvre un mécanisme de logique propositionnelle. De façon avantageuse, ledit au moins un message reçu comprend au moins une référence à l'élément ayant transmit ledit au moins un message reçu et ladite étape de filtrage comprend une étape d'analyse dudit au moins un message reçu pour déterminer la validité dudit message reçu, ladite étape d'analyse étant basée sur ladite au moins une référence et sur au moins un paramètre dudit système. Le procédé selon l'invention permet ainsi de filtrer les messages non valides et les messages non pertinents. Toujours selon un mode de réalisation particulier, le procédé comprend en outre une étape de décodage desdits messages reçus, ladite étape de décodage étant adaptée à décoder ladite au moins une indication relative à au moins une défaillance détectée dudit au moins un message reçu en une indication de défaillance exploitable par ladite étape de filtrage. Avantageusement, le procédé comprend en outre une étape de corrélation des informations dudit modèle d'état qui comprend elle-même, de préférence, une étape de corrélation des informations dudit modèle d'état avec des données issues d'un système d'alarme. L'invention a également pour objet un dispositif comprenant des moyens adaptés à la mise en oeuvre de chacune des étapes du procédé décrit précédemment ainsi qu'un aéronef comprenant un tel dispositif. D'autres avantages, buts et caractéristiques de la présente invention ressortent de la description détaillée qui suit, faite à titre d'exemple non limitatif, 15 au regard des dessins annexés dans lesquels : - la figure 1 illustre un exemple d'architecture d'un système centralisé de maintenance adapté à la mise en oeuvre d'un procédé conforme à l'invention pour évaluer un critère de pertinence des messages de maintenance ; 20 - la figure 2 illustre un exemple d'architecture simplifiée d'un système formé de plusieurs éléments, un équipement intégré de test et de diagnostic étant associé à chacun de ces éléments, et un système de maintenance centralisé auquel sont reliés tous les équipements intégrés de test et de diagnostic ; et, 25 - la figure 3 montre un exemple de dispositif permettant d'implémenter au moins partiellement l'invention. Dans la description qui suit, les opérateurs de logique propositionnelle suivants sont utilisés, A représente la conjonction "et" ; 30 v représente la disjonction "ou" ; et, représente l'implication matérielle. Les propositions sont représentées par des lettres majuscules (A, B, ...) éventuellement indicées. Les minuscules (t, u,...) représentent des instants. Les intervalles de temps sont désignés par les lettres I et J, éventuellement indicées. Les messages transmis par les équipements intégrés de test et de diagnostic sont ici de la forme (F, I) où F est une proposition logique pouvant être vraie ou fausse à chaque instant et I est un intervalle de temps. Le message (F, I) signifie: "F est vraie pour tout instant t appartenant à l'intervalle I (t e I)"). Selon l'invention, tous les messages n'apportant aucune information supplémentaire sont filtrés selon le principe de raisonnement logico-temporel suivant en considérant que les informations (F1, I1), (F2, 12), ..., (Fn, In) ont été préalablement reçus. Le message (F, I) est considéré comme non pertinent si il est une implication logique d'autres messages reçus. Ainsi, formellement, le message (F, I) est ignoré si, b t E 1, {(G1, J1), ..., (Gk, Jk)} c {(F1, I1), ..., (Fn, In)} telquetE J1n...nJketGlA...AGk=F En d'autres termes, quel que soit l'instant t appartenant à I, il existe des messages (G;, J;) inclus dans la liste de messages (Fi, Ii) tel que l'instant t appartient à l'union des intervalles Jj et que l'ensemble des propositions G; implique la proposition F. En effet, selon la relation précédente, la connaissance de la nouvelle information (F, I) n'apporte aucune information supplémentaire à aucun instant de l'intervalle considéré. La figure 1 illustre un exemple d'architecture d'un système centralisé de maintenance 100 adapté à la mise en oeuvre d'un procédé conforme à l'invention pour évaluer un critère de pertinence dans le cas particulier des messages de maintenance. Le système centralisé de maintenance 100, implémenté dans un aéronef (non représenté), est relié à plusieurs équipements intégrés de test et de diagnostic 105-1 à 105-n, eux-mêmes associés aux principaux systèmes de l'aéronef. Plus précisément, chaque équipement intégré de test et de diagnostic, référencé de façon générique 105, est relié à un module de filtrage 110 des messages intempestifs du système centralisé de maintenance 100. Le filtrage des messages intempestifs vise à supprimer certains messages issus des équipements intégrés de test et de diagnostic particuliers, pour certaines phases de vol prédéterminées. Le filtrage est ici réalisé de façon classique à l'aide d'une base de données 115 de filtrage. Les messages considérés comme erronés sont supprimés tandis que les messages considérés comme valides sont transmis à un module de décodage 120. Les messages considérés comme valides sont réputés exacts, c'est-à-dire que les défaillances signalées se sont a priori effectivement produites et que les raisons invoquées sont supposées correctes. Alternativement, les messages considérés comme erronés peuvent être mémorisés dans une base de données locale pour être analysés ultérieurement et ignorés par le système centralisé de maintenance. Le module de décodage 120 permet d'expliciter les codes reçus dans les messages émis par les équipements intégrés de test et de diagnostic. En effet, dans un souci de concision, les références des composants ne sont pas citées dans leur intégralité dans les messages. Des codes, appelés codes composants, sont utilisés. Les conditions de défaillance sont également généralement remplacées, dans les messages, par des références. Ainsi, les codes reçus peuvent être de deux types : les codes composants permettant d'identifier des composants et les codes représentant des références à des conditions de défaillance prédéfinies. Les codes composants sont ici mémorisés dans une base de données 125 tandis que les conditions de défaillance et leurs références sont mémorisées dans une base de données 130. Il convient néanmoins de remarquer que, de façon complémentaire ou alternative, les conditions de défaillances peuvent être transmises directement dans les messages. De même, les codes composants peuvent être remplacés ou complétés par une description des composants. Le module de décodage 120 permet donc de remplacer les codes utilisés dans les messages par les références des composants et par les conditions de défaillance. Les messages décodés dans le module de décodage 120 sont transmis au module de filtrage par pertinence 135 qui est adapté à détecter les messages qui n'apportent aucune information nouvelle concernant l'état du système afin que de tels messages ne soient pas pris en considération. L'état courant du système, mémorisé dans le système centralisé de maintenance, est défini par un modèle d'état courant qui résulte des connaissances accumulées au cours du temps provenant des messages reçus. Le modèle d'état courant, appelé modèle courant, est avantageusement élaboré par une fonction d'interprétation qui incorpore au modèle courant l'ensemble des messages considérés comme vrais et pertinents. Ainsi, pour déterminer si un message est pertinent, le module de 15 filtrage par pertinence compare le contenu des messages reçus et décodés avec le modèle courant. Les messages non pertinents sont supprimés ou mémorisés dans une base de données locale pour être analysés ultérieurement et ignorés par le système centralisé de maintenance. 20 Les messages pertinents, utilisés par un module d'interprétation 140 pour mettre à jour le modèle courant, sont transmis à un module de corrélation 145. Le module de corrélation 145 est adapté à regrouper les messages de maintenance résultant de causes identiques. Le module de corrélation 145 25 est également adapté à associer les messages de maintenance avec les symptômes observables rapportés par un système d'alarme 150 à l'aide de règles prédéterminées. Il convient de remarquer ici que l'objet des systèmes de maintenance en ligne est essentiellement de diagnostiquer les problèmes rapportés par 30 l'équipage. C'est la raison pour laquelle les messages de maintenance sont corrélés avec les symptômes observables tels que les alarmes et les indications affichées dans le cockpit. Les modules de filtrage 110 des messages intempestifs, de décodage 120 et de corrélation 145 sont avantageusement les modules couramment mis en oeuvre dans les aéronefs actuellement en service. Par conséquent, la présente description vise principalement les modules de filtrage par pertinence 135 et d'interprétation 140 ainsi que la combinaison de ces modules avec les modules de filtrage 110 des messages intempestifs, de décodage 120 et de corrélation 145. Comme indiqué précédemment, une information de maintenance est avantageusement une affirmation d'une condition de défaillance d'un composant de l'aéronef pendant un intervalle de temps. La structure suivante, utilisant la notation BNF (sigle de Backus-Naur Form en terminologie anglo-saxonne), peut être utilisée pour représenter les informations de maintenance, ::= "(" "; " ')" ::= 1 "(" ')" 1 'V' 1 "n" ::= 1 ::= nom valide non ambigu de composant de l'aéronef ::= état ::= "(" "; " 'r ::= notation valide non ambiguë de date et d'heure Ainsi, selon cet exemple, une condition de défaillance est déterminée par une règle portant sur une combinaison de conditions de défaillances élémentaires, chaque défaillance élémentaire étant déterminée par l'état d'un composant. Un intervalle de temps est ici défini par deux instants correspondant au début et à la fin de l'intervalle. Selon un mode de réalisation particulier, le modèle courant est constitué d'une suite croissante d'instants t1 à tn et d'un ensemble d'informations conformes à la syntaxe précédente, définis sur chaque intervalle formé de deux instants consécutifs. En d'autres termes, le modèle contient une formule logique décrivant l'état du système pour chaque intervalle [tn, tn+1[. Ainsi, le modèle courant, appelé M, peut être noté de la façon suivante, M = Fn_1}) tel que les instants t; forment une suite croissante d'instants et que l'information (F;, [t;, t;+1[) est une information de maintenance vraie. Il est ici admis que la fonction mod(M, t), définie sur l'intervalle [t1, tn[ permet de déterminer l'information vraie à l'instant t selon le modèle courant M. Ainsi, si l'instant t est compris entre les instants t; et t;+1, alors la fonction mod(M, t) permet de déterminer l'information F; (t; t La procédure de mise à jour du modèle courant M = ({t1,..., tn}, Fn_1}) lorsqu'une nouvelle information pertinente (Fu, [ul, u2[) est reçue consiste à construire un modèle courant M'. Il est supposé que t; Il peut être remarqué que l'exemple utilise des intervalles ouverts à droite signifiant que la formule logique associée est vraie jusqu'à l'instant courant. Le tableau suivant résume l'évolution du système représenté sur la figure 2 selon les hypothèses formulées précédemment, Temps Détecteur Information nouvelle Modèle courant 0 {], {} D A v B v C, [5, +oo[ {5, +~}, {AvBvC} E B, [10, +oc[ {5, 10, +oo}, {AvBvC, B} C A v B, [15, +oo[ {5, 10, +oo}, {AvBvC, B} Un dispositif adapté à mettre en oeuvre l'invention ou une partie de l'invention est illustré sur la figure 3. Le dispositif 300 est par exemple un 5 calculateur ou un micro-ordinateur. Le dispositif 300 comporte ici un bus de communication 302 auquel sont reliés : - une unité centrale de traitement ou microprocesseur 303 (CPU, Central Processing Unit) ; 10 - une mémoire morte 304 (ROM, acronyme de Read Only Memory en terminologie anglo-saxonne) pouvant comporter les programmes "Prog", "Prog1" et "Prog2" ; - une mémoire vive ou mémoire cache 306 (RAM, acronyme de Random Access Memory en terminologie anglo-saxonne) comportant des 15 registres adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution des programmes précités ; et, - une interface de communication 318 adaptée à transmettre et à recevoir des données. Optionnellement, le dispositif 300 peut également disposer : -d'un écran 308 permettant de visualiser des données et/ou de servir d'interface graphique avec l'utilisateur qui pourra interagir avec les programmes selon l'invention, à l'aide d'un clavier et d'une souris 310 ou d'un autre dispositif de pointage, un écran tactile ou une télécommande ; - d'un disque dur 312 pouvant comporter les programmes "Prog", "Prog1" et "Prog2" précités et des données traitées ou à traiter selon l'invention ; et, - d'un lecteur de cartes mémoires 314 adapté à recevoir une carte mémoire 316 et à y lire ou à y écrire des données traitées ou à traiter selon l'invention. Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans le dispositif 300 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément du dispositif 300 directement ou par l'intermédiaire d'un autre élément du dispositif 300. Le code exécutable de chaque programme permettant au dispositif programmable de mettre en oeuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur 312 ou en mémoire morte 304. Selon une variante, la carte mémoire 316 peut contenir des données, notamment des clés de chiffrement, ainsi que le code exécutable des programmes précités qui, une fois lu par le dispositif 300, est stocké dans le disque dur 312. Selon une autre variante, le code exécutable des programmes pourra être reçu, au moins partiellement, par l'intermédiaire de l'interface 318, pour être stocké de façon identique à celle décrite précédemment. De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif 300 avant d'être exécutés. L'unité centrale 303 va commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 312 ou dans la mémoire morte 304 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple le disque dur 312 ou la mémoire morte 304, sont transférés dans la mémoire vive 306 qui contient alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention. Il convient de noter que l'appareil de communication comportant le dispositif selon l'invention peut également être un appareil programmé. Cet appareil contient alors le code du ou des programmes informatiques par exemple figé dans un circuit intégré à application spécifique (ASIC). Naturellement, pour satisfaire des besoins spécifiques, une personne compétente dans le domaine de l'invention pourra appliquer des modifications dans la description précédente. En particulier, bien que l'invention ait été plus particulièrement présentée dans le domaine des aéronefs, il convient de noter que de façon plus générale celle-ci peut être mise en oeuvre dans de nombreux domaines techniques similaires notamment dans les véhicules automobiles et les bateaux. REVENDICATIONS 1. Procédé de filtrage de messages de diagnostic dans un système comprenant une pluralité d'éléments, chaque élément de ladite pluralité d'éléments comprenant des moyens (105-1 à 105-n) de diagnostic adaptés à détecter une défaillance et à transmettre un message comprenant au moins une indication relative à au moins une défaillance détectée, l'état d'au moins certains éléments de ladite pluralité d'éléments étant représenté par un modèle d'état, ce procédé étant caractérisé en ce qu'il comprend les étapes suivantes, - réception d'au moins un message de défaillance ; -filtrage (135) dudit au moins un message reçu selon ladite au moins une indication relative à ladite au moins une défaillance détectée, contenue dans ledit au moins un message reçu, et selon ledit modèle d'état ; et, -en réponse à ladite étape de filtrage, ^ mise à jour (140) dudit modèle d'état selon ladite au moins une indication relative à ladite au moins une défaillance détectée contenue dans ledit au moins un message reçu ; ou, ^ rejet dudit au moins un message reçu. 2. Procédé selon la revendication 1 selon lequel au moins l'un desdits messages de défaillance comprend en outre au moins une indication relative à l'instant auquel la défaillance correspondante a été détectée ou est survenue, ladite étape de filtrage prenant en compte ladite au moins une indication relative audit instant. 3. Procédé selon la revendication 1 ou la revendication 2 selon lequel une étape de ladite étape de filtrage consiste à déterminer si ladite au moins une indication relative à ladite au moins une défaillance détectée, contenue dans ledit au moins un message reçu, est au moins implicitement contenue dans ledit modèle d'état. 4. Procédé selon l'une quelconque des revendications précédentes selon lequel ledit modèle d'état est représenté au moins partiellement sous forme d'une combinaison logique d'indications relatives à au moins une défaillance détectée et selon lequel ladite étape de filtrage met en oeuvre un mécanisme de logique propositionnelle. 5. Procédé selon l'une quelconque des revendications précédentes selon lequel ledit au moins un message reçu comprend au moins une référence à l'élément ayant transmit ledit au moins un message reçu et selon lequel ladite étape de filtrage comprend une étape d'analyse (110) dudit au moins un message reçu pour déterminer la validité dudit message reçu, ladite étape d'analyse étant basée sur ladite au moins une référence et sur au moins un paramètre dudit système. 6. Procédé selon l'une quelconque des revendications précédentes comprenant en outre une étape de décodage (120) desdits messages reçus, ladite étape de décodage étant adaptée à décoder ladite au moins une indication relative à au moins une défaillance détectée dudit au moins un message reçu en une indication de défaillance exploitable par ladite étape de filtrage. 7. Procédé selon l'une quelconque des revendications précédentes comprenant en outre une étape de corrélation (145) des informations dudit modèle d'état. 8. Procédé selon la revendication précédente selon lequel ladite étape de corrélation comprend une étape de corrélation des informations dudit modèle d'état avec des données issues d'un système d'alarme. 9. Dispositif comprenant des moyens adaptés à la mise en oeuvre de chacune des étapes du procédé selon l'une quelconque des revendications précédentes. 10. Aéronef comprenant le dispositif selon la revendication 9.