FR3115594A1 - Electronic system for implementing a critical function, associated method and computer program - Google Patents

Electronic system for implementing a critical function, associated method and computer program Download PDF

Info

Publication number
FR3115594A1
FR3115594A1 FR2010986A FR2010986A FR3115594A1 FR 3115594 A1 FR3115594 A1 FR 3115594A1 FR 2010986 A FR2010986 A FR 2010986A FR 2010986 A FR2010986 A FR 2010986A FR 3115594 A1 FR3115594 A1 FR 3115594A1
Authority
FR
France
Prior art keywords
datum
input
reward
data
critical function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR2010986A
Other languages
French (fr)
Other versions
FR3115594B1 (en
Inventor
Florence DE GRANCEY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Priority to FR2010986A priority Critical patent/FR3115594B1/en
Priority to DE112021005722.7T priority patent/DE112021005722T5/en
Priority to PCT/EP2021/079761 priority patent/WO2022090280A1/en
Publication of FR3115594A1 publication Critical patent/FR3115594A1/en
Application granted granted Critical
Publication of FR3115594B1 publication Critical patent/FR3115594B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/0227Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
    • G05B23/0235Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on a comparison with predetermined threshold or range, e.g. "classical methods", carried out during normal operation; threshold adaptation or choice; when or how to compare with the threshold

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Traffic Control Systems (AREA)
  • Feedback Control In General (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Système électronique pour la mise en œuvre d’une fonction critique , procédé et programme d’ordinateur associé s Ce système électronique (10) de mise en œuvre une fonction critique comprend un premier module de traitement (14) pour calculer une première donnée intermédiaire (SA) à partir d’une première donnée d’entrée (A) et d’un algorithme d’apprentissage par renforcement ; un deuxième module de traitement (16) pour calculer une deuxième donnée intermédiaire (SB) à partir dudit algorithme et d’une deuxième donnée d’entrée (B) ; un module de traitement auxiliaire (18) pour calculer une donnée intermédiaire de référence (SR) à partir de la première et/ou deuxième donnée d’entrée et d’un algorithme de référence ; et un dispositif de surveillance (20) pour vérifier si les données intermédiaires appartiennent à un domaine de sécurité et pour les comparer afin de détecter une éventuelle incohérence ; et pour générer une donnée de sortie (C) en fonction des données intermédiaires si elles appartiennent au domaine de sécurité et sans incohérence, la donnée de sortie étant la donnée intermédiaire de référence sinon. Figure pour l'abrégé : Figure 1Electronic system for implementing a critical function, method and associated computer program This electronic system (10) for implementing a critical function comprises a first processing module (14) for calculating a first intermediate datum ( SA) from a first input data (A) and a reinforcement learning algorithm; a second processing module (16) for calculating a second intermediate datum (SB) from said algorithm and a second input datum (B); an auxiliary processing module (18) for calculating an intermediate reference datum (SR) from the first and/or second input datum and a reference algorithm; and a monitoring device (20) for checking whether the intermediate data belongs to a security domain and for comparing them in order to detect any inconsistency; and to generate an output datum (C) as a function of the intermediate data if they belong to the security domain and without inconsistency, the output datum being the reference intermediate datum otherwise. Figure for abstract: Figure 1

Description

Système électronique pour la mise en œuvre d’une fonction critique, procédé et programme d’ordinateur associésElectronic system for implementing a critical function, associated method and computer program

La présente invention concerne un système électronique configuré pour mettre en œuvre une fonction critique.The present invention relates to an electronic system configured to implement a critical function.

L’invention concerne également un procédé de mise en œuvre d’une fonction critique par un tel système électronique.The invention also relates to a method for implementing a critical function by such an electronic system.

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é.The invention also relates to a computer program comprising software instructions which, when executed by a computer, implement such a method.

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 ou une centrale électrique.The electronic system is in particular embedded in an installation or in a device. The apparatus is preferably a vehicle, such as an air vehicle, in particular an aircraft, a railway vehicle or a motor vehicle. Alternatively, the installation is for example a factory or a power plant.

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.In particular, the invention relates to the implementation of critical functions, that is to say which are critical for the safety of the device or installation. Vehicle piloting controls, such as the flight controls of an aircraft, the braking system of the vehicle, the emergency shutdown of a chemical plant or a power plant are examples of such critical functions.

Dans le domaine avionique, une fonction critique est par exemple définie par la norme ARP-4754A (Aerospace Recommended Practiceen anglais).In the avionics field, a critical function is for example defined by the ARP-4754A ( Aerospace Recommended Practice ) standard.

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.By implementation of a critical function, we mean the performance of one or more calculations making it possible to generate at least one output datum associated with this critical function, from at least one input datum.

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 valeur(s) autorisée(s) pour la donnée de sortie associée à cette fonction critique. Une donnée de sortie hors de la plage de valeur(s) autorisée(s) sera refusée, et une alerte sera alors émise. Dans le domaine avionique, cette plage de valeur(s) autorisée(s) est par exemple des valeurs comprises entre une limite minimum et une limite maximum telles que par exemple des limites maximale et minimale d’altitude de l’aéronef. La plage de valeur(s) correspond en variante une limite maximum ou une limite minimale à ne pas dépasser telle qu’une limite de vitesse ascensionnelle de l’aéronef ou une puissance maximale du moteur de l’aéronef. En variante encore, la plage de valeur(s) correspond à une valeur unique, typiquement 0 ou 1, associé à un indicateur booléen, tel qu’un état de marche d’un système avionique de l’aéronef.In order to ensure the safety of the device or installation, it is therefore necessary to ensure that the implementation of the critical function is carried out without failure. In particular, such a critical function is conventionally associated with a security usage domain defining a range of authorized value(s) for the output data associated with this critical function. Output data outside the range of authorized value(s) will be refused, and an alert will then be issued. In the avionics field, this range of authorized value(s) is for example values comprised between a minimum limit and a maximum limit such as for example maximum and minimum altitude limits of the aircraft. As a variant, the range of value(s) corresponds to a maximum limit or a minimum limit not to be exceeded, such as a limit of rate of climb of the aircraft or a maximum power of the engine of the aircraft. As a further variant, the range of value(s) corresponds to a single value, typically 0 or 1, associated with a Boolean indicator, such as a working state of an avionics system of the aircraft.

On connait des algorithmes d’apprentissage par renforcement qui ont pour objectif d’apprendre progressivement une fonction ou un modèle de comportement, par la réalisation d’expériences successives et avec un retour d’un indicateur de performance de la fonction. Une fois l’apprentissage réalisé, ces algorithmes d’apprentissage par renforcement permettent d’améliorer les performances de mise en œuvre de la fonction critique. En outre, les algorithmes par renforcement permettent de modéliser des fonctions critiques qui ne sont pas modélisables de manière conventionnelle, via par exemple des lois physiques, du fait d’une complexité du système trop importante.Reinforcement learning algorithms are known which aim to gradually learn a function or a behavior model, by carrying out successive experiments and with feedback from a performance indicator of the function. Once the learning has been carried out, these reinforcement learning algorithms make it possible to improve the performance of the implementation of the critical function. In addition, reinforcement algorithms make it possible to model critical functions that cannot be modeled conventionally, for example via physical laws, due to the excessive complexity of the system.

Toutefois, ces algorithmes présentent des vulnérabilités qui affectent la sécurité du système électronique. En effet, la mise en œuvre de la fonction critique par ces algorithmes d’apprentissage par renforcement donne, dans certains cas, un résultat n’appartenant pas au domaine de sécurité associé à la fonction critique, ce qui entraine éventuellement des conséquences importantes sur la sécurité de l’installation ou de l’appareil dans lequel le système est embarqué. Ces vulnérabilités limitent ainsi grandement l’utilisation de ces algorithmes pour la mise en œuvre de fonction(s) critique(s).However, these algorithms have vulnerabilities that affect the security of the electronic system. Indeed, the implementation of the critical function by these reinforcement learning algorithms gives, in certain cases, a result that does not belong to the security domain associated with the critical function, which possibly leads to significant consequences on the safety of the installation or device in which the system is embedded. These vulnerabilities thus greatly limit the use of these algorithms for the implementation of critical function(s).

Il existe donc un besoin d’obtenir un système électronique plus performant de mise en œuvre d’une fonction critique tout en étant suffisamment sûr.There is therefore a need to obtain a more efficient electronic system for implementing a critical function while being sufficiently safe.

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 associée à ladite fonction critique, la donnée de sortie étant associée à un domaine de sécurité prédéterminé, le domaine de sécurité étant en forme d’une plage de valeurs prédéfinies,To this end, the subject of the invention is an electronic system configured to implement a critical function, the electronic system being able to receive first and second input data and to deliver output data associated with said critical function, the output datum being associated with a predetermined security domain, the security domain being in the form of a range of predefined values,

le système électronique comprenant :the electronic system comprising:

- un premier module de traitement configuré pour calculer une première donnée intermédiaire à partir de la première donnée d’entrée et d’un algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée,- a first processing module configured to calculate a first intermediate datum from the first input datum and a reinforcement learning algorithm, for the implementation of the critical function for the first input datum,

- un deuxième module de traitement configuré pour calculer une deuxième donnée intermédiaire à partir de la deuxième donnée d’entrée et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la deuxième donnée d’entrée, la deuxième donnée d’entrée étant différente de la première donnée d’entrée,- a second processing module configured to calculate a second intermediate datum from the second input datum and from the reinforcement learning algorithm, for the implementation of the critical function for the second input datum, the second input data being different from the first input data,

- un module de traitement auxiliaire configuré pour calculer une donnée intermédiaire de référence à partir de la première donnée d’entrée et/ou de la deuxième donnée d’entrée et d’un algorithme de référence différent de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée et/ou la deuxième donnée d’entrée via l’algorithme de référence,- an auxiliary processing module configured to calculate an intermediate reference datum from the first input datum and/or from the second input datum and from a reference algorithm different from the reinforcement learning algorithm , for the implementation of the critical function for the first input datum and/or the second input datum via the reference algorithm,

- un dispositif de surveillance comportant :- a monitoring device comprising:

+ un module de contrôle configuré pour vérifier si les première et deuxième données intermédiaires appartiennent au domaine de sécurité et pour comparer les première et deuxième données intermédiaires entre elles afin de détecter une éventuelle incohérence;+ a control module configured to check whether the first and second intermediate data belong to the security domain and to compare the first and second intermediate data with each other in order to detect any inconsistency;

+ un module de génération configuré pour générer la donnée de sortie en fonction des première et deuxième données intermédiaires si les première et deuxième données intermédiaires appartiennent au domaine de sécurité et si aucune incohérence n’est détectée, la donnée de sortie étant égale à la donnée intermédiaire de référence sinon.+ a generation module configured to generate the output data as a function of the first and second intermediate data if the first and second intermediate data belong to the security domain and if no inconsistency is detected, the output data being equal to the data reference intermediary otherwise.

Suivant 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 :According to other advantageous aspects of the invention, the electronic system comprises one or more of the following characteristics, taken in isolation or in all technically possible combinations:

- l’ensemble des mises en œuvre de la fonction critique par l’algorithme de référence définit un domaine d’arrivée de l’algorithme de référence, le domaine d’arrivée étant inclus dans le domaine de sécurité ;- the set of implementations of the critical function by the reference algorithm defines an arrival domain of the reference algorithm, the arrival domain being included in the security domain;

- le dispositif de surveillance comporte un module de récompense configuré pour calculer une première récompense pour la mise en œuvre de la fonction critique par le premier module de traitement et une deuxième récompense pour la mise en œuvre de la fonction critique par le deuxième module de traitement,- the monitoring device comprises a reward module configured to calculate a first reward for the implementation of the critical function by the first processing module and a second reward for the implementation of the critical function by the second processing module ,

le premier module de traitement étant configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une première pluralité de paramètres algorithmiques, le premier moule de traitement étant configuré, à chaque itération, pour recevoir la première récompense et pour modifier la première pluralité de paramètres algorithmiques en fonction de la première récompense reçue afin de maximiser la prochaine première récompense reçue,the first processing module being configured to implement the reinforcement learning algorithm based on a first plurality of algorithmic parameters, the first processing mold being configured, at each iteration, to receive the first reward and to modify the first plurality of algorithmic parameters according to the first reward received in order to maximize the next first reward received,

le deuxième module de traitement étant configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une deuxième pluralité de paramètres algorithmiques, le deuxième module de traitement étant configuré, à chaque itération, pour recevoir la deuxième récompense et pour modifier la deuxième pluralité de paramètres algorithmiques en fonction de la deuxième récompense reçue afin de maximiser la prochaine deuxième récompense reçue ;the second processing module being configured to implement the reinforcement learning algorithm based on a second plurality of algorithmic parameters, the second processing module being configured, at each iteration, to receive the second reward and to modify the second plurality of algorithmic parameters as a function of the received second reward to maximize the next received second reward;

- le module de récompense est configuré pour pénaliser chaque première récompense et/ou respectivement chaque deuxième récompense lorsque la première donnée intermédiaire et/ou respectivement la deuxième donnée intermédiaire n’appartiennent pas au domaine de sécurité ;the reward module is configured to penalize each first reward and/or respectively each second reward when the first intermediate datum and/or respectively the second intermediate datum does not belong to the security domain;

- lorsque les première et deuxième données intermédiaires appartiennent au domaine de sécurité et en l’absence d’incohérence détectée, le module de génération est configuré pour délivrer, en donnée de sortie, la donnée intermédiaire associée à la récompense la plus élevée calculée par le module de récompense ;- when the first and second intermediate data belong to the security domain and in the absence of detected inconsistency, the generation module is configured to deliver, as output data, the intermediate data associated with the highest reward calculated by the reward module;

- le module de contrôle est en outre configuré pour comparer les première et deuxième récompenses entre elles afin de détecter une éventuelle incohérence,- the control module is further configured to compare the first and second rewards with each other in order to detect any inconsistency,

et dans lequel le système électronique comprend en outre un module d’alerte configuré pour générer un signal d’alerte en fonction de chaque incohérence entre les données intermédiaires et/ou entre les récompenses ;and in which the electronic system further comprises an alert module configured to generate an alert signal based on each inconsistency between the intermediate data and/or between the rewards;

- le module de contrôle est configuré en outre pour comptabiliser le nombre de fois où respectivement les première et deuxième données intermédiaires ne respectent pas le domaine de sécurité et pour réinitialiser respectivement la première pluralité de paramètres algorithmiques et la deuxième pluralité de paramètres algorithmiques lorsque ledit nombre est supérieur à un seuil prédéterminé ; et- the control module is further configured to count the number of times respectively where the first and second intermediate data do not respect the security domain and to reset respectively the first plurality of algorithmic parameters and the second plurality of algorithmic parameters when said number is greater than a predetermined threshold; And

- le système est un système avionique propre à être embarqué dans un poste de commande d’un aéronef, notamment un système de navigation de l’aéronef.- the system is an avionic system suitable for being onboard in an aircraft control station, in particular an aircraft navigation system.

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 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 associée à ladite fonction critique, la donnée de sortie étant associée à un domaine de sécurité prédéterminé, le domaine de sécurité étant en forme d’une plage de valeur(s) prédéfinie(s),The invention also relates to a method for implementing a critical function by an electronic system, the electronic system being configured to implement a critical function, the electronic system being capable of receiving first and second input data and in delivering an output datum associated with said critical function, the output datum being associated with a predetermined security domain, the security domain being in the form of a range of predefined value(s),

le procédé comprenant les étapes suivantes :the method comprising the following steps:

- calcul d’une première donnée intermédiaire à partir de la première donnée d’entrée et d’un algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée,- calculation of a first intermediate data from the first input data and a reinforcement learning algorithm, for the implementation of the critical function for the first input data,

- calcul d’une deuxième donnée intermédiaire à partir de la deuxième donnée d’entrée et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la deuxième donnée d’entrée, la deuxième donnée d’entrée étant différente de la première donnée d’entrée,- calculation of a second intermediate datum from the second input datum and the reinforcement learning algorithm, for the implementation of the critical function for the second input datum, the second datum of input being different from the first input data,

- calcul d’une donnée intermédiaire de référence à partir de la première donnée d’entrée et/ou de la deuxième donnée d’entrée et d’un algorithme de référence différent de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée et/ou la deuxième donnée d’entrée via l’algorithme de référence,- calculation of an intermediate reference datum from the first input datum and/or from the second input datum and from a reference algorithm different from the reinforcement learning algorithm, for the implementation implementation of the critical function for the first input datum and/or the second input datum via the reference algorithm,

- vérification si les première et deuxième données intermédiaires appartiennent au domaine de sécurité et comparaison des première et deuxième données intermédiaires entre elles afin de détecter une éventuelle incohérence;- verification whether the first and second intermediate data belong to the security domain and comparison of the first and second intermediate data with each other in order to detect any inconsistency;

- génération de la donnée de sortie en fonction des première et deuxième données intermédiaires si les première et deuxième données intermédiaires appartiennent au domaine de sécurité et si aucune incohérence n’est détectée, la donnée de sortie étant égale à la donnée de référence sinon.- generation of the output data according to the first and second intermediate data if the first and second intermediate data belong to the security domain and if no inconsistency is detected, the output data being equal to the reference data otherwise.

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.The invention also relates to a computer program comprising software instructions which, when executed by a computer, implement a method as defined above.

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 :These characteristics and advantages of the invention will appear more clearly on reading the following description, given solely by way of non-limiting example, and made with reference to the appended drawings, in which:

la est une représentation schématique d’un système électronique selon l’invention, there is a schematic representation of an electronic system according to the invention,

la est une représentation schématique de la mise en œuvre d’un algorithme de renforcement par apprentissage, et there is a schematic representation of the implementation of a learning reinforcement algorithm, and

la 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 . there is a flowchart of a method, according to the invention, for implementing a critical function by the electronic system of the .

Un système électronique 10 est représenté sur la . Le système électronique 10 est configuré pour mettre en œuvre au moins une fonction critique.An electronic system 10 is represented on the . The electronic system 10 is configured to implement at least one critical function.

Dans l’exemple de la , 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.In the example of the , the electronic system 10 is on board an aircraft. The aircraft is typically an airplane, a helicopter, or even a drone. In other words, the aircraft is a flying machine that can be controlled by a pilot via a control station, the control station being located inside the aircraft or else at a distance from the aircraft, in particular in the case of a drone.

Dans cet exemple, le système électronique 10 est alors un système avionique configuré pour mettre en œuvre une fonction critique avionique.In this example, the electronic system 10 is then an avionics system configured to implement an avionics critical function.

La fonction critique avionique est alors typiquement choisie parmi le groupe consistant en : un calcul de trajectoire de l’aéronef, une commande de vol de l’aéronef, la stratégie d’évitement d’un obstacle sur la trajectoire de l’aéronef, une fonction de freinage de l’aéronef, etc.The avionics critical function is then typically chosen from the group consisting of: a calculation of the trajectory of the aircraft, a flight control of the aircraft, the strategy for avoiding an obstacle on the trajectory of the aircraft, a aircraft braking function, etc.

L’homme du métier comprendra que l’invention s’applique également à d’autres fonctions critiques, telles qu’à un processus de contrôle de la réactivité dans un réacteur nucléaire, à un contrôle de la température dans un fourneau d’une usine, à une commande de navigation d’un véhicule automobile autonome, à une commande de vitesse d’un véhicule ferroviaire, etc.Those skilled in the art will understand that the invention also applies to other critical functions, such as a reactivity control process in a nuclear reactor, temperature control in a furnace of a factory , to a navigation control of an autonomous motor vehicle, to a speed control of a railway vehicle, etc.

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 C associée à ladite fonction critique.The electronic system 10 is able to receive first and second input data, denoted A and B hereafter, and to deliver an output data C associated with said critical function.

La deuxième donnée d’entrée B est distincte et différente de la première donnée d’entrée A.The second input data B is distinct and different from the first input data A.

Chaque donnée d’entrée A, B est fournie par un dispositif électronique amont 12A, 12B respectif.Each input data A, B is provided by a respective upstream electronic device 12A, 12B.

Le dispositif électronique amont 12A associé à la donnée d’entrée A est différent du dispositif électronique amont 12B associé à la donnée d’entrée B.The upstream electronic device 12A associated with input data A is different from the upstream electronic device 12B associated with input data B.

Chaque dispositif électronique amont 12A, 12B est par exemple embarqué à bord de l’aéronef. Chaque dispositif électronique amont 12A, 12B est notamment un capteur embarqué dans l’aéronef, par exemple une caméra, un capteur de position 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.Each upstream electronic device 12A, 12B is for example on board the aircraft. Each upstream electronic device 12A, 12B is in particular a sensor on board the aircraft, for example a camera, a position sensor or a temperature sensor. As a variant, each upstream electronic device 12A, 12B is another system, in particular another avionic system.

En variante encore, chaque dispositif électronique amont 12A, 12B est un système externe à l’aéronef, tel qu’une tour de contrôle communiquant la donnée d’entrée A, B associée à l’aéronef.As a further variant, each upstream electronic device 12A, 12B is a system external to the aircraft, such as a control tower communicating the input data A, B associated with the aircraft.

Avantageusement, les première et deuxième données d’entrée A, B sont de même type. Autrement dit, le type des valeurs susceptibles d’être prises par les première et deuxièmes données est identique pour ces première et deuxième données.Advantageously, the first and second input data A, B are of the same type. In other words, the type of the values likely to be taken by the first and second data is identical for these first and second data.

En particulier, ce type est choisi parmi le groupe consistant en : une image, un flux vidéo, une mesure ou une succession de mesures d’un ou plusieurs paramètres de fonctionnement du système électronique 10, un signal de mesure issu d’un capteur, une commande d’un utilisateur du système électronique 10, un texte (c’est-à-dire une succession de caractères alphanumériques) issu de notices d’informations ou de reconnaissance vocale. In particular, this type is chosen from the group consisting of: an image, a video stream, a measurement or a succession of measurements of one or more operating parameters of the electronic system 10, a measurement signal from a sensor, a command from a user of the electronic system 10, a text (that is to say a succession of alphanumeric characters) from information or voice recognition notices .

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, des données de localisation de l’aéronef issus de deux capteurs différents, des paramètres avioniques, tels que le niveau de carburant ou l’état de fonctionnement d’un ou plusieurs système avioniques, ou encore sont des commandes de vol issues de deux systèmes de pilotage différents redondés.By way of example, the first and second input data A, B are images of the environment of the aircraft originating from two different on-board cameras, aircraft location data originating from two different sensors, avionic parameters, such as the fuel level or the operating state of one or more avionic systems, or else are flight commands from two different redundant piloting systems.

En variante, les première et deuxième données d’entrée A, B sont de types différents.Alternatively, the first and second input data A, B are of different types.

A titre d’exemple, la première donnée d’entrée A est une image de l’environnement de l’aéronef 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 du terrain survolé par l’aéronef issue d’une base de données géographiques.By way of example, the first input data A is an image of the environment of the aircraft from a camera on board the aircraft, and the second input data B is a digital representation of the terrain overflown by the aircraft from a geographic database.

La donnée de sortie C est avantageusement une valeur numérique ou indicateur booléen, typiquement égal à 0 ou 1.The output data C is advantageously a numerical value or Boolean indicator, typically equal to 0 or 1.

La donnée de sortie C est par exemple une valeur d’une commande de vol, d’une consigne de vitesse ou d’altitude pour l’aéronef, d’une consigne d’activation/désactivation d’un système avionique, etc.The output data C is for example a value of a flight command, a speed or altitude setpoint for the aircraft, an activation/deactivation setpoint for an avionics system, etc.

La donnée de sortie C est associée à un domaine de sécurité prédéterminé, le domaine de sécurité étant en forme d’une plage de valeur(s) prédéfinie(s).The output data C is associated with a predetermined security domain, the security domain being in the form of a range of predefined value(s).

Ainsi, lorsque la donnée de sortie C est une valeur numérique, le domaine de sécurité est par exemple un intervalle de valeurs entre deux bornes prédéterminées ou un intervalle ouvert défini par une valeur seuil minimale ou maximale ou encore un ensemble de tels intervalles. Lorsque la donnée de sortie est un indicateur booléen, typiquement égal à 0 ou 1, le domaine de sécurité est alors une valeur unique.Thus, when the output data C is a digital value, the security domain is for example an interval of values between two predetermined limits or an open interval defined by a minimum or maximum threshold value or even a set of such intervals. When the output data is a Boolean flag, typically equal to 0 or 1, then the security domain is a single value.

Le système électronique 10 comprend un premier module de traitement 14, un deuxième module de traitement 16, un module de traitement auxiliaire 18 et un dispositif de surveillance 20.The electronic system 10 comprises a first processing module 14, a second processing module 16, an auxiliary processing module 18 and a monitoring device 20.

En complément facultatif, le système électronique comprend en outre un module d’alerte 21 et un module d’affichage 23.As an optional supplement, the electronic system further comprises an alert module 21 and a display module 23.

Le premier module de traitement 14, le deuxième module de traitement 16 et le module de traitement auxiliaire 18 sont par exemple embarqués chacun sur un calculateur électronique distinct respectif.The first processing module 14, the second processing module 16 and the auxiliary processing module 18 are for example each embedded in a respective separate electronic computer.

Chaque calculateur électronique comprend 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.Each electronic computer advantageously comprises its own power supply and its own calculation unit. The electronic computer is, for example, in the form of an electronic module independent of other electronic module(s) and capable of being installed in a rack, not shown, or even in the form of a card electronic, independent of other electronic card(s), and able to be installed in an electronic cabinet. As a variant, the electronic computer has its own electronic box, and is then the only computer placed inside a protective box associated with the box.

Le premier module de traitement 14 est configuré pour calculer une première donnée intermédiaire SA à partir de la première donnée d’entrée A et d’un algorithme d’apprentissage par renforcement pour la mise en œuvre de la fonction critique.The first processing module 14 is configured to calculate a first intermediate datum SA from the first input datum A and from a reinforcement learning algorithm for the implementation of the critical function.

Autrement dit, le premier module de traitement 14 est configuré pour mettre en œuvre la fonction critique pour la première donnée d’entrée A, en appliquant l’algorithme d’apprentissage par renforcement à la première donnée d’entrée A, ceci afin d’obtenir la première donnée intermédiaire SA.In other words, the first processing module 14 is configured to implement the critical function for the first input datum A, by applying the reinforcement learning algorithm to the first input datum A, this in order to obtain the first intermediate datum SA.

Le fonctionnement d’un algorithme d’apprentissage par renforcement est représenté schématiquement sur la . De manière connue, l'apprentissage par renforcement consiste, pour un agent X autonome tel qu’un algorithme, dans un état courant S, à apprendre des actions F à effectuer, à partir d'expériences, de façon à optimiser une récompense R quantitative au cours du temps. L'agent X est plongé au sein de l’environnement E, et prend ses décisions en fonction de son état courant S. En retour, l'environnement E procure à l'agent X une récompense R, positive ou négative et l’agent X évolue dans un nouvel état courant S’. L'agent X cherche, au travers d'expériences itérées, à optimiser un comportement décisionnel appelé stratégie ou politique, et qui est une fonction associant à l'état courant S l'action F à exécuter, afin de maximiser la somme des récompenses R au cours du temps.The operation of a reinforcement learning algorithm is represented schematically on the . In a known manner, reinforcement learning consists, for an autonomous agent X such as an algorithm, in a current state S, in learning actions F to perform, from experiences, so as to optimize a quantitative reward R over time. Agent X is immersed in the environment E, and makes its decisions according to its current state S. In return, the environment E provides agent X with a positive or negative reward R and the agent X evolves into a new current state S'. The agent X seeks, through iterated experiments, to optimize a decisional behavior called strategy or policy, and which is a function associating the current state S with the action F to be executed, in order to maximize the sum of the rewards R over time.

Ainsi, dans un tel problème, on dit que l’agent X interagit avec l’environnement E pour trouver la solution optimale. L’apprentissage par renforcement diffère fondamentalement des problèmes supervisés et non-supervisés par ce côté interactif et itératif : l’agent X essaie plusieurs solutions (on parle « d’exploration »), observe la réaction de l’environnement E et adapte son comportement pour trouver la meilleure stratégie.Thus, in such a problem, we say that the agent X interacts with the environment E to find the optimal solution. Reinforcement learning differs fundamentally from supervised and unsupervised problems by this interactive and iterative side: agent X tries several solutions (we speak of "exploration"), observes the reaction of the environment E and adapts its behavior to find the best strategy.

Les principales familles d’algorithmes d’apprentissage par renforcement sont notamment les méthodes dite de « Q-learning», les variantes du Q-learning telles que les méthodes dite de « Deep Q-learning », les méthodes dites « Actor-Critic », les algorithmes de bandits, les algorithmes de décisions markovien et les arbres de jeu.The main families of reinforcement learning algorithms are in particular the so-called "Q-learning" methods, the variants of Q-learning such as the so-called "Deep Q-learning" methods, the so-called "Actor-Critic" methods , bandit algorithms, Markovian decision algorithms and game trees.

Comme cela sera expliqué par la suite, une récompense est déterminée par le dispositif de contrôle 20 en réponse à la première donnée intermédiaire SA et est renvoyé au premier module de traitement 14. Le premier module de traitement 14 est alors propre à faire évoluer l’algorithme d’apprentissage par renforcement en fonction de cette récompense pour le calcul de la prochaine première donnée intermédiaire SA afin de maximiser la prochaine récompense reçue.As will be explained below, a reward is determined by the control device 20 in response to the first intermediate datum SA and is sent back to the first processing module 14. The first processing module 14 is then capable of changing the reinforcement learning algorithm based on this reward for calculating the next first intermediate datum SA in order to maximize the next reward received.

En particulier, le premier module de traitement 14 est configuré pour appliquer préférentiellement une méthode dite de « Q-learning », une méthode dite « Actor-Critic » ou une variante de ces méthodes connues de l’homme du métier.In particular, the first processing module 14 is configured to preferentially apply a so-called “Q-learning” method, a so-called “Actor-Critic” method or a variant of these methods known to those skilled in the art.

Avantageusement, le premier module de traitement 14 est configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une première pluralité de paramètres algorithmiques.Advantageously, the first processing module 14 is configured to implement the reinforcement learning algorithm according to a first plurality of algorithmic parameters.

Chaque paramètre algorithmique permet notamment de contrôler l’importance d’une variable ou d’une fonction dans les calculs effectués par l’algorithme d’apprentissage par renforcement. Ainsi, la modification d’un ou plusieurs paramètres algorithmiques permet de faire évoluer et d’ajuster l’algorithme d’apprentissage par renforcement au cours de son exploitation.Each algorithmic parameter makes it possible in particular to control the importance of a variable or a function in the calculations performed by the reinforcement learning algorithm. Thus, the modification of one or more algorithmic parameters makes it possible to evolve and adjust the reinforcement learning algorithm during its exploitation.

La méthode dite de « Q-learning » a typiquement pour objectif de construire une table permettant de lier chaque donnée d’entrée possible à un cout, en ajustant au fur et à mesure les coûts, correspondant aux valeurs de la table.The so-called “Q-learning” method typically aims to build a table making it possible to link each possible input data to a cost, by adjusting the costs progressively, corresponding to the values of the table.

Le premier module de traitement 14 est configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement avec la méthode dite de « Q-learning » si le nombre de données d’entrée possibles, ou encore considérées ou prises en compte, pour la première donnée d’entrée A est faible, typiquement si ce nombre de données d’entrée est inférieur à un seuil prédéfini. Le premier module de traitement 14 est typiquement configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement avec la méthode dite de « Q-learning » si une combinatoire de données d’entrée pour la première donnée d’entrée A est faible, telle qu’inférieure à un seuil correspondant prédéfini.The first processing module 14 is configured to implement the reinforcement learning algorithm with the so-called “Q-learning” method if the number of possible input data, or even considered or taken into account, for the first input data A is low, typically if this number of input data is less than a predefined threshold. The first processing module 14 is typically configured to implement the reinforcement learning algorithm with the so-called “Q-learning” method if a combination of input data for the first input data A is low, such as lower than a corresponding predefined threshold.

La méthode dite de « Deep Q-learning » construit typiquement un réseau de neurones qui calcule le coût à partir de chaque donnée d’entrée possible, avec un ajustement des paramètres, tels que poids, du réseau de neurones, par exemple par une méthode de descente de gradient.The so-called "Deep Q-learning" method typically builds a neural network which calculates the cost from each possible input datum, with an adjustment of the parameters, such as weights, of the neural network, for example by a method of gradient descent.

Le premier module de traitement 14 est configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement avec la méthode dite de « Deep Q-learning » si le nombre de données d’entrée possibles, ou encore considérées ou prises en compte, pour la première donnée d’entrée A est élevé, en particulier trop grand pour réaliser une table, typiquement si ce nombre de données d’entrée est supérieur au seuil prédéfini. Le premier module de traitement 14 est typiquement configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement avec la méthode dite de « Deep Q-learning » si la combinatoire de données d’entrée pour la première donnée d’entrée A est élevée, telle que supérieure au seuil correspondant prédéfini.The first processing module 14 is configured to implement the reinforcement learning algorithm with the so-called “Deep Q-learning” method if the number of possible input data, or even considered or taken into account, for the first input data A is high, in particular too large to produce a table, typically if this number of input data is greater than the predefined threshold. The first processing module 14 is typically configured to implement the reinforcement learning algorithm with the so-called “Deep Q-learning” method if the combination of input data for the first input data A is high , such as greater than the predefined corresponding threshold.

Pour la méthode dite « Actor-Critic », le principe est d’estimer une fonction de coût et de valeur. Ces fonctions sont généralement modélisées par des réseaux de neurones, en ajustant les poids de ces réseaux de neurones.For the so-called “Actor-Critic” method, the principle is to estimate a function of cost and value. These functions are generally modeled by neural networks, by adjusting the weights of these neural networks.

Le premier module de traitement 14 est typiquement configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement avec la méthode dite « Actor-Critic » si le nombre de données d’entrée possibles, ou encore considérées ou prises en compte, pour la première donnée d’entrée A est élevé, en particulier trop grand pour réaliser une table, typiquement si ce nombre de données d’entrée est supérieur au seuil prédéfini.The first processing module 14 is typically configured to implement the reinforcement learning algorithm with the so-called “Actor-Critic” method if the number of possible input data, or even considered or taken into account, for the first input data A is high, in particular too large to produce a table, typically if this number of input data is greater than the predefined threshold.

Le paramètre algorithmique est alors typiquement le nombre de données d’entrée possibles, considérées ou prises en compte ; ou encore la combinatoire de données d’entrée pour la première donnée d’entrée A.The algorithmic parameter is then typically the number of possible input data, considered or taken into account; or even the combination of input data for the first input data A.

Le premier module de traitement 14 est en outre configuré pour envoyer la première donnée intermédiaire SA au dispositif de surveillance 20.The first processing module 14 is further configured to send the first intermediate data item SA to the monitoring device 20.

Le deuxième module de traitement 16 est configuré pour calculer une deuxième donnée intermédiaire SB à partir de la deuxième donnée d’entrée B et de l’algorithme d’apprentissage par renforcement pour la mise en œuvre de la fonction critique.The second processing module 16 is configured to calculate a second intermediate datum SB from the second input datum B and the reinforcement learning algorithm for the implementation of the critical function.

Autrement dit, le deuxième module de traitement 16 est configuré pour mettre en œuvre la fonction critique pour la deuxième donnée d’entrée B, en appliquant l’algorithme d’apprentissage par renforcement à la deuxième donnée d’entrée B, ceci afin d’obtenir la deuxième donnée intermédiaire SB.In other words, the second processing module 16 is configured to implement the critical function for the second input datum B, by applying the reinforcement learning algorithm to the second input datum B, this in order to obtain the second intermediate datum SB.

La fonction critique est donc mise en œuvre par le deuxième module de traitement 16 avec le même algorithme que celui utilisé par le premier module de traitement 14, mais avec une donnée d’entrée différente.The critical function is therefore implemented by the second processing module 16 with the same algorithm as that used by the first processing module 14, but with different input data.

Avantageusement, le deuxième module de traitement 16 est configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une deuxième pluralité de paramètres algorithmiques.Advantageously, the second processing module 16 is configured to implement the reinforcement learning algorithm according to a second plurality of algorithmic parameters.

L’homme du métier comprendra que la première pluralité de paramètres algorithmiques et la deuxième pluralité de paramètres algorithmiques sont semblables et permettent d’ajuster les mêmes variables ou fonctions, mais présentent éventuellement des valeurs numériques pour chaque paramètre algorithmique différentes en fonction respectivement des premières et deuxièmes récompenses reçues.Those skilled in the art will understand that the first plurality of algorithmic parameters and the second plurality of algorithmic parameters are similar and make it possible to adjust the same variables or functions, but possibly have different numerical values for each algorithmic parameter depending respectively on the first and second awards received.

Le deuxième module de traitement 16 est en outre configuré pour envoyer la deuxième donnée intermédiaire SB au dispositif de surveillance 20.The second processing module 16 is further configured to send the second intermediate datum SB to the monitoring device 20.

Le module de traitement auxiliaire 18 est configuré pour calculer une donnée intermédiaire de référence SR à partir de de la première donnée d’entrée A et/ou de la deuxième donnée d’entrée B et d’un algorithme de référence pour la mise en œuvre de la fonction critique.The auxiliary processing module 18 is configured to calculate an intermediate reference datum SR from the first input datum A and/or from the second input datum B and from a reference algorithm for the implementation of the critical function.

Autrement dit, le module de traitement auxiliaire 18 est configuré pour mettre en œuvre la fonction critique pour la première donnée d’entrée A et/ou la deuxième donnée d’entrée B, en appliquant l’algorithme de référence à la première donnée d’entrée A et/ou à la deuxième donnée d’entrée B, ceci afin d’obtenir la donnée intermédiaire de référence SR.In other words, the auxiliary processing module 18 is configured to implement the critical function for the first input datum A and/or the second input datum B, by applying the reference algorithm to the first datum of input A and/or to the second input datum B, in order to obtain the intermediate reference datum SR.

Le module de traitement auxiliaire 18 est par exemple configuré pour mettre en œuvre la fonction critique uniquement à partir de la première donnée d’entrée A ou uniquement à partir de la deuxième donnée d’entrée B. En particulier, le module de traitement auxiliaire 18 est configuré pour prendre en entrée prioritairement la première donnée d’entrée A, et sinon, notamment en cas de défaillance du premier dispositif électronique amont 12A, pour prendre en entrée la deuxième donnée d’entrée B.The auxiliary processing module 18 is for example configured to implement the critical function only from the first input data A or only from the second input data B. In particular, the auxiliary processing module 18 is configured to take as input the first input data A as a priority, and otherwise, in particular in the event of failure of the first upstream electronic device 12A, to take as input the second input data B.

En variante, le module de traitement auxiliaire 18 est configuré pour mettre la fonction critique à partir à la fois de la première donnée d’entrée A et de la deuxième donnée d’entrée B.Alternatively, the auxiliary processing module 18 is configured to put the critical function from both the first input data A and the second input data B.

En variante encore, le module de traitement auxiliaire 18 est configuré pour mettre en œuvre la fonction critique uniquement à partir de la première donnée d’entrée A ; et séparément mettre en œuvre la fonction critique uniquement à partir de la deuxième donnée d’entrée B. Selon cette variante, le module de traitement auxiliaire 18 est alors configuré pour fournir en outre au dispositif de surveillance 20 une deuxième donnée intermédiaire de référence SR’ associée à la deuxième mise en œuvre de la fonction critique.As a further variant, the auxiliary processing module 18 is configured to implement the critical function only from the first input datum A; and separately implement the critical function solely from the second input datum B. According to this variant, the auxiliary processing module 18 is then configured to additionally supply the monitoring device 20 with a second intermediate reference datum SR' associated with the second implementation of the critical function.

L’algorithme de référence est différent de l’algorithme d’apprentissage par renforcement. Ainsi, l’algorithme de référence n’est pas configuré pour mettre en œuvre un apprentissage par renforcement.The benchmark algorithm is different from the reinforcement learning algorithm. Thus, the reference algorithm is not configured to implement reinforcement learning.

L’ensemble des mises en œuvre de la fonction critique par l’algorithme de référence définit un domaine d’arrivée de l’algorithme de référence. Avantageusement, le domaine d’arrivée est inclus dans le domaine de sécurité. Ainsi, la mise en œuvre de la fonction critique par le module de traitement auxiliaire 18 donne en sortie une donnée intermédiaire de référence SR toujours comprise dans le domaine de sécurité de la fonction critique, garantissant ainsi la sécurité de l’aéronef.The set of implementations of the critical function by the reference algorithm defines an arrival domain of the reference algorithm. Advantageously, the arrival domain is included in the security domain. Thus, the implementation of the critical function by the auxiliary processing module 18 outputs an intermediate reference datum SR always included in the safety domain of the critical function, thus guaranteeing the safety of the aircraft.

L’algorithme de référence est notamment un algorithme ne mettant pas en œuvre une méthode d’apprentissage automatique. En particulier, l’algorithme de référence est un algorithme déterministe constitué, par exemple, d’une succession d’instructions conditionnelles (de type « if, then ») et/ou basé sur la mise en œuvre d’un modèle physique constitué d’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., ou encore des méthodes de traitement du signal ou de filtrage. Les méthodes de traitement du signal ou de filtrage sont par exemple des méthodes mettant en œuvre des filtres numériques, des filtres de Kalman, connus en soi.The reference algorithm is in particular an algorithm that does not implement an automatic learning method. In particular, the reference algorithm is a deterministic algorithm consisting, for example, of a succession of conditional instructions (“if, then” type) and/or based on the implementation of a physical model consisting of a set of equations describing the operation of the system, the equations being in particular established by a person skilled in the art from physical laws, possibly simplified, or even signal processing or filtering methods. The signal processing or filtering methods are for example methods implementing digital filters, Kalman filters, known per se.

L’homme du métier comprendra alors que l’algorithme de référence est un algorithme déterministe, c’est-à-dire entièrement justifiable, ce qui n’est pas le cas l’algorithme d’apprentissage par renforcement qui est construit au fur et à mesure des essais, notamment de son apprentissage.Those skilled in the art will then understand that the reference algorithm is a deterministic algorithm, that is to say entirely justifiable, which is not the case with the reinforcement learning algorithm which is built as as the tests progress, in particular as it learns.

La fonction critique est donc mise en œuvre par le module de traitement auxiliaire 18 avec les même données d’entrée A, B que les premier et deuxième modules de traitement 14, 16 mais avec un algorithme diffèrent.The critical function is therefore implemented by the auxiliary processing module 18 with the same input data A, B as the first and second processing modules 14, 16 but with a different algorithm.

Le module de traitement auxiliaire 18 est en outre configuré pour envoyer la ou les donnée(s) intermédiaire(s) de référence SR, SR’ au dispositif de surveillance 20.The auxiliary processing module 18 is further configured to send the intermediate reference data(s) SR, SR' to the monitoring device 20.

Le dispositif de surveillance 20 comporte un module de contrôle 22 et un module de génération 24.The monitoring device 20 comprises a control module 22 and a generation module 24.

En complément, le dispositif de surveillance 20 comporte en outre un module de récompense 26.In addition, the monitoring device 20 further comprises a reward module 26.

Le module de récompense 26 est configuré pour calculer une première récompense RA associée à la mise en œuvre de la fonction critique par le premier module de traitement 14 et une deuxième récompense RB associée à la mise en œuvre de la fonction critique par le deuxième module de traitement 16.The reward module 26 is configured to calculate a first reward RA associated with the implementation of the critical function by the first processing module 14 and a second reward RB associated with the implementation of the critical function by the second processing module. treatment 16.

En particulier, le module de récompense 26 est configuré pour calculer les première et deuxième récompenses RA, RB en fonction d’une règle de récompense prédéterminée.In particular, the reward module 26 is configured to calculate the first and second rewards RA, RB according to a predetermined reward rule.

Comme expliqué ci-dessus, la règle de récompense prédéterminée définit si le calcul réalisé par le premier ou le deuxième module de traitement 14, 16 est proche d’un objectif prédéterminé.As explained above, the predetermined reward rule defines whether the calculation performed by the first or the second processing module 14, 16 is close to a predetermined objective.

A titre d’exemple, l’objectif est par exemple une trajectoire de l’aéronef à suivre et la règle de récompense est définie par la distance entre la trajectoire réelle suivie par l’aéronef et la trajectoire visée. Ainsi, plus la distance entre les deux trajectoires est proche, plus la récompense est élevée en réponse, de telle sorte que les premier et deuxième modules de traitement 14, 16 prennent en compte de manière privilégiée les actions conduisant à une trajectoire la plus proche possible de la trajectoire visée.By way of example, the objective is for example a trajectory of the aircraft to be followed and the reward rule is defined by the distance between the actual trajectory followed by the aircraft and the target trajectory. Thus, the closer the distance between the two trajectories, the higher the reward in response, such that the first and second processing modules 14, 16 take into account in a privileged manner the actions leading to the closest possible trajectory. of the target trajectory.

Le module de récompense 26 est en outre configuré pour pénaliser chaque première récompense RA et/ou respectivement chaque deuxième récompense RB, si la première donnée intermédiaire SA et/ou respectivement si la deuxième donnée intermédiaire SB n’appartiennent pas au domaine de sécurité.The reward module 26 is further configured to penalize each first reward RA and/or respectively each second reward RB, if the first intermediate datum SA and/or respectively if the second intermediate datum SB does not belong to the security domain.

Le module de récompense 26 est par exemple configuré pour multiplier chaque première récompense RA et/ou respectivement chaque deuxième récompense RB par un coefficient multiplicateur strictement inférieur à 1 si la première donnée intermédiaire SA et/ou respectivement si la deuxième donnée intermédiaire SB n’appartiennent pas au domaine de sécurité. Plus l’écart entre la première et/ou deuxième données intermédiaires SA, SB par rapport au domaine de sécurité est important, plus le coefficient multiplicateur est petit afin de pénaliser la première ou deuxième récompense RA, RB associée.The reward module 26 is for example configured to multiply each first reward RA and/or respectively each second reward RB by a multiplier coefficient strictly less than 1 if the first intermediate datum SA and/or respectively if the second intermediate datum SB does not belong not to the security domain. The greater the difference between the first and/or second intermediate data SA, SB with respect to the security domain, the smaller the multiplier coefficient in order to penalize the associated first or second reward RA, RB.

En variante, le module de récompense 26 est configuré pour soustraire à chaque première récompense RA et/ou respectivement à chaque deuxième récompense RB, une valeur proportionnelle à l’écart entre la première ou deuxième récompense RA, RB par rapport au domaine de sécurité.As a variant, the reward module 26 is configured to subtract from each first reward RA and/or respectively from each second reward RB, a value proportional to the difference between the first or second reward RA, RB with respect to the security domain.

Le premier module de traitement 14 est configuré pour recevoir la première récompense RA à chaque itération, et pour modifier la première pluralité de paramètres algorithmiques en fonction de la première récompense reçue RA à chaque itération afin de maximiser la prochaine première récompense RA reçue.The first processing module 14 is configured to receive the first reward RA at each iteration, and to modify the first plurality of algorithmic parameters according to the first reward RA received at each iteration in order to maximize the next first reward RA received.

Le deuxième module de traitement 16 est configuré pour recevoir la deuxième récompense RB à chaque itération, et pour modifier la deuxième pluralité de paramètres algorithmiques en fonction de la deuxième récompense reçue RB à chaque itération afin de maximiser la prochaine deuxième récompense RB reçue.The second processing module 16 is configured to receive the second reward RB at each iteration, and to modify the second plurality of algorithmic parameters according to the second reward RB received at each iteration in order to maximize the next second reward RB received.

Le module de contrôle 22 est configuré pour vérifier si les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité.The control module 22 is configured to check whether the first and second intermediate data SA, SB belong to the security domain.

En particulier, si les première et deuxième données intermédiaires SA, SB sont des valeurs numériques, le module de contrôle 22 est configuré pour vérifier si les première et deuxième données intermédiaires SA, SB appartiennent à la plage de valeurs définissant le domaine de sécurité.In particular, if the first and second intermediate data SA, SB are digital values, the control module 22 is configured to check whether the first and second intermediate data SA, SB belong to the range of values defining the security domain.

Si les première et deuxième données intermédiaires SA, SB sont des indicateurs booléens, le module de contrôle 22 est configuré pour vérifier si les première et deuxième données intermédiaires SA, SB sont égale à la valeur associée au domaine de sécurité, typiquement 0 ou 1.If the first and second intermediate data SA, SB are Boolean indicators, the control module 22 is configured to check whether the first and second intermediate data SA, SB are equal to the value associated with the security domain, typically 0 or 1.

Le module de contrôle 22 est en outre configuré pour comparer les première et deuxième données intermédiaires SA, SB entre elles afin de détecter une éventuelle incohérence.The control module 22 is also configured to compare the first and second intermediate data SA, SB with each other in order to detect any inconsistency.

La comparaison entre les deux données intermédiaires SA, SB 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.The comparison between the two intermediate data SA, SB determines whether these two intermediate data are mutually consistent or not according to a predetermined consistency rule. The consistency rule defines a criterion on the result of the comparison making it possible to define whether the intermediate data is consistent with each other.

Typiquement, si les données intermédiaires sont des valeurs numériques, la règle de cohérence définit un calcul d’une métrique, telle qu’une 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 SA, SB sont alors cohérentes entre elles si la métrique, telle que la distance entre les valeurs est inférieure au seuil de cohérence.Typically, if the intermediate data are numeric values, the consistency rule defines a calculation of a metric, such as a distance between the data, for example the absolute value of the difference, and a consistency threshold. The intermediate data SA, SB are then consistent with one another if the metric, such as the distance between the values, is less than the consistency threshold.

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.By way of example, two intermediate data representing aircraft speed instructions having a difference in value of more than 10% are considered to be inconsistent with each other.

Le module de contrôle 22 est configuré en outre pour comptabiliser le nombre de fois où respectivement les première et deuxième données intermédiaires SA, SB ne respectent pas le domaine de sécurité.The control module 22 is further configured to count the number of times respectively where the first and second intermediate data SA, SB do not comply with the security domain.

Le module de contrôle 22 est configuré pour réinitialiser respectivement la première pluralité de paramètres algorithmiques et la deuxième pluralité de paramètres algorithmiques lorsque ledit nombre est supérieur à un seuil prédéterminé.The control module 22 is configured to reset respectively the first plurality of algorithmic parameters and the second plurality of algorithmic parameters when said number is greater than a predetermined threshold.

En particulier, les algorithmes d’apprentissage par renforcement mis en œuvre dans les premier et deuxième modules de traitement 14, 16 sont entrainés dans un environnement contrôlé de type simulation, avant l’exploitation en conditions réelles du système 10. Cet entraînement permet l’établissement d’un comportement des algorithmes assurant un fonctionnement des algorithmes assurant des performances et une sécurité jugées suffisantes par un homme du métier avant l’exploitation du système 10. Les paramètres algorithmiques de l’algorithme obtenus après l’entraînement sont sauvegardés dans une base de données embarquée dans le système 10.In particular, the reinforcement learning algorithms implemented in the first and second processing modules 14, 16 are trained in a controlled environment of the simulation type, before the operation in real conditions of the system 10. This training allows the establishment of a behavior of the algorithms ensuring operation of the algorithms ensuring performance and security deemed sufficient by a person skilled in the art before the operation of the system 10. The algorithmic parameters of the algorithm obtained after the training are saved in a database of data embedded in the system 10.

Ainsi, on entend par « réinitialiser la première pluralité de paramètres algorithmiques et la deuxième pluralité de paramètres algorithmiques, le fait de réinitialiser les algorithmes d’apprentissage par renforcement mis en œuvre dans les premier et deuxième modules de traitement 14, 16 selon les paramètres algorithmiques définis lors de l’entrainement avant l’exploitation du système 10.Thus, the term "resetting the first plurality of algorithmic parameters and the second plurality of algorithmic parameters, the fact of resetting the reinforcement learning algorithms implemented in the first and second processing modules 14, 16 according to the algorithmic parameters defined during training before operating the system 10.

Avantageusement, lorsque le module de traitement auxiliaire 18 est configuré pour fournir deux données intermédiaires de référence associées à partir de respectivement la première donnée d’entrée A et la deuxième donnée d’entrée B pour la mise en œuvre de la fonction critique, le module de contrôle 22 est configuré pour comparer la première donnée intermédiaire SA avec la donnée intermédiaire de référence SR associée à la première donnée d’entrée A, et respectivement pour comparer la deuxième donnée intermédiaire SB avec la donnée intermédiaire de référence SR’ associée à la deuxième donnée d’entrée B.Advantageously, when the auxiliary processing module 18 is configured to supply two intermediate reference data associated from respectively the first input data A and the second input data B for the implementation of the critical function, the module 22 is configured to compare the first intermediate datum SA with the intermediate reference datum SR associated with the first input datum A, and respectively to compare the second intermediate datum SB with the intermediate reference datum SR' associated with the second input data B.

Ainsi, en cas d’incohérence détectée entre les première et deuxième données intermédiaires SA, SB, le module de contrôle 22 est propre à détecter si la défaillance est due aux données d’entrée A, B ou bien à la mise en œuvre de la fonction critique par les premier et deuxième modules de traitement 14, 16.Thus, in the event of an inconsistency detected between the first and second intermediate data SA, SB, the control module 22 is able to detect whether the failure is due to the input data A, B or else to the implementation of the critical function by the first and second processing modules 14, 16.

En effet, si la première donnée intermédiaire SA et la donnée intermédiaire de référence SR associée à la première donnée d’entrée A sont cohérentes et si la deuxième donnée intermédiaire SB n’est pas cohérente avec la donnée intermédiaire de référence associée à la deuxième donnée d’entrée B, alors la défaillance provient du deuxième module de traitement 16.Indeed, if the first intermediate datum SA and the intermediate reference datum SR associated with the first input datum A are coherent and if the second intermediate datum SB is not coherent with the intermediate reference datum associated with the second datum input B, then the failure comes from the second processing module 16.

Si la première donnée intermédiaire SA et la donnée intermédiaire de référence SR associée à la première donnée d’entrée A sont cohérentes et si la deuxième donnée intermédiaire SB est cohérente avec la donnée intermédiaire de référence associée à la deuxième donnée d’entrée B, alors la défaillance provient de l’un des deux dispositifs électroniques amont 12A, 12B.If the first intermediate datum SA and the intermediate reference datum SR associated with the first input datum A are consistent and if the second intermediate datum SB is consistent with the intermediate reference datum associated with the second input datum B, then the failure comes from one of the two upstream electronic devices 12A, 12B.

Le module de contrôle 22 est, en outre, configuré pour comparer les première et deuxième récompenses RA, RB entre elles afin de détecter une éventuelle incohérence.The control module 22 is, moreover, configured to compare the first and second rewards RA, RB with each other in order to detect any inconsistency.

En particulier, le module de contrôle 22 calcule une métrique, telle qu’une distance entre les récompenses RA, RB, par exemple la valeur absolue de la différence, et un deuxième seuil de cohérence. Les récompenses RA, RB sont alors cohérentes entre elles si la métrique, telle que la distance entre les valeurs est inférieure au deuxième seuil de cohérence.In particular, the control module 22 calculates a metric, such as a distance between the rewards RA, RB, for example the absolute value of the difference, and a second consistency threshold. The rewards RA, RB are then consistent with one another if the metric, such as the distance between the values, is less than the second consistency threshold.

Le module de génération 24 est configuré pour générer la donnée de sortie C en fonction des première et deuxième données intermédiaires SA, SB lorsque les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité et en l’absence d’incohérence détectée.The generation module 24 is configured to generate the output data C according to the first and second intermediate data SA, SB when the first and second intermediate data SA, SB belong to the security domain and in the absence of detected inconsistency.

La donnée de sortie C est par exemple égale à l’une des deux données intermédiaires SA, SB. Typiquement, lorsque les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité et en l’absence d’incohérence détectée, la donnée de sortie C est égale à la première donnée intermédiaire SA.The output data C is for example equal to one of the two intermediate data SA, SB. Typically, when the first and second intermediate data SA, SB belong to the security domain and in the absence of detected inconsistency, the output data C is equal to the first intermediate data SA.

En variante, lorsque les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité et en l’absence d’incohérence détectée, la donnée de sortie C est égale à la donnée intermédiaire SA, SB associée à la récompense RA, RB la plus élevée calculée par le module de récompense 26.As a variant, when the first and second intermediate data SA, SB belong to the security domain and in the absence of detected inconsistency, the output data C is equal to the intermediate data SA, SB associated with the reward RA, RB la higher calculated by the reward module 26.

En variante encore, le module de génération 24 est configuré pour appliquer une formule mathématique aux première et deuxième données intermédiaires SA, SB pour obtenir la donnée de sortie C. Par exemple, le module de génération 24 est configuré pour effectuer une moyenne des données intermédiaires SA, SB.As a further variant, the generation module 24 is configured to apply a mathematical formula to the first and second intermediate data SA, SB to obtain the output data C. For example, the generation module 24 is configured to perform an average of the intermediate data SA, SB.

Si l’une des première et deuxième données intermédiaires SA, SB n’appartient pas au domaine de sécurité et/ou si une incohérence est détectée, la donnée de sortie C est alors égale à la donnée de référence SR.If one of the first and second intermediate data SA, SB does not belong to the security domain and/or if an inconsistency is detected, the output data C is then equal to the reference data SR.

Le module d’alerte 21 est configuré pour générer un signal d’alerte en fonction de chaque incohérence détectée par le module de contrôle 22 entre les données intermédiaires SA, SB et/ou entre les récompenses RA, RB.The alert module 21 is configured to generate an alert signal according to each inconsistency detected by the control module 22 between the intermediate data SA, SB and/or between the rewards RA, RB.

Le signal d’alerte comporte avantageusement une alerte relative à la défaillance des dispositifs électroniques amont 12A, 12B ou de l’un des modules de traitement 14, 16.The alert signal advantageously includes an alert relating to the failure of the upstream electronic devices 12A, 12B or of one of the processing modules 14, 16.

Optionnellement, le module d’affichage 23 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 23 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.Optionally, the display module 23 is configured to display the alert intended for a user of the electronic system 10. In particular, when the system 10 is an avionic system, the display module 23 is configured to display the alert on a head-down display screen or a head-up display screen in front of the pilot who then takes into account the detected failure.

Dans l’exemple de la , 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 module de traitement auxiliaire 18 et le dispositif de surveillance 20, et en complément facultatif le module d’alerte 21 et le module d’affichage 23, 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 logiciel de traitement auxiliaire et un logiciel de surveillance, et en complément facultatif un logiciel d’alerte et un logiciel d’affichage. Le processeur 54 est alors apte à exécuter chacun de ces logiciels.In the example of the , the electronic system 10 comprises an information processing unit 50 formed for example of a memory 52 and a processor 54 associated with the memory 52. The first processing module 14, the second processing module 16, the module auxiliary processing unit 18 and the monitoring device 20, and as an optional addition the alert module 21 and the display module 23, are each produced in the form of software, or a software brick, executable by the processor 54. The memory 52 is then able to store a first processing software, a second processing software, an auxiliary processing software and a monitoring software, and in addition optional alert software and display software. The processor 54 is then capable of executing each of these software programs.

En variante non représentée, le premier module de traitement 14, le deuxième module de traitement 16, le module de traitement auxiliaire 18 et le dispositif de surveillance 20, et en complément facultatif le module d’alerte 21 et le module d’affichage 23, sont réalisés chacun sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglaisField Programmable Gate Array), ou encore sous forme d’un circuit intégré dédié, tel qu’un ASIC (de l’anglaisApplication Specific Integrated Circuit). Le premier module de traitement 14, le deuxième module de traitement 16, le module de traitement auxiliaire 18 et le dispositif de surveillance 20 sont alors de préférence embarqués chacun sur un calculateur électronique respectif.In a variant not shown, the first processing module 14, the second processing module 16, the auxiliary processing module 18 and the monitoring device 20, and as an optional addition the alert module 21 and the display module 23, are each made in the form of a programmable logic component, such as an FPGA (from the English Field Programmable Gate Array ), or even in the form of a dedicated integrated circuit, such as an ASIC (from the English Application Specific Integrated Circuit ). The first processing module 14, the second processing module 16, the auxiliary processing module 18 and the monitoring device 20 are then preferably each embedded in a respective electronic computer.

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.When the electronic system 10 is produced in the form of one or more software, that is to say in the form of a computer program, it is also capable of being recorded on a medium, not shown, readable by computer. The computer-readable medium is, for example, a medium capable of storing electronic instructions and of being coupled to a bus of a computer system. By way of example, the readable medium is an optical disc, a magneto-optical disc, a ROM memory, a RAM memory, any type of non-volatile memory (for example EPROM, EEPROM, FLASH, NVRAM), a magnetic card or an optical card. On the readable medium is then stored a computer program comprising software instructions.

Le fonctionnement du système électronique 10 selon l’invention va désormais être expliqué à l’aide de la représentant un organigramme du procédé, selon l’invention, de mise en œuvre d’une fonction critique par le système 10.The operation of the electronic system 10 according to the invention will now be explained using the representing a flowchart of the method, according to the invention, for implementing a critical function by the system 10.

Par la suite, un exemple de mise en œuvre du procédé va être décrite pour un système avionique, et l’homme du métier comprendra que ce procédé s’applique plus généralement à tout système électronique 10.Subsequently, an example of implementation of the method will be described for an avionic system, and those skilled in the art will understand that this method applies more generally to any electronic system 10.

Initialement, l’aéronef est par exemple en train de voler en direction d’un aéroport.Initially, the aircraft is, for example, flying towards an airport.

Le système avionique 10 met alors en œuvre une fonction critique avionique, telle qu’un calcul d’une commande de vol de l’aéronef, un calcul d’une trajectoire de vol optimisée selon un critère prédéterminé, tel que la consommation de carburant de l’aéronef, ou encore le calcul d’une stratégie d’évitement d’un obstacle par l’aéronef. Lors d’une première étape de calcul 100, le premier module de traitement 14 calcule la première donnée intermédiaire SA à partir de la première donnée d’entrée A et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée A.The avionics system 10 then implements a critical avionics function, such as a calculation of a flight control of the aircraft, a calculation of an optimized flight trajectory according to a predetermined criterion, such as the fuel consumption of the aircraft, or else the calculation of a strategy for avoiding an obstacle by the aircraft. During a first calculation step 100, the first processing module 14 calculates the first intermediate datum SA from the first input datum A and the reinforcement learning algorithm, for the implementation of the critical function for the first input data A.

Dans l’exemple du calcul d’une commande de vol, la première donnée d’entrée A est notamment une première donnée de localisation de l’aéronef, une première donnée relative à l’état d’un système avionique ou une première donnée relative à la trajectoire à suivre par l’aéronef. Le premier module de traitement 14 calcule alors la première donnée intermédiaire SA, telle qu’une première commande de vol pour l’aéronef, afin de se rapprocher au plus proche d’une trajectoire visée, ceci à partir de cette première donnée d’entrée A en lui appliquant l’algorithme d’apprentissage par renforcement. La première donnée intermédiaire SA est ainsi représentative d’une première commande de vol pour l’aéronef afin de suivre au mieux la trajectoire visée.In the example of the calculation of a flight command, the first input datum A is in particular a first datum relating to the location of the aircraft, a first datum relating to the state of an avionic system or a first datum relating to the trajectory to be followed by the aircraft. The first processing module 14 then calculates the first intermediate datum SA, such as a first flight command for the aircraft, in order to get as close as possible to a target trajectory, this from this first input datum A by applying the reinforcement learning algorithm to it. The first intermediate datum SA is thus representative of a first flight command for the aircraft in order to best follow the targeted trajectory.

Dans l’exemple du calcul d’une trajectoire optimisée, la première donnée d’entrée A est notamment une première donnée de localisation de l’aéronef, une première donnée relative à l’état de l’aéronef, une première donnée relative à la destination programmée pour l’aéronef. La première donnée intermédiaire SA est alors représentative d’une première trajectoire à suivre.In the example of the calculation of an optimized trajectory, the first input datum A is in particular a first datum relating to the location of the aircraft, a first datum relating to the state of the aircraft, a first datum relating to the scheduled destination for the aircraft. The first intermediate datum SA is then representative of a first trajectory to be followed.

Dans l’exemple du calcul d’une stratégie d’évitement d’un obstacle, la première donnée d’entrée A est notamment une première donnée de localisation de l’aéronef, une première donnée de localisation de l’obstacle ou une première donnée relative à l’état d’un système avionique. La première donnée intermédiaire SA est alors représentative d’une première stratégie d’évitement à suivre par l’aéronef.In the example of the calculation of an obstacle avoidance strategy, the first input datum A is in particular a first location datum of the aircraft, a first datum of location of the obstacle or a first datum relative to the state of an avionics system. The first intermediate datum SA is then representative of a first avoidance strategy to be followed by the aircraft.

Lors d’une deuxième étape de calcul 110, le deuxième module de traitement 16 calcule la deuxième donnée intermédiaire SB à partir de la deuxième donnée d’entrée B et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la deuxième donnée d’entrée B.During a second calculation step 110, the second processing module 16 calculates the second intermediate datum SB from the second input datum B and the reinforcement learning algorithm, for the implementation of the critical function for the second input data B.

Dans l’exemple du calcul d’une commande de vol, la deuxième donnée d’entrée B est notamment une deuxième donnée de localisation de l’aéronef, de préférence issue d’un capteur différent de celui ayant fourni la première donnée de localisation, une deuxième donnée relative à l’état dudit système avionique ou une deuxième donnée relative à la trajectoire à suivre. Le deuxième module de traitement 16 calcule la deuxième donnée intermédiaire SB, telle qu’une deuxième commande de vol pour l’aéronef afin de se rapprocher au plus proche de la trajectoire visée, ceci à partir de cette deuxième donnée d’entrée B en lui appliquant l’algorithme d’apprentissage par renforcement. La deuxième donnée intermédiaire SB est ainsi représentative d’une deuxième commande de vol pour l’aéronef afin de suivre au mieux la trajectoire visée.In the example of the calculation of a flight command, the second input datum B is in particular a second location datum of the aircraft, preferably coming from a sensor different from that which provided the first location datum, a second datum relating to the state of said avionic system or a second datum relating to the trajectory to be followed. The second processing module 16 calculates the second intermediate datum SB, such as a second flight command for the aircraft in order to get as close as possible to the target trajectory, this from this second input datum B in it applying reinforcement learning algorithm. The second intermediate datum SB is thus representative of a second flight command for the aircraft in order to best follow the targeted trajectory.

Dans l’exemple du calcul d’une trajectoire optimisée, la deuxième donnée d’entrée B est notamment une deuxième donnée de localisation de l’aéronef, une deuxième donnée relative à l’état de l’aéronef, une deuxième donnée relative à la destination programmée pour l’aéronef. La deuxième donnée intermédiaire SB est alors représentative d’une deuxième trajectoire à suivre.In the example of the calculation of an optimized trajectory, the second input datum B is in particular a second datum relating to the location of the aircraft, a second datum relating to the state of the aircraft, a second datum relating to the scheduled destination for the aircraft. The second intermediate datum SB is then representative of a second trajectory to be followed.

Dans l’exemple du calcul d’une stratégie d’évitement d’un obstacle, la deuxième donnée d’entrée B est notamment une deuxième donnée de localisation de l’aéronef, une deuxième donnée de localisation de l’obstacle ou une deuxième donnée relative à l’état d’un système avionique. La deuxième donnée intermédiaire SB est alors représentative d’une deuxième stratégie d’évitement à suivre par l’aéronef.In the example of calculating an obstacle avoidance strategy, the second input datum B is in particular a second location datum of the aircraft, a second location datum of the obstacle or a second datum relative to the state of an avionics system. The second intermediate datum SB is then representative of a second avoidance strategy to be followed by the aircraft.

Lors d’une troisième étape de calcul 120, le module de traitement auxiliaire 18 calcule la donnée intermédiaire de référence SR à partir de la première donnée d’entrée A et/ou de la deuxième donnée d’entrée B et de l’algorithme de référence, pour la mise en œuvre de la fonction critique via l’algorithme de référence pour la première donnée d’entrée A et/ou la deuxième donnée d’entrée B.During a third calculation step 120, the auxiliary processing module 18 calculates the intermediate reference datum SR from the first input datum A and/or from the second input datum B and from the algorithm of reference, for the implementation of the critical function via the reference algorithm for the first input data A and/or the second input data B.

Par exemple, le module de traitement auxiliaire 18 calcule la donnée intermédiaire de référence SR, telle qu’une troisième commande de vol pour l’aéronef afin de se rapprocher au plus proche de la trajectoire visée, une troisième trajectoire à suivre ou une troisième stratégie d’évitement, ceci à partir de la première donnée d’entrée A et/ou de la deuxième donnée d’entrée B en lui ou en leur appliquant l’algorithme de référence.For example, the auxiliary processing module 18 calculates the intermediate reference datum SR, such as a third flight command for the aircraft in order to approach as close as possible to the targeted trajectory, a third trajectory to be followed or a third strategy avoidance, this from the first input datum A and/or from the second input datum B by itself or by applying the reference algorithm to them.

Dans l’exemple du calcul d’une commande de vol, l’algorithme de référence est par exemple un modèle physique simplifié fournissant une formule déterministe donnant la commande de vol en fonction de l’écart entre la trajectoire de l’aéronef et la trajectoire visée.In the example of the calculation of a flight command, the reference algorithm is for example a simplified physical model providing a deterministic formula giving the flight command according to the difference between the trajectory of the aircraft and the trajectory aimed.

Dans l’exemple du calcul d’une trajectoire optimisée, l’algorithme de référence est par exemple un modèle physique simplifié fournissant une formule déterministe donnant une trajectoire à faible consommation de carburant en fonction de la position de l’aéronef et de sa destination.In the example of the calculation of an optimized trajectory, the reference algorithm is for example a simplified physical model providing a deterministic formula giving a trajectory with low fuel consumption as a function of the position of the aircraft and of its destination.

Dans l’exemple du calcul d’une stratégie d’évitement d’un obstacle, l’algorithme de référence est par exemple un modèle physique simplifié fournissant une formule déterministe donnant une stratégie d’évitement en fonction de la position de l’aéronef et la position de l’obstacle.In the example of the calculation of an obstacle avoidance strategy, the reference algorithm is for example a simplified physical model providing a deterministic formula giving an avoidance strategy as a function of the position of the aircraft and the position of the obstacle.

Les étapes de calcul 100, 110 et 120 sont réalisées indépendamment l’une de l’autre, en même temps ou bien successivement dans un ordre quelconque.Calculation steps 100, 110 and 120 are carried out independently of one another, at the same time or else successively in any order.

Le dispositif de surveillance 20 reçoit les première et deuxième données intermédiaires SA, SB puis vérifie, lors d’une étape de contrôle 130, si les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité et compare les première et deuxième données intermédiaires SA, SB entre elles afin de détecter une éventuelle incohérence.The monitoring device 20 receives the first and second intermediate data SA, SB then verifies, during a control step 130, whether the first and second intermediate data SA, SB belong to the security domain and compares the first and second intermediate data SA, SB between them in order to detect a possible inconsistency.

A titre d’exemple, si la commande de vol est une consigne de vitesse, le domaine de sécurité est alors notamment un intervalle de vitesse associé. Si la commande de vol est une consigne d’altitude, le domaine de sécurité est alors un intervalle d’altitude. Si la commande de vol est une commande moteur, le domaine de sécurité est alors notamment un intervalle de puissance moteur. Si la commande de vol est une commande de direction, le domaine de sécurité est par exemple une limite de changement de direction de l’aéronef, etc.By way of example, if the flight command is a speed instruction, the safety domain is then in particular an associated speed interval. If the flight command is an altitude instruction, the safety domain is then an altitude interval. If the flight command is an engine command, the safety domain is then in particular an interval of engine power. If the flight command is a direction command, the safety domain is for example a change in direction limit of the aircraft, etc.

En outre, deux commandes de vol sont par exemple détectées comme étant incohérentes entre elles, si les trajectoires associées à ces deux commandes présentent un écart spatial supérieur à une distance seuil prédéterminée.In addition, two flight commands are for example detected as being inconsistent with each other, if the trajectories associated with these two commands have a spatial difference greater than a predetermined threshold distance.

Lorsque les première et deuxième données intermédiaires SA, SB appartiennent au domaine de sécurité et en l’absence d’incohérence détectée, le dispositif de surveillance 20 délivre la donnée de sortie C en fonction des première et deuxième données intermédiaires SA, SB lors d’une étape de génération 140.When the first and second intermediate data SA, SB belong to the security domain and in the absence of detected inconsistency, the monitoring device 20 delivers the output data C according to the first and second intermediate data SA, SB during a generation stage 140.

Par exemple, la donnée de sortie C est égale à la première commande de vol ou est égale à la moyenne entre les première et deuxième commandes de vol.For example, the output data C is equal to the first flight command or is equal to the average between the first and second flight commands.

Si une incohérence est détectée, le dispositif de surveillance 20 délivre alors la donnée de sortie C égale à la donnée de référence SR lors de l’étape de génération 140. En outre, le module d’alerte 21 génère un signal d’alerte lors d’une étape d’alerte 150 et, optionnellement, lors d’une étape d’affichage 160, le module d’affichage 25 affiche l’alerte à destination d’un utilisateur du système électronique 10, notamment du pilote de l’aéronef.If an inconsistency is detected, the monitoring device 20 then delivers the output datum C equal to the reference datum SR during the generation step 140. In addition, the alert module 21 generates an alert signal during of an alert step 150 and, optionally, during a display step 160, the display module 25 displays the alert intended for a user of the electronic system 10, in particular the pilot of the aircraft .

Lors d’une étape de récompense 170, le module de récompense 26 reçoit les première et deuxième données intermédiaires SA, SB et calcule une première récompense RA associée à la mise en œuvre de la fonction critique par le premier module de traitement 14 et une deuxième récompense RB associée à la mise en œuvre de la fonction critique par le deuxième module de traitement 16.During a reward step 170, the reward module 26 receives the first and second intermediate data SA, SB and calculates a first reward RA associated with the implementation of the critical function by the first processing module 14 and a second reward RB associated with the implementation of the critical function by the second processing module 16.

Dans l’exemple du calcul d’une commande de vol, plus la distance entre la trajectoire calculée et la trajectoire visée est proche, plus la récompense est élevée.In the example of calculating a flight command, the closer the distance between the calculated trajectory and the target trajectory, the higher the reward.

Dans l’exemple du calcul d’une trajectoire optimisée, la récompense est calculée en fonction de la consommation de carburant réel mesurée. Plus la consommation est faible, plus la récompense est alors élevée.In the example of the calculation of an optimized trajectory, the reward is calculated according to the actual measured fuel consumption. The lower the consumption, the higher the reward.

Dans l’exemple du calcul d’une stratégie d’évitement d’un obstacle, la récompense est calculée après l’évitement de l’obstacle en fonction de l'écart minimal en distance entre l’aéronef et l’obstacle. Plus cet écart de distance est élevé, plus la récompense est également élevée.In the example of calculating an obstacle avoidance strategy, the reward is calculated after the avoidance of the obstacle according to the minimum difference in distance between the aircraft and the obstacle. The higher this distance gap, the higher the reward is also.

Le module de récompense 26 envoie la première récompense RA et respectivement la deuxième récompense RB au premier et respectivement deuxième module de traitement 14, 16.The reward module 26 sends the first reward RA and respectively the second reward RB to the first and respectively second processing module 14, 16.

A la prochaine itération de la première étape de calcul 100, le premier module de traitement 14 reçoit la première récompense RA et modifie la première pluralité de paramètres algorithmiques afin de maximiser la prochaine première récompense RA reçue, et ainsi par exemple calculer une trajectoire plus proche de la trajectoire visée.At the next iteration of the first calculation step 100, the first processing module 14 receives the first reward RA and modifies the first plurality of algorithmic parameters in order to maximize the next first reward RA received, and thus for example calculate a closer trajectory of the target trajectory.

A la prochaine itération de la deuxième étape de calcul 110, le deuxième module de traitement 16 reçoit la deuxième récompense RB et modifie la deuxième pluralité de paramètres algorithmiques afin de maximiser la prochaine deuxième récompense RB reçue, et ainsi par exemple calculer une trajectoire consommant moins de carburant ou une stratégie d’évitement plus efficace.At the next iteration of the second calculation step 110, the second processing module 16 receives the second reward RB and modifies the second plurality of algorithmic parameters in order to maximize the next second reward RB received, and thus for example calculate a trajectory consuming less fuel or a more effective avoidance strategy.

On conçoit alors que la présente invention présente un certain nombre d’avantages.It can then be seen that the present invention has a certain number of advantages.

En effet, la mise en œuvre de la fonction critique par les premier et deuxièmes modules de traitement 14, 16 via l’algorithme d’apprentissage par renforcement permettent d’améliorer la performance du système 10 durant son exploitation. En effet, un tel algorithme permet de s’adapter à des évènements nouveaux et inattendus rencontrés par le système électronique 10 lors de son exploitation.Indeed, the implementation of the critical function by the first and second processing modules 14, 16 via the reinforcement learning algorithm makes it possible to improve the performance of the system 10 during its operation. Indeed, such an algorithm makes it possible to adapt to new and unexpected events encountered by the electronic system 10 during its operation.

En outre, la comparaison entre ces deux données intermédiaires SA, SB issues de deux données d’entrée différentes et la vérification de l’appartenance au domaine de sécurité permet de détecter une éventuelle incohérence et de fournir le cas échéant une donnée de sortie C égale à la donnée intermédiaire de référence SR appartenant au domaine de sécurité, et ainsi de garantir la sécurité du système 10 même en cas d’incohérence détectée.In addition, the comparison between these two intermediate data SA, SB resulting from two different input data and the verification of the belonging to the security domain makes it possible to detect a possible inconsistency and to provide, if necessary, an output data C equal to the intermediate reference datum SR belonging to the security domain, and thus to guarantee the security of the system 10 even in the event of a detected inconsistency.

Enfin, le système 10 selon l’invention permet d’alerter le cas échéant l’utilisateur d’une défaillance due aux données d’entrées ou bien à la mise en œuvre des algorithme d’apprentissage par renforcement.Finally, the system 10 according to the invention makes it possible to alert the user, if necessary, of a failure due to the input data or else to the implementation of reinforcement learning algorithms.

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.Thus, the invention makes it possible to obtain a high-performance electronic system 10 while being sufficiently safe, in particular with regard to safety requirements in the avionics field.

Claims (10)

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 (C) associée à ladite fonction critique, la donnée de sortie (C) étant associée à un domaine de sécurité prédéterminé, le domaine de sécurité étant en forme d’une plage de valeurs prédéfinies,
le système électronique (10) comprenant :
- un premier module de traitement (14) configuré pour calculer une première donnée intermédiaire (SA) à partir de la première donnée d’entrée (A) et d’un algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée (A),
- un deuxième module de traitement (16) configuré pour calculer une deuxième donnée intermédiaire (SB) à partir de la deuxième donnée d’entrée (B) et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la deuxième donnée d’entrée (B), la deuxième donnée d’entrée (B) étant différente de la première donnée d’entrée (A),
- un module de traitement auxiliaire (18) configuré pour calculer une donnée intermédiaire de référence (SR) à partir de la première donnée d’entrée (A) et/ou de la deuxième donnée d’entrée (B) et d’un algorithme de référence différent de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée (A) et/ou la deuxième donnée d’entrée (B) via l’algorithme de référence,
- un dispositif de surveillance (20) comportant :
+ un module de contrôle (22) configuré pour vérifier si les première et deuxième données intermédiaires (SA, SB) appartiennent au domaine de sécurité et pour comparer les première et deuxième données intermédiaires (SA, SB) entre elles afin de détecter une éventuelle incohérence;
+ un module de génération (24) configuré pour générer la donnée de sortie (C) en fonction des première et deuxième données intermédiaires (SA, SB) si les première et deuxième données intermédiaires (SA, SB) appartiennent au domaine de sécurité et si aucune incohérence n’est détectée, la donnée de sortie (C) étant égale à la donnée intermédiaire de référence (SR) sinon.
Electronic system (10) configured to implement a critical function, the electronic system (10) being able to receive first and second input data (A, B) and to deliver output data (C) associated with said critical function, the output data (C) being associated with a predetermined security domain, the security domain being in the form of a range of predefined values,
the electronic system (10) comprising:
- a first processing module (14) configured to calculate a first intermediate datum (SA) from the first input datum (A) and a reinforcement learning algorithm, for the implementation of the function critical for the first input data (A),
- a second processing module (16) configured to calculate a second intermediate datum (SB) from the second input datum (B) and the reinforcement learning algorithm, for the implementation of the function critical for the second input datum (B), the second input datum (B) being different from the first input datum (A),
- an auxiliary processing module (18) configured to calculate an intermediate reference datum (SR) from the first input datum (A) and/or from the second input datum (B) and from an algorithm reference different from the reinforcement learning algorithm, for the implementation of the critical function for the first input datum (A) and/or the second input datum (B) via the reference algorithm ,
- a monitoring device (20) comprising:
+ a control module (22) configured to check whether the first and second intermediate data (SA, SB) belong to the security domain and to compare the first and second intermediate data (SA, SB) with each other in order to detect a possible inconsistency ;
+ a generation module (24) configured to generate the output data (C) according to the first and second intermediate data (SA, SB) if the first and second intermediate data (SA, SB) belong to the security domain and if no inconsistency is detected, the output datum (C) being equal to the intermediate reference datum (SR) otherwise.
Système (10) selon la revendication 1, dans lequel l’ensemble des mises en œuvre de la fonction critique par l’algorithme de référence définit un domaine d’arrivée de l’algorithme de référence, le domaine d’arrivée étant inclus dans le domaine de sécurité.A system (10) according to claim 1, wherein the set of implementations of the critical function by the reference algorithm defines an arrival domain of the reference algorithm, the arrival domain being included in the security domain. Système (10) selon la revendication 1 ou 2, dans lequel le dispositif de surveillance (20) comporte un module de récompense (26) configuré pour calculer une première récompense (RA) pour la mise en œuvre de la fonction critique par le premier module de traitement (14) et une deuxième récompense (RB) pour la mise en œuvre de la fonction critique par le deuxième module de traitement (16),
le premier module de traitement (14) étant configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une première pluralité de paramètres algorithmiques, le premier moule de traitement (14) étant configuré, à chaque itération, pour recevoir la première récompense (RA) et pour modifier la première pluralité de paramètres algorithmiques en fonction de la première récompense reçue (RA) afin de maximiser la prochaine première récompense (RA) reçue,
le deuxième module de traitement (14) étant configuré pour mettre en œuvre l’algorithme d’apprentissage par renforcement en fonction d’une deuxième pluralité de paramètres algorithmiques, le deuxième module de traitement (16) étant configuré, à chaque itération, pour recevoir la deuxième récompense (RB) et pour modifier la deuxième pluralité de paramètres algorithmiques en fonction de la deuxième récompense reçue (RB) afin de maximiser la prochaine deuxième récompense (RB) reçue.
A system (10) according to claim 1 or 2, wherein the monitoring device (20) includes a reward module (26) configured to calculate a first reward (RA) for the performance of the critical function by the first module (14) and a second reward (RB) for the implementation of the critical function by the second processing module (16),
the first processing module (14) being configured to implement the reinforcement learning algorithm based on a first plurality of algorithmic parameters, the first processing mold (14) being configured, at each iteration, to receive the first reward (RA) and to modify the first plurality of algorithmic parameters according to the received first reward (RA) in order to maximize the next received first reward (RA),
the second processing module (14) being configured to implement the reinforcement learning algorithm according to a second plurality of algorithmic parameters, the second processing module (16) being configured, at each iteration, to receive the second reward (RB) and to modify the second plurality of algorithmic parameters according to the received second reward (RB) in order to maximize the next received second reward (RB).
Système (10) selon la revendication 3, dans lequel le module de récompense (26) est configuré pour pénaliser chaque première récompense (RA) et/ou respectivement chaque deuxième récompense (RB) lorsque la première donnée intermédiaire (SA) et/ou respectivement la deuxième donnée intermédiaire (SB) n’appartiennent pas au domaine de sécurité.System (10) according to claim 3, in which the reward module (26) is configured to penalize each first reward (RA) and/or respectively each second reward (RB) when the first intermediate datum (SA) and/or respectively the second intermediate datum (SB) does not belong to the security domain. Système (10) selon les revendications 3 ou 4, dans lequel, lorsque les première et deuxième données intermédiaires (SA, SB) appartiennent au domaine de sécurité et en l’absence d’incohérence détectée, le module de génération (24) est configuré pour délivrer, en donnée de sortie, la donnée intermédiaire associée à la récompense (RA, RB) la plus élevée calculée par le module de récompense (26).System (10) according to Claims 3 or 4, in which, when the first and second intermediate data (SA, SB) belong to the security domain and in the absence of detected inconsistency, the generation module (24) is configured to deliver, as output datum, the intermediate datum associated with the highest reward (RA, RB) calculated by the reward module (26). Système (10) selon l’une quelconque des revendications précédentes, dans lequel le module de contrôle (22) est en outre configuré pour comparer les première et deuxième récompenses (RA, RB) entre elles afin de détecter une éventuelle incohérence,
et dans lequel le système électronique (10) comprend en outre un module d’alerte (21) configuré pour générer un signal d’alerte en fonction de chaque incohérence entre les données intermédiaires (SA, SB) et/ou entre les récompenses (RA, RB).
System (10) according to any one of the preceding claims, in which the control module (22) is further configured to compare the first and second rewards (RA, RB) with each other in order to detect any inconsistency,
and wherein the electronic system (10) further comprises an alert module (21) configured to generate an alert signal as a function of each inconsistency between the intermediate data (SA, SB) and/or between the rewards (RA , RB).
Système (10) selon l’une quelconque des revendications 3 à 5, dans lequel le module de contrôle (22) est configuré en outre pour comptabiliser le nombre de fois où respectivement les première et deuxième données intermédiaires (SA, SB) ne respectent pas le domaine de sécurité et pour réinitialiser respectivement la première pluralité de paramètres algorithmiques et la deuxième pluralité de paramètres algorithmiques lorsque ledit nombre est supérieur à un seuil prédéterminé.System (10) according to any one of claims 3 to 5, in which the control module (22) is further configured to count the number of times the first and second intermediate data (SA, SB) respectively do not respect the security domain and to reset respectively the first plurality of algorithmic parameters and the second plurality of algorithmic parameters when said number is greater than a predetermined threshold. Système (10) selon l’une quelconque des revendications précédentes, dans lequel le système (10) est un système avionique propre à être embarqué dans un poste de commande d’un aéronef, notamment un système de navigation de l’aéronef.System (10) according to any one of the preceding claims, in which the system (10) is an avionic system suitable for being onboard in a control station of an aircraft, in particular a navigation system of the aircraft. Procédé de mise en œuvre d’une fonction critique par un système électronique (10), le système électronique (10) étant 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 (C) associée à ladite fonction critique, la donnée de sortie (C) étant associée à un domaine de sécurité prédéterminé, le domaine de sécurité étant en forme d’une plage de valeur(s) prédéfinie(s),
le procédé comprenant les étapes suivantes :
- calcul (100) d’une première donnée intermédiaire (SA) à partir de la première donnée d’entrée (A) et d’un algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée (A),
- calcul (110) d’une deuxième donnée intermédiaire (SB) à partir de la deuxième donnée d’entrée (B) et de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la deuxième donnée d’entrée (B), la deuxième donnée d’entrée (B) étant différente de la première donnée d’entrée (A),
- calcul (120) d’une donnée intermédiaire de référence (SR) à partir de la première donnée d’entrée (A) et/ou de la deuxième donnée d’entrée (B) et d’un algorithme de référence différent de l’algorithme d’apprentissage par renforcement, pour la mise en œuvre de la fonction critique pour la première donnée d’entrée (A) et/ou la deuxième donnée d’entrée (B) via l’algorithme de référence,
- vérification (130) si les première et deuxième données intermédiaires (SA, SB) appartiennent au domaine de sécurité et comparaison des première et deuxième données intermédiaires (SA, SB) entre elles afin de détecter une éventuelle incohérence;
- génération (140) de la donnée de sortie (C) en fonction des première et deuxième données intermédiaires (SA, SB) si les première et deuxième données intermédiaires (SA, SB) appartiennent au domaine de sécurité et si aucune incohérence n’est détectée, la donnée de sortie (C) étant égale à la donnée de référence (SR) sinon.
Method for implementing a critical function by an electronic system (10), the electronic system (10) being configured to implement a critical function, the electronic system (10) being capable of receiving first and second data from input (A,B) and delivering an output datum (C) associated with said critical function, the output datum (C) being associated with a predetermined security domain, the security domain being in the form of a range predefined value(s),
the method comprising the following steps:
- calculation (100) of a first intermediate datum (SA) from the first input datum (A) and of a reinforcement learning algorithm, for the implementation of the critical function for the first datum input (A),
- calculation (110) of a second intermediate datum (SB) from the second input datum (B) and the reinforcement learning algorithm, for the implementation of the critical function for the second datum input (B), the second input data (B) being different from the first input data (A),
- calculation (120) of an intermediate reference datum (SR) from the first input datum (A) and/or from the second input datum (B) and from a reference algorithm different from the reinforcement learning algorithm, for the implementation of the critical function for the first input datum (A) and/or the second input datum (B) via the reference algorithm,
- verification (130) whether the first and second intermediate data (SA, SB) belong to the security domain and comparison of the first and second intermediate data (SA, SB) with each other in order to detect any inconsistency;
- generation (140) of the output data (C) as a function of the first and second intermediate data (SA, SB) if the first and second intermediate data (SA, SB) belong to the security domain and if no inconsistency is detected, the output datum (C) being equal to the reference datum (SR) otherwise.
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.Computer program comprising software instructions which, when executed by a computer, implement a method according to the preceding claim.
FR2010986A 2020-10-27 2020-10-27 Electronic system for implementing a critical function, associated method and computer program Active FR3115594B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR2010986A FR3115594B1 (en) 2020-10-27 2020-10-27 Electronic system for implementing a critical function, associated method and computer program
DE112021005722.7T DE112021005722T5 (en) 2020-10-27 2021-10-27 Electronic system for implementing a critical function, associated method and computer program
PCT/EP2021/079761 WO2022090280A1 (en) 2020-10-27 2021-10-27 Electronic system for implementing a critical function, and associated method and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2010986 2020-10-27
FR2010986A FR3115594B1 (en) 2020-10-27 2020-10-27 Electronic system for implementing a critical function, associated method and computer program

Publications (2)

Publication Number Publication Date
FR3115594A1 true FR3115594A1 (en) 2022-04-29
FR3115594B1 FR3115594B1 (en) 2022-09-23

Family

ID=75108379

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2010986A Active FR3115594B1 (en) 2020-10-27 2020-10-27 Electronic system for implementing a critical function, associated method and computer program

Country Status (3)

Country Link
DE (1) DE112021005722T5 (en)
FR (1) FR3115594B1 (en)
WO (1) WO2022090280A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3506096A1 (en) * 2017-12-26 2019-07-03 Thales Electronic computer for carrying out at least one critical function, associated electronic device, method and computer program
FR3077666A1 (en) * 2018-02-05 2019-08-09 Psa Automobiles Sa METHOD FOR AUTOMATICALLY CONFIGURING A GENERATOR OF REWARDS USED BY DRIVING STRATEGIES OF AN AUTOMATED DRIVING VEHICLE

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3506096A1 (en) * 2017-12-26 2019-07-03 Thales Electronic computer for carrying out at least one critical function, associated electronic device, method and computer program
FR3077666A1 (en) * 2018-02-05 2019-08-09 Psa Automobiles Sa METHOD FOR AUTOMATICALLY CONFIGURING A GENERATOR OF REWARDS USED BY DRIVING STRATEGIES OF AN AUTOMATED DRIVING VEHICLE

Also Published As

Publication number Publication date
DE112021005722T5 (en) 2023-08-10
WO2022090280A1 (en) 2022-05-05
FR3115594B1 (en) 2022-09-23

Similar Documents

Publication Publication Date Title
CA2989154C (en) System and method for automatically inspecting surfaces
EP2693285B1 (en) Method and device for assisting the flight management of an aircraft
FR2978588A1 (en) METHOD AND DEVICE FOR OPTIMIZED MANAGEMENT OF THE USE OF BECS AND SHUTTERS, AS WELL AS THE LANDING TRAIN OF AN AIRCRAFT
FR3007131A1 (en) METHOD AND DEVICE FOR DIAGNOSING LOSS OF CONTROL OF AN AIRCRAFT
FR2900385A1 (en) Rotorcraft/helicopter steering assistance method, involves determining pitch control adapted such that rotorcraft accelerates along profile which varies according to time and engine functioning state
FR2963448A1 (en) METHOD AND SYSTEM FOR ANALYSIS OF FLIGHT DATA RECORDED DURING THE FLIGHT OF AN AIRCRAFT.
EP2957871B1 (en) Method of prediction of an aircraft short term flight path, computer program product, associated prediction device, guidance method, guidance system and aircraft
EP2551836A1 (en) Method and device for the optimised management of the vertical path of an aircraft.
FR3018364A1 (en) METHOD OF DETERMINING AN OBSTACLE AVIATION GUIDANCE LAW BY AN AIRCRAFT, COMPUTER PROGRAM PRODUCT, ELECTRONIC SYSTEM AND AIRCRAFT
FR3064606A1 (en) AIRCRAFT CONTROL OPTIMIZED BY ITERATIVE OPTIMIZATION BASED ON A MODEL
FR2991485A1 (en) METHOD AND APPARATUS FOR AUTOMATIC ESTIMATING OF CONSUMER AND AIRCRAFT DEGRADATION OF AN AIRCRAFT
EP2957975B1 (en) Method and device for controlling at least one actuator control system of an aircraft, related computer program product and aircraft
EP3179328A2 (en) A method and a device for piloting an aircraft
FR3064979A1 (en) FLIGHT CONTROL SYSTEM OF AN AIRCRAFT
WO2022180196A1 (en) Electronic system for detecting and managing a malfunction in the flight behaviour of a drone, associated method and computer program
FR2905778A1 (en) METHOD FOR VERIFYING RELEVANCE OF A MASS VALUE OF AN AIRCRAFT
WO2017097595A1 (en) Assembly for the flight management of an aircraft and method for monitoring guidance instructions for such an assembly
EP3873786A1 (en) Method for generating control settings for a motor vehicle
EP4066224A1 (en) Decision assistance device and method for managing aerial conflicts
EP3893173A1 (en) Method and device for managing risks and alerts
FR3043473A1 (en) METHOD AND DEVICE FOR AIDING THE CONTROL OF AN AIRCRAFT FOR ENERGY MANAGEMENT DURING AN APPROACH PHASE.
WO2022090280A1 (en) Electronic system for implementing a critical function, and associated method and computer program
WO2022049135A1 (en) Electronic system for executing a critical function, and associated method
FR3069366A1 (en) SPECIFIC ENVIRONMENT ENTRY PROTECTION
FR2850356A1 (en) Airaft engine status monitoring system uses three independent data sources for aerodynamic parameters, computer and regulator

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220429

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4