FR3069678A1 - METHOD FOR EVALUATING A TIME OF EXECUTION OF TASKS ON MATERIAL BLOCKS - Google Patents

METHOD FOR EVALUATING A TIME OF EXECUTION OF TASKS ON MATERIAL BLOCKS Download PDF

Info

Publication number
FR3069678A1
FR3069678A1 FR1700796A FR1700796A FR3069678A1 FR 3069678 A1 FR3069678 A1 FR 3069678A1 FR 1700796 A FR1700796 A FR 1700796A FR 1700796 A FR1700796 A FR 1700796A FR 3069678 A1 FR3069678 A1 FR 3069678A1
Authority
FR
France
Prior art keywords
task
model
tasks
execution
analysis tool
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
FR1700796A
Other languages
French (fr)
Other versions
FR3069678B1 (en
Inventor
Rafik Henia
Laurent Rioux
Nicolas Sordon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Priority to FR1700796A priority Critical patent/FR3069678B1/en
Publication of FR3069678A1 publication Critical patent/FR3069678A1/en
Application granted granted Critical
Publication of FR3069678B1 publication Critical patent/FR3069678B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

L'invention concerne un procédé d'évaluation d'un temps d'exécution de tâches sur des blocs matériels, le procédé comprenant les étapes suivantes : - la fourniture d'un premier modèle (2) comprenant un ensemble de tâches et un ensemble de blocs matériels, - la fourniture d'un outil d'analyse (4) configuré pour définir un scénario d'exécution des tâches sur les blocs matériels, - la fourniture de contraintes imposées par l'outil d'analyse (4), - le découpage en sous-tâches d'une tâche du premier modèle (2) pour obtenir un deuxième modèle, - la définition d'un scénario d'exécution des tâches et sous-tâches du deuxième modèle sur les blocs matériels du deuxième modèle, - l'exécution des tâches et sous-tâches selon le scénario défini, et - l'évaluation, pour le scénario défini, du temps d'exécution des tâches et sous-tâches du deuxième modèle sur les blocs matériels du deuxième modèle.The invention relates to a method for evaluating a task execution time on hardware blocks, the method comprising the following steps: - the provision of a first model (2) comprising a set of tasks and a set of hardware blocks, - providing an analysis tool (4) configured to define a task execution scenario on the hardware blocks, - providing constraints imposed by the analysis tool (4), - the sub-tasking a task from the first model (2) to obtain a second model, - defining a scenario for executing the tasks and sub-tasks of the second model on the hardware blocks of the second model, - l execution of the tasks and sub-tasks according to the defined scenario, and - the evaluation, for the defined scenario, of the execution time of the tasks and sub-tasks of the second model on the hardware blocks of the second model.

Description

Procédé d’évaluation d’un temps d’exécution de tâches sur des blocs matérielsMethod for evaluating an execution time of tasks on hardware blocks

La présente invention concerne un procédé d’évaluation d’un temps d’exécution de tâches sur des blocs matériels. La présente invention se rapporte également à un ensemble d’évaluation d’un temps d’exécution de tâches sur des blocs matériels.The present invention relates to a method for evaluating an execution time of tasks on hardware blocks. The present invention also relates to a set for evaluating a time of execution of tasks on hardware blocks.

L’invention se rapporte aussi à un support d’informations.The invention also relates to an information medium.

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. Par exemple, un changement de trajectoire ou une opération d’atterrissage non achevés dans des délais impartis sont susceptibles d’endommager l’aéronef et de mettre en danger les passagers.In the field of avionics, the response times of aircraft piloting systems must be strictly guaranteed to avoid the occurrence of accidents. For example, a flight path change or a landing operation that is not completed within a given timeframe can damage the aircraft and endanger passengers.

De ce fait, pour assurer le respect des temps de réponse, des systèmes tempsré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.Therefore, to ensure compliance with response times, real-time systems are on board aircraft. Real-time systems are computer systems that differ from other computer systems by taking into account time constraints, compliance with which is as important as the accuracy of the result delivered by the system.

Lors de la conception de systèmes temps-réel, l’un des enjeux consiste dès lors à prédire précisément les caractéristiques temporelles de tels systèmes et notamment le temps d’exécution des tâches des systèmes sur les blocs matériels des systèmes. Les blocs matériels sont des éléments d’architecture remplissant une fonction prédéterminée. Les tâches sont des séquences d’instructions exécutables sur les blocs matériels. Dans le cas des aéronefs, les tâches sont, par exemple, relatives à des commandes de changement de trajectoire ou d’atterrissage de l’aéronef.One of the challenges when designing real-time systems is therefore to accurately predict the temporal characteristics of such systems, and in particular the time for the execution of system tasks on the hardware blocks of the systems. Hardware blocks are architectural elements fulfilling a predetermined function. Tasks are sequences of instructions executable on hardware blocks. In the case of aircraft, the tasks relate, for example, to changes of trajectory or landing commands of the aircraft.

Afin de valider la conception d’un système temps-réel, des outils d’analyse sont utilisés. De tels outils d’analyse permettent notamment d’évaluer le temps d’exécution des tâches du système sur les blocs matériels du système en fonction de différents scénarios.In order to validate the design of a real-time system, analysis tools are used. Such analysis tools allow in particular to evaluate the execution time of the tasks of the system on the hardware blocks of the system according to different scenarios.

Cependant, les outils d’analyse obéissent à des règles de fonctionnement différentes des modèles de conception de systèmes temps-réel. Ainsi, les outils d’analyse ne permettent pas de prendre en compte toute la complexité des modèles de conception, ce qui est à l’origine d’un manque de fiabilité dans les systèmes conçus à partir des analyses obtenues. 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.However, the analysis tools obey different operating rules than the models for designing real-time systems. Thus, the analysis tools do not allow to take into account all the complexity of the design models, which is at the origin of a lack of reliability in the systems designed from the analyzes obtained. A system is considered reliable when the probability that the system will fulfill the mission assigned to it over a given period of time corresponds to the probability specified in the specifications.

En outre, pour rendre le modèle de conception analysable par l’outil d’analyse, des règles restrictives sont généralement appliquées lors de la conception du système tempsréel. De telles règles sont spécifiques à chaque outil d’analyse et à chaque modèle de conception et doivent donc être établies au cas par cas, ce qui entraîne une perte de productivité.In addition, to make the design model parsable by the analysis tool, restrictive rules are generally applied when designing the real-time system. Such rules are specific to each analysis tool and each design model and must therefore be established on a case-by-case basis, which leads to a loss of productivity.

Il existe donc un besoin pour évaluer de manière simple et fiable le temps d’exécution de tâches sur des blocs matériels, notamment lorsque lesdites tâches sont relatives à la commande d’équipements spécialisés tels que des aéronefs.There is therefore a need to assess the execution time of tasks on hardware blocks in a simple and reliable manner, in particular when said tasks relate to the control of specialized equipment such as aircraft.

A cet effet, l’invention a pour objet un procédé d’évaluation d’un temps d’exécution de tâches sur des blocs matériels, le procédé comprenant les étapes suivantes :To this end, the subject of the invention is a method for evaluating a time for executing tasks on hardware blocks, the method comprising the following steps:

- la fourniture d’un premier modèle comprenant un ensemble de tâches et un ensemble de blocs matériels, chaque bloc matériel étant propre à exécuter au moins une tâche conformément à des règles établies par le premier modèle, chaque tâche étant une fonction transformant au moins une entrée en au moins un résultat de sortie, la fonction étant une séquence d’instructions activable par la réception de paramètres d’activation en entrée, au moins un paramètre d’activation étant le résultat obtenu par l’exécution d’au moins une autre tâche, les règles associant, à chaque tâche, un bloc matériel pour exécuter la tâche et définissant, en outre, les résultats de chaque tâche formant les paramètres d’activation d’au moins une autre tâche,the supply of a first model comprising a set of tasks and a set of hardware blocks, each hardware block being suitable for executing at least one task in accordance with rules established by the first model, each task being a function transforming at least one input into at least one output result, the function being a sequence of instructions that can be activated by receiving input activation parameters, at least one activation parameter being the result obtained by executing at least one other task, the rules associating, with each task, a hardware block for executing the task and further defining the results of each task forming the activation parameters of at least one other task,

- la fourniture d’un outil d’analyse configuré pour définir un scénario d’exécution des tâches sur les blocs matériels, l’outil d’analyse étant propre à évaluer un temps d’exécution des tâches lorsque les tâches sont exécutées sur les blocs selon le scénario défini par l’outil d’analyse, l’outil d’analyse imposant aux tâches le respect de contraintes pour l’exécution et l’évaluation du temps d'exécution des tâches sur les blocs matériels,- the supply of an analysis tool configured to define a task execution scenario on the hardware blocks, the analysis tool being able to evaluate a task execution time when the tasks are executed on the blocks according to the scenario defined by the analysis tool, the analysis tool imposing on the tasks the respect of constraints for the execution and the evaluation of the execution time of the tasks on the hardware blocks,

- la fourniture de contraintes imposées par l’outil d’analyse, les contraintes comprenant une ou les contraintes suivantes :- the supply of constraints imposed by the analysis tool, the constraints comprising one or more of the following constraints:

o la fourniture, à d’autres tâches, des résultats obtenus à la suite de l’exécution d’instructions de la séquence d’instructions de chaque tâche est possible uniquement après l’exécution de la totalité des instructions de la séquence d’instructions de la tâche, o la réception de paramètres d’activation par chaque tâche en cours d’exécution est possible uniquement après l’exécution de la totalité des instructions de la séquence d’instructions de la tâche, o une tâche comprend au plus une seule entrée de réception de paramètres d’activation, o une tâche comprend au plus une seule sortie de fourniture de résultats, et o les tâches sont exécutées selon un ordre de priorité.o the supply, to other tasks, of the results obtained following the execution of instructions in the instruction sequence of each task is possible only after the execution of all the instructions in the instruction sequence of the task, o the reception of activation parameters by each running task is possible only after the execution of all the instructions in the sequence of instructions of the task, o a task comprises at most one input for receiving activation parameters, where a task comprises at most one output for providing results, and where the tasks are executed in order of priority.

- le découpage en sous-tâches d’au moins une tâche du premier modèle pour obtenir un deuxième modèle compatible avec les contraintes imposées par l’outil d’analyse et respectant les règles établies par le premier modèle, chaque sous-tâche d’une tâche étant une sous-fonction transformant au moins une entrée de la tâche en au moins un résultat de sortie de la tâche,- splitting into sub-tasks of at least one task of the first model to obtain a second model compatible with the constraints imposed by the analysis tool and respecting the rules established by the first model, each sub-task of a task being a sub-function transforming at least one input of the task into at least one output result of the task,

- la définition, par l’outil d’analyse, d’un scénario d’exécution des tâches et soustâches du deuxième modèle sur les blocs matériels du deuxième modèle,- the definition, by the analysis tool, of a scenario for the execution of the tasks and subtasks of the second model on the hardware blocks of the second model,

- l’exécution, par l’outil d’analyse, des tâches et sous-tâches du deuxième modèle sur les blocs matériels du deuxième modèle selon le scénario défini, et- the execution, by the analysis tool, of the tasks and subtasks of the second model on the hardware blocks of the second model according to the defined scenario, and

- l’évaluation, par l’outil d’analyse, pour le scénario défini, du temps d’exécution des tâches et sous-tâches du deuxième modèle sur les blocs matériels du deuxième modèle, le temps d’exécution des tâches du premier modèle sur les blocs matériels du premier modèle étant compris dans un intervalle de temps borné, l’une des bornes de l’intervalle étant le temps d’exécution évalué pour le deuxième modèle selon le scénario défini.- the evaluation, by the analysis tool, for the defined scenario, of the execution time of the tasks and sub-tasks of the second model on the hardware blocks of the second model, the execution time of the tasks of the first model on the hardware blocks of the first model being included in a limited time interval, one of the limits of the interval being the execution time evaluated for the second model according to the defined scenario.

Suivant des modes de mise en œuvre particuliers, le procédé d’évaluation comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :According to particular modes of implementation, the evaluation process includes one or more of the following characteristics, taken in isolation or according to all technically possible combinations:

- l’étape de découpage comprend le découpage de chaque tâche du premier modèle en autant de premières sous-tâches que un plus le nombre de résultats en sortie de la tâche appartenant à une première catégorie de résultats, chaque résultat de la première catégorie de résultats étant fourni en entrée d’autres tâches avant l’exécution de la totalité des instructions de la tâche, chaque première sous-tâche étant propre à générer un résultat appartenant à la première catégorie de résultats et distinct des autres résultats de la première catégorie de résultats ;- the cutting step includes cutting each task of the first model into as many first subtasks as one plus the number of results at the output of the task belonging to a first category of results, each result of the first category of results being input to other tasks before the execution of all the instructions of the task, each first sub-task being suitable for generating a result belonging to the first category of results and distinct from the other results of the first category of results ;

- l’étape de découpage comprend le découpage de chaque tâche du premier modèle en autant de deuxièmes sous-tâches que un plus le nombre d’entrées de la tâche appartenant à une première catégorie d’entrées, chaque entrée de la première catégorie d’entrées étant apte à recevoir des paramètres d’activation avant l’exécution de la totalité des instructions de la tâche, chaque deuxième sous-tâche comprenant une entrée de la première catégorie d’entrées distincte des autres entrées de la première catégorie d’entrées ;- the cutting step includes cutting each task of the first model into as many second sub-tasks as one plus the number of entries of the task belonging to a first category of entries, each entry of the first category of inputs being able to receive activation parameters before the execution of all the instructions of the task, each second subtask comprising an entry of the first category of inputs distinct from the other inputs of the first category of inputs;

- l’étape de découpage comprend le découpage de chaque tâche du premier modèle en autant de troisièmes sous-tâches que d’entrées de la tâche appartenant à une deuxième catégorie d’entrées, chaque entrée de la deuxième catégorie d’entrées étant apte à recevoir des paramètres d’activation uniquement lorsque les autres entrées de la deuxième catégorie d’entrées n’ont pas reçu de paramètres d’activation, chaque troisième sous-tâche comprenant une entrée de la deuxième catégorie d’entrées distincte des autres entrées de la deuxième catégorie d’entrées ;the cutting step comprises cutting each task of the first model into as many third sub-tasks as entries of the task belonging to a second category of entries, each entry of the second category of entries being suitable for receive activation parameters only when the other inputs of the second category of inputs have not received activation parameters, each third subtask comprising an entry of the second category of inputs distinct from the other inputs of the second category of entries;

- l’étape de découpage comprend le découpage de chaque tâche du premier modèle en autant de quatrièmes sous-tâches que de résultats en sortie de la tâche appartenant à une deuxième catégorie de résultats, chaque résultat de la deuxième catégorie de résultats étant fourni en entrée d’autres tâches uniquement lorsqu’aucun autre résultat n’a été fourni en entrée d’autres tâches au cours de l’exécution de la tâche, chaque quatrième sous-tâche étant propre à générer un résultat appartenant à la deuxième catégorie de résultats et distinct des autres résultats de la deuxième catégorie de résultats ;the cutting step comprises the cutting of each task of the first model into as many fourth sub-tasks as there are output results of the task belonging to a second category of results, each result of the second category of results being supplied as input other tasks only when no other result was supplied as input for other tasks during the execution of the task, each fourth subtask being suitable for generating a result belonging to the second category of results and distinct from the other results of the second category of results;

- le procédé comprend, avant l’étape de découpage, une étape d’écriture, sur le premier modèle, d’hypothèses du temps d’exécution des tâches du premier modèle sur les blocs matériels du premier modèle, les hypothèses étant utilisées par l’outil d’analyse lors de l’étape de définition du scénario ;the method comprises, before the cutting step, a step of writing, on the first model, hypotheses of the execution time of the tasks of the first model on the hardware blocks of the first model, the hypotheses being used by the 'analysis tool during the scenario definition stage;

- les étapes d’exécution et d’évaluation sont itérées jusqu’à ce que le temps d’exécution évalué lors d’une itération soit égal au temps d’exécution évalué lors de l’itération précédente ;- the execution and evaluation steps are iterated until the execution time evaluated during an iteration is equal to the execution time evaluated during the previous iteration;

- le procédé comprend, après les étapes d’exécution et d’évaluation, une étape de détermination d’un troisième modèle comprenant les tâches et les sous-tâches du deuxième modèle, l’ensemble de blocs matériels du deuxième modèle et le temps d’exécution évalué pour le deuxième modèle à partir du scénario défini, le procédé comprenant, en outre, une étape de fusion de chaque sous-tâche du troisième modèle obtenue à la suite de l’étape de découpage des tâches, en la tâche correspondante.the method comprises, after the execution and evaluation steps, a step of determining a third model comprising the tasks and sub-tasks of the second model, the set of hardware blocks of the second model and the time d execution evaluated for the second model from the defined scenario, the method further comprising a step of merging each sub-task of the third model obtained following the step of splitting the tasks into the corresponding task.

L’invention concerne également un ensemble d’évaluation d’un temps d’exécution de tâches sur des blocs matériels, l’ensemble comprenant :The invention also relates to a set for evaluating a time for executing tasks on hardware blocks, the set comprising:

- un premier modèle comprenant un ensemble de tâches et un ensemble de blocs matériels, chaque bloc matériel étant propre à exécuter au moins une tâche conformément à des règles établies par le premier modèle, chaque tâche étant une fonction transformant au moins une entrée en au moins un résultat de sortie, la fonction étant une séquence d’instructions activable par la réception de paramètres d’activation en entrée, au moins un paramètre d’activation étant le résultat obtenu par l’exécution d’au moins une autre tâche, les règles associant, à chaque tâche, un bloc matériel pour exécuter la tâche et définissant, en outre, les résultats de chaque tâche, formant les paramètres d’activation d’au moins une autre tâche,.a first model comprising a set of tasks and a set of hardware blocks, each hardware block being capable of executing at least one task in accordance with rules established by the first model, each task being a function transforming at least one entry into at least an output result, the function being a sequence of instructions that can be activated by receiving input activation parameters, at least one activation parameter being the result obtained by executing at least one other task, the rules associating, with each task, a hardware block for executing the task and further defining the results of each task, forming the activation parameters of at least one other task ,.

- un outil d’analyse configuré pour définir un scénario d’exécution des tâches sur les blocs matériels, l’outil d’analyse étant propre à évaluer un temps d’exécution des tâches lorsque les tâches sont exécutées sur les blocs matériels selon le scénario défini par l'outil d’analyse, l’outil d’analyse imposant aux tâches le respect de contraintes pour l’exécution et l’évaluation du temps d’exécution des tâches sur les blocs matériels,- an analysis tool configured to define a task execution scenario on the hardware blocks, the analysis tool being able to evaluate a task execution time when the tasks are executed on the hardware blocks according to the scenario defined by the analysis tool, the analysis tool imposing on the tasks the respect of constraints for the execution and the evaluation of the execution time of the tasks on the hardware blocks,

- un fichier comprenant les contraintes imposées par l’outil d’analyse, les contraintes comprenant une ou les contraintes suivantes :- a file including the constraints imposed by the analysis tool, the constraints comprising one or more of the following constraints:

o la fourniture, à d’autres tâches, des résultats obtenus à la suite de l’exécution d’instructions de la séquence d’instructions de chaque tâche est possible uniquement après l’exécution de la totalité des instructions de la séquence d’instructions de la tâche, o la réception de paramètres d’activation par chaque tâche en cours d’exécution est possible uniquement après l’exécution de la totalité des instructions de la séquence d’instructions de la tâche, o une tâche comprend au plus une seule entrée de réception de paramètres d’activation, o une tâche comprend au plus une seule sortie de fourniture de résultats, et o les tâches sont exécutées selon un ordre de priorité.o the supply, to other tasks, of the results obtained following the execution of instructions in the instruction sequence of each task is possible only after the execution of all the instructions in the instruction sequence of the task, o the reception of activation parameters by each running task is possible only after the execution of all the instructions in the sequence of instructions of the task, o a task comprises at most one input for receiving activation parameters, where a task comprises at most one output for providing results, and where the tasks are executed in order of priority.

- un produit programme d’ordinateur comportant des instructions logicielles, les instructions logicielles mettant en œuvre au moins l’étape de découpage du procédé tel que décrit précédemment, lorsque les instructions logicielles sont exécutées par un ordinateur, l’outil d’analyse mettant en œuvre au moins les étapes de définition, d’exécution et d’évaluation du procédé tel que décrit précédemment.a computer program product comprising software instructions, the software instructions implementing at least the step of cutting out the method as described above, when the software instructions are executed by a computer, the analysis tool using implements at least the steps of definition, execution and evaluation of the process as described above.

L’invention concerne aussi un support d’informations sur lequel est mémorisé le produit programme d’ordinateur d’un tel ensemble.The invention also relates to an information medium on which the computer program product of such an assembly is stored.

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 characteristics 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 ensemble d’évaluation permettant la mise en œuvre d’un procédé d’évaluation d’un temps d’exécution de tâches sur des blocs matériels,FIG. 1, a schematic view of an example of an evaluation unit allowing the implementation of a method for evaluating a time of execution of tasks on hardware blocks,

- figure 2, une vue schématique d’un module de traitement et d’un produit programme d’ordinateur de l’ensemble de la figure 1,FIG. 2, a schematic view of a processing module and of a computer program product of the assembly of FIG. 1,

- figure 3, un ordinogramme d’un exemple de mise en œuvre d’un procédé d’évaluation d’un temps d’exécution de tâches sur des blocs matériels,FIG. 3, a flowchart of an example of implementation of a method for evaluating a time of execution of tasks on hardware blocks,

- figure 4, une représentation schématique d’une première tâche envoyant des résultats à une deuxième tâche au cours de l’exécution de la première tâche,- Figure 4, a schematic representation of a first task sending results to a second task during the execution of the first task,

- figure 5, une représentation schématique d’un découpage de la première tâche de la figure 4 en deux sous-tâches de sorte à respecter les contraintes imposées par l’outil d’analyse,- Figure 5, a schematic representation of a division of the first task of Figure 4 into two sub-tasks so as to respect the constraints imposed by the analysis tool,

- figure 6, une représentation schématique d’une première tâche recevant des résultats d’une deuxième tâche au cours de l’exécution de la première tâche,- Figure 6, a schematic representation of a first task receiving results of a second task during the execution of the first task,

- figure 7, une représentation schématique d’un découpage de la première tâche de la figure 6 en deux sous-tâches pour respecter les contraintes imposées par l’outil d’analyse,- Figure 7, a schematic representation of a division of the first task of Figure 6 into two subtasks to meet the constraints imposed by the analysis tool,

- figure 8, une représentation schématique d’une première tâche ayant deux entrées de réception de paramètres d’activation et transmettant sélectivement, en fonction de l’entrée de réception des paramètres d’activation, des instructions à une deuxième tâche, etFIG. 8, a schematic representation of a first task having two inputs for receiving activation parameters and selectively transmitting, as a function of the input receiving the activation parameters, instructions to a second task, and

- figure 9, une représentation schématique d’un découpage de la première tâche de la figure 8 en deux sous-tâches de sorte à respecter les contraintes imposées par l’outil d’analyse.- Figure 9, a schematic representation of a division of the first task of Figure 8 into two sub-tasks so as to respect the constraints imposed by the analysis tool.

Un ensemble 1 d’évaluation d’un temps d’exécution de tâches Tj,..., Tn sur des blocs matériels B-ι,..., Bn est illustré sur la figure 1. L’ensemble 1 est notamment utilisé pour valider la conception de systèmes temps-réel. De tels systèmes temps-réel sont, par exemple, destinés à être embarqués dans des équipements spécialisés, tel que des aéronefs pour lesquels le respect des contraintes temporelles est un paramètre critique.A set 1 for evaluating a task execution time Tj, ..., T n on hardware blocks B-ι, ..., B n is illustrated in FIG. 1. The set 1 is in particular used to validate the design of real-time systems. Such real-time systems are, for example, intended to be installed in specialized equipment, such as aircraft for which compliance with time constraints is a critical parameter.

L’ensemble 1 comprend un premier modèle 2, un outil d’analyse 4, un fichier 6 comprenant des contraintes imposées par l’outil d’analyse 4 et un module de traitement 10 en interaction avec un produit programme d’ordinateur 12. Le module de traitement 10 et le produit programme d’ordinateur 12 sont illustrés en détails sur la figure 2.The assembly 1 comprises a first model 2, an analysis tool 4, a file 6 comprising constraints imposed by the analysis tool 4 and a processing module 10 in interaction with a computer program product 12. The processing module 10 and the computer program product 12 are illustrated in detail in FIG. 2.

Le premier modèle 2 est une modélisation informatique du fonctionnement d’un système informatique, par exemple d’un système temps-réel destiné à être embarqué dans un équipement spécialisé, tel qu’un aéronef.The first model 2 is a computer modeling of the operation of a computer system, for example of a real-time system intended to be embedded in specialized equipment, such as an aircraft.

Le premier modèle 2 est, par exemple, implémenté en langage UML (de l’anglais Unified Modeling Language, traduit en français par Langage de modélisation unifié). Le langage UML est un langage de modélisation graphique à base de pictogrammes et conçu pour visualiser la conception d'un système.The first model 2 is, for example, implemented in UML (Unified Modeling Language, translated into French by Unified Modeling Language). UML is a graphic modeling language based on pictograms and designed to visualize the design of a system.

Le premier modèle 2 comprend un ensemble de tâches Tj.....Tn et un ensemble de blocs matériels Bt.....Bn.The first model 2 comprises a set of tasks Tj ..... T n and a set of hardware blocks Bt ..... B n .

Chaque tâche Tj.....Tn est une fonction transformant au moins une entrée en au moins un résultat de sortie. La fonction est une séquence d’instructions activable par la réception de paramètres d’activation en entrée et propre à générer des résultats lors de sa mise en œuvre sur un système physique, tel que les blocs matériels d’une architecture. Les séquences d’instructions sont, par exemple, relatives à des commandes d’un équipement spécialisé, tel qu’un aéronef. Dans ce cas, les commandes sont, par exemple, des commandes de changement de trajectoire ou d’atterrissage de l’aéronef ou encore des commandes de contrôle de chauffage ou de traitement d’images en temps réel.Each task Tj ..... T n is a function transforming at least one input into at least one output result. The function is a sequence of instructions that can be activated by receiving input activation parameters and capable of generating results when it is implemented on a physical system, such as the hardware blocks of an architecture. The instruction sequences are, for example, relating to commands from specialized equipment, such as an aircraft. In this case, the commands are, for example, commands for changing the trajectory or landing of the aircraft or else commands for heating control or image processing in real time.

Chaque bloc matériel B-i.....Bn est propre à exécuter au moins une tâche T-,.....Tn du premier modèle 2 conformément à des règles établies par le premier modèle 2. Chaque tâche T1t..., Tn est donc affectée à au moins un bloc matériel B-i.....Bn selon les règles du premier modèle 2. Les blocs matériels Bn..., Bn sont également appelés cœurs de traitement.Each hardware block Bi ..... B n is suitable for executing at least one task T -, ..... T n of the first model 2 in accordance with rules established by the first model 2. Each task T 1t .. ., T n is therefore assigned to at least one hardware block Bi ..... B n according to the rules of the first model 2. The hardware blocks Bn ..., B n are also called processing cores.

Les règles établies par le premier modèle 2 définissent également les résultats de chaque tâche T-i.....Tn formant les paramètres d’activation d’au moins une autre tâcheThe rules established by the first model 2 also define the results of each task Ti ..... T n forming the activation parameters of at least one other task

Ti,..., Tn. En d’autres termes, les règles définissent les communications entre les différentes tâches Tn..., Tn du premier modèle 2 et notamment les communications entre les entrées et les sorties des tâches U.....Tn du premier modèle 2.Ti, ..., T n . In other words, the rules define the communications between the different tasks Tn ..., T n of the first model 2 and in particular the communications between the inputs and outputs of the tasks U ..... T n of the first model 2 .

Par exemple, dans le cas d’un aéronef, une première tâche consistant à détecter la présence de pluie est mise en œuvre par un capteur de pluie. Le résultat de la première tâche (détection ou non de pluie) est communiqué à une deuxième tâche visant à mettre en marche des essuie-glaces lorsque la présence de pluie a été détectée.For example, in the case of an aircraft, a first task consisting in detecting the presence of rain is implemented by a rain sensor. The result of the first task (detection or not of rain) is communicated to a second task aimed at starting the windscreen wipers when the presence of rain has been detected.

Ainsi, au moins un paramètre d’activation d’une tâche T-i Tn du premier modèle 2 est le résultat obtenu par l’exécution d’au moins une autre tâche Τη ... Tn du premier modèle 2 sur un bloc matériel B-i.....Bn du premier modèle 2.Thus, at least one activation parameter of a task Ti T n of the first model 2 is the result obtained by the execution of at least one other task Τ η ... T n of the first model 2 on a hardware block Bi ..... B n of the first model 2.

L’outil d’analyse 4 est configuré pour définir au moins un scénario d’exécution des tâches T-i..... Tn sur les blocs matériels B-ι,..., Bn. Le scénario d’exécution des tâchesThe analysis tool 4 is configured to define at least one scenario for executing the tasks Ti ..... T n on the hardware blocks B-ι, ..., B n . The task execution scenario

Tj,..., Tn prend en compte différents événements susceptibles de se produire au cours de l’exécution des tâches Tn..., Tn sur les blocs matériels Bi,..., Bn.Tj, ..., T n takes into account various events likely to occur during the execution of the tasks Tn ..., T n on the hardware blocks Bi, ..., B n .

Les événements sont, par exemple, des événements périodiques, c’est-à-dire des événements qui ont lieu à intervalles de temps réguliers, tels que la mesure de la vitesse du vent, de la température ou de l’altitude d’un aéronef par des capteurs.Events are, for example, periodic events, that is, events that take place at regular time intervals, such as the measurement of wind speed, temperature or altitude of a aircraft by sensors.

Dans un autre exemple, les événements sont des événements sporadiques, c’està-dire des événements qui ont lieu de temps en temps, tels que des changements de conditions météorologiques (pluie, tempête, trou d’air) ou encore des commandes spécifiques de l’utilisateur, telle qu’une commande de changement de cap.In another example, the events are sporadic events, that is to say events which occur from time to time, such as changes in weather conditions (rain, storm, air hole) or even specific commands of the user, such as a course change command.

L’outil d’analyse 4 est également propre à évaluer un temps d’exécution des tâches Tj..... Tn lorsque les tâches T-ι,..., Tn sont exécutées sur les blocs matérielsThe analysis tool 4 is also suitable for evaluating an execution time of the tasks Tj ..... T n when the tasks T-ι, ..., T n are executed on the hardware blocks

B-i.....Bn selon le scénario défini par l’outil d’analyse 4.Bi ..... B n according to the scenario defined by the analysis tool 4.

Généralement, l’outil d’analyse 4 est propre à définir plusieurs scénarios. Un premier scénario permet, par exemple, de calculer le « plus long temps » ou « pire temps » d’exécution des tâches Tj.....Tn sur les blocs matériels Bi..... Bn, c’est-à-dire le temps d’exécution obtenu lorsque les événements les plus chronophages se produisent. Un deuxième scénario permet, par exemple, de calculer le « plus court temps » ou « meilleur temps » d’exécution des tâches Tj.....Tn sur les blocs matériels Bt.....Bn, c’està-dire le temps d’exécution obtenu lorsque les événements les moins chronophages se produisent.Generally, the analysis tool 4 is suitable for defining several scenarios. A first scenario makes it possible, for example, to calculate the “longest time” or “worst time” of execution of the tasks Tj ..... T n on the hardware blocks Bi ..... B n , it is that is, the execution time obtained when the most time-consuming events occur. A second scenario makes it possible, for example, to calculate the “shortest time” or “best time” of execution of the tasks Tj ..... T n on the hardware blocks Bt ..... B n , that is -Tell the execution time obtained when the least time-consuming events occur.

L’outil d’analyse 4 est propre à imposer aux tâches .....Tn le respect d’un certain nombre de contraintes pour l’exécution des tâches et l’évaluation du temps d’exécution des tâches Tj.....Tn sur les blocs matériels Bt.....Bn. Les contraintes sont des contraintes additionnelles imposées par l’outil d’analyse 4 par rapport au premier modèle 2.The analysis tool 4 is capable of imposing on the tasks ..... T n compliance with a certain number of constraints for the execution of the tasks and the evaluation of the execution time of the tasks Tj ... ..T n on the hardware blocks Bt ..... B n . The constraints are additional constraints imposed by the analysis tool 4 compared to the first model 2.

Le fichier 6 comprend les contraintes imposées par l’outil d’analyse 4. En particulier, les contraintes comprennent une ou les contraintes suivantes :File 6 includes the constraints imposed by the analysis tool 4. In particular, the constraints include one or more of the following constraints:

o première contrainte : la fourniture, à d’autres tâches Tj.....Tn, des résultats obtenus à la suite de l’exécution d’instructions de la séquence d’instructions de chaque tâche Tj..... Tn est possible uniquement après l’exécution de la totalité des instructions de la séquence d’instructions de la tâche Tj.....Tn. La première contrainte interdit donc aux tâches T-i.....Tn de communiquer avec d’autres tâches Ti.....Tn, en particulier d’envoyer des résultats à d’autres tâches Ti.....Tn, lorsque les tâches Ti.....Tn sont en cours d’exécution.o first constraint: the supply, to other tasks Tj ..... T n , of the results obtained following the execution of instructions in the sequence of instructions of each task Tj ..... T n is only possible after the execution of all the instructions in the instruction sequence of the task Tj ..... T n . The first constraint therefore prohibits tasks Ti ..... T n from communicating with other tasks Ti ..... T n , in particular to send results to other tasks Ti ..... T n n , when the tasks Ti ..... T n are being executed.

o deuxième contrainte : la réception de paramètres d’activation par chaque tâche Ti..... Tn en cours d’exécution est possible uniquement après l’exécution de la totalité des instructions de la séquence d’instructions de la tâche Ti.....Tn. Ainsi, la deuxième contrainte interdit aux tâches Ti.....Tn de communiquer avec d’autres tâches Ti,..., Tn, en particulier de recevoir des résultats en provenance d’autres tâches Ti,..., Tn, lorsque les tâches Ti,..., Tn sont en cours d’exécution.o second constraint: the reception of activation parameters by each task Ti ..... T n during execution is possible only after the execution of all the instructions in the sequence of instructions of the task Ti. .... T n . Thus, the second constraint prohibits tasks Ti ..... T n from communicating with other tasks Ti, ..., T n , in particular from receiving results from other tasks Ti, ..., T n , when the tasks Ti, ..., T n are being executed.

o troisième contrainte: une tâche Ti..... Tn comprend au plus une seule entrée de réception de paramètres d’activation. De ce fait, la troisième contrainte interdit les tâches Tj.....Tn à entrées multiples.o third constraint: a task Ti ..... T n comprises at most a single input for receiving activation parameters. Therefore, the third constraint prohibits tasks Tj ..... T n with multiple entries.

o quatrième contrainte: une tâche T-ι,..., Tn comprend au plus une seule sortie de fourniture de résultats. La quatrième contrainte interdit donc les tâches Τί.....Tn à sorties multiples.o fourth constraint: a task T-ι, ..., T n includes at most a single output of output of results. The fourth constraint therefore prohibits tasks Τί ..... T n with multiple outputs.

o cinquième contrainte : les tâches ^,..., Tn sont exécutées selon un ordre de priorité. Ainsi, la cinquième contrainte impose le respect de l’ordonnancement des tâches T!..... Tn. Par exemple, dans le cas d’un aéronef, une tâche Ti,..., Tn de changement de la trajectoire de vol est considérée prioritaire par rapport à une tâche U..... Tn de mesure de la qualité de l’air.o fifth constraint: the tasks ^, ..., T n are executed according to an order of priority. Thus, the fifth constraint requires compliance with the scheduling of tasks T! ..... T n . For example, in the case of an aircraft, a task Ti, ..., T n for changing the flight path is considered to have priority over a task U ..... T n for measuring the quality of the air.

Le module de traitement 10, est de préférence, un ordinateur.The processing module 10 is preferably a computer.

Plus généralement, le module de traitement 10 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 de module de traitement 10 et/ou des mémoires en d’autres données similaires correspondant à des données physiques dans des mémoires, des registres ou d’autres types de dispositifs d’affichage, de transmission et de mémorisation.More generally, the processing module 10 is an electronic computer capable of handling and / or transforming data represented as electronic or physical quantities in registers of processing module 10 and / or memories into other similar data corresponding to physical data in memories, registers or other types of display, transmission and storage devices.

Le module de traitement est en interaction avec le premier modèle 2, l’outil d’analyse 4, le fichier 6 et le produit programme d’ordinateur 12.The processing module interacts with the first model 2, the analysis tool 4, the file 6 and the computer program product 12.

Comme illustré sur la figure 2, le module de traitement 10 comporte un processeur 14 comprenant une unité de traitement de données 16, des mémoires 18 et un lecteur 20 de support d’informations. Le module de traitement 10 comprend, optionnellement, un clavier 22 et une unité d’affichage 24.As illustrated in FIG. 2, the processing module 10 includes a processor 14 comprising a data processing unit 16, memories 18 and an information carrier reader 20. The processing module 10 optionally includes a keyboard 22 and a display unit 24.

Le produit programme d’ordinateur 12 comporte un support d’informations 26.The computer program product 12 includes an information medium 26.

Le support d’information 26 est un support lisible par le module de traitement 10, usuellement par l’unité de traitement de données 16. Le support lisible d’informations 26 est un médium adapté à mémoriser des instructions électroniques et capable d’être couplé à un bus d’un système informatique.The information medium 26 is a medium readable by the processing module 10, usually by the data processing unit 16. The readable information medium 26 is a medium suitable for storing electronic instructions and capable of being coupled to a computer system bus.

A titre d’exemple, le support d’informations 26 est une disquette ou disque souple (de la dénomination anglaise « Floppy dise », un disque optique, CD ROM, un disque magnéto optique, une mémoire ROM, une mémoire RAM, une mémoire EPROM, une mémoire EEPROM, une carte magnétique ou une carte optique).By way of example, the information medium 26 is a floppy disk or flexible disk (from the English name "Floppy dise", an optical disk, CD ROM, a magneto optical disk, a ROM memory, a RAM memory, a memory EPROM, EEPROM memory, magnetic card or optical card).

Sur le support d’informations 26 est mémorisé le programme d’ordinateur 12 comprenant des instructions de programme.On the information medium 26 is stored the computer program 12 comprising program instructions.

Le programme d’ordinateur 12 est chargeable sur l’unité de traitement de données 16 et est adapté pour entraîner, en interaction avec le premier modèle 2, l’outil d’analyse 4 et le fichier 6, la mise en oeuvre du procédé d’évaluation d’un temps d’exécution de tâches sur des blocs matériels lorsque le programme d’ordinateur 12 est mis en œuvre sur l’unité de traitement 16.The computer program 12 is loadable on the data processing unit 16 and is adapted to entail, in interaction with the first model 2, the analysis tool 4 and the file 6, the implementation of the method of evaluation of a task execution time on hardware blocks when the computer program 12 is implemented on the processing unit 16.

Le fonctionnement du module de traitement 10 en interaction avec le produit programme d’ordinateur 12, le premier modèle 2, l’outil d’analyse 4 et le fichier 6 est maintenant décrit en référence à la figure 3, qui illustre schématiquement un exemple de mise en œuvre d’un procédé d’évaluation d’un temps d’exécution de tâches sur des blocs matériels.The operation of the processing module 10 in interaction with the computer program product 12, the first model 2, the analysis tool 4 and the file 6 is now described with reference to FIG. 3, which schematically illustrates an example of implementation of a method for evaluating a task execution time on hardware blocks.

Initialement, le procédé d’évaluation comporte une étape 100 de fourniture du premier modèle 2.Initially, the evaluation process includes a step 100 of supplying the first model 2.

Le procédé d’évaluation comprend également une étape 110 de fourniture de l’outil d’analyse 4.The evaluation method also includes a step 110 of supplying the analysis tool 4.

Le procédé d’évaluation comporte aussi une étape 120 de fourniture du fichier 6 de contraintes imposées par l’outil d’analyse 4.The evaluation method also includes a step 120 of supplying the file 6 of constraints imposed by the analysis tool 4.

Le procédé d’évaluation comprend ensuite, optionnellement, une étape 130 d’écriture d’hypothèses sur le premier modèle 2. Les hypothèses sont, par exemple, relatives au temps d’exécution des tâches lj,..., Tn du premier modèle 2 sur les blocs matériels B-i.....Bn du premier modèle 2, aux ressources d’exécution allouées à chaque tâche Ti,..., Tn ou encore aux propriétés d’ordonnancement des tâches Τ·ι..... Tn, notamment aux règles de priorité.The evaluation method then optionally includes a step 130 of writing hypotheses on the first model 2. The hypotheses are, for example, relating to the execution time of the tasks lj, ..., T n of the first model 2 on the hardware blocks Bi ..... B n of the first model 2, to the execution resources allocated to each task Ti, ..., T n or even to the scheduling properties of the tasks Τ · ι .. ... T n , in particular the priority rules.

L’étape d’écriture 130 est, par exemple, mise en œuvre par un opérateur sur la base de son expérience propre ou d’une base de données stockant des résultats antérieurs obtenus à la suite de l’exécution de tâches U.....Tn sur des blocs matérielsThe writing step 130 is, for example, implemented by an operator on the basis of his own experience or of a database storing previous results obtained following the execution of tasks U ... ..T n on hardware blocks

Bi..... Bn d’un modèle de conception. Dans un autre exemple, l’étape d’écriture 130 est mise en œuvre par un opérateur à partir d’un logiciel de calcul permettant d’estimer les temps d’exécution des tâches du premier modèle 2.Bi ..... B n of a design model. In another example, the writing step 130 is implemented by an operator using calculation software making it possible to estimate the execution times of the tasks of the first model 2.

Le procédé d’évaluation comprend, ensuite, une étape 140 de découpage en sous-tâches d’au moins une tâche Tn..., Tn du premier modèle 2 pour obtenir un deuxième modèle compatible avec les contraintes imposées par l’outil d’analyse 4 et respectant les règles établies par le premier modèle 2.The evaluation method then comprises a step 140 of splitting into sub-tasks of at least one task Tn ..., T n of the first model 2 to obtain a second model compatible with the constraints imposed by the tool d analysis 4 and respecting the rules established by the first model 2.

Chaque sous-tâche est une sous-fonction comportant au moins une partie de la séquence d’instructions de la tâche d’origine Π.....Tn. Chaque sous-fonction transforme au moins une entrée de la tâche d’origine T-j.....Tn en au moins un résultat de sortie de la tâche d’origine Ti.....Tn.Each sub-task is a sub-function comprising at least part of the instruction sequence of the original task Π ..... T n . Each sub-function transforms at least one input of the original task Tj ..... T n into at least one output result of the original task Ti ..... T n .

En effet, l’outil d’analyse temporelle 4 comprend des divergences de fonctionnement par rapport au premier modèle 2 rendant le premier modèle 2 non analysable en l’état par l’outil d’analyse 4. De telles divergences concernent, notamment, les protocoles de communication entre les tâches, les règles d’ordonnancement et l’incapacité de l’outil d’analyse 4 à prendre en compte des modèles de tâches complexes, par exemple, des tâches à entrées multiples, à sorties multiples ou avec plusieurs modes d’exécution. Les règles d’ordonnancement sont, par exemple, les règles des ordonnanceurs Round Robin ou FIFO (de l’anglais First In, First Out, traduit en français par Premier entré, premier sorti).In fact, the temporal analysis tool 4 comprises operating divergences with respect to the first model 2 making the first model 2 non-parsable in the state by the analysis tool 4. Such divergences relate, in particular, to the communication protocols between the tasks, the scheduling rules and the inability of the analysis tool 4 to take into account complex task models, for example, tasks with multiple inputs, with multiple outputs or with multiple modes execution. The scheduling rules are, for example, the rules of Round Robin or FIFO schedulers (from English First In, First Out, translated into French by First in, first out).

L’étape de découpage 140 des tâches T..... Tn en sous-tâches permet de contourner de telles divergences en transformant le premier modèle 2 en un deuxième modèle compatible avec les contraintes imposées par l’outil d’analyse 4 tout en respectant les règles établies par le premier modèle 2. Le deuxième modèle est donc un modèle pivot entre le premier modèle 2 et l’outil d’analyse 4.The step 140 of splitting tasks T ..... T n into subtasks makes it possible to bypass such divergences by transforming the first model 2 into a second model compatible with the constraints imposed by the analysis tool 4 all respecting the rules established by the first model 2. The second model is therefore a pivot model between the first model 2 and the analysis tool 4.

En particulier et comme illustré sur les figures 4 et 5, l’étape de découpage 140 comprend le découpage de chaque tâche Tn..., Tn du premier modèle 2 en autant de premières sous-tâches que un plus le nombre de résultats en sortie de la tâche appartenant à une première catégorie de résultats. Chaque résultat de la première catégorie de résultats est fourni en entrée d’autres tâches Ti.....Tn avant l’exécution de la totalité des instructions de la tâche T1..... Tn, ce qui est incompatible avec la première contrainte imposée par l’outil d’analyse 4. Chaque première sous-tâche est propre à générer un résultat appartenant à la première catégorie de résultats et distinct des autres résultats de la première catégorie de résultats.In particular and as illustrated in FIGS. 4 and 5, the cutting step 140 comprises the cutting of each task Tn ..., T n of the first model 2 into as many first sub-tasks as a plus the number of results in output of the task belonging to a first category of results. Each result of the first category of results is supplied as input to other tasks Ti ..... T n before the execution of all the instructions of task T 1 ..... T n , which is incompatible with the first constraint imposed by the analysis tool 4. Each first subtask is suitable for generating a result belonging to the first category of results and distinct from the other results of the first category of results.

Par exemple, sur la figure 4, une première tâche du premier modèle 2 envoie un résultat Ri à une deuxième tâche T2 du premier modèle 2 au cours de l’exécution de la première tâche T et donc avant le calcul du résultat R2 final. Or, une telle communication entre les tâches est incompatible avec la première contrainte imposée par l’outil d’analyse 4.For example, in FIG. 4, a first task of the first model 2 sends a result Ri to a second task T 2 of the first model 2 during the execution of the first task T and therefore before the calculation of the final result R 2 . However, such communication between tasks is incompatible with the first constraint imposed by the analysis tool 4.

Ainsi, sur la figure 5, la première tâche T! du premier modèle 2 a été découpée en deux premières sous-tâches T-m et T^pour le deuxième modèle de sorte que la première sous-tâche T-m envoie le résultat Ri à la première sous-tâche Tv2 uniquement à la fin de l’exécution de la première sous-tâche T-m. Le résultat R2 est généré par la première soustâche Ti.2. Le modèle comportemental du deuxième modèle est ainsi identique au premier modèle 2, tout en respectant la première contrainte imposée par l’outil d’analyse 4.Thus, in FIG. 5, the first task T! of the first model 2 was split into two first subtasks Tm and T ^ for the second model so that the first subtask Tm sends the result Ri to the first subtask T v2 only at the end of the execution of the first subtask Tm. The result R 2 is generated by the first subtask Ti. 2 . The behavioral model of the second model is thus identical to the first model 2, while respecting the first constraint imposed by the analysis tool 4.

Comme illustré sur les figures 6 et 7, l’étape de découpage 140 comprend également le découpage de chaque tâche Τι,..., Tn du premier modèle 2 en autant de deuxièmes sous-tâches que un plus le nombre d’entrées de la tâche Tj.....Tn appartenant à une première catégorie d’entrées. Chaque entrée de la première catégorie d’entrées est apte à recevoir des paramètres d’activation avant l’exécution de la totalité des instructions de la tâche Tf.....Tn, ce qui est incompatible avec la deuxième contrainte imposée par l’outil d’analyse 4. Chaque deuxième sous-tâche comprend une entrée de la première catégorie d’entrées distincte des autres entrées de la première catégorie d’entrées.As illustrated in FIGS. 6 and 7, the cutting step 140 also comprises the cutting of each task Τι, ..., T n of the first model 2 into as many second subtasks as one plus the number of entries of the task Tj ..... T n belonging to a first category of inputs. Each entry in the first category of entries is capable of receiving activation parameters before the execution of all of the instructions of the task Tf ..... T n , which is incompatible with the second constraint imposed by l analysis tool 4. Each second sub-task comprises an entry from the first category of entries distinct from the other entries from the first category of entries.

Par exemple, sur la figure 6, une première tâche Ti du premier modèle 2 est activée par son entrée Ei et reçoit sur son entrée E2 des résultats en provenance d’une deuxième tâche T2 du premier modèle 2 au cours de l’exécution de la première tâche Or, une telle communication entre les tâches est incompatible avec la deuxième contrainte imposée par l’outil d’analyse 4.For example, in FIG. 6, a first task Ti of the first model 2 is activated by its input Ei and receives on its input E 2 results from a second task T 2 of the first model 2 during execution of the first task However, such communication between the tasks is incompatible with the second constraint imposed by the analysis tool 4.

Ainsi, sur la figure 7, la première tâche T-ι du premier modèle 2 a été découpée en deux deuxièmes sous-tâches T2_i et T2.2 pour le deuxième modèle. La deuxième soustâche T2_i comprend l’entrée La deuxième sous-tâche T2.2 comprend l’entrée E2 et reçoit les résultats de la deuxième tâche T2, uniquement au début de l’exécution de la deuxième sous-tâche T2.2. Le modèle comportemental du deuxième modèle est ainsi identique au premier modèle 2, tout en respectant la deuxième contrainte imposée par l’outil d’analyse 4.Thus, in FIG. 7, the first task T-ι of the first model 2 has been divided into two second subtasks T 2 _i and T 2 . 2 for the second model. The second subtask T 2 _i includes the entry The second subtask T 2 . 2 includes the input E 2 and receives the results of the second task T 2 , only at the start of the execution of the second subtask T 2 . 2 . The behavioral model of the second model is thus identical to the first model 2, while respecting the second constraint imposed by the analysis tool 4.

Comme illustré sur les figures 8 et 9, l’étape de découpage 140 comprend aussi le découpage de chaque tâche T-ι,..., Tn du premier modèle 2 en autant de troisièmes soustâches que d’entrées de la tâche T-i..... Tn appartenant à une deuxième catégorie d’entrées. Chaque entrée de la deuxième catégorie d’entrées est apte à recevoir des paramètres d’activation uniquement lorsque les autres entrées de la deuxième catégorie d’entrée n’ont pas reçu de paramètres d’activation, ce qui est incompatible avec la troisième contrainte imposée par l’outil d’analyse 4. Chaque troisième sous-tâche comprend une entrée de la deuxième catégorie d’entrées distincte des autres entrées de la deuxième catégorie d’entrées.As illustrated in FIGS. 8 and 9, the cutting step 140 also includes the cutting of each task T-ι, ..., T n of the first model 2 into as many third subtasks as inputs of the task Ti. .... T n belonging to a second category of inputs. Each entry in the second entry category is capable of receiving activation parameters only when the other entries in the second entry category have not received activation parameters, which is incompatible with the third constraint imposed by the analysis tool 4. Each third sub-task comprises an entry from the second category of entries distinct from the other entries from the second category of entries.

Sur la figure 8, une première tâche Ti du premier modèle 2 reçoit des paramètres d’activation sur deux entrées ΕΊ et E2 distinctes. Après réception de paramètres d’activation sur l’entrée E1; la première tâche envoie des données à une deuxième tâche T2. Après réception de paramètres d’activation sur l’entrée E2, la première tâche Π envoie des données à une troisième tâche T3. Or, les tâches à entrées multiples sont incompatibles avec la troisième contrainte imposée par l’outil d’analyse 4.In FIG. 8, a first task Ti of the first model 2 receives activation parameters on two separate inputs Ε Ί and E 2 . After receiving activation parameters on input E 1; the first task sends data to a second task T 2 . After receiving activation parameters on input E 2 , the first task Π sends data to a third task T 3 . However, multiple-entry tasks are incompatible with the third constraint imposed by the analysis tool 4.

Ainsi, sur la figure 9, la première tâche T-ι du premier modèle 2 a été découpée en deux troisièmes sous-tâches T3.-i et T3.2pour le deuxième modèle de sorte que la troisième sous-tâche Τ3.·ι comprend l’entrée Ei et la troisième sous-tâche T3.2 comprend l’entrée E2. Le modèle comportemental du deuxième modèle est ainsi identique au premier modèle 2, tout en respectant la troisième contrainte imposée par l’outil d’analyse 4.Thus, in FIG. 9, the first task T-ι of the first model 2 has been divided into two third subtasks T 3. -I and T 3 . 2 for the second model so that the third subtask Τ 3. · Ι includes the entry Ei and the third subtask T 3 . 2 includes input E 2 . The behavioral model of the second model is thus identical to the first model 2, while respecting the third constraint imposed by the analysis tool 4.

L’étape de découpage 140 comprend également le découpage de chaque tâcheThe cutting step 140 also includes cutting each task

Π.....Tn du premier modèle 2 en autant de quatrièmes sous-tâches que de résultats en sortie de la tâche T-ι,..., Tn appartenant à une deuxième catégorie de résultats. Chaque résultat appartenant à la deuxième catégorie de résultats est fourni en entrée d’autres tâches T-i.....Tn uniquement lorsqu’aucun autre résultat n’a été fourni en entrée d’autres tâches T-ι,..., Tn au cours de l’exécution de la tâche Tn..., Tn, ce qui est incompatible avec la quatrième contrainte imposée par l’outil d’analyse 4. Chaque quatrième sous-tâche est propre à générer un résultat appartenant à la deuxième catégorie de résultats et distinct des autres résultats de la deuxième catégorie de résultats.Π ..... T n of the first model 2 in as many fourth sub-tasks as of results at the output of the task T-ι, ..., T n belonging to a second category of results. Each result belonging to the second category of results is supplied at the input of other tasks Ti ..... T n only when no other result has been supplied at the input of other tasks T-ι, ..., T n during the execution of the task Tn ..., T n , which is incompatible with the fourth constraint imposed by the analysis tool 4. Each fourth subtask is suitable for generating a result belonging to the second category of results and distinct from the other results of the second category of results.

Dans le cas où les tâches U.....Tn sont exécutées selon un ordre de priorité dans le premier modèle 2, chaque sous-tâche du deuxième modèle hérite de la priorité de la tâche d’origine .....Tn. Cela permet de satisfaire la cinquième contrainte imposée par l’outil d’analyse 4 tout en respectant le comportement du premier modèle 2.In the case where the tasks U ..... T n are executed according to an order of priority in the first model 2, each sub-task of the second model inherits the priority of the original task ..... T n . This makes it possible to satisfy the fifth constraint imposed by the analysis tool 4 while respecting the behavior of the first model 2.

Optionnellement, l’étape de découpage 140 comprend également la transformation de règles d’ordonnancement non analysables par l’outil d’analyse 4 en règles d’ordonnancement analysables par l’outil d’analyse 4.Optionally, the cutting step 140 also includes the transformation of scheduling rules which cannot be analyzed by the analysis tool 4 into scheduling rules which can be analyzed by the analysis tool 4.

Par exemple, les règles d’ordonnancement Round Robin trop complexes pour être analysées par l’outil d’analyse 4 sont transformées en règles d’ordonnancement TDMA (de l’anglais Time Division Multiple Access) dans le deuxième modèle.For example, the Round Robin scheduling rules too complex to be analyzed by the analysis tool 4 are transformed into TDMA (Time Division Multiple Access) scheduling rules in the second model.

En effet, l’ordonnancement Round Robin consiste à allouer des partitions temporelles aux tâches se partageant la ressource d’exécution. Chaque tâche s’exécute ainsi dans sa partition. À la fin de la partition, et même si l’exécution de la tâche n’est pas terminée, l'ordonnanceur Round Robin interrompt la tâche et alloue la ressource d’exécution à la tâche devant s’exécuter dans la partition suivante. Si une tâche n’est pas active durant une partie ou la totalité de la partition de la tâche, l’ordonnanceur démarre alors la partition suivante. La forte dynamique induite par les règles d’ordonnancement Round Robin rend l’analyse temporelle très complexe. A l’inverse, les règles d’ordonnancement TDMA sont à base de partitions temporelles statiques, ce qui fait que si une tâche n’est pas activée durant sa partition, l’ordonnanceur TDMA attend la fin de ladite partition avant de démarrer la partition suivante. Or, il est prouvé mathématiquement, que tout système satisfaisant les contraintes temporelles d’un ordonnanceur TDMA satisfait également les contraintes temporelles d’un ordonnanceur Round Robin. Par conséquent, la transformation des règles d’ordonnancement Round Robin du premier modèle 2 en règles d’ordonnancement TDMA dans le deuxième modèle permet de respecter le comportement du premier modèle 2, tout en satisfaisant les contraintes imposées par l’outil d’analyse 4.In fact, Round Robin scheduling consists in allocating time partitions to tasks sharing the execution resource. Each task is thus executed in its partition. At the end of the partition, and even if the execution of the task is not finished, the Round Robin scheduler interrupts the task and allocates the execution resource to the task to be executed in the next partition. If a task is not active during part or all of the task partition, the scheduler then starts the next partition. The strong dynamics induced by the Round Robin scheduling rules make time analysis very complex. Conversely, the TDMA scheduling rules are based on static time partitions, which means that if a task is not activated during its partition, the TDMA scheduler waits for the end of said partition before starting the partition next. However, it is mathematically proven that any system satisfying the time constraints of a TDMA scheduler also satisfies the time constraints of a Round Robin scheduler. Consequently, the transformation of the Round Robin scheduling rules of the first model 2 into TDMA scheduling rules in the second model makes it possible to respect the behavior of the first model 2, while satisfying the constraints imposed by the analysis tool 4 .

L’étape de découpage 140 est mise en œuvre par le module de traitement 10 en interaction avec le produit programme d’ordinateur 12.The cutting step 140 is implemented by the processing module 10 in interaction with the computer program product 12.

Le procédé comprend ensuite une étape 150 de définition, par l’outil d’analyse 4, d’un scénario d’exécution des tâches lj.....Tn et sous-tâches du deuxième modèle sur les blocs matériels Bi,..., Bn du deuxième modèle. Le scénario est notamment établi à partir des hypothèses écrites sur le premier modèle 2 lors de l'étape d’écriture 130.The method then comprises a step 150 of defining, by the analysis tool 4, a scenario for executing the tasks lj ..... T n and sub-tasks of the second model on the hardware blocks Bi ,. .., B n of the second model. The scenario is notably established on the basis of the hypotheses written on the first model 2 during the writing step 130.

Le scénario est, par exemple, un scénario mettant en œuvre l’ensemble des éléments maximisant le temps d’exécution des tâches Ή..... Tn et sous-tâches du deuxième modèle sur les blocs matériels Bn..., Bn du deuxième modèle. Un tel scénario est, par exemple, établi par l’opérateur au moyen de logiciels de calcul ou de l’expérience propre de l’utilisateur.The scenario is, for example, a scenario implementing all the elements maximizing the execution time of the tasks Ή ..... T n and sub-tasks of the second model on the hardware blocks Bn ..., B n of the second model. Such a scenario is, for example, established by the operator using calculation software or the user's own experience.

Ensuite, le procédé d’évaluation comprend une étape 160 d’exécution, par l’outil d’analyse 4, des tâches Tj..... Tn et sous-tâches du deuxième modèle sur les blocs matériels Bn..., Bn du deuxième modèle selon le scénario défini lors de l’étape de définition 150.Then, the evaluation method comprises a step 160 of execution, by the analysis tool 4, of the tasks Tj ..... T n and sub-tasks of the second model on the hardware blocks Bn ..., B n of the second model according to the scenario defined during the definition step 150.

Le procédé d’évaluation comprend, ensuite, une étape 170 d’évaluation, par l’outil d’analyse 4, pour le scénario défini, du temps d’exécution des tâches Tj.....Tn et soustâches du deuxième modèle sur les blocs matériels B-i.....Bn du deuxième modèle. Ainsi, lorsque le scénario met en œuvre l’ensemble des éléments maximisant le temps d’exécution des tâches T1 Tn et sous-tâches du deuxième modèle sur les blocs matériels Bn·.., Bn du deuxième modèle, l’outil d’analyse 4 calcule le temps d’exécution le plus long ou pire temps d’exécution.The evaluation method then comprises a step 170 of evaluation, by the analysis tool 4, for the defined scenario, of the execution time of the tasks Tj ..... T n and sub-tasks of the second model on the hardware blocks Bi ..... B n of the second model. Thus, when the scenario implements all of the elements maximizing the execution time of the tasks T 1 T n and sub-tasks of the second model on the hardware blocks Bn · .., B n of the second model, the tool 4 calculates the longest or worst execution time.

Les étapes d’exécution 160 et d’évaluation 170 sont alors répétées jusqu’ à ce que le temps d’exécution évalué lors d’une itération soit égal au temps d’exécution évalué lors de l’itération précédente. Un tel calcul itératif permet d’affiner la prise en compte des interactions liées au partage de ressources matérielles.The execution steps 160 and evaluation 170 are then repeated until the execution time evaluated during an iteration is equal to the execution time evaluated during the previous iteration. Such an iterative calculation makes it possible to refine the consideration of interactions linked to the sharing of material resources.

En variante, les étapes d’exécution 160 et d’évaluation 170 sont répétées jusqu’à ce que des contraintes temporelles ne soient plus respectées, par exemple, lorsque le temps d’exécution d’une tâche dépasse un temps de réponse prédéfini.Alternatively, the execution steps 160 and evaluation 170 are repeated until time constraints are no longer respected, for example, when the execution time of a task exceeds a predefined response time.

Le temps d'exécution des tâches T-i..... Tn du premier modèle 2 sur les blocs matériels ΒΊ..... Bn du premier modèle 2 pour le scénario défini est compris dans un intervalle de temps borné dont l’une des bornes est le temps d’exécution évalué par l’outil d’analyse 4. Ainsi, dans le cas où le temps d’exécution le plus long a été calculé pour le deuxième modèle, le temps d’exécution des tâches T|.....Tn du premier modèle 2 sur les blocs matériels Bj.....Bn du premier modèle 2 est inférieur ou égal au temps d’exécution le plus long qui constitue la borne supérieure de l’intervalle. Dans le cas où le temps d’exécution le plus court a été calculé pour le deuxième modèle, le temps d’exécution des tâches Ti.....Tn du premier modèle 2 sur les blocs matériels Bn du premier modèle 2 est supérieur ou égal au temps d’exécution le plus court qui constitue la borne inférieure de l’intervalle.The execution time of tasks Ti ..... T n of the first model 2 on the hardware blocks Β Ί ..... B n of the first model 2 for the defined scenario is included in a limited time interval of which l one of the limits is the execution time evaluated by the analysis tool 4. Thus, in the case where the longest execution time has been calculated for the second model, the execution time of the tasks T | ..... T n of the first model 2 on the hardware blocks Bj ..... B n of the first model 2 is less than or equal to the longest execution time which constitutes the upper limit of the interval. In the case where the shortest execution time has been calculated for the second model, the execution time for tasks Ti ..... T n of the first model 2 on the hardware blocks B n of the first model 2 is greater than or equal to the shortest execution time which constitutes the lower limit of the interval.

Optionnellement, les étapes de définition 150, d’exécution 160 et d’évaluation 170 sont itérées pour un nouveau scénario. Le nouveau scénario est, par exemple, lorsque le pire temps d’exécution a déjà été calculé, un scénario prenant en compte les évènements minimisant le temps d’exécution des tâches T-,,..., Tn sur les blocs matériels Bi.....Bn de manière à obtenir le meilleur temps d’exécution des tâches Tf..... Tn sur les blocs matériels Bt..... Bn. Ainsi, dans ce cas, l’intervalle de temps obtenu a pour borne supérieure le pire temps d’exécution et pour borne inférieure le meilleur temps d’exécution.Optionally, the definition 150, execution 160 and evaluation 170 steps are iterated for a new scenario. The new scenario is, for example, when the worst execution time has already been calculated, a scenario taking into account the events minimizing the execution time of the tasks T - ,, ..., T n on the hardware blocks Bi ..... B n so as to obtain the best execution time of the tasks Tf ..... T n on the hardware blocks Bt ..... B n . Thus, in this case, the time interval obtained has the worst execution time for the upper limit and the best execution time for the lower limit.

Le procédé comprend, optionnellement, une étape de détermination 180 d’un troisième modèle comprenant les tâches Tn et les sous-tâches du deuxième modèle, l’ensemble des blocs matériels Bi..... Bn du deuxième modèle et le temps d’exécution évalué pour le deuxième modèle à partir du scénario défini.The method optionally includes a step 180 of determining a third model comprising the tasks T n and the subtasks of the second model, the set of hardware blocks Bi ..... B n of the second model and the time of execution evaluated for the second model from the defined scenario.

Dans ce cas, le procédé comprend également une étape 190 de fusion de chaque sous-tâche du troisième modèle, obtenue lors de l’étape de découpage 140, en la tâche T-i.....Tn d’origine. Ainsi, le troisième modèle est compatible avec les règles imposées par le premier modèle 2 et s’affranchit des contraintes imposées par l’outil d’analyse 4 étant donné que la transformation inverse de l’étape de découpage 140 est appliquée au troisième modèle. Cela permet au concepteur d’interpréter directement dans le premier modèle 2 les résultats obtenus et les transformations effectuées par l’outil d’analyse 4.In this case, the method also includes a step 190 of merging each subtask of the third model, obtained during the cutting step 140, into the original task Ti ..... T n . Thus, the third model is compatible with the rules imposed by the first model 2 and overcomes the constraints imposed by the analysis tool 4 since the reverse transformation of the cutting step 140 is applied to the third model. This allows the designer to interpret directly in the first model 2 the results obtained and the transformations carried out by the analysis tool 4.

Ainsi, le deuxième modèle est un modèle pivot qui permet d’expliciter les liens conceptuels entre le premier modèle 2 et l’outil d’analyse 4. L’évaluation du temps d’exécution des tâches T-ι,..., Tn du premier modèle 2 sur les blocs matériels Bi,..., Bn du premier modèle 2 est donc analysable par l’outil d’analyse 4 sans perte de données et sans rajout de contraintes temporelles qui rendraient non fiable le temps d’exécution évalué par l’outil d’analyse 4.Thus, the second model is a pivotal model which makes it possible to explain the conceptual links between the first model 2 and the analysis tool 4. The evaluation of the execution time of the tasks T-ι, ..., T n of the first model 2 on the hardware blocks Bi, ..., B n of the first model 2 can therefore be analyzed by the analysis tool 4 without loss of data and without adding time constraints which would make the time of unreliable execution evaluated by the analysis tool 4.

Ainsi, le procédé d’évaluation utilise une technique générique à la fois vis-à-vis des outils de conception et des différents outils d’analyse. Le travail de réalisation de connexion entre le premier modèle 2 et l’outil d’analyse 4 est donc réduit. Le temps d’exécution des tâches ΤΊ Tn du premier modèle 2 sur les blocs matériels ΒΊ Bn du premier modèle 2 est donc évalué de manière simple et fiable. De telles tâches Tn sont notamment relatives à la commande d’équipements spécialisés tels que des aéronefs.Thus, the evaluation method uses a generic technique both with respect to the design tools and the various analysis tools. The work of making a connection between the first model 2 and the analysis tool 4 is therefore reduced. The execution time of the tasks Τ Ί T n of the first model 2 on the hardware blocks Β Ί B n of the first model 2 is therefore evaluated in a simple and reliable manner. Such tasks T n relate in particular to the control of specialized equipment such as aircraft.

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. Optionnellement, une étape additionnelle consiste à découper le deuxième modèle obtenu à la suite de l’étape de découpage 140 en autant de sous-modèles que d’outils d’analyse différents. Chaque 5 sous-modèle est ensuite analysé par un outil d’analyse différent des autres sous-modèles selon les étapes de définition 150, d’exécution 160 et d’évaluation 170. Les résultats obtenus par chaque outil d’analyse sont ensuite synthétisés par un calculateur qui évalue le temps d’exécution global des tâches et sous-tâches du deuxième modèle sur les blocs matériels du deuxième modèle.Those skilled in the art will understand that the invention is not limited to the embodiments described, nor to the specific examples of the description. Optionally, an additional step consists in cutting the second model obtained following the cutting step 140 into as many sub-models as there are different analysis tools. Each sub-model is then analyzed by an analysis tool different from the other sub-models according to the definition 150, execution 160 and evaluation 170 steps. The results obtained by each analysis tool are then synthesized by a computer which evaluates the overall execution time of the tasks and sub-tasks of the second model on the hardware blocks of the second model.

Claims (10)

1Procédé d’évaluation d’un temps d’exécution de tâches (Tn..., Tn) sur des blocs matériels (Βί.....Bn), le procédé comprenant les étapes suivantes :1 Method for evaluating a task execution time (Tn ..., T n ) on hardware blocks (Βί ..... B n ), the method comprising the following steps: - la fourniture (100) d’un premier modèle (2) comprenant un ensemble de tâches (Tn..., Tn) et un ensemble de blocs matériels (Bi,..., Bn), chaque bloc matériel (Bn-.., Bn) étant propre à exécuter au moins une tâche (T-i..... Tn) conformément à des règles établies par le premier modèle (2), chaque tâche (T·;..... Tn) étant une fonction transformant au moins une entrée en au moins un résultat de sortie, la fonction étant une séquence d’instructions activable par la réception de paramètres d’activation en entrée, au moins un paramètre d’activation étant le résultat obtenu par l’exécution d’au moins une autre tâche (T-i.....Tn), les règles associant, à chaque tâche (Tn..., Tn), un bloc matériel (Bï..... Bn) pour exécuter la tâche (T-i..... Tn) et définissant, en outre, les résultats de chaque tâche (Tn..., Tn) formant les paramètres d’activation d'au moins une autre tâche (T1..... Tn),- the supply (100) of a first model (2) comprising a set of tasks (Tn ..., T n ) and a set of hardware blocks (Bi, ..., B n ), each hardware block (Bn - .., B n ) being able to execute at least one task (Ti ..... T n ) in accordance with rules established by the first model (2), each task (T ·; ..... T n ) being a function transforming at least one input into at least one output result, the function being a sequence of instructions that can be activated by receiving input activation parameters, at least one activation parameter being the result obtained by the execution of at least one other task (Ti ..... T n ), the rules associating, with each task (Tn ..., T n ), a hardware block (Bï ..... B n ) to execute the task (Ti ..... T n ) and further defining the results of each task (Tn ..., T n ) forming the activation parameters of at least one other task (T 1 ..... T n ), - la fourniture (110) d’un outil d’analyse (4) configuré pour définir un scénario d’exécution des tâches (Tn-.., Tn) sur les blocs matériels (Bn·.., Bn), l’outil d’analyse (4) étant propre à évaluer un temps d’exécution des tâches (T-i..... Tn) lorsque les tâches (Tn···, Tn) sont exécutées sur les blocs matériels (B·!..... Bn) selon le scénario défini par l’outil d’analyse (4), l’outil d’analyse (4) imposant aux tâches (T-,..... Tn) le respect de contraintes pour l’exécution et l’évaluation du temps d’exécution des tâches (U.....Tn) sur les blocs matériels (Βή.....Bn),- the supply (110) of an analysis tool (4) configured to define a task execution scenario (Tn - .., T n ) on the hardware blocks (Bn · .., B n ), l 'analysis tool (4) being suitable for evaluating a task execution time (Ti ..... T n ) when the tasks (Tn ···, T n ) are executed on the hardware blocks (B · ! ..... B n ) according to the scenario defined by the analysis tool (4), the analysis tool (4) imposing on the tasks (T -, ..... T n ) respect constraints for the execution and evaluation of the task execution time (U ..... T n ) on the hardware blocks (Β ή ..... B n ), - la fourniture (120) de contraintes imposées par l’outil d’analyse (4), les contraintes comprenant une ou les contraintes suivantes :- the supply (120) of constraints imposed by the analysis tool (4), the constraints comprising one or more of the following constraints: o la fourniture, à d’autres tâches (T-i.....Tn), des résultats obtenus à la suite de l’exécution d’instructions de la séquence d’instructions de chaque tâche (Ti,..., Tn) est possible uniquement après l’exécution de la totalité des instructions de la séquence d’instructions de la tâche (Tj,..., Tn), o la réception de paramètres d’activation par chaque tâche (T;,..., Tn) en cours d’exécution est possible uniquement après l’exécution de la totalité des instructions de la séquence d’instructions de la tâche (T-i.....Tn), o une tâche (T-i.....Tn) comprend au plus une seule entrée de réception de paramètres d’activation, o une tâche (ΤΊ.....Tn) comprend au plus une seule sortie de fourniture de résultats, et o les tâches (Tj,..., Tn) sont exécutées selon un ordre de priorité.o the supply, to other tasks (Ti ..... T n ), of the results obtained following the execution of instructions in the sequence of instructions for each task (Ti, ..., T n ) is only possible after the execution of all the instructions in the task's instruction sequence (Tj, ..., T n ), o the reception of activation parameters by each task (T;,. .., T n ) during execution is possible only after the execution of all the instructions in the sequence of instructions of the task (Ti ..... T n ), o a task (Ti .. ... T n ) comprises at most a single input for receiving activation parameters, o a task (Τ Ί ..... T n ) comprises at most a single output for supplying results, and o tasks ( Tj, ..., T n ) are executed in order of priority. - le découpage (140) en sous-tâches (Tj.·,, T-i_2, Τ2.ι, T2.2, T3.i, T3.2) d’au moins une tâche (T-i.....Tn) du premier modèle (2) pour obtenir un deuxième modèle compatible avec les contraintes imposées par l’outil d’analyse (4) et respectant les règles établies par le premier modèle (2), chaque sous-tâche (¼ TY2, T2-1, T2.2, T3.1, T3.2) d’une tâche CIj.....Tn) étant une sous-fonction transformant au moins une entrée de la tâche (T!.....Tn) en au moins un résultat de sortie de la tâche (T-i.....Tn),- the division (140) into subtasks (Tj. · ,, T-i_ 2 , Τ 2 .ι, T 2. 2 , T 3 .i, T 3. 2 ) of at least one task (Ti. .... T n ) of the first model (2) to obtain a second model compatible with the constraints imposed by the analysis tool (4) and respecting the rules established by the first model (2), each subtask (¼ T Y2 , T2-1, T 2. 2 , T3.1, T 3. 2 ) of a task CIj ..... T n ) being a sub-function transforming at least one input of the task ( T! ..... T n ) in at least one output from the task (Ti ..... T n ), - la définition (150), par l’outil d’analyse (4), d’un scénario d’exécution des tâches (T-!,..., Tn) et sous-tâches (T-m, Ti_2, T2-i, T2.2, T3m, T3.2) du deuxième modèle sur les blocs matériels (Bt.....Bn) du deuxième modèle,- the definition (150), by the analysis tool (4), of a scenario for executing the tasks (T -!, ..., T n ) and sub-tasks (Tm, Ti_ 2 , T 2 -i, T 2. 2 , T 3 m, T 3. 2 ) of the second model on the hardware blocks (Bt ..... B n ) of the second model, - l’exécution (160), par l’outil d’analyse (4), des tâches (T-i.....Tn) et sous-tâches (T-m, Τ·|.2, T2-1, T2-2, T3--1, T3.2) du deuxième modèle sur les blocs matériels (Bi.....Bn) du deuxième modèle selon le scénario défini, et- the execution (160), by the analysis tool (4), of the tasks (Ti ..... T n ) and sub-tasks (Tm, Τ · |. 2 , T2-1, T2- 2, T3--1, T 3. 2 ) of the second model on the hardware blocks (Bi ..... B n ) of the second model according to the defined scenario, and - l’évaluation (170), par l’outil d’analyse (4), pour le scénario défini, du temps d’exécution des tâches flj..... Tn) et sous-tâches du deuxième modèle sur les blocs matériels (B!.....Bn) du deuxième modèle, le temps d’exécution des tâches (T1(..., Tn) du premier modèle (2) sur les blocs matériels (ΒΊ.....Bn) du premier modèle (2) étant compris dans un intervalle de temps borné, l’une des bornes de l’intervalle étant le temps d’exécution évalué pour le deuxième modèle selon le scénario défini.- the evaluation (170), by the analysis tool (4), for the defined scenario, of the execution time of the tasks flj ..... T n ) and sub-tasks of the second model on the blocks materials (B! ..... B n ) of the second model, the execution time of the tasks (T 1 ( ..., T n ) of the first model (2) on the hardware blocks (Β Ί ... ..B n ) of the first model (2) being included in a limited time interval, one of the limits of the interval being the execution time evaluated for the second model according to the defined scenario. 2. - Procédé selon la revendication 1, dans lequel l’étape de découpage (140) comprend le découpage de chaque tâche (Ti,..., Tn) du premier modèle (2) en autant de premières sous-tâches (T^, Tv2) que un plus le nombre de résultats en sortie de la tâche (Tn..., Tn) appartenant à une première catégorie de résultats, chaque résultat de la première catégorie de résultats étant fourni en entrée d’autres tâches (T-i.....Tn) avant l’exécution de la totalité des instructions de la tâche flj.....Tn), chaque première soustâche (T-m, T-i_2) étant propre à générer un résultat appartenant à la première catégorie de résultats et distinct des autres résultats de la première catégorie de résultats.2. - Method according to claim 1, wherein the cutting step (140) comprises cutting each task (Ti, ..., T n ) of the first model (2) into as many first subtasks (T ^, Tv 2 ) that one plus the number of results at the output of the task (Tn ..., T n ) belonging to a first category of results, each result of the first category of results being provided as input to other tasks (Ti ..... T n ) before the execution of the totality of the instructions of the task flj ..... T n ), each first subtask (Tm, T-i_ 2 ) being able to generate a result belonging to the first category of results and distinct from the other results of the first category of results. 3, - Procédé selon la revendication 1 ou 2, dans lequel l’étape de découpage (140) comprend le découpage de chaque tâche (T1.....Tn) du premier modèle (2) en autant de deuxièmes sous-tâches (T2.-i, T2.2) que un plus le nombre d’entrées de la tâche (Ti.....Tn) appartenant à une première catégorie d’entrées, chaque entrée de la première catégorie d’entrées étant apte à recevoir des paramètres d’activation avant l’exécution de la totalité des instructions de la tâche Clj,..., Tn), chaque deuxième sous-tâche (T^, T2.2) comprenant une entrée de la première catégorie d’entrées distincte des autres entrées de la première catégorie d’entrées.3, - Method according to claim 1 or 2, wherein the cutting step (140) comprises cutting each task (T1 ..... T n ) of the first model (2) into as many second subtasks (T 2. -I, T 2. 2 ) that one plus the number of entries of the task (Ti ..... T n ) belonging to a first category of entries, each entry of the first category of inputs being able to receive activation parameters before the execution of all the instructions of the task Clj, ..., T n ), each second subtask (T ^, T 2. 2 ) comprising an input of the first category of entries distinct from the other entries of the first category of entries. 4, - Procédé selon l'une quelconque des revendications 1 à 3, dans lequel l’étape de découpage (140) comprend le découpage de chaque tâche (U..... Tn) du premier modèle (2) en autant de troisièmes sous-tâches (T^, T3.2) que d’entrées de la tâche (Ti..... Tn) appartenant à une deuxième catégorie d’entrées, chaque entrée de la deuxième catégorie d’entrées étant apte à recevoir des paramètres d’activation uniquement lorsque les autres entrées de la deuxième catégorie d’entrées n’ont pas reçu de paramètres d’activation, chaque troisième sous-tâche (Τ3.·ι, T3.2) comprenant une entrée de la deuxième catégorie d’entrées distincte des autres entrées de la deuxième catégorie d’entrées.4, - Method according to any one of claims 1 to 3, wherein the cutting step (140) comprises cutting each task (U ..... T n ) of the first model (2) in as many third subtasks (T ^, T 3. 2 ) than inputs of the task (Ti ..... T n ) belonging to a second category of inputs, each input of the second category of inputs being suitable to receive activation parameters only when the other inputs of the second category of inputs have not received activation parameters, each third subtask (Τ 3. · ι, T 3. 2 ) comprising an input of the second category of entries distinct from the other entries of the second category of entries. 5, - Procédé selon l’une quelconque des revendications 1 à 4, dans lequel l’étape de découpage (140) comprend le découpage de chaque tâche (T-,..... Tn) du premier modèle (2) en autant de quatrièmes sous-tâches que de résultats en sortie de la tâche (Ti..... Tn) appartenant à une deuxième catégorie de résultats, chaque résultat de la deuxième catégorie de résultats étant fourni en entrée d’autres tâches (ΤΊ..... Tn) uniquement lorsqu’aucun autre résultat n’a été fourni en entrée d’autres tâches (T-ι,..., Tn) au cours de l’exécution de la tâche (ΤΊ.....Tn), chaque quatrième sous-tâche étant propre à générer un résultat appartenant à la deuxième catégorie de résultats et distinct des autres résultats de la deuxième catégorie de résultats.5, - Method according to any one of claims 1 to 4, wherein the cutting step (140) comprises cutting each task (T -, ..... T n ) of the first model (2) in as many fourth sub-tasks as results at the output of the task (Ti ..... T n ) belonging to a second category of results, each result of the second category of results being supplied as input to other tasks (Τ Ί ..... T n ) only when no other result has been supplied as input for other tasks (T-ι, ..., T n ) during the execution of the task (Τ Ί ..... T n ), each fourth subtask being suitable for generating a result belonging to the second category of results and distinct from the other results of the second category of results. 6, - Procédé selon l’une quelconque des revendications 1 à 5, dans lequel le procédé comprend, avant l’étape de découpage (140), une étape d’écriture (130), sur le premier modèle (2), d’hypothèses du temps d’exécution des tâches (Tj.....Tn) du premier modèle (2) sur les blocs matériels (Bt,..., Bn) du premier modèle (2), les hypothèses étant utilisées par l’outil d’analyse (4) lors de l’étape (150) de définition du scénario.6, - Method according to any one of claims 1 to 5, wherein the method comprises, before the cutting step (140), a writing step (130), on the first model (2), of assumptions of task execution time (Tj ..... T n ) of the first model (2) on the hardware blocks (Bt, ..., B n ) of the first model (2), the assumptions being used by the analysis tool (4) during the step (150) of defining the scenario. 7, - Procédé selon l’une quelconque des revendications 1 à 6, dans lequel les étapes d’exécution (160) et d’évaluation (170) sont itérées jusqu’à ce que le temps d’exécution évalué lors d’une itération soit égal au temps d’exécution évalué lors de l’itération précédente.7, - Method according to any one of claims 1 to 6, wherein the execution (160) and evaluation (170) steps are iterated until the execution time evaluated during an iteration is equal to the execution time evaluated during the previous iteration. 8, - Procédé selon l’une quelconque des revendications 1 à 7, dans lequel le procédé comprend, après les étapes d’exécution (160) et d’évaluation (170), une étape (180) de détermination d’un troisième modèle comprenant les tâches (1,..., Tn) et les sous-tâches (T,.,, T-i_2, T2-i, T2.2, T3.;, T3.2) du deuxième modèle, l’ensemble de blocs matériels (Βί..... Bn) du deuxième modèle et le temps d’exécution évalué pour le deuxième modèle à partir du scénario défini, le procédé comprenant, en outre, une étape de fusion (190) de chaque sous-tâche (Tnn lj.2, T2.i, T2.2, T3.1, T3.2) du troisième modèle obtenue à la suite de l’étape (140) de découpage des tâches (Tn·.·, Tn), en la tâche (Tj.....Tn) correspondante.8, - Method according to any one of claims 1 to 7, wherein the method comprises, after the execution steps (160) and evaluation (170), a step (180) of determining a third model comprising the tasks (1, ..., T n ) and the subtasks (T,. ,, T-i_ 2 , T 2 -i, T 2. 2 , T 3 ;;, T 3. 2 ) of the second model, the set of hardware blocks (Βί ..... B n ) of the second model and the execution time evaluated for the second model from the defined scenario, the method further comprising a merging step (190) of each subtask (Tnn lj. 2 , T 2 .i, T 2. 2 , T3.1, T 3. 2 ) of the third model obtained following the step (140) of cutting out tasks (Tn ·. ·, T n ), in the corresponding task (Tj ..... T n ). 9.- Ensemble (1) d’évaluation d’un temps d’exécution de tâches flj.....Tn) sur des blocs matériels (Βή.....Bn), l’ensemble comprenant :9.- Set (1) of evaluation of a task execution time flj ..... T n ) on hardware blocks (Β ή ..... B n ), the set comprising: - un premier modèle (2) comprenant un ensemble de tâches (Tn..., Tn) et un ensemble de blocs matériels (Bn··., Bn), chaque bloc matériel (Βή.....Bn) étant propre à exécuter au moins une tâche (Tn..., Tn) conformément à des règles établies par le premier modèle (2), chaque tâche (T!.....Tn) étant une fonction transformant au moins une entrée en au moins un résultat de sortie, la fonction étant une séquence d’instructions activable par la réception de paramètres d’activation en entrée, au moins un paramètre d’activation étant le résultat obtenu par l'exécution d’au moins une autre tâche (Tj.....Tn), les règles associant, à chaque tâche (T-]Tn), un bloc matériel (B-i.....Bn) pour exécuter la tâche (T-i..... Tn) et définissant, en outre, les résultats de chaque tâche (T!..... Tn), formant les paramètres d’activation d’au moins une autre tâche (T ......Tn),- a first model (2) comprising a set of tasks (Tn ..., T n ) and a set of hardware blocks (Bn ··., B n ), each hardware block (Β ή ..... B n ) being suitable for executing at least one task (Tn ..., T n ) in accordance with rules established by the first model (2), each task (T! ..... T n ) being a function transforming at least an input into at least one output result, the function being a sequence of instructions that can be activated by receiving input activation parameters, at least one activation parameter being the result obtained by executing at least one other task (Tj ..... T n ), the rules associating, with each task (T-] T n ), a hardware block (Bi ..... B n ) to execute the task (Ti ... .. T n ) and further defining the results of each task (T! ..... T n ), forming the activation parameters of at least one other task (T ...... T n ), - un outil d’analyse (4) configuré pour définir un scénario d’exécution des tâches (Tn-, Tn) sur les blocs matériels (B!.....Bn), l’outil d’analyse (4) étant propre à évaluer un temps d’exécution des tâches (T-i.....Tn) lorsque les tâches (Tn—, Tn) sont exécutées sur les blocs matériels (Βί..... Bn) selon le scénario défini par l’outil d’analyse (4), l’outil d’analyse (4) imposant aux tâches (T-i.....Tn) le respect de contraintes pour l’exécution et l’évaluation du temps d’exécution des tâches flj,..., Tn) sur les blocs matériels (Bn..., Bn),- an analysis tool (4) configured to define a task execution scenario (Tn-, T n ) on the hardware blocks (B! ..... B n ), the analysis tool (4 ) being suitable for evaluating a task execution time (Ti ..... T n ) when the tasks (Tn—, T n ) are executed on the hardware blocks (Βί ..... B n ) according to the scenario defined by the analysis tool (4), the analysis tool (4) imposing on the tasks (Ti ..... T n ) compliance with constraints for the execution and evaluation of the time d 'execution of tasks flj, ..., T n ) on the hardware blocks (Bn ..., B n ), - un fichier (6) comprenant les contraintes imposées par l’outil d’analyse (4), les contraintes comprenant une ou les contraintes suivantes :- a file (6) comprising the constraints imposed by the analysis tool (4), the constraints comprising one or more of the following constraints: o la fourniture, à d’autres tâches (Tn—, Tn), des résultats obtenus à la suite de l’exécution d’instructions de la séquence d’instructions de chaque tâche CIj..... Tn) est possible uniquement après l’exécution de la totalité des instructions de la séquence d’instructions de la tâche (Tn—, Tn), o la réception de paramètres d’activation par chaque tâche (Tn..., Tn) en cours d’exécution est possible uniquement après l’exécution de la totalité des instructions de la séquence d’instructions de la tâche (Tn..., Tn), o une tâche (Ti.....Tn) comprend au plus une seule entrée de réception de paramètres d’activation, o une tâche (T-).....Tn) comprend au plus une seule sortie de fourniture de résultats, et o les tâches (T-ι,..., Tn) sont exécutées selon un ordre de priorité.o the supply, to other tasks (Tn—, T n ), of the results obtained following the execution of instructions in the sequence of instructions of each task CIj ..... T n ) is possible only after the execution of all the instructions in the task's instruction sequence (Tn—, T n ), o the reception of activation parameters by each task (Tn ..., T n ) during execution is possible only after the execution of all the instructions in the sequence of instructions for the task (Tn ..., T n ), where a task (Ti ..... T n ) comprises at most one single input for receiving activation parameters, where a task (T -) ..... T n ) comprises at most one output of output of results, and where the tasks (T-ι, ..., T n ) are executed in order of priority. - un produit programme d’ordinateur (12) comportant des instructions logicielles,- a computer program product (12) comprising software instructions, 5 les instructions logicielles mettant en œuvre au moins l’étape de découpage (140) du procédé selon l’une quelconque des revendications 1 à 8, lorsque les instructions logicielles sont exécutées par un ordinateur, l’outil d’analyse (4) mettant en œuvre au moins les étapes de définition (150), d’exécution (160) et d’évaluation (170) du procédé selon l’une quelconque des 10 revendications 1 à 8.5 the software instructions implementing at least the cutting step (140) of the method according to any one of claims 1 to 8, when the software instructions are executed by a computer, the analysis tool (4) putting implementing at least the steps of defining (150), executing (160) and evaluating (170) of the method according to any one of claims 10 to 8. 10.- Support d’informations (26) sur lequel est mémorisé le produit programme d’ordinateur (12) de l’ensemble (1) selon la revendication 9.10.- Information medium (26) on which is stored the computer program product (12) of the assembly (1) according to claim 9.
FR1700796A 2017-07-27 2017-07-27 METHOD FOR EVALUATING A TASKS EXECUTION TIME ON HARDWARE BLOCKS Active FR3069678B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1700796A FR3069678B1 (en) 2017-07-27 2017-07-27 METHOD FOR EVALUATING A TASKS EXECUTION TIME ON HARDWARE BLOCKS

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1700796A FR3069678B1 (en) 2017-07-27 2017-07-27 METHOD FOR EVALUATING A TASKS EXECUTION TIME ON HARDWARE BLOCKS
FR1700796 2017-07-27

Publications (2)

Publication Number Publication Date
FR3069678A1 true FR3069678A1 (en) 2019-02-01
FR3069678B1 FR3069678B1 (en) 2022-04-29

Family

ID=60888451

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1700796A Active FR3069678B1 (en) 2017-07-27 2017-07-27 METHOD FOR EVALUATING A TASKS EXECUTION TIME ON HARDWARE BLOCKS

Country Status (1)

Country Link
FR (1) FR3069678B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3095870A1 (en) * 2019-05-10 2020-11-13 Thales METHOD OF EVALUATING A MAXIMUM RESPONSE TIME OF A TASK TO BE ANALYZED

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DIPANKAR DAS ET AL: "Functional verification of task partitioning for multiprocessor embedded systems", ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, ACM, NEW YORK, NY, US, vol. 12, no. 4, 1 September 2007 (2007-09-01), pages 44 - es, XP058185716, ISSN: 1084-4309, DOI: 10.1145/1278349.1278357 *
GEORGIA GIANNOPOULOU ET AL: "Timed model checking with abstractions : towards worst-case response time analysis in resource-sharing manycore systems", PROCEEDINGS OF THE TENTH ACM INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE, EMSOFT '12, vol. 12, 1 January 2012 (2012-01-01), New York, New York, USA, pages 63 - 12, XP055466855, ISBN: 978-1-4503-1425-1, DOI: 10.1145/2380356.2380372 *
RAFIK HENIA ET AL: "Integrating Formal Timing Analysis in the Real-Time Software Development Process", PROCEEDINGS OF THE 2015 WORKSHOP ON CHALLENGES IN PERFORMANCE METHODS FOR SOFTWARE DEVELOPMENT, WOSP '15, 1 January 2015 (2015-01-01), New York, New York, USA, pages 35 - 40, XP055466852, ISBN: 978-1-4503-3340-5, DOI: 10.1145/2693561.2693562 *
VARGAS ROBERTO ET AL: "OpenMP and timing predictability: A possible union?", 2015 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), EDAA, 9 March 2015 (2015-03-09), pages 617 - 620, XP032765961, DOI: 10.7873/DATE.2015.0778 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3095870A1 (en) * 2019-05-10 2020-11-13 Thales METHOD OF EVALUATING A MAXIMUM RESPONSE TIME OF A TASK TO BE ANALYZED
WO2020229312A1 (en) * 2019-05-10 2020-11-19 Thales Method for evaluating a maximum response time of a task to be analysed

Also Published As

Publication number Publication date
FR3069678B1 (en) 2022-04-29

Similar Documents

Publication Publication Date Title
US10713073B2 (en) Systems and methods for identifying cloud configurations
US11030364B2 (en) Evaluating autonomous vehicle algorithms
US20200073712A1 (en) Method, apparatus, device and medium for processing topological relation of tasks
US20180043532A1 (en) Assigning tasks to a robot device for execution
WO2022120717A1 (en) Simulation task scheduling method, execution method, simulation implementation method and device
CN114626502A (en) Time estimator for deep learning architecture
CN112784905A (en) Data sample expansion method and device and electronic equipment
US11694145B2 (en) System and method for universal mapping of structured, semi-structured, and unstructured data for application migration in integration processes
de Medeiros et al. PHM-based Multi-UAV task assignment
US20220413458A1 (en) Edge computing device for controlling electromechanical system or electronic device with local and remote task distribution control
US11605028B2 (en) Methods and systems for sequential model inference
US20190140894A1 (en) System and method for enabling hybrid integration platform through runtime auto-scalable deployment model for varying integration
FR3069678A1 (en) METHOD FOR EVALUATING A TIME OF EXECUTION OF TASKS ON MATERIAL BLOCKS
WO2017109386A1 (en) Off-line method for allocation of a real-time on-board software in a multi-core multi-controller architecture, and use thereof for on-board applications in a motor vehicle
JPWO2019189249A1 (en) Learning devices, learning methods, and programs
US20180060887A1 (en) Brand equity prediction
Mohamed Multiprocessor image-based control: Model-driven optimisation
EP2810223B1 (en) Method of uncertain information management from different heterogeneous information sources and of decision making
US20180336121A1 (en) Computer implemented method and system for software quality assurance testing by intelligent abstraction of application under test (aut)
US11593686B2 (en) Methods, systems and apparatus to improve deep learning resource efficiency
FR3076642A1 (en) Facilitating the generation of standardized tests for evaluating gestures on a touch screen based on computer generated model data
CN114896168A (en) Rapid debugging system, method and memory for automatic driving algorithm development
CN114852096A (en) Domain controller variable management method and device, electronic equipment and storage medium
US20180101419A1 (en) Modifying a device based on an annotated time series of sensor readings
RU2822005C2 (en) Systems and methods for assembly of templates and cutting and application of window films and films for protection of paintwork

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20190201

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8