Patent ID: 7299383
Filing Date: 2007-11-20
Classification: G06F

Abstract:
1. A security method making real time execution of multitask applications of the control and command type in a control system deterministic, the method comprising: at least a first clock that issues an interrupt signal sh whenever an adjustable quantity of time has elapsed; a CPU having at least one processor capable of receiving at least said clock interrupt signal sh; a main memory; and a set of controllers ( the method being characterized in that it comprises the following steps: for each of the tasks of a given application, storing all of the chaining that is authorized from each time synchronization point of the task that requires a call to a system layer, said chaining being represented by a control graph for monitoring the execution of system layer calls made by the task in question, each control graph comprising a set of nodes each corresponding to a call to the system layer of the control system; for each node of the control graph of each task, storing the nature of the call to the system layer and its call parameters, including time parameters enabling “earliest start” times d(i) and “latest finish” times f(i) to be updated; for each task, storing an initial node (Node for the given application and prior to starting real time execution in a time-triggered mode, initializing, for each task, the initial node (Node for the given application and prior to starting real time execution in a time-triggered mode, initializing the starting order of each of the tasks by pre-ordering lists of tasks in an atomic micro-kernel; setting the first clock to issue a clock interrupt signal sh constituting a call to the micro-kernel, on the first instant of the application for starting execution of said application in time-triggered mode; during normal operation after the first clock has been set, causing the first clock to be reset by the micro-kernel on each call to the micro-kernel; during a call to the micro-kernel by the system layer or by processing the interrupt signal sh, causing the micro-kernel to go to the step of updating the lists of tasks in ordered manner depending on the time characteristics of the tasks, namely their earliest start times d(i) and their latest finish times f(i); and after updating the list, causing the micro-kernel to calculate the nearest future instant on which a task needs to be woken up and causing the first clock to be set by the micro-kernel on the basis of said nearest future instant to wake up said task and leave the micro-kernel; and while executing a task, making a call to the system layer only when a node of the control graph of said task is reached, and passing as an argument the number of the node; proceeding on entry into the system layer with a check to verify whether, according to the control graph of the task being executed, the chaining from the node corresponding to the preceding system layer call is authorized, in order to launch anomaly processing in the system layer if said chaining is not authorized or to continue with execution if said chaining is authorized, updating the time parameters of the task being executed comprising the earliest start time d(i) and the latest finish time f(i) using calls to the micro-kernel from the system layer, and continuing normal execution of the current task until said task again reaches a node of its control graph.