EP3374872A1 - Method for controlling the operating state of a system by redundancy - Google Patents

Method for controlling the operating state of a system by redundancy

Info

Publication number
EP3374872A1
EP3374872A1 EP16793897.6A EP16793897A EP3374872A1 EP 3374872 A1 EP3374872 A1 EP 3374872A1 EP 16793897 A EP16793897 A EP 16793897A EP 3374872 A1 EP3374872 A1 EP 3374872A1
Authority
EP
European Patent Office
Prior art keywords
task
execution
time
result
condition
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
EP16793897.6A
Other languages
German (de)
French (fr)
Other versions
EP3374872B1 (en
Inventor
Arnaud GRASSET
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
Publication of EP3374872A1 publication Critical patent/EP3374872A1/en
Application granted granted Critical
Publication of EP3374872B1 publication Critical patent/EP3374872B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1497Details of time redundant execution on a single processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1637Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • G06F11/188Voting techniques where exact match is not required
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Definitions

  • the present invention relates to methods for controlling the operating state of a system.
  • the present invention also relates to associated controllers of the operating state of a system.
  • the present invention also relates to a transport apparatus comprising such a controller.
  • Real-time systems are computer systems that differentiate themselves from other computer systems by taking into account time constraints whose respect is as important as the accuracy of the result delivered by the system.
  • a system is considered reliable when the probability of the system fulfilling its assigned mission over a given period of time corresponds to the probability specified in the specifications.
  • the worst execution time of a task (WCET for Worst Case Execution Time) is defined as the longest time for the task to run on a given hardware platform.
  • the components of real-time systems are subject to wear and failure mechanisms, intrinsic to the technologies used for these components.
  • the semiconductor-based components are the target of cosmic radiation or electromagnetic interference inducing transient faults during the execution of the tasks of the systems, while manufacturing defects and degradation of the components during their lifespan induces permanent faults. Such phenomena therefore induce a reduction in the reliability of the real-time systems. There is therefore a need to improve the reliability of real-time systems without degrading the performance of such systems.
  • the subject of the invention is a method for controlling the operating state of a system, the system comprising at least a first member capable of performing tasks, the method comprising the steps of:
  • the method when the first condition is fulfilled, the method also comprises the steps of:
  • control method comprises one or more of the following characteristics, taken separately or in any technically possible combination:
  • the method when the first condition is not fulfilled, also comprises a step of waiting for a waiting time, then repetition of the selection, first execution and first test steps, the sum of the waiting time and the first period of time being equal to a multiple of the first allocated time.
  • the method when the first condition is not fulfilled and the first period of time is less than or equal to a predetermined duration, the method also comprises the steps of implementing at least a second execution, comparison and determination.
  • the invention also relates to a method for controlling the operating state of a system, the system comprising at least a first member capable of performing tasks, the method comprising the steps of: selecting a first task to be executed by the first member, the first task being executable at a first allocated time,
  • the method when the first condition is fulfilled, the method also comprises the steps of:
  • each second result being obtained by implementing a spatial and / or temporal redundancy
  • the preceding control method comprises one or more of the following characteristics, taken separately or in any technically possible combination:
  • the method also comprises a step of completion of the first task, a part of which was implemented during the first execution, making it possible to obtain the first result.
  • the system comprises a second member and a third member, the second member and the third member being capable of performing tasks, the method comprising the steps of:
  • the method also includes a fourth execution step of the first task by the third member during a fourth period of time, the fourth execution providing another second result.
  • the method when the first condition is fulfilled, the method also comprises a step of implementing at least two other executions of the first task by the same first member, each other execution making it possible to obtain a second result.
  • the step of determining the operating state is implemented by using a vote among the first result and the at least two second results.
  • a maximum execution time is defined, the allocated time being a function of the number of redundant executions of the task's time type and the maximum execution time of the task.
  • the time allowed is equal to the ratio between the maximum execution time of the task and the number of redundant time-type executions of the task.
  • the selected task is decomposable into a first number of sub-tasks and in which, when the first condition is not fulfilled, the method further comprises a step of executing a second number of sub-tasks of the task selected, the second number being strictly less than the first number of subtasks.
  • the method further comprises a step of checking the relevance of the first result obtained.
  • the invention also relates to a controller of the operating state of a system, the system comprising at least a first member capable of performing tasks, the controller being able to implement the following steps:
  • the controller also being able to implement the steps of:
  • the invention further relates to another controller of the operating state of a system, the system comprising at least a first member capable of performing tasks, the controller being adapted to implement the following steps.
  • the controller when the first condition is fulfilled, the controller also being able to implement the steps of:
  • each second result being obtained by implementing a spatial and / or temporal redundancy
  • the invention also relates to a transport apparatus comprising one of the controllers described above.
  • FIG. 1 is a diagrammatic view of an example of a controller for implementing a method for controlling the operating state of a system
  • FIG. 2 a flowchart for a first implementation example. implementing a method for controlling the operating state of a system
  • FIG. 3 a diagrammatic representation of a redundant time-type execution of a task on an organ, each execution of the task on the organ being performed over a period of time less than or equal to the worst execution time of the task,
  • FIG. 4 a schematic representation of a redundant time-type execution of a task on an organ only when the execution time of the task during the first execution is less than or equal to half of the worst execution time of the task
  • FIG. 5 a schematic representation of a redundant time-type execution of a task on an organ only when the execution time of the task during the first execution is less than or equal to one-third of the worst execution time of task,
  • FIG. 6 a schematic representation of a redundant time-type execution of a task on an organ when the execution time of the task during the first execution does not fulfill the condition of FIG. 5 but has been executed on a period of time less than or equal to half the execution time of the task,
  • FIG. 7 a flowchart of a second exemplary implementation of a method for controlling the operating state of a system
  • FIG. 8 a schematic representation of a redundant spatial-type execution of two tasks on two organs only when a first condition is verified
  • FIG. 9 is a diagrammatic representation of a redundant spatial-type execution of two tasks on three organs only when a first condition and a second condition are verified.
  • FIG. 10 a schematic representation of a redundant time-type execution of a task, the second execution of the task being degraded when the first condition is not verified, and
  • FIG. 1 1, a schematic representation of a verification of the relevance of the result obtained after the first execution of a task when the first condition is not verified.
  • FIG. 1 A system 1 and a controller 2 of the operating state of the system 1 are illustrated in FIG.
  • System 1 is, for example, a real-time system.
  • the system 1 is embedded in a transport apparatus 3, such as a automobile or an aircraft, for which the respect of time constraints is a critical parameter.
  • the system 1 comprises a set of organs d, ..., O n and a set of tasks T 1 .., T n .
  • the organs d, ..., O n are architectural elements fulfilling a predetermined function.
  • the organs d, ..., O n are also called "processor cores".
  • the tasks ⁇ , ..., T n are sequences of instructions executable on the organs 0 1 .., O n of the system 1.
  • the instruction sequences are, for example, relating to commands of the system 1.
  • the commands are, for example, commands for changing the trajectory or landing of the aircraft.
  • the controller 2 interacts with the system 1 to control the operating state of the system 1.
  • the operating state of a system is achieved by performing fault tests on the system and determining the reliability of the system.
  • the controller 2 is embedded in the same equipment as the system 1 controlled by the controller 2, for example in a transport device.
  • the controller 2 is, for example, a computer.
  • the controller 2 is an electronic calculator adapted to manipulate and / or transform data represented as electronic or physical quantities in the registers of the controller 2 and / or memories in other similar data corresponding to physical data in data. memories, registers or other types of display, transmission or storage devices.
  • the controller 2 comprises a processor comprising a data processing unit, memories and an information carrier reader.
  • the controller 2 is able to interact with a computer program product comprising a readable piece of information readable by the controller 2, usually by the data processing unit of the controller 2. On the readable medium of information is stored a computer program comprising program instructions.
  • the computer program is loadable on the data processing unit of the controller 2 and is adapted to cause the implementation of a method of controlling the operating state of the system 1.
  • FIG. schematically a first example of implementation of a method for controlling the operating state of a system 1.
  • the controller 2 is a software application implemented on the same organs d, ..., O n that the tasks T 1 .., T n.
  • the control method comprises a step 100 of allocating, by the controller 2, a time allocated to each task T 1 .., T n of the system 1.
  • the allocated time of each task T 1 .., T n is less than or equal to the worst execution time, also called maximum execution time, previously estimated for the task T 1 .., T n .
  • the time allocated is equal to the ratio between the worst execution time of the task T 1 .., T n and the number of redundant execution of the time type of the task T 1 .., T n .
  • the time allocated for each task T 1 .., T n is equal to half or third of the worst execution time estimated for the task T 1 .., T n .
  • the worst execution time designated by the WCET reference in the remainder of the description, is, for example, estimated or limited in advance by experimental measurements, static code analysis methods or hybrid methods.
  • the control method also comprises a step 1 10 for selecting a first task ⁇ to be executed by the first member d of the system 1.
  • the first task ⁇ is, for example, selected from a static task scheduling defined during the design of the system 1.
  • the first task ⁇ is executable at first allocated Ai fixed by the controller 2.
  • the control method then comprises a step 120 of first execution by the first member d of the first task ⁇ .
  • a first result is obtained and a first period of time - ⁇ is defined.
  • the first time period - ⁇ is the duration set for the execution of the first task ⁇ on the first organ d.
  • the control method then comprises a step 130 of first testing a first condition.
  • the first condition states that the first period of time is less than or equal to the first time allowed A ⁇
  • the method comprises a step 140 of waiting for a waiting time, then of repeating the selection steps 1 10, the first execution 120 and the first test 130.
  • the sum of the time and the first period of time is equal to a multiple of the first time allocated A ⁇ Such a sum is greater than or equal to the worst execution time WCET of the task considered. For example, the sum is twice the first time allocated or three times the first time allocated Ai.
  • the control method comprises a step 150 of implementing at least a second execution of the same first task Ti by the same first member d during a second period of time ⁇ 2 . Each second run gives a second result.
  • the second executions are redundant time-type executions of the first task T
  • the redundant time-type execution of a task is the sequential execution of the same task on the same organ.
  • FIG. 3 illustrates the redundant time-type execution of a first task ⁇ on the same first member d during a first time period ⁇ 1; then during a second period of time ⁇ 2 .
  • the first time allocated A ⁇ is in this example equal to the worst execution time WCET of the first task T
  • the first period of time being less than or equal to the first time allocated A 1; the redundant execution of the first task ⁇ on the same first member d is allowed.
  • the first time allocated A ⁇ is equal to half the worst execution time WCET of the first task TV
  • the first task ⁇ is executed twice in a row on the same first member d, as illustrated in the upper drawing of FIG. 4.
  • the first task ⁇ is executed only once on the first member d, as illustrated in FIG. the bottom drawing of Figure 4.
  • the first allocated time Ai is equal to one third of the worst execution time WCET of the first task
  • the first task is executed three times in succession on the same first member d, as illustrated in the top drawing of FIG. 5.
  • Such a redundant execution is called "triple redundancy”.
  • the first task is performed only once on the first member d, as shown in the bottom drawing of Figure 5.
  • the method then comprises a step 160 of comparing the first result with each second result obtained and of each second result between them.
  • the method comprises a step 170 for determining the operating state of the system 1 as a function of the comparison step 160.
  • step 170 for determining the operating state of the system 1 as a function of the comparison step 160.
  • a simple redundancy that is to say two successive executions of a task on an organ, as illustrated in FIGS. 3 and 4, makes it possible to detect a failure of the system 1 without correcting it.
  • a triple redundancy as illustrated in FIG. 5 makes it possible to detect a failure of the system 1 and to correct it by making a vote between the three results obtained when two results are identical.
  • the method when the first condition is not fulfilled but the first period of time is less than or equal to a predetermined duration for the task, the method still implements the steps 150 to 1 70. Redundancy is said to be performed in "degraded mode".
  • FIG. 6 illustrates an example of redundancy implemented in degraded mode.
  • the first time allocated Ai for the first task ⁇ is equal to one third of the worst execution time WCET and the predetermined duration for the first task ⁇ is equal to half the worst execution time WCET.
  • the first time period -i is greater than the first time allocated A 1; the first task T- ⁇ is executed a second time on the same first organ d.
  • the first task T- ⁇ can not be executed a third time.
  • operation in degraded mode can detect a failure of the system 1, but does not correct it.
  • the method uses, on the one hand, the temporal redundancy to address the problems related to the degradation of the reliability of the components and, on the other hand, an adaptive scheduling of the tasks to allow a reduction of the margins taken on the worst time execution of each task.
  • slots are statically allocated to each task to allow redundant execution of tasks and a comparison of the results obtained.
  • the task scheduling is dynamically changed so that the time slots for redundant job executions allow jobs to finish executing.
  • the scheduling of the tasks is modified so that the time margins of the worst execution time are absorbed in the time slots initially provided for the redundancy.
  • allocating lower allocated times to worst execution times reduces design margins.
  • test steps make it possible to implement the redundant execution of the tasks T 1 .., T n only when such redundancy does not degrade the performance of the system 1. This makes it possible to respect the temporal constraints of the real-time systems.
  • control method comprises the following steps.
  • the control method comprises allocation and selection steps 200 0 identical to the allocation 100 and selection 1 1 0 steps of the method according to the first implementation example.
  • the control method then comprises a step 220 of first execution by the first member d of the first task ⁇ during a first period of time.
  • the first period of time is less than or equal to the first time allocated Ai.
  • control method comprises a first test step 230 of a first condition.
  • the first condition states that the first execution of the first task ⁇ is completed.
  • the control method comprises a step 240 of completion of the first task ⁇ part of which was implemented during the first execution step 220. At the end of the first execution, a first result is obtained.
  • the method comprises a step 250 of implementing a redundancy of time and / or space type.
  • the redundant spatial-type execution of a task is the execution of the same task in parallel on different organs.
  • the time-type redundancy is implemented in a manner similar to the first implementation example.
  • the step 250 of implementing a redundancy makes it possible to obtain at least a second result.
  • the example of FIG. 8 illustrates the redundant temporal and spatial execution of a first task ⁇ and a second task T 2 on a first member d and a second member 0 2 .
  • the first task ⁇ is executed on the first member d in parallel with the second task T 2 executed on the second member 0 2 .
  • the first task ⁇ when the first condition is satisfied for each task ⁇ , T 2 , the first task ⁇ , respectively the second task T 2 is executed redundantly on the second member 0 2 , respectively on the first organ d.
  • the first task ⁇ that does not satisfy the first condition is not performed redundantly on the other member 0 2 .
  • the second task T 2 fulfilling the first condition is executed by a time-type redundancy on the same organ 0 2 .
  • FIG. 9 illustrates the execution of a temporal redundancy and of a triple spatial redundancy of a first task ⁇ and a second task T 2 on three organs d, 0 2 , 0 3 of the system 1 .
  • the first task ⁇ is executed in parallel by a spatial type redundancy on the first member d during a first period of time and on the second member 0 2 during a second period of time.
  • the first execution of the first task ⁇ on the first member d makes it possible to obtain a first result and the second execution makes it possible to obtain a second result.
  • the second task T 2 is executed during a third period of time on the third member 0 3 .
  • the method comprises a second test step of a second condition in which the third execution of the second task T 2 is completed.
  • the third execution makes it possible to obtain a third result.
  • the first task ⁇ is performed redundantly on the third member 0 3 to obtain a second result and the second task T 2 is performed redundantly on the first member d and on the second organ 0 2 .
  • Such a situation is illustrated in the drawing at the top of Figure 9.
  • the method finishes executing the first task ⁇ on the first member d but interrupts the second execution of the first task ⁇ on the second member 0 2 .
  • the method executes again the second task T 2 on the third member 0 3 , as well as on the second member 0 2 for which the execution of the first task ⁇ has been interrupted.
  • Such a situation is illustrated in the middle drawing of Figure 9.
  • control method comprises comparison steps 260 and determination 270 identical to the comparison steps 160 and determination 170 of the method according to the first implementation example.
  • the determination step 270 is implemented by making a vote between the first result and at least two second results.
  • the spatial redundancy has the advantage of detecting permanent faults, affecting several executions, as transient faults, affecting a single execution, and this unlike the temporal redundancy that can detect only transient faults. Thus, a permanent failure of a body of the system 1 is likely to be detected.
  • the first task ⁇ selected is decomposable into a first number of sub-tasks and when the first condition is not fulfilled, the method further comprises a step of executing a second number of sub-tasks of the task ⁇ selected.
  • the second number of subtasks is strictly less than the first number of subtasks.
  • the method when the first condition is not fulfilled, also includes a step of verifying the relevance of the first result obtained.
  • the verification step consists in verifying that the first result obtained is within a range of predetermined values.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

The invention concerns a method for controlling the operating state of a system comprising at least one first member, the method comprising the steps of: - selection of a first task, that can be executed in a first allocated time, - first execution by the first member of the first selected task, the first execution making it possible to obtain a first result and defining a first time period, - first testing of a first condition according to which the first time period is less than the first allocated time, when the first condition is fulfilled, the method also comprises: - implementation of at least one second execution of the same first task by the same first member in order to obtain a second result, - comparing the first result with each second result, and - determining the operating state of the system.

Description

Procédé de contrôle de l'état de fonctionnement d'un système par redondance  Method for controlling the operating state of a system by redundancy
La présente invention concerne des procédés de contrôle de l'état de fonctionnement d'un système. La présente invention se rapporte également à des contrôleurs associés de l'état de fonctionnement d'un système. La présente invention se rapporte aussi à un appareil de transport comprenant un tel contrôleur. The present invention relates to methods for controlling the operating state of a system. The present invention also relates to associated controllers of the operating state of a system. The present invention also relates to a transport apparatus comprising such a controller.
Dans le domaine de l'avionique, les temps de réponse des systèmes de pilotage d'un aéronef doivent être garantis de manière stricte pour éviter la survenue d'accidents. De ce fait, pour assurer le respect des temps de réponse, des systèmes temps-réel sont embarqués dans les aéronefs. Les systèmes temps-réel sont des systèmes informatiques se différenciant des autres systèmes informatiques par la prise en compte de contraintes temporelles dont le respect est aussi important que l'exactitude du résultat délivré par le système.  In the field of avionics, the response times of aircraft control systems must be strictly guaranteed to prevent the occurrence of accidents. Therefore, to ensure compliance with response times, real-time systems are embedded in aircraft. Real-time systems are computer systems that differentiate themselves from other computer systems by taking into account time constraints whose respect is as important as the accuracy of the result delivered by the system.
Pour de tels systèmes temps-réels, il est donc vital d'assurer un haut niveau de fiabilité tout en garantissant que les contraintes temps-réels sont respectées. Un système est considéré fiable lorsque la probabilité qu'a le système de remplir la mission qui lui a été attribuée sur une durée donnée correspond à la probabilité spécifiée dans le cahier des charges.  For such real-time systems, it is therefore vital to ensure a high level of reliability while ensuring that real-time constraints are met. A system is considered reliable when the probability of the system fulfilling its assigned mission over a given period of time corresponds to the probability specified in the specifications.
Le respect des contraintes temps-réel est très souvent obtenu par estimation du « pire temps d'exécution » de chaque tâche du système, puis par ajout de marges de conception aux pires temps d'exécution estimés. Le pire temps d'exécution d'une tâche (abrégé en anglais par l'acronyme WCET pour Worst Case Execution Time) est défini comme le plus long temps pour que la tâche s'exécute sur une plateforme matérielle donnée.  Compliance with real-time constraints is very often obtained by estimating the "worst execution time" of each system task and then adding design margins to the worst execution times estimated. The worst execution time of a task (WCET for Worst Case Execution Time) is defined as the longest time for the task to run on a given hardware platform.
Cependant, de telles marges étant relativement importantes, les besoins en performance des systèmes temps-réel sont surdimensionnés par rapport aux besoins réels, ce qui pénalise les performances et limite les fonctionnalités pouvant être implémentées sur de tels systèmes.  However, since such margins are relatively large, the performance requirements of real-time systems are oversized compared to real needs, which penalizes performance and limits the functionalities that can be implemented on such systems.
En outre, les composants des systèmes temps-réel sont soumis à des mécanismes d'usure et de défaillance, intrinsèques aux technologies utilisées pour ces composants. En particulier, les composants à base de semi-conducteurs sont la cible de radiations cosmiques ou d'interférences électromagnétiques induisant des fautes transitoires lors de l'exécution des tâches des systèmes, tandis que des défauts de fabrication et la dégradation des composants au cours de leur durée de vie induisent des fautes permanentes. De tels phénomènes induisent par conséquent une réduction de la fiabilité des systèmes temps-réel. Il existe donc un besoin pour améliorer la fiabilité des systèmes temps-réel sans dégrader les performances de tels systèmes. In addition, the components of real-time systems are subject to wear and failure mechanisms, intrinsic to the technologies used for these components. In particular, the semiconductor-based components are the target of cosmic radiation or electromagnetic interference inducing transient faults during the execution of the tasks of the systems, while manufacturing defects and degradation of the components during their lifespan induces permanent faults. Such phenomena therefore induce a reduction in the reliability of the real-time systems. There is therefore a need to improve the reliability of real-time systems without degrading the performance of such systems.
A cet effet, l'invention a pour objet un procédé de contrôle de l'état de fonctionnement d'un système, le système comprenant au moins un premier organe propre à exécuter des tâches, le procédé comprenant les étapes de :  To this end, the subject of the invention is a method for controlling the operating state of a system, the system comprising at least a first member capable of performing tasks, the method comprising the steps of:
- sélection d'une première tâche à exécuter par le premier organe, la première tâche étant exécutable en un premier temps alloué,  selecting a first task to be executed by the first member, the first task being executable at a first allocated time,
- première exécution par le premier organe de la première tâche sélectionnée, la première exécution par le premier organe de la première tâche permettant d'obtenir un premier résultat et définissant une première période de temps, first execution by the first member of the first selected task, the first execution by the first member of the first task making it possible to obtain a first result and defining a first period of time;
- premier test d'une première condition selon laquelle la première période de temps est inférieure ou égale au premier temps alloué, first test of a first condition according to which the first period of time is less than or equal to the first time allowed,
lorsque la première condition est remplie, le procédé comporte également les étapes de :  when the first condition is fulfilled, the method also comprises the steps of:
- mise en œuvre d'au moins une deuxième exécution de la même première tâche par le même premier organe pendant une deuxième période de temps, chaque deuxième exécution permettant d'obtenir un deuxième résultat,  implementing at least one second execution of the same first task by the same first member during a second period of time, each second execution making it possible to obtain a second result,
- comparaison du premier résultat avec chaque deuxième résultat, et  comparing the first result with each second result, and
- détermination de l'état de fonctionnement du système en fonction de l'étape de comparaison.  determination of the operating state of the system as a function of the comparison step.
Suivant des modes de mise en œuvre particuliers, le procédé de contrôle comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :  According to particular embodiments, the control method comprises one or more of the following characteristics, taken separately or in any technically possible combination:
- lorsque la première condition n'est pas remplie, le procédé comporte également une étape d'attente pendant un temps d'attente, puis de répétition des étapes de sélection, de première exécution et de premier test, la somme du temps d'attente et de la première période de temps étant égale à un multiple du premier temps alloué.  when the first condition is not fulfilled, the method also comprises a step of waiting for a waiting time, then repetition of the selection, first execution and first test steps, the sum of the waiting time and the first period of time being equal to a multiple of the first allocated time.
- lorsque la première condition n'est pas remplie et que la première période de temps est inférieure ou égale à une durée prédéterminée, le procédé comporte également les étapes de mise en œuvre d'au moins une deuxième exécution, de comparaison et de détermination.  when the first condition is not fulfilled and the first period of time is less than or equal to a predetermined duration, the method also comprises the steps of implementing at least a second execution, comparison and determination.
L'invention concerne également un procédé de contrôle de l'état de fonctionnement d'un système, le système comprenant au moins un premier organe propre à exécuter des tâches, le procédé comprenant les étapes de : - sélection d'une première tâche à exécuter par le premier organe, la première tâche étant exécutable en un premier temps alloué, The invention also relates to a method for controlling the operating state of a system, the system comprising at least a first member capable of performing tasks, the method comprising the steps of: selecting a first task to be executed by the first member, the first task being executable at a first allocated time,
- première exécution par le premier organe de la première tâche sélectionnée durant une première période de temps, la première période de temps étant inférieure ou égale au premier temps alloué,  first execution by the first member of the first selected task during a first period of time, the first period of time being less than or equal to the first allocated time,
- premier test d'une première condition selon laquelle la première exécution de la première tâche est achevée,  first test of a first condition according to which the first execution of the first task is completed,
lorsque la première condition est remplie, le procédé comporte également les étapes de :  when the first condition is fulfilled, the method also comprises the steps of:
- obtention du résultat de la première exécution de la première tâche par le premier organe permettant d'obtenir un premier résultat,  obtaining the result of the first execution of the first task by the first member making it possible to obtain a first result,
- comparaison du premier résultat avec au moins un deuxième résultat, chaque deuxième résultat étant obtenu par la mise en œuvre d'une redondance de type spatiale et/ou temporelle, et  comparing the first result with at least a second result, each second result being obtained by implementing a spatial and / or temporal redundancy, and
- détermination de l'état de fonctionnement du système en fonction de l'étape de comparaison.  determination of the operating state of the system as a function of the comparison step.
Suivant des modes de mise en œuvre particuliers, le procédé de contrôle précédent comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :  According to particular embodiments, the preceding control method comprises one or more of the following characteristics, taken separately or in any technically possible combination:
- la première condition n'est pas remplie, le procédé comporte également une étape de fin d'exécution de la première tâche dont une partie a été mise en œuvre lors de la première exécution, permettant d'obtenir le premier résultat.  the first condition is not fulfilled, the method also comprises a step of completion of the first task, a part of which was implemented during the first execution, making it possible to obtain the first result.
- le système comporte un deuxième organe et un troisième organe, le deuxième organe et le troisième organe étant propres à exécuter des tâches, le procédé comprenant les étapes de :  the system comprises a second member and a third member, the second member and the third member being capable of performing tasks, the method comprising the steps of:
- deuxième exécution de la même première tâche par le deuxième organe durant une deuxième période de temps, la deuxième exécution étant mise en œuvre en parallèle de la première exécution, la deuxième exécution permettant d'obtenir un deuxième résultat lorsque la première condition est remplie,  second execution of the same first task by the second member during a second period of time, the second execution being implemented in parallel with the first execution, the second execution making it possible to obtain a second result when the first condition is fulfilled,
- troisième exécution d'une deuxième tâche par le troisième organe durant une troisième période de temps, la troisième exécution étant mise en œuvre en parallèle de la première exécution et de la deuxième exécution,  third execution of a second task by the third member during a third period of time, the third execution being implemented in parallel with the first execution and the second execution,
- deuxième test d'une deuxième condition selon laquelle la troisième exécution de la deuxième tâche est achevée, lorsque la première condition et la deuxième condition sont remplies, le procédé comporte également une étape de quatrième exécution de la première tâche par le troisième organe durant une quatrième période de temps, la quatrième exécution permettant d'obtenir un autre deuxième résultat. second test of a second condition according to which the third execution of the second task is completed, when the first condition and the second condition are met, the method also includes a fourth execution step of the first task by the third member during a fourth period of time, the fourth execution providing another second result.
- lorsque la première condition est remplie, le procédé comporte également une étape de mise en œuvre d'au moins deux autres exécutions de la première tâche par le même premier organe, chaque autre exécution permettant d'obtenir un deuxième résultat.  when the first condition is fulfilled, the method also comprises a step of implementing at least two other executions of the first task by the same first member, each other execution making it possible to obtain a second result.
- l'étape de détermination de l'état de fonctionnement est mise en œuvre par utilisation d'un vote parmi le premier résultat et les au moins deux deuxièmes résultats.  the step of determining the operating state is implemented by using a vote among the first result and the at least two second results.
- pour chaque tâche, il est défini un temps maximal d'exécution, le temps alloué étant fonction du nombre d'exécutions redondantes de type temporelle de la tâche et du temps maximal d'exécution de la tâche.  for each task, a maximum execution time is defined, the allocated time being a function of the number of redundant executions of the task's time type and the maximum execution time of the task.
- le temps alloué est égal au rapport entre le temps maximal d'exécution de la tâche et le nombre d'exécutions redondantes de type temporelle de la tâche.  the time allowed is equal to the ratio between the maximum execution time of the task and the number of redundant time-type executions of the task.
- la tâche sélectionnée est décomposable en un premier nombre de sous-tâches et dans lequel, lorsque la première condition n'est pas remplie, le procédé comporte en outre une étape d'exécution d'un deuxième nombre de sous-tâches de la tâche sélectionnée, le deuxième nombre étant strictement inférieur au premier nombre de sous-tâches.  the selected task is decomposable into a first number of sub-tasks and in which, when the first condition is not fulfilled, the method further comprises a step of executing a second number of sub-tasks of the task selected, the second number being strictly less than the first number of subtasks.
- lorsque la première condition n'est pas remplie et que le premier résultat est obtenu, le procédé comporte en outre une étape de vérification de la pertinence du premier résultat obtenu.  - When the first condition is not met and the first result is obtained, the method further comprises a step of checking the relevance of the first result obtained.
L'invention concerne aussi un contrôleur de l'état de fonctionnement d'un système, le système comprenant au moins un premier organe propre à exécuter des tâches, le contrôleur étant propre à mettre en œuvre les étapes suivantes :  The invention also relates to a controller of the operating state of a system, the system comprising at least a first member capable of performing tasks, the controller being able to implement the following steps:
- sélection d'une première tâche à exécuter par le premier organe, la première tâche étant exécutable en un premier temps alloué,  selecting a first task to be executed by the first member, the first task being executable at a first allocated time,
- première exécution par le premier organe de la première tâche sélectionnée, la première exécution par le premier organe de la première tâche permettant d'obtenir un premier résultat et définissant une première période de temps, first execution by the first member of the first selected task, the first execution by the first member of the first task making it possible to obtain a first result and defining a first period of time;
- premier test d'une première condition selon laquelle la première période de temps est inférieure ou égale au premier temps alloué, lorsque la première condition est remplie, le contrôleur étant également propre à mettre en œuvre les étapes de : first test of a first condition according to which the first period of time is less than or equal to the first time allowed, when the first condition is fulfilled, the controller also being able to implement the steps of:
- mise en œuvre d'au moins une deuxième exécution de la même première tâche par le même premier organe pendant une deuxième période de temps, chaque deuxième exécution permettant d'obtenir un deuxième résultat,  implementing at least one second execution of the same first task by the same first member during a second period of time, each second execution making it possible to obtain a second result,
- comparaison du premier résultat avec chaque deuxième résultat, et  comparing the first result with each second result, and
- détermination de l'état de fonctionnement du système en fonction de l'étape de comparaison.  determination of the operating state of the system as a function of the comparison step.
L'invention concerne, en outre, un autre contrôleur de l'état de fonctionnement d'un système, le système comprenant au moins un premier organe propre à exécuter des tâches, le contrôleur étant propre à mettre en œuvre les étapes suivantes.  The invention further relates to another controller of the operating state of a system, the system comprising at least a first member capable of performing tasks, the controller being adapted to implement the following steps.
- sélection d'une première tâche à exécuter par le premier organe, la première tâche étant exécutable en un premier temps alloué,  selecting a first task to be executed by the first member, the first task being executable at a first allocated time,
- première exécution par le premier organe de la première tâche sélectionnée durant une première période de temps, la première période de temps étant inférieure ou égale au premier temps alloué,  first execution by the first member of the first selected task during a first period of time, the first period of time being less than or equal to the first allocated time,
- premier test d'une première condition selon laquelle la première exécution de la première tâche est achevée,  first test of a first condition according to which the first execution of the first task is completed,
lorsque la première condition est remplie, le contrôleur étant également propre à mettre en œuvre les étapes de : when the first condition is fulfilled, the controller also being able to implement the steps of:
- obtention du résultat de la première exécution de la première tâche par le premier organe permettant d'obtenir un premier résultat,  obtaining the result of the first execution of the first task by the first member making it possible to obtain a first result,
- comparaison du premier résultat avec au moins un deuxième résultat, chaque deuxième résultat étant obtenu par la mise en œuvre d'une redondance de type spatiale et/ou temporelle, et  comparing the first result with at least a second result, each second result being obtained by implementing a spatial and / or temporal redundancy, and
- détermination de l'état de fonctionnement du système en fonction de l'étape de comparaison.  determination of the operating state of the system as a function of the comparison step.
L'invention concerne également un appareil de transport comprenant un des contrôleurs décrit précédemment.  The invention also relates to a transport apparatus comprising one of the controllers described above.
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit de modes de réalisation de l'invention, donnée à titre d'exemple uniquement et en référence aux dessins qui sont :  Other features and advantages of the invention will appear on reading the following description of embodiments of the invention, given by way of example only and with reference to the drawings which are:
- figure 1 , une vue schématique d'un exemple d'un contrôleur permettant la mise en œuvre d'un procédé de contrôle de l'état de fonctionnement d'un système, - figure 2, un ordinogramme d'un premier exemple de mise en œuvre d'un procédé de contrôle de l'état de fonctionnement d'un système, - figure 3, une représentation schématique d'une exécution redondante de type temporelle d'une tâche sur un organe, chaque exécution de la tâche sur l'organe étant réalisée sur une période de temps inférieure ou égale au pire temps d'exécution de la tâche, FIG. 1 is a diagrammatic view of an example of a controller for implementing a method for controlling the operating state of a system, FIG. 2, a flowchart for a first implementation example. implementing a method for controlling the operating state of a system, FIG. 3, a diagrammatic representation of a redundant time-type execution of a task on an organ, each execution of the task on the organ being performed over a period of time less than or equal to the worst execution time of the task,
- figure 4, une représentation schématique d'une exécution redondante de type temporelle d'une tâche sur un organe uniquement lorsque le temps d'exécution de la tâche lors de la première exécution est inférieur ou égal à la moitié du pire temps d'exécution de la tâche,  FIG. 4, a schematic representation of a redundant time-type execution of a task on an organ only when the execution time of the task during the first execution is less than or equal to half of the worst execution time of the task,
- figure 5, une représentation schématique d'une exécution redondante de type temporelle d'une tâche sur un organe uniquement lorsque le temps d'exécution de la tâche lors de la première exécution est inférieur ou égal au tiers du pire temps d'exécution de la tâche,  FIG. 5, a schematic representation of a redundant time-type execution of a task on an organ only when the execution time of the task during the first execution is less than or equal to one-third of the worst execution time of task,
- figure 6, une représentation schématique d'une exécution redondante de type temporelle d'une tâche sur un organe lorsque le temps d'exécution de la tâche lors de la première exécution ne remplit pas la condition de la figure 5 mais a été exécuté sur une période de temps inférieure ou égale à la moitié du temps d'exécution de la tâche,  FIG. 6, a schematic representation of a redundant time-type execution of a task on an organ when the execution time of the task during the first execution does not fulfill the condition of FIG. 5 but has been executed on a period of time less than or equal to half the execution time of the task,
- figure 7, un ordinogramme d'un deuxième exemple de mise en œuvre d'un procédé de contrôle de l'état de fonctionnement d'un système,  FIG. 7, a flowchart of a second exemplary implementation of a method for controlling the operating state of a system,
- figure 8, une représentation schématique d'une exécution redondante de type spatiale de deux tâches sur deux organes uniquement lorsqu'une première condition est vérifiée,  FIG. 8, a schematic representation of a redundant spatial-type execution of two tasks on two organs only when a first condition is verified,
- figure 9, une représentation schématique d'une exécution redondante de type spatiale de deux tâches sur trois organes uniquement lorsqu'une première condition et une deuxième condition sont vérifiées,  FIG. 9 is a diagrammatic representation of a redundant spatial-type execution of two tasks on three organs only when a first condition and a second condition are verified,
- figure 10, une représentation schématique d'une exécution redondante de type temporelle d'une tâche, la deuxième exécution de la tâche étant dégradée lorsque la première condition n'est pas vérifiée, et  FIG. 10, a schematic representation of a redundant time-type execution of a task, the second execution of the task being degraded when the first condition is not verified, and
- figure 1 1 , une représentation schématique d'une vérification de la pertinence du résultat obtenu suite à la première exécution d'une tâche lorsque la première condition n'est pas vérifiée.  - Figure 1 1, a schematic representation of a verification of the relevance of the result obtained after the first execution of a task when the first condition is not verified.
Un système 1 et un contrôleur 2 de l'état de fonctionnement du système 1 sont illustrés sur la figure 1 .  A system 1 and a controller 2 of the operating state of the system 1 are illustrated in FIG.
Le système 1 est, par exemple, un système temps-réel. Dans l'exemple de la figure 1 , le système 1 est embarqué dans un appareil de transport 3, tel qu'une automobile ou un aéronef, pour lequel le respect des contraintes temporelles est un paramètre critique. System 1 is, for example, a real-time system. In the example of FIG. 1, the system 1 is embedded in a transport apparatus 3, such as a automobile or an aircraft, for which the respect of time constraints is a critical parameter.
Le système 1 comprend un ensemble d'organes d ,..., On et un ensemble de tâches T1 .., Tn. Dans l'exemple de la figure 1 , trois organes d , 02, 03 du système 1 sont représentés. Les organes d ,..., On sont des éléments d'architecture remplissant une fonction prédéterminée. Les organes d ,..., On sont également appelés « cœurs de processeurs ». Les tâches ΤΊ,..., Tn sont des séquences d'instructions exécutables sur les organes 01 .., On du système 1 . Les séquences d'instructions sont, par exemple, relatives à des commandes du système 1 . Lorsque le système 1 est embarqué dans un aéronef, les commandes sont, par exemple, des commandes de changement de trajectoire ou d'atterrissage de l'aéronef. The system 1 comprises a set of organs d, ..., O n and a set of tasks T 1 .., T n . In the example of Figure 1, three organs d, 0 2, 0 3 of the system 1 are shown. The organs d, ..., O n are architectural elements fulfilling a predetermined function. The organs d, ..., O n are also called "processor cores". The tasks ΤΊ, ..., T n are sequences of instructions executable on the organs 0 1 .., O n of the system 1. The instruction sequences are, for example, relating to commands of the system 1. When the system 1 is embarked in an aircraft, the commands are, for example, commands for changing the trajectory or landing of the aircraft.
Le contrôleur 2 interagit avec le système 1 pour contrôler l'état de fonctionnement du système 1 . L'état de fonctionnement d'un système est obtenu par réalisation de tests de défaillances sur le système et permet de déterminer la fiabilité du système.  The controller 2 interacts with the system 1 to control the operating state of the system 1. The operating state of a system is achieved by performing fault tests on the system and determining the reliability of the system.
Dans l'exemple de la figure 1 , le contrôleur 2 est embarqué dans le même équipement que le système 1 contrôlé par le contrôleur 2, par exemple dans un appareil de transport.  In the example of Figure 1, the controller 2 is embedded in the same equipment as the system 1 controlled by the controller 2, for example in a transport device.
Le contrôleur 2 est, par exemple, un ordinateur.  The controller 2 is, for example, a computer.
Plus généralement, le contrôleur 2 est un calculateur électronique propre à manipuler et/ou transformer des données représentées comme des quantités électroniques ou physiques dans des registres du contrôleur 2 et/ou des mémoires en d'autres données similaires correspondant à des données physiques dans des mémoires, des registres ou autres types de dispositifs d'affichage, de transmission ou de mémorisation.  More generally, the controller 2 is an electronic calculator adapted to manipulate and / or transform data represented as electronic or physical quantities in the registers of the controller 2 and / or memories in other similar data corresponding to physical data in data. memories, registers or other types of display, transmission or storage devices.
Le contrôleur 2 comporte un processeur comprenant une unité de traitement de données, des mémoires et un lecteur de support d'informations.  The controller 2 comprises a processor comprising a data processing unit, memories and an information carrier reader.
Le contrôleur 2 est propre à interagir avec un produit programme d'ordinateur comprenant un support lisible d'informations lisible par le contrôleur 2, usuellement par l'unité de traitement de données du contrôleur 2. Sur le support lisible d'information est mémorisé un programme d'ordinateur comprenant des instructions de programme.  The controller 2 is able to interact with a computer program product comprising a readable piece of information readable by the controller 2, usually by the data processing unit of the controller 2. On the readable medium of information is stored a computer program comprising program instructions.
Le programme d'ordinateur est chargeable sur l'unité de traitement de données du contrôleur 2 et est adapté pour entraîner la mise en œuvre d'un procédé de contrôle de l'état de fonctionnement du système 1 .  The computer program is loadable on the data processing unit of the controller 2 and is adapted to cause the implementation of a method of controlling the operating state of the system 1.
Le fonctionnement du contrôleur 2 en interaction avec le produit programme d'ordinateur et le système 1 est maintenant décrit en référence à la figure 2, qui illustre schématiquement un premier exemple de mise en œuvre d'un procédé de contrôle de l'état de fonctionnement d'un système 1 . The operation of the controller 2 interacting with the computer program product and the system 1 is now described with reference to FIG. schematically a first example of implementation of a method for controlling the operating state of a system 1.
En variante, le contrôleur 2 est une application logicielle implémentée sur les mêmes organes d ,..., On que les tâches T1 .., Tn. Alternatively, the controller 2 is a software application implemented on the same organs d, ..., O n that the tasks T 1 .., T n.
Initialement, le procédé de contrôle comprend une étape 100 d'allocation, par le contrôleur 2, d'un temps alloué à chaque tâche T1 .., Tn du système 1 . Initially, the control method comprises a step 100 of allocating, by the controller 2, a time allocated to each task T 1 .., T n of the system 1.
Le temps alloué de chaque tâche T1 .., Tn est inférieur ou égal au pire temps d'exécution, aussi appelé temps maximal d'exécution, estimé préalablement pour la tâche T1 .., Tn. En particulier, le temps alloué est égal au rapport entre le pire temps d'exécution de la tâche T1 .., Tn et le nombre d'exécution redondante de type temporelle de la tâche T1 .., Tn. Par exemple, le temps alloué pour chaque tâche T1 .., Tn est égal à la moitié ou au tiers du pire temps d'exécution estimé pour la tâche T1 .., Tn. The allocated time of each task T 1 .., T n is less than or equal to the worst execution time, also called maximum execution time, previously estimated for the task T 1 .., T n . In particular, the time allocated is equal to the ratio between the worst execution time of the task T 1 .., T n and the number of redundant execution of the time type of the task T 1 .., T n . For example, the time allocated for each task T 1 .., T n is equal to half or third of the worst execution time estimated for the task T 1 .., T n .
Le pire temps d'exécution, désigné par la référence WCET dans la suite de la description, est, par exemple, estimé ou borné au préalable par des mesures expérimentales, des méthodes d'analyse statique de code ou des méthodes hybrides.  The worst execution time, designated by the WCET reference in the remainder of the description, is, for example, estimated or limited in advance by experimental measurements, static code analysis methods or hybrid methods.
Le procédé de contrôle comprend également une étape 1 10 de sélection d'une première tâche ΤΊ à exécuter par le premier organe d du système 1 . La première tâche ΤΊ est, par exemple, sélectionnée à partir d'un ordonnancement statique des tâches défini lors de la conception du système 1 . La première tâche ΤΊ est exécutable en un premier temps alloué Ai fixé par le contrôleur 2.  The control method also comprises a step 1 10 for selecting a first task ΤΊ to be executed by the first member d of the system 1. The first task ΤΊ is, for example, selected from a static task scheduling defined during the design of the system 1. The first task ΤΊ is executable at first allocated Ai fixed by the controller 2.
Le procédé de contrôle comprend, ensuite, une étape 120 de première exécution par le premier organe d de la première tâche ΤΊ. A l'issue de la première exécution, un premier résultat est obtenu et une première période de temps -ι est définie. La première période de temps -ι est la durée mise pour l'exécution de la première tâche ΤΊ sur le premier organe d . The control method then comprises a step 120 of first execution by the first member d of the first task ΤΊ . At the end of the first execution, a first result is obtained and a first period of time -ι is defined. The first time period -ι is the duration set for the execution of the first task ΤΊ on the first organ d.
Le procédé de contrôle comprend, ensuite, une étape 130 de premier test d'une première condition. La première condition stipule que la première période de temps est inférieure ou égale au premier temps alloué A^  The control method then comprises a step 130 of first testing a first condition. The first condition states that the first period of time is less than or equal to the first time allowed A ^
Lorsque la première condition n'est pas remplie, le procédé comprend une étape 140 d'attente pendant un temps d'attente, puis de répétition des étapes de sélection 1 10, de première exécution 120 et de premier test 130. La somme du temps d'attente et de la première période de temps est égale à un multiple du premier temps alloué A^ Une telle somme est supérieure ou égale au pire temps d'exécution WCET de la tâche considérée. Par exemple, la somme est égale à deux fois le premier temps alloué ou à trois fois le premier temps alloué Ai . Lorsque la première condition est remplie, le procédé de contrôle comprend une étape 150 de mise en œuvre d'au moins une deuxième exécution de la même première tâche Ti par le même premier organe d pendant une deuxième période de temps Δ2. Chaque deuxième exécution permet d'obtenir un deuxième résultat. When the first condition is not fulfilled, the method comprises a step 140 of waiting for a waiting time, then of repeating the selection steps 1 10, the first execution 120 and the first test 130. The sum of the time and the first period of time is equal to a multiple of the first time allocated A ^ Such a sum is greater than or equal to the worst execution time WCET of the task considered. For example, the sum is twice the first time allocated or three times the first time allocated Ai. When the first condition is fulfilled, the control method comprises a step 150 of implementing at least a second execution of the same first task Ti by the same first member d during a second period of time Δ 2 . Each second run gives a second result.
Les deuxièmes exécutions sont des exécutions redondantes de type temporelle de la première tâche T L'exécution redondante de type temporelle d'une tâche est l'exécution séquentielle d'une même tâche sur un même organe.  The second executions are redundant time-type executions of the first task T The redundant time-type execution of a task is the sequential execution of the same task on the same organ.
L'exemple de la figure 3 illustre l'exécution redondante de type temporelle d'une première tâche ΊΊ sur un même premier organe d au cours d'une première période de temps Δ1 ; puis au cours d'une deuxième période de temps Δ2. Le premier temps alloué A^ est dans cet exemple égal au pire temps d'exécution WCET de la première tâche T La première période de temps étant inférieure ou égale au premier temps alloué A1 ; l'exécution redondante de la première tâche ΤΊ sur le même premier organe d est autorisée. The example of FIG. 3 illustrates the redundant time-type execution of a first task ΊΊ on the same first member d during a first time period Δ 1; then during a second period of time Δ 2 . The first time allocated A ^ is in this example equal to the worst execution time WCET of the first task T The first period of time being less than or equal to the first time allocated A 1; the redundant execution of the first task ΤΊ on the same first member d is allowed.
Dans l'exemple de la figure 4, le premier temps alloué A^ est égal à la moitié du pire temps d'exécution WCET de la première tâche TV Lorsque la première condition est remplie, la première tâche ΤΊ est exécutée deux fois de suite sur le même premier organe d, comme cela est illustré sur le dessin du haut de la figure 4. Lorsque la première condition n'est pas vérifiée, la première tâche ΤΊ est exécutée seulement une fois sur le premier organe d, comme cela est illustré sur le dessin du bas de la figure 4.  In the example of FIG. 4, the first time allocated A ^ is equal to half the worst execution time WCET of the first task TV When the first condition is fulfilled, the first task ΤΊ is executed twice in a row on the same first member d, as illustrated in the upper drawing of FIG. 4. When the first condition is not satisfied, the first task ΤΊ is executed only once on the first member d, as illustrated in FIG. the bottom drawing of Figure 4.
Dans l'exemple de la figure 5, le premier temps alloué Ai est égal à un tiers du pire temps d'exécution WCET de la première tâche Lorsque la première condition est remplie, la première tâche est exécutée trois fois de suite sur le même premier organe d, comme cela est illustré sur le dessin du haut de la figure 5. Une telle exécution redondante est appelée « redondance triple ». Lorsque la première condition n'est pas vérifiée, la première tâche est exécutée seulement une fois sur le premier organe d, comme cela est illustré sur le dessin du bas de la figure 5. In the example of FIG. 5, the first allocated time Ai is equal to one third of the worst execution time WCET of the first task When the first condition is fulfilled, the first task is executed three times in succession on the same first member d, as illustrated in the top drawing of FIG. 5. Such a redundant execution is called "triple redundancy". When the first condition is not satisfied, the first task is performed only once on the first member d, as shown in the bottom drawing of Figure 5.
Le procédé comprend, ensuite, une étape 160 de comparaison du premier résultat avec chaque deuxième résultat obtenu et de chaque deuxième résultat entre eux.  The method then comprises a step 160 of comparing the first result with each second result obtained and of each second result between them.
Par exemple, dans le cas où un premier résultat et deux deuxièmes résultats sont obtenus, si seul le premier résultat est erroné, les comparaisons du premier résultat avec chacun des deuxièmes résultats présenteront des différences. En outre, la comparaison des deuxièmes résultats entre eux permettra de conclure que les deuxièmes résultats sont corrects et que le premier résultat est erroné.  For example, in the case where a first result and two second results are obtained, if only the first result is erroneous, the comparisons of the first result with each of the second results will have differences. In addition, the comparison of the second results between them will lead to the conclusion that the second results are correct and that the first result is wrong.
Puis, le procédé comprend une étape 170 de détermination de l'état de fonctionnement du système 1 en fonction de l'étape de comparaison 160. Lorsque les résultats obtenus sont identiques, le système 1 est considéré « fiable » et les étapes 1 1 0 à 160 sont répétées. Then, the method comprises a step 170 for determining the operating state of the system 1 as a function of the comparison step 160. When the results obtained are identical, system 1 is considered "reliable" and steps 110 to 160 are repeated.
Lorsque les résultats obtenus ne sont pas identiques, cela indique qu'une erreur s'est produite lors de l'exécution de la tâche. Le système 1 est alors considéré « défaillant» . Dans ce cas, une alarme est générée pour informer l'opérateur d'une défaillance du système 1 .  When the results obtained are not identical, this indicates that an error occurred during the execution of the task. The system 1 is then considered "faulty". In this case, an alarm is generated to inform the operator of a system fault 1.
En particulier, une simple redondance, c'est-à-dire deux exécutions successives d'une tâche sur un organe, telles qu'illustrées sur les figures 3 et 4, permet de détecter une défaillance du système 1 sans la corriger. Une triple redondance telle qu'illustrée sur la figure 5, permet de détecter une défaillance du système 1 et de la corriger par réalisation d'un vote entre les trois résultats obtenus lorsque deux résultats sont identiques.  In particular, a simple redundancy, that is to say two successive executions of a task on an organ, as illustrated in FIGS. 3 and 4, makes it possible to detect a failure of the system 1 without correcting it. A triple redundancy as illustrated in FIG. 5 makes it possible to detect a failure of the system 1 and to correct it by making a vote between the three results obtained when two results are identical.
En variante, pour les redondances triples ou d'ordres supérieurs, lorsque la première condition n'est pas remplie mais que la première période de temps est inférieure ou égale à une durée prédéterminée pour la tâche, le procédé met quand même en œuvre les étapes 150 à 1 70. La redondance est dite effectuée en « mode dégradé ».  As a variant, for the triple or higher redundancies, when the first condition is not fulfilled but the first period of time is less than or equal to a predetermined duration for the task, the method still implements the steps 150 to 1 70. Redundancy is said to be performed in "degraded mode".
La figure 6 illustre un exemple de redondance mise en œuvre en mode dégradée. Dans cet exemple, le premier temps alloué Ai pour la première tâche ΤΊ est égal à un tiers du pire temps d'exécution WCET et la durée prédéterminée pour la première tâche ΤΊ est égale à la moitié du pire temps d'exécution WCET. Ainsi, bien que la première période de temps -i soit supérieure au premier temps alloué A1 ; la première tâche T-\ est exécutée une seconde fois sur le même premier organe d . Par contre, la première tâche T-\ ne pourra pas être exécutée une troisième fois. Ainsi, dans le cas d'une redondance triple, un fonctionnement en mode dégradé permet de détecter une défaillance du système 1 , mais ne permet pas de la corriger. FIG. 6 illustrates an example of redundancy implemented in degraded mode. In this example, the first time allocated Ai for the first task ΤΊ is equal to one third of the worst execution time WCET and the predetermined duration for the first task ΤΊ is equal to half the worst execution time WCET. Thus, although the first time period -i is greater than the first time allocated A 1; the first task T- \ is executed a second time on the same first organ d. On the other hand, the first task T- \ can not be executed a third time. Thus, in the case of triple redundancy, operation in degraded mode can detect a failure of the system 1, but does not correct it.
Ainsi, le procédé utilise, d'une part, la redondance temporelle pour adresser les problèmes liés à la dégradation de la fiabilité des composants et, d'autre part, un ordonnancement adaptatif des tâches pour permettre une réduction des marges prises sur le pire temps d'exécution de chaque tâche.  Thus, the method uses, on the one hand, the temporal redundancy to address the problems related to the degradation of the reliability of the components and, on the other hand, an adaptive scheduling of the tasks to allow a reduction of the margins taken on the worst time execution of each task.
En particulier, des intervalles de temps, appelés « slots » en anglais, sont alloués statiquement à chaque tâche pour permettre une exécution redondante des tâches et une comparaison des résultats obtenus. Dans le cas d'un dépassement d'un intervalle de temps, l'ordonnancement des tâches est modifié dynamiquement pour que les intervalles de temps dédiés aux exécutions redondantes des tâches permettent aux tâches de finir de s'exécuter. Ainsi, l'ordonnancement des tâches est modifié pour que les marges temporelles du pire temps d'exécution soient absorbées dans les intervalles de temps initialement prévus pour la redondance. En outre, l'allocation de premiers temps alloués inférieurs aux pires temps d'exécution permet de réduire les marges de conception. In particular, slots, called "slots" in English, are statically allocated to each task to allow redundant execution of tasks and a comparison of the results obtained. In the case of exceeding a time interval, the task scheduling is dynamically changed so that the time slots for redundant job executions allow jobs to finish executing. Thus, the scheduling of the tasks is modified so that the time margins of the worst execution time are absorbed in the time slots initially provided for the redundancy. In addition, allocating lower allocated times to worst execution times reduces design margins.
Ainsi, la mise en œuvre d'une exécution redondante temporelle des tâches Thus, the implementation of a redundant execution of tasks
ΤΊ ,..., Τη du système 1 permet de contrôler l'état de fonctionnement du système 1 et d'améliorer ainsi la fiabilité du système 1 . Les étapes de test permettent de mettre en œuvre l'exécution redondante des tâches T1 .., Tn uniquement lorsqu'une telle redondance ne dégrade pas les performances du système 1 . Cela permet ainsi de respecter les contraintes temporelles des systèmes temps-réel. ΤΊ, ..., Τ η of the system 1 makes it possible to control the operating state of the system 1 and thus to improve the reliability of the system 1. The test steps make it possible to implement the redundant execution of the tasks T 1 .., T n only when such redundancy does not degrade the performance of the system 1. This makes it possible to respect the temporal constraints of the real-time systems.
Selon un deuxième mode de mise en œuvre, tel qu'illustré sur la figure 7, le procédé de contrôle comprend les étapes suivantes.  According to a second mode of implementation, as illustrated in FIG. 7, the control method comprises the following steps.
Le procédé de contrôle comprend des étapes d'allocation 200 et de sélection 21 0 identiques aux étapes d'allocation 100 et de sélection 1 1 0 du procédé selon le premier exemple de mise en œuvre.  The control method comprises allocation and selection steps 200 0 identical to the allocation 100 and selection 1 1 0 steps of the method according to the first implementation example.
Le procédé de contrôle comprend, ensuite, une étape 220 de première exécution par le premier organe d de la première tâche ΤΊ durant une première période de temps. La première période de temps est inférieure ou égale au premier temps alloué Ai .  The control method then comprises a step 220 of first execution by the first member d of the first task ΤΊ during a first period of time. The first period of time is less than or equal to the first time allocated Ai.
Puis, le procédé de contrôle comprend une étape 230 de premier test d'une première condition. La première condition stipule que la première exécution de la première tâche ΤΊ est achevée.  Then, the control method comprises a first test step 230 of a first condition. The first condition states that the first execution of the first task ΤΊ is completed.
Lorsque la première condition n'est pas remplie, le procédé de contrôle comporte une étape 240 de fin d'exécution de la première tâche ΤΊ dont une partie a été mise en œuvre lors de l'étape 220 de première exécution. A l'issue de la première exécution, un premier résultat est obtenu.  When the first condition is not fulfilled, the control method comprises a step 240 of completion of the first task ΤΊ part of which was implemented during the first execution step 220. At the end of the first execution, a first result is obtained.
Puis, les étapes de sélection 21 0, de première exécution 220 et de premier test 230 sont répétées.  Then, the selection steps 21 0, first execution 220 and first test 230 are repeated.
Lorsque la première condition est remplie, un premier résultat est obtenu à l'issue de la première exécution.  When the first condition is fulfilled, a first result is obtained after the first execution.
En outre, le procédé comprend une étape 250 de mise en œuvre d'une redondance de type temporelle et/ou spatiale. L'exécution redondante de type spatiale d'une tâche est l'exécution d'une même tâche en parallèle sur des organes différents. La redondance de type temporelle est mise en œuvre de manière similaire au premier exemple de mise en œuvre.  In addition, the method comprises a step 250 of implementing a redundancy of time and / or space type. The redundant spatial-type execution of a task is the execution of the same task in parallel on different organs. The time-type redundancy is implemented in a manner similar to the first implementation example.
L'étape 250 de mise en œuvre d'une redondance permet d'obtenir au moins un deuxième résultat. L'exemple de la figure 8 illustre l'exécution redondante de type temporelle et spatiale d'une première tâche ΤΊ et d'une deuxième tâche T2 sur un premier organe d et un deuxième organe 02. Dans cet exemple, la première tâche ΤΊ est exécutée sur le premier organe d en parallèle de la deuxième tâche T2 exécutée sur le deuxième organe 02. Comme illustré sur le dessin du haut de la figure 8, lorsque la première condition est vérifiée pour chacune des tâches ΤΊ , T2, la première tâche ΤΊ , respectivement la deuxième tâche T2 est exécutée de manière redondante sur le deuxième organe 02, respectivement sur le premier organe d . Comme illustré sur le dessin du bas de la figure 8, la première tâche ΤΊ ne vérifiant pas la première condition n'est pas exécutée de manière redondante sur l'autre organe 02. Par contre, la deuxième tâche T2 remplissant la première condition est exécutée par une redondance de type temporelle sur le même organe 02. The step 250 of implementing a redundancy makes it possible to obtain at least a second result. The example of FIG. 8 illustrates the redundant temporal and spatial execution of a first task ΤΊ and a second task T 2 on a first member d and a second member 0 2 . In this example, the first task ΤΊ is executed on the first member d in parallel with the second task T 2 executed on the second member 0 2 . As illustrated in the drawing at the top of FIG. 8, when the first condition is satisfied for each task ΤΊ, T 2 , the first task ΤΊ, respectively the second task T 2 is executed redundantly on the second member 0 2 , respectively on the first organ d. As illustrated in the bottom drawing of FIG. 8, the first task ΤΊ that does not satisfy the first condition is not performed redundantly on the other member 0 2 . On the other hand, the second task T 2 fulfilling the first condition is executed by a time-type redundancy on the same organ 0 2 .
L'exemple de la figure 9 illustre l'exécution d'une redondance temporelle et d'une triple redondance spatiale d'une première tâche ΤΊ et d'une deuxième tâche T2 sur trois organes d , 02, 03 du système 1 . En premier lieu, la première tâche ΤΊ est exécutée en parallèle par une redondance de type spatiale sur le premier organe d durant une première période de temps et sur le deuxième organe 02 durant une deuxième période de temps. Lorsque la première condition est remplie, la première exécution de la première tâche ΤΊ sur le premier organe d permet d'obtenir un premier résultat et la deuxième exécution permet d'obtenir un deuxième résultat. The example of FIG. 9 illustrates the execution of a temporal redundancy and of a triple spatial redundancy of a first task ΤΊ and a second task T 2 on three organs d, 0 2 , 0 3 of the system 1 . First, the first task ΤΊ is executed in parallel by a spatial type redundancy on the first member d during a first period of time and on the second member 0 2 during a second period of time. When the first condition is fulfilled, the first execution of the first task ΤΊ on the first member d makes it possible to obtain a first result and the second execution makes it possible to obtain a second result.
En parallèle de la première exécution et de la deuxième exécution de la première tâche ΤΊ , la deuxième tâche T2 est exécutée durant une troisième période de temps sur le troisième organe 03. Puis, le procédé comprend une étape de deuxième test d'une deuxième condition selon laquelle la troisième exécution de la deuxième tâche T2 est achevée. Lorsque la deuxième condition est remplie, la troisième exécution permet d'obtenir un troisième résultat. In parallel with the first execution and the second execution of the first task ΤΊ, the second task T 2 is executed during a third period of time on the third member 0 3 . Then, the method comprises a second test step of a second condition in which the third execution of the second task T 2 is completed. When the second condition is fulfilled, the third execution makes it possible to obtain a third result.
Lorsque la première et la deuxième condition sont remplies, la première tâche ΤΊ est exécutée de manière redondante sur le troisième organe 03 permettant d'obtenir un deuxième résultat et la deuxième tâche T2 est exécutée de manière redondante sur le premier organe d et sur le deuxième organe 02. Une telle situation est illustrée sur le dessin du haut de la figure 9. When the first and second conditions are fulfilled, the first task ΤΊ is performed redundantly on the third member 0 3 to obtain a second result and the second task T 2 is performed redundantly on the first member d and on the second organ 0 2 . Such a situation is illustrated in the drawing at the top of Figure 9.
Lorsque la première condition n'est pas vérifiée, le procédé finit l'exécution de la première tâche ΤΊ sur le premier organe d mais interrompt la deuxième exécution de la première tâche ΤΊ sur le deuxième organe 02. When the first condition is not satisfied, the method finishes executing the first task ΤΊ on the first member d but interrupts the second execution of the first task ΤΊ on the second member 0 2 .
Si la deuxième condition est vérifiée, le procédé exécute à nouveau la deuxième tâche T2 sur le troisième organe 03, ainsi que sur le deuxième organe 02 pour lequel l'exécution de la première tâche ΤΊ a été interrompue. Une telle situation est illustrée sur le dessin du milieu de la figure 9. If the second condition is satisfied, the method executes again the second task T 2 on the third member 0 3 , as well as on the second member 0 2 for which the execution of the first task ΤΊ has been interrupted. Such a situation is illustrated in the middle drawing of Figure 9.
Si la deuxième condition n'est pas vérifiée, la première tâche ΤΊ et la deuxième tâche T2 ne sont pas exécutées de manière redondante. Une telle situation est illustrée sur le dessin du bas de la figure 9. If the second condition is not satisfied, the first task ΤΊ and the second task T 2 are not performed redundantly. Such a situation is illustrated in the bottom drawing of Figure 9.
Puis, le procédé de contrôle comprend des étapes de comparaison 260 et de détermination 270 identiques aux étapes de comparaison 160 et de détermination 170 du procédé selon le premier exemple de mise en œuvre.  Then, the control method comprises comparison steps 260 and determination 270 identical to the comparison steps 160 and determination 170 of the method according to the first implementation example.
En particulier, lorsqu'à l'issue de l'étape 250 de mise en œuvre d'une redondance, au moins deux deuxièmes résultats sont obtenus, l'étape de détermination 270 est mise en œuvre par réalisation d'un vote entre le premier résultat et les au moins deux deuxièmes résultats.  In particular, when at the end of the step 250 of implementation of a redundancy, at least two second results are obtained, the determination step 270 is implemented by making a vote between the first result and at least two second results.
Les avantages cités pour le premier exemple de mise en œuvre s'appliquent également pour le deuxième exemple de mise en œuvre.  The benefits cited for the first implementation example also apply for the second implementation example.
En outre, la redondance spatiale présente l'avantage de détecter aussi bien des fautes permanentes, affectant plusieurs exécutions, que des fautes transitoires, affectant une seule exécution, et cela à la différence de la redondance temporelle qui permet de détecter uniquement les fautes transitoires. Ainsi, une défaillance permanente d'un organe du système 1 est susceptible d'être détectée.  In addition, the spatial redundancy has the advantage of detecting permanent faults, affecting several executions, as transient faults, affecting a single execution, and this unlike the temporal redundancy that can detect only transient faults. Thus, a permanent failure of a body of the system 1 is likely to be detected.
L'homme du métier comprendra que l'invention ne se limite pas aux modes de réalisation décrits, ni aux exemples particuliers de la description.  It will be understood by those skilled in the art that the invention is not limited to the described embodiments, nor to the particular examples of the description.
Par exemple, la première tâche ΤΊ sélectionnée est décomposable en un premier nombre de sous-tâches et lorsque la première condition n'est pas remplie, le procédé comporte en outre une étape d'exécution d'un deuxième nombre de sous-tâches de la tâche ΤΊ sélectionnée. Le deuxième nombre de sous-tâches est strictement inférieur au premier nombre de sous-tâches. Ainsi comme illustré sur la figure 10, lorsque la première condition n'est pas vérifiée pour une première tâche ΤΊ s'exécutant sur un premier organe 01 ; la première tâche ΤΊ est tout de même exécutée de manière redondante sur le même premier organe d mais en mode « dégradé », c'est-à-dire que le temps d'exécution est diminué mais qu'en contre-partie le résultat obtenu est moins précis. L'étape de comparaison consiste alors à comparer l'ordre de grandeur des résultats obtenus avec une tolérance préalablement fixée. Si la comparaison est jugée positive, les résultats obtenus lors de la première exécution, c'est-à-dire lors de l'exécution non dégradée, sont utilisés. For example, the first task ΤΊ selected is decomposable into a first number of sub-tasks and when the first condition is not fulfilled, the method further comprises a step of executing a second number of sub-tasks of the task ΤΊ selected. The second number of subtasks is strictly less than the first number of subtasks. Thus, as illustrated in FIG. 10, when the first condition is not satisfied for a first task ΤΊ executing on a first member 0 1; the first task ΤΊ is still performed redundantly on the same first member d but in "degraded" mode, that is to say that the execution time is decreased but in return the result obtained is less accurate. The comparison step then consists in comparing the order of magnitude of the results obtained with a previously fixed tolerance. If the comparison is considered positive, the results obtained during the first execution, that is to say during the non-degraded execution, are used.
En variante et comme illustré sur la figure 1 1 , lorsque la première condition n'est pas remplie, le procédé comporte en outre une étape de vérification de la pertinence du premier résultat obtenu. Par exemple, l'étape de vérification consiste à vérifier que le premier résultat obtenu est compris dans une plage de valeurs prédéterminées. As a variant and as illustrated in FIG. 11, when the first condition is not fulfilled, the method also includes a step of verifying the relevance of the first result obtained. For example, the verification step consists in verifying that the first result obtained is within a range of predetermined values.

Claims

REVENDICATIONS
1 . - Procédé de contrôle de l'état de fonctionnement d'un système (1 ), le système (1 ) comprenant au moins un premier organe (d) propre à exécuter des tâches (T1 .., Tn), le procédé comprenant les étapes de : 1. - A method for controlling the operating state of a system (1), the system (1) comprising at least a first member (d) capable of performing tasks (T 1 .., T n ), the method comprising the steps of:
- sélection (1 10) d'une première tâche (ΤΊ) à exécuter par le premier organe (d), la première tâche (ΤΊ) étant exécutable en un premier temps alloué (Ai),  selecting (1 10) a first task (ΤΊ) to be executed by the first member (d), the first task (ΤΊ) being executable at a first allocated time (Ai),
- première exécution (120) par le premier organe (d) de la première tâche (ΤΊ) sélectionnée, la première exécution par le premier organe (d) de la première tâche (ΤΊ) permettant d'obtenir un premier résultat et définissant une première période de temps (Δ^,  first execution (120) by the first member (d) of the first task (ΤΊ) selected, the first execution by the first member (d) of the first task (ΤΊ) making it possible to obtain a first result and defining a first period of time (Δ ^,
- premier test (130) d'une première condition selon laquelle la première période de temps (Ai) est inférieure ou égale au premier temps alloué (A^,  first test (130) of a first condition according to which the first period of time (Ai) is less than or equal to the first allocated time (A ^,
lorsque la première condition est remplie, le procédé comporte également les étapes de : when the first condition is fulfilled, the method also comprises the steps of:
- mise en œuvre (150) d'au moins une deuxième exécution de la même première tâche (ΤΊ) par le même premier organe (d) pendant une deuxième période de temps (Δ2), chaque deuxième exécution permettant d'obtenir un deuxième résultat,implementing (150) at least one second execution of the same first task (ΤΊ) by the same first member (d) during a second period of time (Δ 2 ), each second execution making it possible to obtain a second result,
- comparaison (160) du premier résultat avec chaque deuxième résultat, etcomparing (160) the first result with each second result, and
- détermination (170) de l'état de fonctionnement du système (1 ) en fonction de l'étape de comparaison (160). determination (170) of the operating state of the system (1) as a function of the comparison step (160).
2. - Procédé selon la revendication 1 , dans lequel lorsque la première condition n'est pas remplie, le procédé comporte également une étape (140) d'attente pendant un temps d'attente, puis de répétition des étapes de sélection (1 10), de première exécution (120) et de premier test (130), la somme du temps d'attente et de la première période de temps (Ai) étant égale à un multiple du premier temps alloué (A^. 2. - The method of claim 1, wherein when the first condition is not met, the method also comprises a step (140) of waiting for a waiting time, then repetition of the selection steps (1). ), the first execution (120) and the first test (130), the sum of the waiting time and the first time period (Ai) being equal to a multiple of the first allocated time (A ^.
3. - Procédé selon la revendication 1 ou 2, dans lequel lorsque la première condition n'est pas remplie et que la première période de temps (Δ^ est inférieure ou égale à une durée prédéterminée, le procédé comporte également les étapes de mise en œuvre d'au moins une deuxième exécution (150), de comparaison (160) et de détermination (170). The method according to claim 1 or 2, wherein when the first condition is not fulfilled and the first time period (Δ ^ is less than or equal to a predetermined time, the method also includes the steps of at least a second execution (150), comparison (160) and determination (170).
4. - Procédé de contrôle de l'état de fonctionnement d'un système (1 ), le système (1 ) comprenant au moins un premier organe (d) propre à exécuter des tâches (T1 .., Tn), le procédé comprenant les étapes de : - sélection (210) d'une première tâche (ΤΊ) à exécuter par le premier organe (d), la première tâche (ΤΊ) étant exécutable en un premier temps alloué (Ai), 4. - Method for controlling the operating state of a system (1), the system (1) comprising at least a first member (d) capable of performing tasks (T 1 .., T n ), the method comprising the steps of: selecting (210) a first task (ΤΊ) to be executed by the first member (d), the first task (ΤΊ) being executable at a first allocated time (Ai),
- première exécution (220) par le premier organe (d) de la première tâche (ΤΊ) sélectionnée durant une première période de temps, la première période de temps étant inférieure ou égale au premier temps alloué (Ai),  first execution (220) by the first member (d) of the first task (ΤΊ) selected during a first period of time, the first period of time being less than or equal to the first allocated time (Ai),
- premier test (230) d'une première condition selon laquelle la première exécution de la première tâche (ΤΊ) est achevée,  first test (230) of a first condition according to which the first execution of the first task (ΤΊ) is completed,
lorsque la première condition est remplie, le procédé comporte également les étapes de : when the first condition is fulfilled, the method also comprises the steps of:
- obtention du résultat de la première exécution de la première tâche (ΤΊ) par le premier organe (d) permettant d'obtenir un premier résultat,  obtaining the result of the first execution of the first task (ΤΊ) by the first member (d) making it possible to obtain a first result,
- comparaison (260) du premier résultat avec au moins un deuxième résultat, chaque deuxième résultat étant obtenu par la mise en œuvre (250) d'une redondance de type spatiale et/ou temporelle, et  comparing (260) the first result with at least a second result, each second result being obtained by implementing (250) a spatial and / or temporal type redundancy, and
- détermination (270) de l'état de fonctionnement du système (1 ) en fonction de l'étape de comparaison (260).  determination (270) of the operating state of the system (1) as a function of the comparison step (260).
5. - Procédé selon la revendication 4, dans lequel lorsque la première condition n'est pas remplie, le procédé comporte également une étape (230) de fin d'exécution de la première tâche (ΤΊ) dont une partie a été mise en œuvre lors de la première exécution (220), permettant d'obtenir le premier résultat. 5. - Method according to claim 4, wherein when the first condition is not fulfilled, the method also comprises a step (230) of completion of the first task (ΤΊ) a part of which has been implemented at the first execution (220), to obtain the first result.
6. - Procédé selon la revendication 4 ou 5, dans lequel le système (1 ) comporte un deuxième organe (02) et un troisième organe (03), le deuxième organe (02) et le troisième organe (03) étant propres à exécuter des tâches (T1 .., Tn), le procédé comprenant les étapes de : 6. - Method according to claim 4 or 5, wherein the system (1) comprises a second member (0 2 ) and a third member (0 3 ), the second member (0 2 ) and the third member (0 3 ) being adapted to perform tasks (T 1 .., T n ), the method comprising the steps of:
- deuxième exécution de la même première tâche (ΤΊ) par le deuxième organe (02) durant une deuxième période de temps, la deuxième exécution étant mise en œuvre en parallèle de la première exécution, la deuxième exécution permettant d'obtenir un deuxième résultat lorsque la première condition est remplie, second execution of the same first task (ΤΊ) by the second member (0 2 ) during a second period of time, the second execution being implemented in parallel with the first execution, the second execution making it possible to obtain a second result; when the first condition is met,
- troisième exécution d'une deuxième tâche (T2) par le troisième organe (03) durant une troisième période de temps, la troisième exécution étant mise en œuvre en parallèle de la première exécution et de la deuxième exécution, third execution of a second task (T 2 ) by the third member (0 3 ) during a third period of time, the third execution being implemented in parallel with the first execution and the second execution,
- deuxième test d'une deuxième condition selon laquelle la troisième exécution de la deuxième tâche (T2) est achevée, second test of a second condition according to which the third execution of the second task (T 2 ) is completed,
lorsque la première condition et la deuxième condition sont remplies, le procédé comporte également une étape de quatrième exécution de la première tâche (ΤΊ) par le troisième organe (03) durant une quatrième période de temps, la quatrième exécution permettant d'obtenir un autre deuxième résultat. when the first condition and the second condition are met, the method also includes a fourth execution step of the first task (ΤΊ) by the third organ (0 3 ) during a fourth period of time, the fourth execution making it possible to obtain another second result.
7. - Procédé selon l'une quelconque des revendications 4 à 6, dans lequel lorsque la première condition est remplie, le procédé comporte également une étape de mise en œuvre d'au moins deux autres exécutions de la première tâche (ΤΊ) par le même premier organe (d), chaque autre exécution permettant d'obtenir un deuxième résultat. 7. - Method according to any one of claims 4 to 6, wherein when the first condition is fulfilled, the method also comprises a step of implementing at least two other executions of the first task (ΤΊ) by the same first member (d), each other execution to obtain a second result.
8. - Procédé selon l'une quelconque des revendications 6 ou 7, dans lequel l'étape de détermination (270) de l'état de fonctionnement est mise en œuvre par utilisation d'un vote parmi le premier résultat et les au moins deux deuxièmes résultats. 8. - Method according to any one of claims 6 or 7, wherein the step of determining (270) the operating state is implemented by using a vote among the first result and the at least two second results.
9. - Procédé selon l'une quelconque des revendications 1 à 8, dans lequel pour chaque tâche (ΤΊ ,..., Tn), il est défini un temps maximal d'exécution, le temps alloué étant fonction du nombre d'exécutions redondantes de type temporelle de la tâche (T1 .., Tn) et du temps maximal d'exécution de la tâche (T1 .., Tn). 9. - Method according to any one of claims 1 to 8, wherein for each task (ΤΊ, ..., T n ), it is defined a maximum execution time, the time allocated being a function of the number of redundant time-type executions of the task (T 1 .., T n ) and the maximum execution time of the task (T 1 .., T n ).
10. - Procédé selon la revendication 9, dans lequel le temps alloué est égal au rapport entre le temps maximal d'exécution de la tâche (T1 .., Tn) et le nombre d'exécutions redondantes de type temporelle de la tâche (T1 .., Tn). The method according to claim 9, wherein the time allocated is equal to the ratio between the maximum execution time of the task (T 1 .., T n ) and the number of redundant time-type executions of the task. (T 1 .., T n ).
1 1 . - Procédé selon l'une quelconque des revendications 1 à 10, dans lequel, la tâche (ΤΊ) sélectionnée est décomposable en un premier nombre de sous-tâches et dans lequel, lorsque la première condition n'est pas remplie, le procédé comporte en outre une étape d'exécution d'un deuxième nombre de sous-tâches de la tâche (ΤΊ) sélectionnée, le deuxième nombre étant strictement inférieur au premier nombre de sous-tâches. 1 1. A method according to any one of claims 1 to 10, wherein the selected task (ΤΊ) is decomposable into a first number of subtasks and wherein, when the first condition is not fulfilled, the method includes in addition to a step of executing a second number of sub-tasks of the task (ΤΊ) selected, the second number being strictly less than the first number of sub-tasks.
12. - Procédé selon l'une quelconque des revendications 1 à 10, dans lequel, lorsque la première condition n'est pas remplie et que le premier résultat est obtenu, le procédé comporte en outre une étape de vérification de la pertinence du premier résultat obtenu. 12. - Method according to any one of claims 1 to 10, wherein, when the first condition is not met and the first result is obtained, the method further comprises a step of verifying the relevance of the first result. got.
13. - Contrôleur (2) de l'état de fonctionnement d'un système (1 ), le système (1 ) comprenant au moins un premier organe (C^) propre à exécuter des tâches ÇT —, Tn), le contrôleur (2) étant propre à mettre en œuvre les étapes suivantes : - sélection (1 10) d'une première tâche (ΤΊ) à exécuter par le premier organe (d), la première tâche (ΤΊ) étant exécutable en un premier temps alloué (Ai), 13. - Controller (2) of the operating state of a system (1), the system (1) comprising at least a first member (C ^) capable of performing tasks CT -, T n ), the controller (2) being able to implement the following steps: selecting (1 10) a first task (ΤΊ) to be executed by the first member (d), the first task (ΤΊ) being executable at a first allocated time (Ai),
- première exécution (120) par le premier organe (d) de la première tâche (ΤΊ) sélectionnée, la première exécution par le premier organe (d) de la première tâche (ΤΊ) permettant d'obtenir un premier résultat et définissant une première période de temps (Δ^,  first execution (120) by the first member (d) of the first task (ΤΊ) selected, the first execution by the first member (d) of the first task (ΤΊ) making it possible to obtain a first result and defining a first period of time (Δ ^,
- premier test (130) d'une première condition selon laquelle la première période de temps (Ai) est inférieure ou égale au premier temps alloué (A^,  first test (130) of a first condition according to which the first period of time (Ai) is less than or equal to the first allocated time (A ^,
lorsque la première condition est remplie, le contrôleur étant également propre à mettre en œuvre les étapes de : when the first condition is fulfilled, the controller also being able to implement the steps of:
- mise en œuvre (150) d'au moins une deuxième exécution de la même première tâche (ΤΊ) par le même premier organe (d) pendant une deuxième période de temps (Δ2), chaque deuxième exécution permettant d'obtenir un deuxième résultat,implementing (150) at least one second execution of the same first task (ΤΊ) by the same first member (d) during a second period of time (Δ 2 ), each second execution making it possible to obtain a second result,
- comparaison (160) du premier résultat avec chaque deuxième résultat, et - détermination (170) de l'état de fonctionnement du système (1 ) en fonction de l'étape de comparaison (160). - comparing (160) the first result with each second result, and - determining (170) the operating state of the system (1) according to the comparison step (160).
14.- Contrôleur (2) de l'état de fonctionnement d'un système (1 ), le système (1 ) comprenant au moins un premier organe (d) propre à exécuter des tâches (ΤΊ ,..., Tn), le contrôleur (2) étant propre à mettre en œuvre les étapes suivantes. 14.- controller (2) of the operating state of a system (1), the system (1) comprising at least a first member (d) capable of performing tasks (ΤΊ, ..., T n ) , the controller (2) being adapted to implement the following steps.
- sélection (210) d'une première tâche (ΤΊ) à exécuter par le premier organe (d), la première tâche (ΤΊ) étant exécutable en un premier temps alloué (Ai),  selecting (210) a first task (ΤΊ) to be executed by the first member (d), the first task (ΤΊ) being executable at a first allocated time (Ai),
- première exécution (220) par le premier organe (d) de la première tâche (ΤΊ) sélectionnée durant une première période de temps, la première période de temps étant inférieure ou égale au premier temps alloué (Ai),  first execution (220) by the first member (d) of the first task (ΤΊ) selected during a first period of time, the first period of time being less than or equal to the first allocated time (Ai),
- premier test (230) d'une première condition selon laquelle la première exécution de la première tâche (ΤΊ) est achevée,  first test (230) of a first condition according to which the first execution of the first task (ΤΊ) is completed,
lorsque la première condition est remplie, le contrôleur étant également propre à mettre en œuvre les étapes de : when the first condition is fulfilled, the controller also being able to implement the steps of:
- obtention du résultat de la première exécution de la première tâche (ΤΊ) par le premier organe (d) permettant d'obtenir un premier résultat,  obtaining the result of the first execution of the first task (ΤΊ) by the first member (d) making it possible to obtain a first result,
- comparaison (260) du premier résultat avec au moins un deuxième résultat, chaque deuxième résultat étant obtenu par la mise en œuvre (250) d'une redondance de type spatiale et/ou temporelle, et  comparing (260) the first result with at least a second result, each second result being obtained by implementing (250) a spatial and / or temporal type redundancy, and
- détermination (270) de l'état de fonctionnement du système (1 ) en fonction de l'étape de comparaison (260). determination (270) of the operating state of the system (1) as a function of the comparison step (260).
15.- Appareil de transport comprenant un contrôleur (2) selon la revendication 13 ou 14. 15. A transport apparatus comprising a controller (2) according to claim 13 or 14.
EP16793897.6A 2015-11-10 2016-11-09 Method for controlling the operating state of a system by redundancy Active EP3374872B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1502358A FR3043479B1 (en) 2015-11-10 2015-11-10 METHOD FOR CONTROLLING THE OPERATING STATE OF A SYSTEM BY REDUNDANCY
PCT/EP2016/077162 WO2017081095A1 (en) 2015-11-10 2016-11-09 Method for controlling the operating state of a system by redundancy

Publications (2)

Publication Number Publication Date
EP3374872A1 true EP3374872A1 (en) 2018-09-19
EP3374872B1 EP3374872B1 (en) 2020-03-11

Family

ID=55752320

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16793897.6A Active EP3374872B1 (en) 2015-11-10 2016-11-09 Method for controlling the operating state of a system by redundancy

Country Status (3)

Country Link
EP (1) EP3374872B1 (en)
FR (1) FR3043479B1 (en)
WO (1) WO2017081095A1 (en)

Also Published As

Publication number Publication date
WO2017081095A1 (en) 2017-05-18
EP3374872B1 (en) 2020-03-11
FR3043479B1 (en) 2018-05-04
FR3043479A1 (en) 2017-05-12

Similar Documents

Publication Publication Date Title
US8954579B2 (en) Transaction-level health monitoring of online services
US10459830B2 (en) Executable code abnormality detection
EP3470986B1 (en) Method and device for monitoring an avionics software application by means of its execution time, associated computer program and avionics system
US20080201618A1 (en) Method for Running a Computer Program on a Computer System
Marijan et al. Effect of time window on the performance of continuous regression testing
CN112181760B (en) Abnormality detection method and device
US20190385081A1 (en) Anomaly detection model selection and validity for time series data
FR3012636A1 (en) METHOD FOR NON-REGRESSION OF A DESIGN TOOL OF AN AIRCRAFT ENGINE MONITORING SYSTEM
EP3599552B1 (en) Electronic device and method for installing avionics software applications on a platform comprising a multicore processor, associated computer program and electronic system
US10831643B2 (en) Detecting potential class loader problems using the class search path sequence for each class loader
US20200387322A1 (en) Scalable garbage collection
EP3374872B1 (en) Method for controlling the operating state of a system by redundancy
FR2910656A1 (en) DEVICE AND METHOD FOR PROCESS TASK FAILURE MANAGEMENT
US20170039200A1 (en) Evaluating user experience
US8352922B2 (en) Date and time simulation for time-sensitive applications
EP3070611A1 (en) Statistical model-based test design for effective test case generation
CN106656684B (en) Grid resource reliability monitoring method and device
US20180150319A1 (en) Template-based methodology for validating hardware features
CN111679924B (en) Reliability simulation method and device for componentized software system and electronic equipment
EP3035135A1 (en) A method for emergency stop and associated security system
US9218272B2 (en) System level architecture verification of a transactional execution
CN111290911A (en) Method and equipment for detecting mobile terminal task
US20120124558A1 (en) Scenario testing composability across multiple components
US11866154B2 (en) System and method for controlling an actuator for a control surface of an aircraft
US20240045854A1 (en) Method for checking a processing of payload data

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20180604

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20190228

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20191014

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1244023

Country of ref document: AT

Kind code of ref document: T

Effective date: 20200315

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: FRENCH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602016031652

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200611

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20200311

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200611

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200612

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200805

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200711

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1244023

Country of ref document: AT

Kind code of ref document: T

Effective date: 20200311

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602016031652

Country of ref document: DE

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

26N No opposition filed

Effective date: 20201214

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20201109

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20201130

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20201130

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20201130

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20201109

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200311

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20201130

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20231120

Year of fee payment: 8

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20231124

Year of fee payment: 8

Ref country code: DE

Payment date: 20231107

Year of fee payment: 8