Brevet FR3113747A1 — publié le 20220304

Système électronique pour la mise en œuvre d’une fonction critique et procédé associé L’invention concerne un système (10) propre à mettre en œuvre une fonction critique et comprenant : - un premier module (14) configuré pour calculer une première donnée intermédiaire (S1A) en fonction d’une première donnée d’entrée (A) et d’un premier algorithme d’apprentissage automatique ou évolutionnaire, - un deuxième module (16) configuré pour calculer une deuxième donnée intermédiaire (S1B) en fonction d’une deuxième donnée d’entrée (B) et du premier algorithme, - un troisième module (18) configuré pour calculer une troisième donnée intermédiaire (S2A) en fonction de la première donnée d’entrée et d’un deuxième algorithme, - un quatrième module (20) configuré pour calculer une quatrième donnée intermédiaire (S2B) en fonction de la deuxième donnée d’entrée et du deuxième algorithme, - un module de surveillance (22) configuré pour comparer deux à deux les données intermédiaires afin de détecter au moins une éventuelle incohérence. Figure pour l'abrégé : Figure 1 Système électronique pour la mise en œuvre d’une fonction critique et procédé associé La présente invention concerne un système électronique configuré pour mettre en œuvre une fonction critique. L’invention concerne également un procédé de mise en œuvre d’une fonction critique par un tel système électronique. L’invention concerne également un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un tel procédé. Le système électronique est notamment embarqué dans une installation ou dans un appareil. L’appareil est de préférence un véhicule, tel qu’un véhicule aérien, en particulier un aéronef, un véhicule ferroviaire ou véhicule automobile. En variante, l’installation est par exemple une usine chimique ou une centrale électrique. En particulier, l’invention concerne la mise en œuvre de fonctions critiques, c’est-à-dire qui sont critiques pour la sécurité de l’appareil ou de l’installation. Les commandes de pilotage du véhicule, telles que les commandes de vol d’un aéronef, le système de freinage du véhicule, l’arrêt d’urgence d’une usine chimique ou d’une centrale électrique sont des exemples de telles fonctions critiques. Dans le domaine avionique, une fonction critique est par exemple définie par la norme ARP-4754A ( Aerospace Recommended Practice en anglais). Par mise en œuvre d’une fonction critique, on entend la réalisation d’un ou plusieurs calculs permettant de générer au moins une donnée de sortie associée à cette fonction critique, à partir d’au moins une donnée d’entrée. Afin d’assurer la sécurité de l’appareil ou de l’installation, il est ainsi nécessaire de s’assurer que la mise en œuvre de la fonction critique s’effectue sans défaillance. En particulier, une telle fonction critique est de manière conventionnelle associée à un domaine d’usage de sécurité définissant une plage de valeurs autorisées pour la donnée de sortie associée à cette fonction critique. Une donnée de sortie hors de la plage de valeurs autorisées sera refusée et une alerte sera émise. Dans le domaine avionique, ces limites sont par exemple des limites maximale et minimale d’altitude de l’aéronef à ne pas dépasser, une limite de vitesse ascensionnelle de l’aéronef, une puissance maximale du moteur de l’aéronef, etc. On connait des méthodes d’apprentissage automatique associées à une base de données qui permettent d’améliorer les performances de la mise en œuvre de la fonction critique. Toutefois, ces algorithmes présentent des vulnérabilités, telles que des exemples adversaires, qui affectent en cause la sécurité du système électronique. Un exemple adversaire est une donnée d’entrée pour lequel le résultat associé est différent du résultat associé à une autre donnée d’entrée voisine. L’exemple adversaire est donc un cas particulier problématique pour la méthode d’apprentissage automatique. En effet, une légère variation de la donnée d’entrée devrait aboutir à une prédiction semblable si la méthode était suffisamment robuste. Par exemple, le fait de modifier la luminosité d’une image ne doit pas modifier les objets identifiés sur l’image. Il existe donc un besoin d’obtenir un système électronique performant tout en étant suffisamment sûr. A cet effet, l’invention a pour objet un système électronique configuré pour mettre en œuvre une fonction critique, le système électronique étant propre à recevoir des première et deuxième données d’entrée et à délivrer une donnée de sortie consolidée associée à ladite fonction critique, le système électronique comprenant : un premier module de traitement configuré pour calculer une première donnée intermédiaire associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée et d’un premier algorithme, le premier algorithme étant un algorithme d’apprentissage automatique entrainé sur une première base de données de référence ou un algorithme évolutionnaire évalué à partir de la première base de données de référence, la première base de données de référence comprenant une pluralité de données de référence représentatives du fonctionnement du système électronique, un deuxième module de traitement configuré pour calculer une deuxième donnée intermédiaire associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée et du premier algorithme, la deuxième donnée d’entrée étant différente de la première donnée d’entrée, un troisième module de traitement configuré pour calculer une troisième donnée intermédiaire associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée et d’un deuxième algorithme, le deuxième algorithme étant différent du premier algorithme, un quatrième module de traitement configuré pour calculer une quatrième donnée intermédiaire associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée et du deuxième algorithme, un module de surveillance configuré pour recevoir les première, deuxième, troisième et quatrième données intermédiaires, puis pour comparer, parmi les première, deuxième, troisième et quatrième données intermédiaires, deux à deux celles qui sont obtenues en fonction de la même donnée d’entrée ou en fonction du même algorithme, afin de détecter au moins une éventuelle incohérence, le module de surveillance étant configuré pour délivrer la donnée de sortie consolidée en fonction des première, deuxième, troisième et quatrième données intermédiaires. Suivants d’autres aspects avantageux de l’invention, le système électronique comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : la donnée de sortie consolidée est déterminée en fonction d’une règle prédéterminée associant, à chaque combinaison de résultats desdites comparaisons entre les données intermédiaires, une unique combinaison de données intermédiaires, la donnée de sortie consolidée étant déterminée à partir de ladite unique combinaison ; - les premier, deuxième, troisième et quatrième modules de traitement sont embarqués chacun sur un calculateur électronique distinct respectif, le calculateur électronique comprenant avantageusement sa propre alimentation électrique et sa propre unité de calcul ; - chaque donnée d’entrée est fournie par un dispositif électronique amont respectif, notamment par un capteur respectif, le système comprenant en outre un module d’alerte configuré pour générer un signal d’alerte en fonction de chaque incohérence détectée par le module de surveillance, le signal d’alerte comportant une alerte relative à la défaillance d’un élément choisi parmi le groupe consistant en : l’un des dispositifs électroniques amonts lorsqu'une incohérence est détectée entre les deux données intermédiaires obtenues en fonction du même algorithme et que les deux données intermédiaires obtenues en fonction de la même donnée d’entrée issue de l’autre dispositif électronique amont sont cohérentes entre elles ; le premier algorithme lorsqu'une incohérence est détectée entre les deux données intermédiaires obtenues en fonction du premier algorithme et que les deux données intermédiaires obtenues en fonction du deuxième algorithme sont cohérentes entre elles ; le deuxième algorithme lorsqu'une incohérence est détectée entre les deux données intermédiaires obtenues en fonction du deuxième algorithme et que les deux données intermédiaires obtenues en fonction du premier algorithme sont cohérentes entre elles, et l’un des calculateurs électroniques lorsqu’une incohérence est détectée à chaque comparaison de la donnée intermédiaire associée audit calculateur électronique avec l’une des autres données intermédiaires ; - le deuxième algorithme est un deuxième algorithme d’apprentissage automatique entrainé sur une deuxième base de données de référence ou un algorithme évolutionnaire évalué à partir de la deuxième base de données de référence, la deuxième base de données de références comprenant une pluralité de données de référence représentatives du fonctionnement du système électronique, le deuxième algorithme étant différent du premier algorithme et/ou la deuxième base de données de référence étant différente de la première base de données de référence ; - le deuxième algorithme est un algorithme de type différent de celui du premier algorithme ; le deuxième algorithme étant de préférence du type choisi parmi le groupe consistant en : un algorithme d’analyse d’images de type localisation et cartographie simultanées ; un algorithme suivant un arbre de décision ; un algorithme de parcours de graphe ; un algorithme de résolution d’équations ; un algorithme sur la base d’un modèle physique; et un algorithme de filtrage, notamment un filtre de Kalman ou un filtre de Wiener ; - le système comprend un module d’inhibition configuré pour inhiber le fonctionnement d’au moins l’un des modules de traitement parmi les premier, deuxième, troisième et quatrième modules de traitement en fonction au moins d’un paramètre de fonctionnement du système électronique ; - le système électronique est un système avionique propre à être embarqué dans un poste de commande d’un aéronef ; - les première et deuxième données d’entrée sont de même type, le type étant choisi parmi le groupe consistant en : une image, un flux vidéo, une mesure d’un ou plusieurs paramètres de fonctionnement du système électronique, des données issues de senseurs, une commande d’un utilisateur du système électronique, un texte issu de notices d’informations ou de reconnaissance vocale ; et - les première et deuxième données d’entrée sont de types différents. L’invention concerne également un procédé de mise en œuvre d’une fonction critique par un système électronique, le système électronique étant propre à recevoir des première et deuxième données d’entrée et à délivrer une donnée de sortie consolidée associée à ladite fonction critique, le procédé comprenant les étapes suivantes : - calcul d’une première donnée intermédiaire associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée et d’un premier algorithme, le premier algorithme étant un algorithme d’apprentissage automatique entrainé sur une première base de données de référence ou un algorithme évolutionnaire évalué à partir de la première base de données de référence, la première base de données de référence comprenant une pluralité de données de référence représentatives du fonctionnement du système électronique, - calcul d’une deuxième donnée intermédiaire associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée et du premier algorithme, la deuxième donnée d’entrée étant différente de la première donnée d’entrée, - calcul d’une troisième donnée intermédiaire associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée et d’un deuxième algorithme, le deuxième algorithme étant différent du premier algorithme, - calcul d’une quatrième donnée intermédiaire associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée et du deuxième algorithme, - réception des première, deuxième, troisième et quatrième données intermédiaires, - comparaison, parmi les première, deuxième, troisième et quatrième données intermédiaires, deux à deux de celles qui sont obtenues en fonction de la même donnée d’entrée ou en fonction du même algorithme, afin de détecter au moins une éventuelle incohérence, et - délivrance de la donnée de sortie consolidée en fonction des première, deuxième, troisième et quatrième données intermédiaires. L’invention a également pour objet un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un procédé tel que défini ci-dessus. Ces caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels : la figure 1 est une représentation schématique d’un système électronique selon l’invention, et la figure 2 est un organigramme d’un procédé, selon l’invention, de mise en œuvre d’une fonction critique par le système électronique de la figure 1. Un système électronique 10 est représenté sur la figure 1. Le système électronique 10 est configuré pour mettre en œuvre au moins une fonction critique. Dans l’exemple de la figure 1, le système électronique 10 est embarqué dans un aéronef. L’aéronef est typiquement un avion, un hélicoptère, ou encore un drone. Autrement dit, l’aéronef est un engin volant pilotable par un pilote via un poste de commande, le poste de commande étant disposé à l’intérieur de l’aéronef ou bien à distance de l’aéronef, notamment dans le cas d’un drone. Dans cet exemple, le système électronique 10 est alors un système avionique configuré pour mettre en œuvre une fonction critique avionique. La fonction critique avionique est alors typiquement choisie dans le groupe consistant par exemple en : une détection d’une piste d’atterrissage, une détection d’un obstacle sur la trajectoire de l’aéronef, la stratégie d’évitement d’un obstacle sur la trajectoire de l’aéronef, un calcul de trajectoire de l’aéronef, une commande de vol de l’aéronef, et une fonction de freinage de l’aéronef. Le système électronique 10 est propre à recevoir des première et deuxième données d’entrée, notées A et B par la suite, et à délivrer une donnée de sortie consolidée C associée à ladite fonction critique. La deuxième donnée d’entrée B est distincte et différente de la première donnée d’entrée A. Chaque donnée d’entrée A, B est fournie par un dispositif électronique amont 12A, 12B respectif. Le dispositif électronique amont 12A associé à la donnée d’entrée A est donc différent du dispositif électronique amont 12B associé à la donnée d’entrée B. Chaque dispositif électronique amont 12A, 12B est notamment un capteur, par exemple une caméra ou un capteur de température. En variante, chaque dispositif électronique amont 12A, 12B est un autre système, notamment un autre système avionique. Dans un mode de réalisation avantageux, les première et deuxième données d’entrée A, B sont de même type. Autrement dit, la nature des valeurs susceptibles d’être prises par les première et deuxièmes données sont identiques. En particulier, ce type est choisi parmi le groupe consistant en : une image, un flux vidéo, une mesure d’un ou plusieurs paramètres de fonctionnement du système électronique, des données issues de capteurs, une commande d’un utilisateur du système électronique, un texte issu de notices d’informations ou de reconnaissance vocale. A titre d’exemple, les première et deuxième données d’entrée A, B sont des images de l’environnement de l’aéronef provenant de deux caméras embarquées différentes ou sont des commandes de vol issues de deux systèmes de pilotage différents redondés. En variante, les première et deuxième données d’entrée A, B sont de types différents. A titre d’exemple, la première donnée d’entrée A est une image d’une piste d’atterrissage issue d’une caméra embarquée sur l’aéronef, et la deuxième donnée d’entrée B est une représentation numérique de la piste d’atterrissage issue d’une base de données géographique. Le système électronique 10 comprend un premier module de traitement 14, un deuxième module de traitement 16, un troisième module de traitement 18, un quatrième module de traitement 20 et un module de surveillance 22. En complément facultatif, le système électronique 10 comprend en outre un module d’alerte 24, un module d’affichage 25 et un module d’inhibition 26. Les premier, deuxième, troisième et quatrième modules de traitement 14, 16, 18, 20 sont par exemple embarqués chacun sur un calculateur électronique distinct respectif. Chaque calculateur électronique comprenant avantageusement sa propre alimentation électrique et sa propre unité de calcul. Le calculateur électronique est, par exemple, en forme d’un module électronique indépendant d’autre(s) module(s) électronique(s) et apte à être installé dans un rack, non représenté, ou encore en forme d’une carte électronique, indépendante d’autre(s) carte(s) électronique (s), et apte à être installée dans un coffret électronique. En variante, le calculateur électronique a son propre coffret électronique, et est alors le seul calculateur disposé à l’intérieur d’un boitier de protection associé au coffret. Le premier module de traitement 14 est configuré pour calculer une première donnée intermédiaire S1A associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée A et d’un premier algorithme. Le premier module de traitement 14 est en outre configuré pour envoyer la première donnée intermédiaire S1A au module de surveillance 22. Le premier algorithme est par exemple un algorithme d’apprentissage automatique entrainé sur une première base de données de référence 30 comprenant une pluralité de données de référence représentatives du fonctionnement du système électronique 10. Lorsque le système électronique 10 est un système avionique, la première base de données de référence 30 est typiquement obtenue à partir de l’acquisition de commandes de vol, de paramètres de fonctionnement tels que la position, la vitesse, l’altitude et/ou les états de fonctionnements des différents systèmes d’au moins un aéronef de test en fonction du contexte lors d’une pluralité de vols dudit aéronef de test. Les vols de l’aéronef de test sont réalisés en simulateur de vol et/ou en conditions réelles. La méthode d’apprentissage automatique se base, par exemple, sur un modèle utilisant une approche statistique afin d’améliorer les performances de cette méthode à résoudre des tâches sans être explicitement programmée pour chacune de ces tâches. L'apprentissage automatique comporte deux phases. La première phase consiste à définir un modèle à partir de données présentes dans la première base de données de référence 30, également appelées observations. L'estimation du modèle consiste typiquement à associer un résultat à chaque évènement rencontré dans la première base de données de référence 30. Cette phase dite d'apprentissage est généralement réalisée préalablement à l'utilisation pratique du modèle. La seconde phase correspond à l’utilisation en tant que telle du modèle : le modèle étant défini, des nouveaux évènements peuvent alors être soumis au modèle afin d'obtenir un résultat associé à ces nouveaux évènements. Le modèle d’apprentissage automatique comporte par exemple la mise en œuvre d’un réseau de neurones. Un réseau de neurones est en général composé d'une succession de couches dont chacune prend ses entrées sur les sorties de la précédente. Chaque couche est composée d’une pluralité de neurones, prenant leurs entrées sur les neurones de la couche précédente. À chaque synapse entre neurones est associée un poids synaptique, de sorte que les entrées reçues par un neurone sont multipliées par ce poids, puis additionnées par ledit neurone. Le réseau de neurones est optimisé grâce aux ajustements des différents poids synaptiques pendant la phase d’apprentissage en fonction des données présentes dans la première base de données de référence 30. En variante, le premier algorithme mis en œuvre par le premier module de traitement 14 est un algorithme évolutionnaire, aussi appelé algorithme évolutionniste. De manière connue, un algorithme évolutionnaire est une méthode stochastique d'optimisation globale s’inspirant de l'évolution darwinienne des populations biologiques. En particulier, un algorithme évolutionnaire fait évoluer un ensemble de solutions, aussi appelées « individus », comprenant chacune un certain nombre de caractéristiques. A chaque individu est associée une fonction d’évaluation de la pertinence de cette solution. Un tel algorithme est conçu de sorte que plus la pertinence d'une solution est élevée, plus elle a de chances de transmettre ses caractéristiques au sein de la population. Après avoir initialisé une première génération d'individus, l’algorithme itère un nombre fini de fois, jusqu'à atteindre un critère d'arrêt, par exemple un nombre maximum de générations. Une première étape de sélection permet de séparer les individus qui participeront à la reproduction, de ceux qui n'y participeront pas. Les individus sélectionnés se « reproduisent », donnant un ensemble d'« enfants » partageant une partie des caractéristiques de leurs ascendants. Ces enfants subissent alors une étape de mutation, qui modifie aléatoirement certaines des caractéristiques. Les nouveaux individus sont alors évalués en calculant leur fonction d’évaluation respective. Enfin, un nombre d'individus est déterminé parmi l'ensemble des individus, pour former la génération suivante. Le deuxième module de traitement 16 est configuré pour calculer une deuxième donnée intermédiaire S1B associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée B et du premier algorithme. La fonction critique est donc mise en œuvre par le deuxième module de traitement 16 avec le même algorithme que le premier module de traitement 14, mais avec une donnée d’entrée différente. Le deuxième module de traitement 16 est en outre configuré pour envoyer la deuxième donnée intermédiaire S1B au module de surveillance 22. Le troisième module de traitement 18 est configuré pour calculer une troisième donnée intermédiaire S2A associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée A et d’un deuxième algorithme, différent du premier algorithme. La fonction critique est donc mise en œuvre par le troisième module de traitement 18 avec la même donnée d’entrée que le premier module de traitement 14, mais avec un algorithme diffèrent. Aussi, la fonction critique est donc mise en œuvre par le troisième module de traitement 18 avec une donnée d’entrée différente et un algorithme différent du deuxième module de traitement 16. Avantageusement, le deuxième algorithme est un deuxième algorithme d’apprentissage automatique entrainé sur une deuxième base de données de référence, ou bien un algorithme évolutionnaire évalué à partir de la deuxième base de données de référence, la deuxième base de données de référence comprenant une pluralité de données de référence représentatives du fonctionnement du système électronique 10. Le deuxième algorithme d’apprentissage automatique est différent du premier algorithme d’apprentissage automatique et/ou la deuxième base de données de référence est différente de la première base de données de référence 30. Ainsi, l’homme du métier comprendra ainsi que le deuxième algorithme met en œuvre par exemple la même méthode d’apprentissage que le premier algorithme mais sur une base de données de référence différente ; ou encore que le deuxième algorithme est mis en œuvre différemment du premier algorithme sur une base de données de référence identique. En variante, le deuxième algorithme est un algorithme de type différent de celui du premier algorithme. Par algorithme de type différent, on entend que le deuxième algorithme n’est pas un algorithme d’apprentissage automatique ou un algorithme évolutionnaire. Selon cette variante, le deuxième algorithme est du type choisi parmi le groupe consistant par exemple en : un algorithme d’analyse d’images de type localisation et cartographie simultanées ; un algorithme suivant un arbre de décision ; un algorithme de parcours de graphe ; un algorithme de résolution d’équations, un algorithme basé sur un modèle physique, un algorithme de filtrage, notamment un filtre de Kalman ou un filtre de Wiener. Le modèle physique est un ensemble d’équations décrivant le fonctionnement du système, les équations étant notamment établies par un homme du métier à partir de lois physiques, éventuellement simplifiées. Le troisième module de traitement 18 est en outre configuré pour envoyer la troisième donnée intermédiaire S2A au module de surveillance 22. Le quatrième module de traitement 20 est configuré pour calculer une quatrième donnée intermédiaire S2B associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée B et du deuxième algorithme. La fonction critique est donc mise en œuvre par le quatrième module de traitement 20 avec une donnée d’entrée différente et un algorithme différent que le premier module de traitement 14. Egalement, la fonction critique est donc mise en œuvre par le quatrième module de traitement 20 avec la même donnée d’entrée que le deuxième module de traitement 16, mais avec un algorithme différent. Aussi, la fonction critique est donc mise en œuvre par le quatrième module de traitement 20 avec le même algorithme que le troisième module de traitement 18, mais avec une donnée d’entrée différente. Le quatrième module de traitement 20 est en outre configuré pour envoyer la quatrième donnée intermédiaire S2B au module de surveillance 22. Le module de surveillance 22 est configuré pour recevoir les première, deuxième, troisième et quatrième données intermédiaires S1A, S1B, S2A, S2B. Le module de surveillance 22 est en outre configuré comparer, parmi les première, deuxième, troisième et quatrième données intermédiaires S1A, S1B, S2A, S2B, deux à deux celles qui sont obtenues en fonction de la même donnée d’entrée ou en fonction du même algorithme, afin de détecter au moins une éventuelle incohérence entre ces données intermédiaires obtenues en fonction d’une même donnée d’entrée A, B ou en fonction d’un même algorithme. Ainsi, le module de surveillance 22 compare par exemple entre elles la première donnée intermédiaire S1A avec la deuxième donnée intermédiaire S1B, ces données intermédiaires étant obtenues en fonction du même premier algorithme. Le module de surveillance 22 compare, en complément ou en variante, entre elles la première donnée intermédiaire S1A avec la troisième donnée intermédiaire S2A, ces données intermédiaires étant obtenues en fonction de la même première donnée d’entrée A. Le module de surveillance 22 compare, en complément ou en variante, entre elles la deuxième donnée intermédiaire S1B avec la quatrième donnée intermédiaire S2B, ces données intermédiaires étant obtenues en fonction de la même deuxième donnée d’entrée B. Le module de surveillance 22 compare, en complément ou en variante, entre elles la troisième donnée intermédiaire S2A avec la quatrième donnée intermédiaire S2B, ces données intermédiaires étant obtenues en fonction du même deuxième algorithme. La comparaison entre deux données intermédiaires S1A, S1B, S2A, S2B détermine si ces deux données intermédiaires sont cohérentes entre elles ou non selon une règle de cohérence prédéterminée. La règle de cohérence définit un critère sur le résultat de la comparaison permettant de définir si les données intermédiaires sont cohérentes entre elles. Typiquement, si les données intermédiaires sont des valeurs numériques, la règle de cohérence définit un calcul de distance entre les données, par exemple la valeur absolue de la différence, et un seuil de cohérence. Les données intermédiaires sont alors cohérentes entre elles si la distance entre les valeurs est inférieure au seuil de cohérence. A titre d’exemple, deux données intermédiaires représentant des consignes de vitesse de l’aéronef présentant une différence de valeur de plus de 10% sont considérées comme incohérentes entre elles. En variante, si les données intermédiaires ne sont pas des valeurs numériques, la règle de cohérence définit des classes de cohérence, les données intermédiaires étant cohérentes entre elles si elles sont identiques ou si elles appartiennent à la même classe. A titre d’exemple, une donnée intermédiaire associée à la détection d’un objet « piste d’atterrissage » est cohérente avec une donnée intermédiaire associée à la détection d’un objet « tour de contrôle », car les deux données appartiennent à une même classe « aéroport» Le module de surveillance 22 est en outre configuré pour délivrer la donnée de sortie consolidée C en fonction des première, deuxième, troisième et quatrième données intermédiaires S1A, S1B, S2A, S2B. En particulier, la donnée de sortie consolidée C est déterminée en fonction d’une règle prédéterminée associant, à chaque combinaison de résultats des comparaisons entre les données intermédiaires S1A, S1B, S2A, S2B, une unique combinaison de données intermédiaires S1A, S1B, S2A, S2B. Résultat de la comparaison entre : Combinaison S1A et S1B S2A et S2B S1A et S2A S1B et S2B OK OK OK OK S1A + S2A + S1B + S2B KO KO NA OK S1B + S2B KO KO OK NA S1A + S2A KO OK KO KO S2A + S2B OK KO KOO KO S1A + S1B KO OK KO OK S1B + S2A + S2B KO OK OK KO S1A + S2A + S2B OK KO KO OK S1A + S1B + S2B OK KO OK KO S1A + S2A + S1B Le tableau 1 ci-dessus présente une liste d’uniques combinaisons prédéfinies de données intermédiaires S1A, S1B, S2A, S2B en fonction des résultats des comparaisons entre lesdites données intermédiaires S1A, S1B, S2A, S2B. Lorsque les données intermédiaires S1A, S1B, S2A, S2B sont déterminées comme étant cohérentes, le résultat est noté « OK » dans le tableau 1 et lorsque les données intermédiaires S1A, S1B, S2A, S2B sont déterminées comme n’étant pas cohérentes, le résultat est noté « KO ». Lorsque le résultat de la comparaison n’est pas pris en considération dans la détermination de la combinaison, la case correspondante du tableau 1 est notée « NA ». Ainsi, lorsque le module de surveillance 22 détermine que toutes les comparaisons effectuées entre les données intermédiaires S1A, S1B, S2A, S2B sont cohérentes, la combinaison associée est l’ensemble des données intermédiaires S1A, S1B, S2A, S2B. Lorsque la comparaison entre la première donnée intermédiaire S1A et la deuxième donnée intermédiaire S1B n’est pas cohérente ; que la comparaison entre la troisième donnée intermédiaire S2A et la quatrième donnée intermédiaire S2B n’est pas cohérente ; et que la comparaison entre la deuxième donnée intermédiaire S1B et la quatrième donnée intermédiaire S2B est en revanche cohérente, la combinaison associée est la deuxième donnée intermédiaire S1B et la quatrième donnée intermédiaire S2B, sans prendre en compte le résultat de la comparaison entre la première donnée intermédiaire S1A et la troisième donnée intermédiaire S2A. L’homme du métier comprendra qu’au moins une comparaison doit être cohérente afin d’obtenir une combinaison associée. Le module de surveillance 22 est en outre configuré pour déterminer la donnée de sortie consolidée C à partir de l’unique combinaison. Dans un mode de réalisation, la donnée de sortie consolidée C est égale à l’une des données intermédiaires de l’unique combinaison résultant de la règle prédéterminée. Par exemple, lorsque la combinaison associée est l’ensemble des données intermédiaires S1A, S1B, S2A, S2B, la donnée de sortie consolidée C est égale à la première sortie intermédiaire S1A. La sortie du système 10 est alors bien consolidée par le fait que, dans cet exemple, les quatre combinaisons sont cohérentes. La confiance dans la sortie égale à la première sortie intermédiaire S1A est bien plus élevée que si la sortie avait uniquement été calculée par le premier module de traitement 14 sans aucune comparaison. En variante, le module de surveillance 22 applique une formule mathématique aux données intermédiaires de la combinaison pour obtenir la donnée de sortie consolidée C. Par exemple, le module de surveillance 22 effectue une moyenne des données intermédiaires de la combinaison. Le module d’alerte 24 est configuré pour générer un signal d’alerte en fonction de chaque incohérence détectée par le module de surveillance 22, le signal d’alerte comportant une alerte relative à une défaillance d’un élément du système 10. L’élément est choisi parmi le groupe consistant en : l’un des dispositifs électroniques amonts 12A, 12B, l’un des algorithmes et l’un des calculateurs électroniques. En particulier, le module d’alerte 24 est configuré pour associer la combinaison de données intermédiaires déterminée par le module de surveillance 22 à une unique défaillance d’un élément du système 10. Résultat de la comparaison entre : Défaillance détectée : S1A et S1B S2A et S2B S1A et S2A S1B et S2B OK OK OK OK Aucune défaillance KO KO NA OK Défaillance du dispositif amont 12A associé à la donnée d’entrée A KO KO OK NA Défaillance du dispositif amont 12B associé à la donnée d’entrée B KO OK KO KO Défaillance du premier algorithme OK KO KO KO Défaillance du deuxième algorithme KO OK KO OK Défaillance du calculateur électronique associé à la première donnée intermédiaire S1A KO OK OK KO Défaillance du calculateur électronique associé à la deuxième donnée intermédiaire S1B OK KO KO OK Défaillance du calculateur électronique associé à la troisième donnée intermédiaire S2A OK KO OK KO Défaillance du calculateur électronique associé à la quatrième donnée intermédiaire S2B Le tableau 2 ci-dessus présente l’unique défaillance détectée en fonction du résultat des comparaisons entre lesdites données intermédiaires S1A, S1B, S2A, S2B. Ainsi, le signal d’alerte comporte une alerte relative à la défaillance d’un élément choisi parmi le groupe consistant en : - l’un des dispositifs électroniques amonts 12A, 12B lorsqu'une incohérence est détectée entre les deux données intermédiaires S1A, S1B, S2A, S2B obtenues en fonction du même algorithme et que les deux données intermédiaires S1A, S1B, S2A, S2B obtenues en fonction de la même donnée d’entrée A, B issue de l’autre dispositif électronique amont 12A, 12B sont cohérentes entre elles ; - le premier algorithme lorsqu'une incohérence est détectée entre les deux données intermédiaires S1A, S1B, S2A, S2B obtenues en fonction du premier algorithme et que les deux données intermédiaires S1A, S1B, S2A, S2B obtenues à partir du deuxième algorithme sont cohérentes entre elles ; - le deuxième algorithme lorsqu'une incohérence est détectée entre les deux données intermédiaires S1A, S1B, S2A, S2B obtenues en fonction du deuxième algorithme et que les deux données intermédiaires S1A, S1B, S2A, S2B obtenues en fonction du premier algorithme sont cohérentes entre elles ; et - l’un des calculateurs électroniques lorsqu’une incohérence est détectée à chaque comparaison de la donnée intermédiaire S1A, S1B, S2A, S2B associée audit calculateur électronique avec l’une des autres données intermédiaires S1A, S1B, S2A, S2B. Optionnellement, le module d’affichage 25 est configuré pour afficher l’alerte à destination d’un utilisateur du système électronique 10. En particulier, lorsque le système 10 est un système avionique, le module d’affichage 25 est configuré pour afficher l’alerte sur un écran d’affichage tête basse ou un écran d’affichage tête haute devant le pilote qui prend alors en compte la défaillance détectée. Le module d’inhibition 26 est configuré pour inhiber le fonctionnement d’au moins l’un des modules de traitement parmi les premier, deuxième, troisième et quatrième modules de traitement 14, 16, 18, 20 en fonction au moins d’un paramètre de fonctionnement du système électronique 10. Chaque paramètre de fonctionnement est une donnée caractéristique du fonctionnement du système 10. Les paramètres de fonctionnement sont par exemple l’altitude de l’aéronef, la position géographique de l’aéronef, la vitesse de l’aéronef, l’état de marche des différents systèmes de l’aéronef, des conditions météorologiques, etc. A titre d’exemple, lorsque la fonction critique est la détection de la piste d’atterrissage par des caméras embarquées dans l’aéronef, le module d’inhibition 26 est propre à inhiber les premier et deuxième modules de traitement 14, 16 ou les troisième et quatrième modules de traitement 18, 20 lorsque la distance entre l’aéronef et l’aéroport est supérieure à une distance prédéterminée. Le module d’inhibition 26 permet ainsi également d’activer les modules de traitement 14, 16, 18, 20 uniquement que lorsque ces derniers sont dans leur domaine de fonctionnement prévu, et de les inhiber sinon. On entend par domaine de fonctionnement prévu d’un module de traitement, une plage de fonctionnement du système définie notamment par au moins un intervalle de l’un des paramètres de fonctionnement et dans lequel le module de traitement est configuré pour fonctionner de manière adéquate, par exemple lors de l’atterrissage. Le module d’inhibition 26 permet ainsi d’inhiber les quatre comparaisons entre données intermédiaires lorsque le risque pour la sécurité associée à la mise en œuvre de la fonction critique n’est pas élevé et afin d’éviter des fausses alertes. Dans l’exemple de la figure 1, le système électronique 10 comprend une unité de traitement d’informations 50 formée par exemple d’une mémoire 52 et d’un processeur 54 associé à la mémoire 52. Le premier module de traitement 14, le deuxième module de traitement 16, le troisième module de traitement 18, le quatrième module de traitement 20 et le module de surveillance 22, et en complément facultatif, le module d’alerte 24, le module d’affichage 25 et le module d’inhibition 26, sont réalisés chacun sous forme d’un logiciel, ou d’une brique logicielle, exécutables par le processeur 54. La mémoire 52 est alors apte à stocker un premier logiciel de traitement, un deuxième logiciel de traitement, un troisième logiciel de traitement, un quatrième logiciel de traitement et un logiciel de surveillance, et en complément facultatif, un logiciel d’alerte, un logiciel d’affichage et un logiciel d’inhibition. Le processeur 54 est alors apte à exécuter chacun de ces logiciels. En variante non représentée, le premier module de traitement 14, le deuxième module de traitement 16, le troisième module de traitement 18, le quatrième module de traitement 20 et le module de surveillance 22, et en complément facultatif, le module d’alerte 24, le module d’affichage 25 et le module d’inhibition 26, sont réalisés chacun sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglais Field Programmable Gate Array ), ou encore sous forme d’un circuit intégré dédié, tel qu’un ASIC (de l’anglais Application Specific Integrated Circuit ). Le premier module de traitement 14, le deuxième module de traitement 16, le troisième module de traitement 18, le quatrième module de traitement 20 sont alors de préférence embarqués chacun sur un calculateur électronique respectif. Lorsque le système électronique 10 est réalisé sous forme d’un ou plusieurs logiciels, c’est-à-dire sous forme d’un programme d’ordinateur, il est en outre apte à être enregistré sur un support, non représenté, lisible par ordinateur. Le support lisible par ordinateur est par exemple, un médium apte à mémoriser les instructions électroniques et à être couplé à un bus d’un système informatique. A titre d’exemple, le support lisible est un disque optique, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, tout type de mémoire non-volatile (par exemple EPROM, EEPROM, FLASH, NVRAM), une carte magnétique ou une carte optique. Sur le support lisible est alors mémorisé un programme d’ordinateur comportant des instructions logicielles. Le fonctionnement du système électronique 10 selon l’invention va désormais être expliqué à l’aide de la figure 2 représentant un organigramme du procédé, selon l’invention, de mise en œuvre d’une fonction critique par le système 10. Par la suite, un exemple de mise en œuvre du procédé va être décrite pour un système avionique, mais l’homme du métier comprendra que ce procédé s’applique de manière semblable et plus généralement à tout système électronique 10. Initialement, l’aéronef est par exemple en train de voler en direction d’un aéroport. Le système avionique 10 met alors en œuvre une fonction critique avionique, comme par exemple la détection de la piste d’atterrissage. Lors d’une étape initiale optionnelle 100, le module d’inhibition 26 inhibe le fonctionnement des troisième et quatrième modules de traitement 18, 20 en fonction au moins d’un paramètre de fonctionnement du système électronique 10. Par exemple, le module d’inhibition 26 inhibe le fonctionnement des troisième et quatrième modules de traitement 18, 20 tant que la distance entre l’aéronef et l’aéroport est supérieure à une distance prédéterminée. Ainsi, lorsque la distance entre l’aéronef et l’aéroport devient inférieure à la distance prédéterminée, le module d’inhibition 26 stoppe l’inhibition du fonctionnement des troisième et quatrième modules de traitement 18, 20. Lors d’une étape 110, le premier module de traitement 14 calcule la première donnée intermédiaire S1A associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée A et du premier algorithme. Lors d’une étape 120, le deuxième module de traitement 16 calcule la deuxième donnée intermédiaire S1B associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée B et du premier algorithme. Lors d’une étape 130, le troisième module de traitement 18 calcule la troisième donnée intermédiaire S2A associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée A et du deuxième algorithme. Lors d’une étape 140, le quatrième module de traitement 20 calcule la quatrième donnée intermédiaire S2B associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée B et du deuxième algorithme. Les étapes 110, 120, 130 et 140 sont réalisées indépendamment l’une de l’autre, en même temps ou bien successivement dans un ordre quelconque. Le module de surveillance 22 reçoit ensuite, lors d’une étape 150, les première, deuxième, troisième et quatrième données intermédiaires S1A, S1B, S2A, S2B puis compare, parmi les première, deuxième, troisième et quatrième données intermédiaires S1A, S1B, S2A, S2B, deux à deux celles qui sont obtenues en fonction de la même donnée d’entrée A, B ou en fonction du même algorithme, afin de détecter au moins une éventuelle incohérence entre ces données intermédiaires obtenues en fonction d’une même donnée d’entrée A, B ou en fonction d’un même algorithme. Lorsqu’une incohérence est détectée, lors d’une étape 160, le module d’alerte 24 génère un signal d’alerte en fonction de chaque incohérence détectée par le module de surveillance 22, le signal d’alerte comportant une alerte relative à une défaillance d’un élément du système 10. Optionnellement, lors d’une étape 170, le module d’affichage 25 affiche l’alerte à destination d’un utilisateur du système électronique 10, notamment du pilote de l’aéronef. Puis, lors d’une étape 180, le module de surveillance 22 délivre la donnée de sortie consolidée C en fonction des première, deuxième, troisième et quatrième données intermédiaires S1A, S1B, S2A, S2B. On conçoit alors que la présente invention présente un certain nombre d’avantages. En effet, les premier et deuxième modules de traitement 14, 16 permettent de fournir des données intermédiaires obtenues notamment par une méthode d’apprentissage automatique entrainée sur la première base de données de référence 30 et/ou un algorithme évolutionnaire évalué à partir de la première base de données de référence 30, et ainsi permettent d’améliorer la performance du système 10. En effet, les premier et deuxième modules de traitement 14, 16 permettent d’obtenir des données intermédiaires éventuellement différentes des données présentes dans la première base de données de référence 30, et permettent donc de s’adapter à des évènements nouveaux et inattendus rencontrés par le système électronique 10 lors de son exploitation. En outre, la mise en œuvre de la fonction critique par les troisième et quatrième modules de traitement 18, 20, ainsi que les comparaisons effectuées par le module de surveillance 22, permettent d’obtenir une sortie consolidée C en prenant en compte les éventuelles incohérences détectées. Enfin, le système 10 selon l’invention permet de détecter trois types de défaillances, à savoir une défaillance due aux données d’entrée A, B, une défaillance due à la mise en œuvre des algorithmes et une défaillance due à une défaillance matérielle d’un calculateur électronique, et d’alerter le cas échéant l’utilisateur de cette défaillance. Ainsi, l’invention permet d’obtenir un système électronique 10 performant tout en étant suffisamment sûr, notamment au regard des exigences de sécurité dans le domaine avionique. Système électronique (10) configuré pour mettre en œuvre une fonction critique, le système électronique (10) étant propre à recevoir des première et deuxième données d’entrée (A, B) et à délivrer une donnée de sortie consolidée (C) associée à ladite fonction critique, le système électronique (10) comprenant : - un premier module de traitement (14) configuré pour calculer une première donnée intermédiaire (S1A) associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée (A) et d’un premier algorithme, le premier algorithme étant un algorithme d’apprentissage automatique entrainé sur une première base de données de référence (30) ou un algorithme évolutionnaire évalué à partir de la première base de données de référence (30), la première base de données de référence (30) comprenant une pluralité de données de référence représentatives du fonctionnement du système électronique (10), - un deuxième module de traitement (16) configuré pour calculer une deuxième donnée intermédiaire (S1B) associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée (B) et du premier algorithme, la deuxième donnée d’entrée (B) étant différente de la première donnée d’entrée (A), - un troisième module de traitement (18) configuré pour calculer une troisième donnée intermédiaire (S2A) associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée (A) et d’un deuxième algorithme, le deuxième algorithme étant différent du premier algorithme, - un quatrième module de traitement (20) configuré pour calculer une quatrième donnée intermédiaire (S2B) associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée (B) et du deuxième algorithme, - un module de surveillance (22) configuré pour recevoir les première, deuxième, troisième et quatrième données intermédiaires (S1A, S1B, S2A, S2B), puis pour comparer, parmi les première, deuxième, troisième et quatrième données intermédiaires (S1A, S1B, S2A, S2B), deux à deux celles qui sont obtenues en fonction de la même donnée d’entrée (A, B) ou en fonction du même algorithme, afin de détecter au moins une éventuelle incohérence, le module de surveillance (22) étant configuré pour délivrer la donnée de sortie consolidée (C) en fonction des première, deuxième, troisième et quatrième données intermédiaires (S1A, S1B, S2A, S2B). Système (10) selon la revendication 1, dans lequel la donnée de sortie consolidée (C) est déterminée en fonction d’une règle prédéterminée associant, à chaque combinaison de résultats desdites comparaisons entre les données intermédiaires (S1A, S1B, S2A, S2B), une unique combinaison de données intermédiaires (S1A, S1B, S2A, S2B), la donnée de sortie consolidée (C) étant déterminée à partir de ladite unique combinaison. Système (10) selon la revendication 1 ou 2, dans lequel les premier, deuxième, troisième et quatrième modules de traitement (14, 16, 18, 20) sont embarqués chacun sur un calculateur électronique distinct respectif, le calculateur électronique comprenant avantageusement sa propre alimentation électrique et sa propre unité de calcul. Système (10) selon la revendication 3, dans lequel chaque donnée d’entrée (A, B) est fournie par un dispositif électronique amont (12A, 12B) respectif, notamment par un capteur respectif, le système (10) comprenant en outre un module d’alerte (24) configuré pour générer un signal d’alerte en fonction de chaque incohérence détectée par le module de surveillance (22), le signal d’alerte comportant une alerte relative à la défaillance d’un élément choisi parmi le groupe consistant en : - l’un des dispositifs électroniques amonts (12A, 12B) lorsqu'une incohérence est détectée entre les deux données intermédiaires (S1A, S1B, S2A, S2B) obtenues en fonction du même algorithme et que les deux données intermédiaires (S1A, S1B, S2A, S2B) obtenues en fonction de la même donnée d’entrée (A, B) issue de l’autre dispositif électronique amont (12A, 12B) sont cohérentes entre elles ; - le premier algorithme lorsqu'une incohérence est détectée entre les deux données intermédiaires (S1A, S1B, S2A, S2B) obtenues en fonction du premier algorithme et que les deux données intermédiaires (S1A, S1B, S2A, S2B) obtenues en fonction du deuxième algorithme sont cohérentes entre elles ; - le deuxième algorithme lorsqu'une incohérence est détectée entre les deux données intermédiaires (S1A, S1B, S2A, S2B) obtenues en fonction du deuxième algorithme et que les deux données intermédiaires (S1A, S1B, S2A, S2B) obtenues en fonction du premier algorithme sont cohérentes entre elles, et - l’un des calculateurs électroniques lorsqu’une incohérence est détectée à chaque comparaison de la donnée intermédiaire associée audit calculateur électronique avec l’une des autres données intermédiaires (S1A, S1B, S2A, S2B). Système (10) selon l’une quelconque des revendications précédentes, dans lequel le deuxième algorithme est un deuxième algorithme d’apprentissage automatique entrainé sur une deuxième base de données de référence ou un algorithme évolutionnaire évalué à partir de la deuxième base de données de référence, la deuxième base de données de références comprenant une pluralité de données de référence représentatives du fonctionnement du système électronique, le deuxième algorithme étant différent du premier algorithme et/ou la deuxième base de données de référence étant différente de la première base de données de référence (30). Système (10) selon l’une quelconque des revendications 1 à 4, dans lequel le deuxième algorithme est un algorithme de type différent de celui du premier algorithme ; le deuxième algorithme étant de préférence du type choisi parmi le groupe consistant en : un algorithme d’analyse d’images de type localisation et cartographie simultanées ; un algorithme suivant un arbre de décision ; un algorithme de parcours de graphe ; un algorithme de résolution d’équations ; un algorithme sur la base d’un modèle physique; et un algorithme de filtrage, notamment un filtre de Kalman ou un filtre de Wiener. Système (10) selon l’une quelconque des revendications précédentes, comprenant un module d’inhibition (26) configuré pour inhiber le fonctionnement d’au moins l’un des modules de traitement parmi les premier, deuxième, troisième et quatrième modules de traitement (14, 16, 18, 20) en fonction au moins d’un paramètre de fonctionnement du système électronique (10). Système (10) selon l’une quelconque des revendications précédentes, dans lequel le système électronique (10) est un système avionique propre à être embarqué dans un poste de commande d’un aéronef. Procédé de mise en œuvre d’une fonction critique par un système électronique (10), le système électronique (10) étant propre à recevoir des première et deuxième données d’entrée (A, B) et à délivrer une donnée de sortie consolidée (C) associée à ladite fonction critique, le procédé comprenant les étapes suivantes : - calcul (110) d’une première donnée intermédiaire (S1A) associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée (A) et d’un premier algorithme, le premier algorithme étant un algorithme d’apprentissage automatique entrainé sur une première base de données de référence (30) ou un algorithme évolutionnaire évalué à partir de la première base de données de référence (30), la première base de données de référence (30) comprenant une pluralité de données de référence représentatives du fonctionnement du système électronique (10), - calcul (120) d’une deuxième donnée intermédiaire (S1B) associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée (B) et du premier algorithme, la deuxième donnée d’entrée (B) étant différente de la première donnée d’entrée (A), - calcul (130) d’une troisième donnée intermédiaire (S2A) associée à la mise en œuvre de la fonction critique en fonction de la première donnée d’entrée (A) et d’un deuxième algorithme, le deuxième algorithme étant différent du premier algorithme, - calcul (140) d’une quatrième donnée intermédiaire (S2B) associée à la mise en œuvre de la fonction critique en fonction de la deuxième donnée d’entrée (B) et du deuxième algorithme, - réception (150) des première, deuxième, troisième et quatrième données intermédiaires (S1A, S1B, S2A, S2B), - comparaison, parmi les première, deuxième, troisième et quatrième données intermédiaires (S1A, S1B, S2A, S2B), deux à deux de celles qui sont obtenues en fonction de la même donnée d’entrée (A, B) ou en fonction du même algorithme, afin de détecter au moins une éventuelle incohérence, et - délivrance de la donnée de sortie consolidée (C) en fonction des première, deuxième, troisième et quatrième données intermédiaires (S1A, S1B, S2A, S2B). Programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un procédé selon la revendication précédente.