FR3053143A1 - METHOD FOR EVALUATING A TIME OF TREATMENT OF TASKS MODELIZED BY TOKENS - Google Patents

METHOD FOR EVALUATING A TIME OF TREATMENT OF TASKS MODELIZED BY TOKENS Download PDF

Info

Publication number
FR3053143A1
FR3053143A1 FR1601011A FR1601011A FR3053143A1 FR 3053143 A1 FR3053143 A1 FR 3053143A1 FR 1601011 A FR1601011 A FR 1601011A FR 1601011 A FR1601011 A FR 1601011A FR 3053143 A1 FR3053143 A1 FR 3053143A1
Authority
FR
France
Prior art keywords
task
execution
token
time
tasks
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.)
Pending
Application number
FR1601011A
Other languages
French (fr)
Inventor
Romain Soulat
Laurent Rioux
Noir Jerome Le
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 FR1601011A priority Critical patent/FR3053143A1/en
Publication of FR3053143A1 publication Critical patent/FR3053143A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

La présente invention concerne un procédé d'évaluation d'un temps de traitement de tâches par des blocs matériels, le procédé comprenant les étapes suivantes : - la fourniture d'un premier modèle (12) comprenant : ○ un ensemble de tâches, ○ un ensemble de blocs matériels, ○ une politique d'ordonnancement des tâches, - la fourniture d'un temps d'exécution de chaque tâche sur le bloc matériel associé à la tâche considérée, - l'extraction d'une règle d'exécution de chaque bloc matériel, de paramètres d'activation de chaque tâche et de la politique d'ordonnancement des tâches du premier modèle (12), - la détermination d'un deuxième modèle (40) à partir de la règle d'exécution extraite pour chaque bloc matériel, des paramètres d'activation extraits, de la politique d'ordonnancement extraite et du temps d'exécution fourni, et - l'évaluation du temps de traitement de chaque tâche.The present invention relates to a method of evaluating a task processing time by hardware blocks, the method comprising the following steps: - providing a first model (12) comprising: ○ a set of tasks, ○ a set of hardware blocks, ○ a task scheduling policy, - the provision of an execution time for each task on the hardware block associated with the task in question, - the extraction of an execution rule from each hardware block, activation parameters of each task and the task scheduling policy of the first model (12), - determining a second model (40) from the extracted execution rule for each block hardware, extracted activation parameters, the extracted scheduling policy and the execution time provided, and - the evaluation of the processing time of each task.

Description

Procédé d’évaluation d’un temps de traitement de tâches modélisées par des jetonsMethod for evaluating a task processing time modeled by tokens

La présente invention concerne un procédé d’évaluation d’un temps de traitement de tâches par des blocs matériels. La présente invention se rapporte également à un ensemble d’évaluation d’un temps de traitement de tâches par des blocs matériels. L’invention se rapporte aussi à un support d’informations.The present invention relates to a method of evaluating a task processing time by hardware blocks. The present invention also relates to a set of evaluation of a task processing time by hardware blocks. The invention also relates to an information carrier.

Dans le domaine de l’avionique, les temps de réponse des systèmes de pilotage d’un aéronef sont 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ée 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 the flight control systems of an aircraft are strictly guaranteed to avoid the occurrence of accidents. For example, a change of flight path or an unfinished landing operation in a timely manner may damage the aircraft and endanger the passengers.

De ce fait, pour assurer le respect des temps de réponse, des systèmes temps-réel sont embarqués dans les aéronefs. Les systèmes temps-réel sont des systèmes informatiques se différenciant des autres systèmes informatiques par la prise en compte de contraintes temporelles dont le respect est tout aussi crucial que l’exactitude du résultat délivré par le système.Therefore, to ensure compliance with response times, real-time systems are embedded in aircraft. Real-time systems are computer systems that differentiate themselves from other computer systems by taking into account time constraints whose respect is just as crucial 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 les temps de réponse de chaque composant des systèmes. Le temps de réponse d’un composant est la somme des temps de traitement des tâches dudit composant sur les blocs matériels dudit composant. 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.During the design of real-time systems, one of the challenges is therefore to accurately predict the temporal characteristics of such systems and in particular the response times of each component of the systems. The response time of a component is the sum of the processing times of the tasks of said component on the hardware blocks of said component. Hardware blocks are architectural elements that perform a predetermined function. Tasks are sequences of executable instructions on hardware blocks. In the case of aircraft, the tasks are, for example, relating to commands for changing the trajectory or landing of the aircraft.

Pour déterminer le temps de traitement associé à chaque tâche du système, il est connu de modéliser manuellement le modèle de conception.To determine the processing time associated with each task of the system, it is known to manually model the design model.

Cependant, une telle modélisation manuelle n’est pas adaptée pour obtenir de manière rapide et automatique les temps de traitement associés à chaque tâche du système.However, such manual modeling is not adapted to quickly and automatically obtain the processing times associated with each task of the system.

Il existe donc un besoin pour évaluer de manière simple, fiable et rapide les temps de traitement associés à chaque tâche du système, notamment lorsque lesdites tâches sont relatives à la commande d’équipements spécialisés tels que des aéronefs. A cet effet, l’invention a pour objet un procédé d’évaluation d’un temps de traitement de tâches par des blocs matériels, les tâches étant propres à être activées et à s’exécuter sur les blocs matériels, le temps de traitement de chaque tâche étant la durée entre l’instant d’activation de la tâche et l’instant de fin d’exécution de la tâche, le procédé comprenant les étapes suivantes : - la fourniture d’un premier modèle comprenant : o un ensemble de tâches, 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, o un ensemble de blocs matériels, chaque bloc matériel étant associé à au moins une tâche et propre à exécuter ladite tâche conformément à une règle d’exécution dudit bloc matériel, o une politique d’ordonnancement des tâches, la politique d’ordonnancement des tâches définissant un ordre de début d’exécution des tâches sur chaque bloc matériel, - la fourniture d’un temps d’exécution de chaque tâche sur le bloc matériel associé à la tâche considérée, le temps d’exécution de chaque tâche étant la durée entre l’instant de début d’exécution de la tâche sur le bloc matériel associé et l’instant de fin d’exécution de la tâche sur le bloc matériel associé moins la durée éventuelle durant laquelle l’exécution de ladite tâche est interrompue sur le bloc matériel considéré, - l’extraction de la règle d’exécution de chaque bloc matériel, des paramètres d’activation de chaque tâche et de la politique d’ordonnancement des tâches du premier modèle, - la détermination d’un deuxième modèle à partir de la règle d’exécution extraite pour chaque bloc matériel, des paramètres d’activation extraits, de la politique d’ordonnancement extraite et du temps d’exécution fourni, le deuxième modèle comprenant les éléments suivants : o un jeton modélisant chaque tâche activée du premier modèle, le jeton étant défini par le temps d’exécution fourni de la tâche sur le bloc matériel associé à la tâche considérée, o un générateur de jetons pour chaque tâche du premier modèle, le générateur de jetons ayant pour entrée les paramètres d’activation extraits de la tâche et pour sortie le jeton modélisant la tâche activée, o une file d’attente pour chaque bloc matériel, chaque file d’attente ayant pour entrée les jetons modélisant les tâches associées au bloc matériel et pour sortie lesdits jetons ordonnés selon un ordre établi en fonction de la politique d’ordonnancement extraite, o un serveur modélisant chaque bloc matériel, chaque serveur ayant pour entrée chaque jeton de la file d’attente du bloc matériel et pour sortie chaque jeton de la file d’attente exécuté selon la règle d’exécution extraite dudit bloc matériel et en fonction du temps d’exécution relatif à chaque jeton, et - l’évaluation du temps de traitement de chaque tâche, le temps de traitement de chaque tâche étant égale à la durée entre l’instant de génération du jeton modélisant la tâche par le générateur de jetons et la sortie dudit jeton dans le serveur modélisant le bloc matériel associé à la tâche.There is therefore a need to evaluate simply, reliably and quickly processing times associated with each task of the system, especially when said tasks are related to the control of specialized equipment such as aircraft. For this purpose, the subject of the invention is a method for evaluating a task processing time by hardware blocks, the tasks being able to be activated and executed on the hardware blocks, the processing time of each task being the time between the moment of activation of the task and the time of completion of the task, the method comprising the following steps: providing a first model comprising: a set of tasks each task being a function transforming at least one input into at least one output result, the function being an instruction sequence activatable by the reception of input activation parameters, o a set of hardware blocks, each hardware block being associated with at least one task and able to execute said task in accordance with an execution rule of said hardware block, o a scheduling policy, the scheduling policy task management defining a task execution start order on each hardware block, - providing an execution time of each task on the hardware block associated with the task in question, the execution time of each task being the duration between the start time of execution of the task on the associated hardware block and the time of completion of the task on the associated hardware block minus the possible duration during which the execution of said task is interrupted on the hardware block considered, - the extraction of the execution rule of each material block, the activation parameters of each task and the task scheduling policy of the first model, - the determination of a second model from the extracted execution rule for each hardware block, extracted activation parameters, extracted scheduling policy, and execution time fo urni, the second model comprising the following elements: o a token modeling each activated task of the first model, the token being defined by the provided execution time of the task on the hardware block associated with the task in question, o a token generator for each task of the first model, the token generator having as input the activation parameters extracted from the task and for output the token modeling the activated task, o a queue for each hardware block, each queue having for input the tokens modeling the tasks associated with the hardware block and for outputting said ordered tokens according to an order established according to the extracted scheduling policy, o a server modeling each hardware block, each server having for input each token of the queue d wait for the hardware block and output each token of the queue executed according to the rule of execution extracted dudi t the hardware block and according to the execution time relative to each token, and - the evaluation of the processing time of each task, the processing time of each task being equal to the duration between the moment of generation of the token modeling the task by the token generator and the output of said token in the server modeling the hardware block associated with the task.

Suivant des modes de mise œuvre particuliers, le procédé d’évaluation comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - la règle d’exécution de chaque bloc matériel conditionne la fin de l’exécution de la tâche en cours d’exécution en fonction de la tâche suivante. - chaque tâche est associée à une priorité d’exécution, la règle d’exécution de chaque bloc matériel stipule que le bloc matériel compare à tout instant la priorité de la tâche en cours d’exécution avec la priorité de la tâche suivante selon la file d’attente et met en attente la tâche en cours d’exécution pour exécuter la tâche suivante lorsque la tâche suivante a une priorité d’exécution supérieure à la tâche en cours d’exécution. - la règle d’exécution de chaque bloc matériel stipule que le bloc matériel termine l’exécution de la tâche en cours d’exécution avant d’exécuter la tâche suivante. - chaque file d’attente comprend un nombre maximum de jetons acceptables en entrée. - la politique d’ordonnancement consiste à ordonner entre elles les tâches activées et associées à un même bloc matériel, par ordre croissant de l’instant d’activation desdites tâches. - chaque tâche est associée à une priorité d’exécution, la politique d’ordonnancement consiste à ordonner entre elles les tâches activées et associées à un même bloc matériel suivant la priorité d’exécution associée à chacune desdites tâches. - la durée entre l’entrée de chaque jeton dans le serveur correspondant et la sortie du jeton du serveur est égale à la somme du temps d’exécution du jeton et de la durée éventuelle durant laquelle l’exécution du jeton est interrompue. L’invention concerne également un ensemble d’évaluation d’un temps de traitement de tâches par des blocs matériels, les tâches étant propres à être activées et à s’exécuter sur les blocs matériels, le temps de traitement de chaque tâche étant la durée entre l’instant d’activation de la tâche et l’instant de fin d’exécution de la tâche, l’ensemble comprenant : - un premier modèle comprenant : o un ensemble de tâches, 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, o un ensemble de blocs matériels, chaque bloc matériel étant associé à au moins une tâche et propre à exécuter ladite tâche conformément à une règle d’exécution dudit bloc matériel, o une politique d’ordonnancement des tâches, la politique d’ordonnancement des tâches définissant un ordre de début d’exécution des tâches sur chaque bloc matériel, - un fichier comprenant un temps d'exécution de chaque tâche sur le bloc matériel associé à la tâche considérée, le temps d’exécution de chaque tâche étant la durée entre l’instant de début d'exécution de la tâche sur le bloc matériel associé et l’instant de fin d’exécution de la tâche sur le bloc matériel associé moins la durée éventuelle durant laquelle l’exécution de ladite tâche est interrompue, - un produit programme d’ordinateur comportant des instructions logicielles, les instructions logicielles mettant en oeuvre au moins les étapes d’extraction, de détermination et d’évaluation du procédé selon l’une quelconque des revendication L’invention concerne aussi un support d’informations sur lequel est mémorisé le produit programme d’ordinateur d’un tel ensemble. 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 : - 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 de traitement de tâches par des blocs matériels, - 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, et - figure 3, une représentation schématique d’un deuxième modèle généré par l’ensemble de la figure 1.According to particular modes of implementation, the evaluation method comprises one or more of the following characteristics, taken in isolation or in any technically possible combination: the rule of execution of each material block conditions the end of the Execute the running job based on the next task. - each task is associated with an execution priority, the execution rule of each hardware block states that the hardware block compares at any moment the priority of the task being executed with the priority of the next task according to the queue and queues the currently running job to perform the next job when the next job has a higher execution priority than the currently running job. - The execution rule for each hardware block states that the hardware block completes the execution of the running task before executing the next task. - each queue includes a maximum number of acceptable tokens input. the scheduling policy consists in ordering between them the activated tasks associated with the same material block, in ascending order of the activation time of said tasks. - Each task is associated with an execution priority, the scheduling policy consists in ordering between them the activated tasks associated with the same hardware block according to the execution priority associated with each of said tasks. the duration between the entry of each token in the corresponding server and the output of the server token is equal to the sum of the execution time of the token and the possible duration during which the execution of the token is interrupted. The invention also relates to a set of evaluation of a task processing time by hardware blocks, the tasks being able to be activated and executed on the hardware blocks, the processing time of each task being the duration between the activation time of the task and the end of execution of the task, the set comprising: a first model comprising: a set of tasks, each task being a function transforming at least one input in at least one output result, the function being an instruction sequence activatable by the reception of input activation parameters, o a set of hardware blocks, each hardware block being associated with at least one task and capable of executing said task in accordance with a rule of execution of said material block, o a task scheduling policy, the task scheduling policy defining a die order purpose of execution of the tasks on each material block, - a file including a running time of each task on the hardware block associated with the task in question, the execution time of each task being the duration between the start time execution of the task on the associated hardware block and the end of execution of the task on the associated hardware block minus the possible duration during which the execution of said task is interrupted, - a computer program product comprising software instructions, the software instructions implementing at least the steps of extraction, determination and evaluation of the method according to any one of the claims The invention also relates to an information carrier on which the product is stored. computer program of such a set. Other features and advantages of the invention will appear on reading the following description of embodiments of the invention, given by way of example only and with reference to the drawings which are: FIG. 1, a diagrammatic view an example of an evaluation set allowing the implementation of a method for evaluating a task processing time by hardware blocks, - Figure 2, a schematic view of a processing module and a computer program product of the assembly of Figure 1, and - Figure 3, a schematic representation of a second model generated by the assembly of Figure 1.

Un ensemble 10 d’évaluation d’un temps de traitement de tâches Ti.....Tn sur des blocs matériels Bi,..., Bn est illustré sur la figure 1. L’ensemble 10 est notamment utilisé pour évaluer le temps de réponse des différents composants 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, tels que des aéronefs pour lesquels le respect des contraintes temporelles est un paramètre critique. Les composants de systèmes temps-réel sont, par exemple, des organes de pilotage ou des capteurs. L’ensemble 10 comprend un premier modèle 12, un fichier 16 comprenant des temps d’exécution et un module de traitement 20 en interaction avec un produit d’ordinateur 22. Le module de traitement 20 et le produit programme d’ordinateur 22 sont illustrés en détail sur la figure 2.A set 10 for evaluating a task processing time Ti ..... Tn on material blocks Bi,..., Bn is illustrated in FIG. 1. The set 10 is notably used to evaluate the time. response of different components of real-time systems. Such real-time systems are, for example, intended to be embedded in specialized equipment, such as aircraft for which compliance with time constraints is a critical parameter. The components of real-time systems are, for example, control members or sensors. The assembly 10 comprises a first model 12, a file 16 comprising execution times and a processing module 20 interacting with a computer product 22. The processing module 20 and the computer program product 22 are illustrated in detail in Figure 2.

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

Le premier modèle 12 est, par exemple, obtenu à partir de l’outil Capella. Capella est une solution Open Source principalement utilisée pour la modélisation de systèmes complexes et de systèmes critiques, tels que des systèmes temps-réel.The first model 12 is, for example, obtained from the Capella tool. Capella is an Open Source solution mainly used for modeling complex systems and critical systems, such as real-time systems.

Le premier modèle 12 comprend un ensemble de composants comprenant chacun un ensemble de tâches Ti,..., Tn, un ensemble de blocs matériels .....Bn et une politique d’ordonnancement des tâches Ti,..., Tn.The first model 12 comprises a set of components each comprising a set of tasks Ti, ..., Tn, a set of hardware blocks ..... Bn and a task scheduling policy Ti, ..., Tn.

Chaque tâche T|,..., 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 d’un aéronef.Each task T |, ..., Tn 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 that can generate 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 an aircraft.

Les paramètres d’activation de chaque tâche T,.....Tn sont, par exemple, fonction d’une période de temps ou encore d’un événement déclencheur tel que la fin d’exécution d’une autre tâche Ti,..., Tn.The activation parameters of each task T, ..... Tn are, for example, a function of a period of time or a trigger event such as the completion of another task Ti ,. .., Tn.

Chaque bloc matériel Bt,..., Bn est associé à au moins une tâche Τί Tn du premier modèle 12. Chaque bloc matériel Bi,..., Bn est propre à exécuter la ou les tâches T|,..., Tn auquel ledit bloc matériel Bî.....Bn est associé conformément à une règle d’exécution dudit bloc matériel B1t..., Bn.Each material block Bt,..., Bn is associated with at least one task Τί Tn of the first model 12. Each hardware block Bi,..., Bn is capable of executing the task T |, ..., Tn wherein said hardware block B1 ..... Bn is associated according to a rule of execution of said hardware block B1t ..., Bn.

La règle d’exécution de chaque bloc matériel Bi.....Bn conditionne la fin de l’exécution de la tâche Tt,..., Tn en cours d’exécution en fonction de la tâche Ti,..., Tn suivante.The rule of execution of each material block Bi ..... Bn conditions the end of the execution of the task Tt, ..., Tn running according to the task Ti, ..., Tn next.

En particulier, lorsque chaque tâche ^.....Tn est associée à une priorité d’exécution, la règle d’exécution de chaque bloc matériel Bi,..., Bn stipule, par exemple, que le bloc matériel B^..., Bn compare la priorité de la tâche .....Tn en cours d’exécution avec la priorité de la tâche 7^,..., Tn suivante et met en attente la tâche 7^,..., Tn en cours d’exécution pour exécuter la tâche TV.., Tn suivante, lorsque la tâche Ti.....Tn suivante a une priorité d’exécution supérieure à la tâche T,.....Tn en cours d’exécution.In particular, when each task ^ ..... Tn is associated with an execution priority, the execution rule of each hardware block Bi, ..., Bn stipulates, for example, that the hardware block B ^. .., Bn compares the priority of the task ..... Tn running with the priority of the next task 7 ^, ..., Tn and puts the task 7 ^, ..., Tn on hold running to execute the TV .., Next Tn task, when the next Ti ..... Tn task has a higher execution priority than the T ..... Tn task running .

Dans un autre exemple, la règle d’exécution de chaque bloc matériel B!,..., Bn stipule que le bloc matériel B^..., Bn termine l’exécution de la tâche Ti.....Tn en cours d'exécution avant d'exécuter la tâche Ti.....Tn suivante.In another example, the execution rule of each hardware block B!,..., Bn stipulates that the hardware block B ^..., Bn ends the execution of the task Ti ..... Tn in progress run before performing the task Ti ..... Next Tn.

Les blocs matériels Bi,..., Bn sont, par exemple, des processeurs et/ou des bus de données.The hardware blocks Bi,..., Bn are, for example, processors and / or data buses.

La politique d’ordonnancement des tâches Τ',, définit un ordre d’exécution des tâches .....Tn associées à un même bloc matériel B!.....Bn.The task scheduling policy Τ ',, defines an order of execution of the tasks ..... Tn associated with the same hardware block B! ..... Bn.

Par exemple, la politique d’ordonnancement consiste à ordonner entre elles les tâches Ti,..., T„ activées et associées à un même bloc matériel Bi,..., Bn, par ordre croissant de l’instant d’activation desdites tâches Ti,...,Tn. Une telle politique d’ordonnancement est aussi connue sous la dénomination FIFO (de l’anglais First In First Out, traduit en français par premier entré, premier sorti).For example, the scheduling policy consists in ordering between them the tasks Ti,..., T "activated and associated with the same material block Bi,..., Bn, in ascending order of the instant of activation of said tasks Ti, ..., Tn. Such a scheduling policy is also known under the name FIFO (English First In First Out, translated into French by first-in, first-out).

En variante, lorsque chaque tâche 7^,..., Tn est associée à une priorité d’exécution, la politique d’ordonnancement consiste, par exemple, à ordonner entre elle les tâchesAs a variant, when each task 7 ^, ..., Tn is associated with an execution priority, the scheduling policy consists, for example, of ordering the tasks between itself.

Ti.....Tn activées et associées à un même bloc matériel Βί.....Bn suivant la priorité d’exécution associée à chaque desdites tâches Ti,..., Tn.Ti ..... Tn activated and associated with the same hardware block Βί ..... Bn according to the execution priority associated with each of said tasks Ti, ..., Tn.

Encore en variante, les politiques d’ordonnancement sont, par exemple, les règles des ordonnanceurs Round Robin ou TDMA (de l’anglais Time Division Multiple Access, traduit en français par Accès multiple à répartition dans le temps).In another variant, the scheduling policies are, for example, the Round Robin or TDMA (Time Division Multiple Access) scheduler rules.

Le fichier 16 comprend le temps d’exécution de chaque tâche 7^,..., Tn du premier modèle 12 sur le bloc matériel B:.....Bn associé à la tâche 7^,..., Tn considérée. Le temps d’exécution de chaque tâche Ti.....T„ est la durée entre l’instant de début d’exécution de la tâche T......Tn sur le bloc matériel .....B„ associé et l’instant de fin d’exécution de la tâche Tί,..., Tn sur le bloc matériel Bi,..., Bn associé moins la durée éventuelle durant laquelle l’exécution de la tâche 7^,..., Tn est interrompue.The file 16 includes the execution time of each task 7 ^, ..., Tn of the first model 12 on the hardware block B: ..... Bn associated with the task 7 ^, ..., Tn considered. The execution time of each task Ti ..... T "is the duration between the start time of execution of the task T ...... Tn on the material block ..... B" associated and the time of completion of the task Tί, ..., Tn on the material block Bi, ..., Bn associated less the possible duration during which the execution of the task 7 ^, ... , Tn is interrupted.

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

Plus généralement, le module de traitement 20 est un calculateur électronique propre à manipuler et/ou transformer des données représentées comme des quantités électroniques ou physiques dans des registres du module de traitement 20 et/ou des mémoires en d’autres données similaires correspondant à des données physiques dans des mémoires, des registres ou autres types de dispositifs d’affichage, de transmission ou de mémorisation.More generally, the processing module 20 is an electronic calculator able to manipulate and / or transform data represented as electronic or physical quantities in registers of the processing module 20 and / or memories in other similar data corresponding to physical data in memories, registers or other types of display, transmission or storage devices.

Le module de traitement 20 est en interaction avec le premier modèle 12, le fichier 16 est le produit programme d’ordinateur 22.The processing module 20 is in interaction with the first model 12, the file 16 is the computer program product 22.

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

Le produit programme d’ordinateur 22 comprend un support d’informations 36.The computer program product 22 includes an information carrier 36.

Le support d'informations 36 est un support lisible par le module de traitement 20, usuellement par l’unité de traitement de données 26. Le support lisible d’informations 36 est un médium adapté à mémoriser des instructions électroniques et capable d’être couplé à un bus d’un système informatique. A titre d’exemple, le support d’informations 36 est une disquette ou disque souple (de la dénomination anglaise floppy disk), un disque optique, un 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.The information carrier 36 is a support readable by the processing module 20, usually by the data processing unit 26. The readable information carrier 36 is a medium suitable for storing electronic instructions and capable of being coupled. to a bus of a computer system. By way of example, the information carrier 36 is a floppy disk (floppy disk), an optical disk, a CD-ROM, a magneto-optical disk, a ROM memory, a RAM memory, an EPROM memory, an EEPROM memory, a magnetic card or an optical card.

Sur le support d’informations 36 est mémorisé le produit programme d’ordinateur 22 comprenant des instructions de programme. Le programme d’ordinateur 22 est chargeable sur l’unité de traitement de données 26 et est adapté pour entraîner, en interaction avec le premier modèle 12 et le fichier 16, la mise en œuvre du procédé d’évaluation d’un temps de traitement de tâches Τη..., Tn par des blocs matériels Β·\.....Bn lorsque le programme d’ordinateur 22 est mis en œuvre sur l’unité de traitement 26.On the information carrier 36 is stored the computer program product 22 including program instructions. The computer program 22 is loadable on the data processing unit 26 and is adapted to lead, in interaction with the first model 12 and the file 16, the implementation of the evaluation method of a processing time of tasks Τη ..., Tn by physical blocks Β · \ ..... Bn when the computer program 22 is implemented on the processing unit 26.

Le fonctionnement du module de traitement 20 en interaction avec le produit programme d’ordinateur 22, le premier modèle 12 et le fichier 16 est maintenant décrit.The operation of the processing module 20 interacting with the computer program product 22, the first model 12 and the file 16 is now described.

Initialement, le procédé d’évaluation comprend une étape 100 de fourniture du premier modèle 12.Initially, the evaluation method comprises a step 100 of supplying the first model 12.

Dans un premier exemple, le premier modèle comprend deux blocs matériels Bi, B2 et trois tâches T2, T3, T4. Les blocs matériels B^ B2 sont des processeurs. Les première et deuxième tâches T2 sont propres à s’exécuter sur le premier bloc matériel Bi. Les troisième et quatrième tâche T3, T4sont propres à s’exécuter sur le deuxième bloc matériel B2.In a first example, the first model comprises two hardware blocks Bi, B2 and three tasks T2, T3, T4. The hardware blocks B ^ B2 are processors. The first and second tasks T2 are able to execute on the first hardware block Bi. The third and fourth tasks T3, T4 are adapted to execute on the second hardware block B2.

Le procédé d’évaluation comprend, également, une étape 110 de fourniture du temps d’exécution de chaque tâche Tn du premier modèle 12 sur le bloc matériel Bi.....Bn du premier modèle 12 associé à la tâche Ti.....Tn considérée.The evaluation method also comprises a step 110 of providing the execution time of each task Tn of the first model 12 on the hardware block Bi ..... Bn of the first model 12 associated with the task Ti ... ..Tn considered.

Dans le premier exemple décrit précédemment, le temps d’exécution de la première tâche T1f respectivement de la deuxième tâche T2, sur le premier bloc matériel Bi est égal à 10 millisecondes (ms), respectivement à 15 ms. Le temps d'exécution de la troisième tâche T3, respectivement de la quatrième tâche T4, sur le deuxième bloc matériel B2 est égal à 12 ms, respectivement à 13 ms.In the first example described above, the execution time of the first task T1f respectively of the second task T2, on the first hardware block Bi is equal to 10 milliseconds (ms), respectively 15 ms. The execution time of the third task T3, respectively of the fourth task T4, on the second hardware block B2 is equal to 12 ms, respectively to 13 ms.

Le procédé d’évaluation comprend une étape 120 d’extraction de la règle d’exécution de chaque bloc matériel B!,..., Bn, des paramètres d’activation de chaque tâche Tt.....Tn et de la politique d’ordonnancement des tâches Ti,..., Tn du premier modèle 12. L’étape d’extraction 120 permet de récupérer les comportements dynamiques du premier modèle 12. En particulier, l’étape d’extraction 120 permet de récupérer le chemin suivi par les différentes données du système, ainsi que les informations spécifiques relatives aux tâches Ti,..., Tn et aux blocs matériels B·),..., Bn.The evaluation method comprises a step 120 of extraction of the execution rule of each hardware block B!, ..., Bn, activation parameters of each task Tt ..... Tn and the policy scheduling tasks Ti, ..., Tn of the first model 12. The extraction step 120 makes it possible to recover the dynamic behaviors of the first model 12. In particular, the extraction step 120 makes it possible to recover the path followed by the various data of the system, as well as the specific information relating to the tasks Ti, ..., Tn and the hardware blocks B ·), ..., Bn.

Dans le premier exemple décrit précédemment, chaque tâche Ti,T2, T3 est associée à une priorité d’exécution. La priorité associée à la première tâche Ή est supérieure à la priorité associée à chacune des deuxième, troisième et quatrième tâches T2, T3, T4. La priorité associée à la deuxième tâche T2 est supérieure à la priorité associée à chacune des troisième et quatrième tâches T3, T4. La priorité associée à la troisième tâche T3 est supérieure à la priorité associée à la quatrième tâche T4.In the first example described above, each task Ti, T2, T3 is associated with an execution priority. The priority associated with the first task Ή is greater than the priority associated with each of the second, third and fourth tasks T2, T3, T4. The priority associated with the second task T2 is greater than the priority associated with each of the third and fourth tasks T3, T4. The priority associated with the third task T3 is greater than the priority associated with the fourth task T4.

Dans le premier exemple, la règle d’exécution du premier bloc matériel Bi stipule que le premier bloc matériel Bi compare à tout instant la priorité de la tâche en cours d’exécution avec la tâche suivante et met en attente la tâche en cours d’exécution pour exécuter la tâche suivante lorsque la tâche suivante a une priorité d’exécution supérieure à la tâche en cours d’exécution. La règle d’exécution du deuxième bloc matériel B2 stipule que le deuxième bloc matériel B2 termine l’exécution de la tâche en cours d’exécution avant d’exécuter la tâche suivante.In the first example, the execution rule of the first hardware block Bi states that the first hardware block Bi compares at any moment the priority of the task being executed with the next task and puts the current task on hold. Execution to run the next task when the next task has a higher execution priority than the currently running task. The execution rule of the second hardware block B2 stipulates that the second hardware block B2 completes the execution of the task being executed before executing the next task.

Dans le premier exemple, les premières tâches T2 et T3 sont activées périodiquement. La quatrième tâche T4 est activée suite à l’exécution de la première tâche Ti.In the first example, the first tasks T2 and T3 are periodically activated. The fourth task T4 is activated following the execution of the first task Ti.

Dans le premier exemple, la politique d’ordonnancement des tâches consiste à ordonner entre elles les tâches activées et associées à un même bloc matériel par ordre croissant de l’instant d’activation desdites tâches.In the first example, the task scheduling policy consists in ordering between them the activated tasks associated with the same hardware block in ascending order of the activation time of said tasks.

Le procédé d’évaluation comprend une étape 130 de détermination d’un deuxième modèle 40, illustré sur la figure 1.The evaluation method comprises a step 130 for determining a second model 40, illustrated in FIG.

Le deuxième modèle 40 est déterminé à partir de la règle d’exécution extraite pour chaque bloc matériel Bi.....Bn, des paramètres d’activation extraits et de la politique d’ordonnancement extraite.The second model 40 is determined from the extracted execution rule for each hardware block Bi ..... Bn, the extracted activation parameters and the extracted scheduling policy.

Le deuxième modèle 40 comprend au moins les éléments suivants : - un jeton modélisant chaque tâche Tn activée du premier modèle 12, - un générateur de jetons pour chaque tâche Ti.....Tn du premier modèle 12, - une file d’attente pour chaque bloc matériel Bt.....Bn, et - un serveur modélisant chaque bloc matériel Βί,..., B„.The second model 40 comprises at least the following elements: a token modeling each activated task Tn of the first model 12, a generator of tokens for each task Ti ..... Tn of the first model 12, - a queue for each hardware block Bt ..... Bn, and - a server modeling each hardware block Βί, ..., B ".

Chaque jeton modélisant une tâche activée 7^,..., Tn du premier modèle 12 est défini par le temps d’exécution fourni de la tâche Ti,..., T„ sur le bloc matériel Bi,..., Bn associé à la tâche Ti,..., Tn considérée.Each token modeling an activated task 7 ^, ..., Tn of the first model 12 is defined by the provided execution time of the task Ti, ..., T "on the associated hardware block Bi, ..., Bn to the task Ti, ..., Tn considered.

Chaque jeton est également défini par l’éventuelle priorité d’exécution associée à la tâche Ti.....Tn modélisée par le jeton.Each token is also defined by the possible execution priority associated with the task Ti ..... Tn modeled by the token.

Le générateur de jetons de chaque tâche a pour entrée les paramètres d’activation extraits de la tâche T,.....Tn et pour sortie un jeton modélisant la tâche Tn activée.The token generator of each task has for input the activation parameters extracted from the task T, ..... Tn and for outputting a token modeling the activated task Tn.

Chaque générateur de jetons est également défini par son mode de génération. Le mode de génération d’un générateur de jetons est, par exemple, périodique ou encore déclenché.Each token generator is also defined by its generation mode. The generation mode of a token generator is, for example, periodic or triggered.

Par exemple, si la tâche Ti.....Tn associée au générateur de jetons est activée à la suite d’un événement, tel que la fin d’exécution d’une autre tâche, alors le générateur de jetons est dit « déclenché » car il génère le jeton associé à la tâche Tn lorsque ledit évènement a lieu.For example, if the task Ti ..... Tn associated with the token generator is activated as a result of an event, such as the completion of another task, then the token generator is said to have "triggered Because it generates the token associated with the task Tn when the said event takes place.

En variante, si la tâche Ti.....T„ associée au générateur de jetons est activée périodiquement, alors le générateur de jetons est dit « périodique » car il génère périodiquement les jetons associés à la tâche Ti.....Tn.In a variant, if the task Ti ..... T "associated with the token generator is activated periodically, then the token generator is said to be" periodic "because it periodically generates the chips associated with the task Ti ..... Tn .

La file d’attente de chaque bloc matériel Bi,..., Bn a pour entrée les jetons modélisant les tâches Ti.....Tn associées au bloc matériel Bt,..., Bn et pour sortie lesdits jetons ordonnés selon un ordre établi en fonction de la politique d’ordonnancement extraite.The queue of each hardware block Bi, ..., Bn has for input the tokens modeling the tasks Ti ..... Tn associated with the material block Bt, ..., Bn and for outputting said ordered tokens according to a order established according to the extracted scheduling policy.

Par exemple, lorsque la politique d’ordonnancement consiste à ordonner entre elles les tâches T-ι,..., Tn activées associées à un même bloc matériel Bi.....Bn par ordre croissant de l’instant d’activation desdits tâches "Π.....Tn, les jetons en sortie de la file d’attente sont ordonnés par ordre croissant de l’instant de génération desdits jetons par les générateurs de jetons correspondants.For example, when the scheduling policy consists of ordering between them the tasks T-ι, ..., Tn activated associated with the same material block Bi ..... Bn in ascending order of the instant of activation of said tasks "Π ..... Tn, the tokens leaving the queue are ordered in ascending order of the generation time of said tokens by the corresponding token generators.

En variante, lorsque chaque tâche Ti.....Tn est associée à une priorité d’exécution et que la politique d’ordonnancement consiste à ordonner entre elles les tâches Ti.....Tn activées et associées à un même bloc matériel Β1(..., Bn selon la priorité d’exécution associée à chacune desdites tâches Ti.....Tn, les jetons en sortie de la file d’attente sont ordonnés par ordre croissant de la priorité d’exécution associée à chaque jeton.As a variant, when each task Ti ..... Tn is associated with an execution priority and the scheduling policy consists in ordering between them the tasks Ti ..... Tn activated and associated with the same hardware block Β1 (..., Bn according to the execution priority associated with each of said tasks Ti ..... Tn, the tokens at the output of the queue are ordered in ascending order of the execution priority associated with each token.

Chaque file d’attente comprend un nombre maximum de jetons acceptables en entrée. Le nombre maximum de jetons acceptables en entrée est, par exemple, égal à un nombre prédéterminé.Each queue has a maximum number of acceptable tokens as input. The maximum number of tokens acceptable at entry is, for example, equal to a predetermined number.

En variante, le nombre maximum de jetons acceptables en entrée est infini.In a variant, the maximum number of acceptable chips at the input is infinite.

Chaque serveur modélisant un bloc matériel Bi.....B„ a pour entrée chaque jeton de la file d’attente correspondant au bloc matériel Bi.....Bn et pour sortie chaque jeton de ladite file d’attente exécuté selon la règle d’exécution extraite dudit bloc matériel Βί.....Bn et en fonction du temps d’exécution relatif au jeton.Each server modeling a hardware block Bi ..... B "has for input each token of the queue corresponding to the hardware block Bi ..... Bn and for output each token of said queue executed according to the execution rule extracted from said hardware block Βί ..... Bn and depending on the execution time relative to the token.

Par exemple, lorsque la règle d’exécution du bloc matériel Bi.....Bn stipule que le bloc matériel Bi,..., Bn met en attente la tâche Ti,..., Tn en cours d’exécution pour exécuter la tâche Ti.....Tn suivante lorsque la tâche .....Tn suivante a une priorité d’exécution supérieure à la tâche T·,,..., Tn en cours d’exécution, alors le serveur compare à tout instant la priorité du jeton en cours d’exécution avec la priorité du jeton suivant dans la file d’attente et met en attente le jeton en cours d’exécution pour exécuter le jeton suivant lorsque le jeton suivant à une priorité d’exécution supérieure au jeton en cours d'exécution.For example, when the execution rule of the hardware block Bi ..... Bn stipulates that the hardware block Bi, ..., Bn puts the task Ti, ..., Tn running on hold to execute the task Ti ..... Next Tn when the task ..... Next Tn has a higher execution priority than the task T · ,, ..., Tn being executed, then the server compares to anytime the current token priority with the next token priority in the queue and holds the token running to execute the next token when the next token has a higher execution priority token running.

En variante, lorsque la règle d’exécution de chaque bloc matériel Bi.....B„ stipule que le bloc matériel B1(..., Bn termine l’exécution de la tâche Ti,..., Tn en cours d’exécution avant d’exécuter la tâche Ti,..., T„ suivante, le serveur termine l’exécution du jeton en cours d’exécution avant d’exécuter le jeton suivant dans la file d’attente.As a variant, when the execution rule of each hardware block Bi ..... B "stipulates that the hardware block B1 (..., Bn ends the execution of the task Ti, ..., Tn in progress. Before executing the next task Ti, ..., T ", the server completes execution of the running token before executing the next token in the queue.

En outre, le temps d’exécution relatif à chaque jeton permet de définir la durée de transit du jeton dans le serveur. En effet, la sortie du jeton, du serveur modélisant le bloc matériel Bi.....Bn associé au jeton, est provoquée lorsque la durée totale passée par le jeton dans le serveur moins la durée éventuelle durant laquelle l’exécution du jeton est interrompue, est égale au temps d’exécution du jeton.In addition, the execution time relative to each token allows to define the duration of transit of the token in the server. Indeed, the output of the token, the server modeling the hardware block Bi ..... Bn associated with the token, is caused when the total time spent by the token in the server minus the possible duration during which the execution of the token is interrupted, is equal to the running time of the token.

Une telle modélisation du premier modèle 12 par le deuxième modèle 40 est dite « modélisation à évènements discrets ».Such modeling of the first model 12 by the second model 40 is called "discrete event modeling".

Dans le premier exemple décrit précédemment, chaque bloc matériel Bi, B2 est modélisé par un serveur et chaque tâche Ti, T2, T3, T4 est modélisée par un jeton. Les générateurs de jetons associés aux tâches Τ·ι, T2, T3 sont dits périodiques car de tels générateurs génèrent périodiquement l’activation d’un jeton correspondant auxdites tâches Tu T2, T3. Le générateur de jetons associé à la quatrième tâche T4 génère un jeton correspondant à la quatrième tâche T4 lorsque la première tâche T-, est exécutée.In the first example described above, each hardware block Bi, B2 is modeled by a server and each task Ti, T2, T3, T4 is modeled by a token. The token generators associated with the tasks Τ · ι, T2, T3 are called periodic because such generators periodically generate the activation of a token corresponding to said tasks T2, T3. The token generator associated with the fourth task T4 generates a token corresponding to the fourth task T4 when the first task T- is executed.

Dans le premier exemple, la file d’attente associée à chaque serveur est propre à classer les jetons modélisant les tâches associées audit serveur par ordre croissant de l’instant d’activation desdites tâches. Par exemple, si la première tâche Ή est activée avant la deuxième tâche T2, la première tâche Ή sera placée, dans la file d’attente du serveur modélisant le premier bloc matériel avant la deuxième tâche T2.In the first example, the queue associated with each server is able to classify the tokens modeling the tasks associated with said server in ascending order of the activation time of said tasks. For example, if the first task Ή is activated before the second task T2, the first task Ή will be placed in the queue of the server modeling the first hardware block before the second task T2.

Dans le premier exemple, lorsque le serveur modélisant le premier bloc matériel Bi commence l’exécution du jeton modélisant la deuxième tâche T2 et qu’un jeton modélisant la première tâche de priorité supérieure à la deuxième tâche T2, est placé dans la file d’attente dudit serveur, le serveur met en attente le jeton modélisant la deuxième tâche T2 pour exécuter en premier le jeton modélisant la première tâche Ti. Dans ce cas, la durée entre l’entrée du jeton modélisant la deuxième tâche T2 dans ledit serveur et la sortie dudit jeton dudit serveur est égale à la somme du temps d’exécution de la deuxième tâche T2 et de la durée d’interruption de l’exécution du jeton modélisant la deuxième tâche T2.In the first example, when the server modeling the first hardware block Bi begins the execution of the token modeling the second task T2 and a token modeling the first task of higher priority than the second task T2, is placed in the queue. waiting for said server, the server puts on hold the token modeling the second task T2 to execute first the token modeling the first task Ti. In this case, the duration between the entry of the token modeling the second task T2 in said server and the output of said token of said server is equal to the sum of the execution time of the second task T2 and the interruption duration of running the token modeling the second task T2.

Dans le premier exemple, lorsque le serveur modélisant le deuxième bloc matériel B2 commence l’exécution du jeton modélisant la quatrième tâche T4 et qu’un jeton modélisant la troisième tâche T3, de priorité supérieure à la quatrième tâche T4, est placé dans la file d’attente dudit serveur, le serveur termine l’exécution du jeton modélisant la quatrième tâche T4 avant d’exécuter le jeton modélisant la troisième tâche T3. Dans ce cas, la durée entre l’entrée du jeton modélisant la quatrième tâche T4 dans ledit serveur et la sortie dudit jeton dudit serveur est égale au temps d'exécution de la quatrième tâche T4.In the first example, when the server modeling the second hardware block B2 begins execution of the token modeling the fourth task T4 and a token modeling the third task T3, higher priority than the fourth task T4, is placed in the queue waiting for said server, the server completes the execution of the token modeling the fourth task T4 before executing the token modeling the third task T3. In this case, the duration between the entry of the token modeling the fourth task T4 in said server and the output of said token of said server is equal to the execution time of the fourth task T4.

La figure 3 illustre un autre exemple d’un premier modèle 12 modélisé par un deuxième modèle 40. Sur cette figure 3, des générateurs de jetons 50A, 50B, 50C génèrent des jetons 52A, 52B, 52C, 52D. Les jetons 52A, 52B sont ordonnés dans une file d’attente 54 avant d’entrer dans un serveur 56 pour être exécutés. Le jeton 52C est en cours d’exécution dans le serveur 56. Le jeton 52D a déjà été exécuté. L’exécution du jeton 52D est l’évènement déclencheur du générateur de jetons 50C.FIG. 3 illustrates another example of a first model 12 modeled by a second model 40. In this FIG. 3, token generators 50A, 50B, 50C generate tokens 52A, 52B, 52C, 52D. Tokens 52A, 52B are ordered in a queue 54 before entering a server 56 to execute. The 52C token is running in the server 56. The 52D token has already been executed. The execution of the token 52D is the triggering event of the token generator 50C.

Le procédé d’évaluation comprend une étape 140 d’évaluation du temps de traitement de chaque tâche Tn.The evaluation method includes a step 140 of evaluating the processing time of each task Tn.

Le temps de traitement de chaque tâche T1,..., Tn est égal à la durée entre l’instant de génération du jeton modélisant la tâche Tn par le générateur de jetons et l’instant de sortie dudit jeton du serveur modélisant le bloc matériel B!,..., Bn associé à la tâche T1.....Tn correspondant au jeton.The processing time of each task T1,..., Tn is equal to the duration between the generation moment of the token modeling the task Tn by the token generator and the time of output of the said token of the server modeling the hardware block. B!, ..., Bn associated with the task T1 ..... Tn corresponding to the token.

Le temps de traitement est donc égal à la somme de la durée entre l’instant de génération du jeton modélisant la tâche Ti.....Tn par le générateur de jetons et l’instant d’entrée du jetons dans le générateur de jetons et de la durée de transit du jeton dans le générateur de jetons, la durée de transit étant égale à la somme du temps d’exécution du jeton et de la durée éventuelle durant laquelle l’exécution du jeton est interrompue.The processing time is therefore equal to the sum of the duration between the generation moment of the token modeling the task Ti ..... Tn by the token generator and the moment of entry of the chips into the chip generator and the duration of transit of the token in the token generator, the transit time being equal to the sum of the execution time of the token and the possible duration during which the execution of the token is interrupted.

Dans le premier exemple, le temps de traitement de chaque tâche T1( T2, T3, T4 est égal à la somme de la durée entre l’instant de génération du jeton modélisant ladite tâche et l’entrée du jeton dans le serveur correspondant et de la durée de transit du jeton dans le serveur. Pour la première tâche la troisième tâche T3 et la quatrième tâche T4, le temps de transit est égal au temps d’exécution de ladite tâche. Pour la deuxième tâche T2, le temps de transit est égal à la somme du temps d’exécution de la deuxième tâche T2 et de la durée durant laquelle l’exécution du jeton dans le serveur est interrompue du fait de la présence de la première tâche de priorité supérieure, dans la file d’attente correspondante.In the first example, the processing time of each task T1 (T2, T3, T4 is equal to the sum of the duration between the moment of generation of the token modeling said task and the entry of the token in the corresponding server and of the transit time of the token in the server For the first task the third task T3 and the fourth task T4, the transit time is equal to the execution time of said task For the second task T2, the transit time is equal to the sum of the execution time of the second task T2 and the duration during which the execution of the token in the server is interrupted because of the presence of the first task of higher priority, in the corresponding queue .

Le procédé comprend également une étape 150 de calcul du temps de réponse de chaque composant du premier modèle 12.The method also comprises a step 150 for calculating the response time of each component of the first model 12.

Le temps de réponse de chaque composant du premier modèle 12 est défini comme la somme des temps de traitement de chaque tâche Ti,..., Tn dudit composant sur les blocs matériels .....Bn associés à la tâche ^,..., Tn.The response time of each component of the first model 12 is defined as the sum of the processing times of each task Ti, ..., Tn of said component on the hardware blocks ..... Bn associated with the task ^, .. ., Tn.

Ainsi, le concept de modélisation à évènements discrets permet de déterminer avec précision les dates à laquelle surviennent des évènements tels que la création de jetons, l’arrivée de jetons dans une file d’attente, la sortie de jetons d’une file d’attente, l’entrée de jetons dans un serveur ou encore la sortie de jetons du serveur.Thus, the concept of discrete event modeling makes it possible to precisely determine the dates at which events such as the creation of tokens, the arrival of tokens in a queue, the output of tokens of a queue, occur. waiting, the entry of tokens in a server or the output of tokens of the server.

De ce fait, le deuxième modèle 40 obtenu à la suite d’un tel procédé de détermination permet d’évaluer de manière simple, fiable et rapide le temps de traitement des tâches Ti.....Tn du premier modèle 12 par les blocs matériels Bi,..., Bn du premier modèle 12, ce qui permet d'en déduire le temps de réponse de chaque composant du premier modèle 12.As a result, the second model 40 obtained as a result of such a determination method makes it possible to evaluate in a simple, reliable and rapid manner the processing time of the tasks Ti ..... Tn of the first model 12 by the blocks Bi, ..., Bn material of the first model 12, which allows to deduce the response time of each component of the first model 12.

Claims (10)

REVENDICATIONS 1.- Procédé d’évaluation d’un temps de traitement de tâches (T·],..., Tn) par des blocs matériels (B-i..... Bn), les tâches (Ti.....Tn) étant propres à être activées et à s’exécuter sur les blocs matériels Bn), le temps de traitement de chaque tâche (T 1,j Tn) étant la durée entre l’instant d’activation de la tâche (T,,..., Tn) et l’instant de fin d’exécution de la tâche (Tt,..., Tn), le procédé comprenant les étapes suivantes : - la fourniture d’un premier modèle (12) comprenant : o un ensemble de tâches (Tt.....Tn), 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, o un ensemble de blocs matériels (Bt.....Bn), chaque bloc matériel (Bi.....Bn) étant associé à au moins une tâche (Tt.....Tn) et propre à exécuter ladite tâche (Tτ,.. ·, Tn) conformément à une règle d’exécution dudit bloc matériel (Bi,...,Bn), o une politique d’ordonnancement des tâches (T|.....Tn), la politique d’ordonnancement des tâches (Τί,..., Tn) définissant un ordre de début d’exécution des tâches (T ......Tn) sur chaque bloc matériel (Bi.....B„), - la fourniture d’un temps d’exécution de chaque tâche (Tt,..., Tn) sur le bloc matériel (B1t..., Bn) associé à la tâche (Ti,...,Tn) considérée, le temps d’exécution de chaque tâche (Tt,..., T„) étant la durée entre l’instant de début d’exécution de la tâche (Tt Tn) sur le bloc matériel (Bt.....Bn) associé et l’instant de fin d’exécution de la tâche (Tt T„) sur le bloc matériel (Bt.....Bn) associé moins la durée éventuelle durant laquelle l’exécution de ladite tâche (Ττ,...,Τη) est interrompue sur le bloc matériel (Bt.....Bn) considéré, - l'extraction de la règle d’exécution de chaque bloc matériel (Bt..... Bn), des paramètres d’activation de chaque tâche (Tt,..., Tn) et de la politique d'ordonnancement des tâches (Tt,..., Tn) du premier modèle (12), - la détermination d’un deuxième modèle (40) à partir de la règle d’exécution extraite pour chaque bloc matériel (Bt,..., Bn), des paramètres d’activation extraits, de la politique d’ordonnancement extraite et du temps d’exécution fourni, le deuxième modèle (40) comprenant les éléments suivants : o un jeton modélisant chaque tâche (Tt,..., Tn) activée du premier modèle (12), le jeton étant défini par le temps d’exécution fourni de la tâche (Τι,..., Τη) sur le bloc matériel (Βτ..... Bn) associé à la tâche (T1t..., Tn) considérée, o un générateur de jetons pour chaque tâche (T,.....Tn) du premier modèle (12), le générateur de jetons ayant pour entrée les paramètres d’activation extraits de la tâche .....Tn) et pour sortie le jeton modélisant la tâche (T ......Tn) activée, o une file d’attente pour chaque bloc matériel (B!,..., Bn), chaque file d’attente ayant pour entrée les jetons modélisant les tâches (Τί.....Tn) associées au bloc matériel (Bi.....Bn) et pour sortie lesdits jetons ordonnés selon un ordre établi en fonction de la politique d’ordonnancement extraite, o un serveur modélisant chaque bloc matériel (B!,..., Bn), chaque serveur ayant pour entrée chaque jeton de la file d’attente du bloc matériel ^.....Bn) et pour sortie chaque jeton de la file d’attente exécuté selon la règle d’exécution extraite dudit bloc matériel (Bi,..., Bn) et en fonction du temps d’exécution relatif à chaque jeton, et - l’évaluation du temps de traitement de chaque tâche (T1.....T„), le temps de traitement de chaque tâche (Ti.....Tn) étant égale à la durée entre l’instant de génération du jeton modélisant la tâche (Ti,..., Tn) par le générateur de jetons et la sortie dudit jeton dans le serveur modélisant le bloc matériel (Bî.....Bn) associé à la tâche (T|.....Tn).1.- Method for evaluating a task processing time (T ·), ..., Tn) by material blocks (Bi ..... Bn), tasks (Ti ..... Tn ) being able to be activated and to execute on the material blocks Bn), the processing time of each task (T 1, j Tn) being the duration between the activation time of the task (T ,,. .., Tn) and the time of completion of the task (Tt, ..., Tn), the method comprising the following steps: - providing a first model (12) comprising: o a set of tasks (Tt ..... Tn), each task (T-ι, ..., Tn) being a function transforming at least one input into at least one output result, the function being an activatable instruction sequence by receiving input activation parameters, o a set of hardware blocks (Bt ..... Bn), each hardware block (Bi ..... Bn) being associated with at least one task (Tt .. ... Tn) and adapted to perform said task (Tτ, .. ·, Tn) conforméme nt to a rule of execution of said material block (Bi, ..., Bn), o a scheduling policy of tasks (T | ..... Tn), the task scheduling policy (Τί ,. .., Tn) defining a start order of execution of the tasks (T ...... Tn) on each hardware block (Bi ..... B "), - the provision of an execution time of each task (Tt, ..., Tn) on the material block (B1t ..., Bn) associated with the task (Ti, ..., Tn) considered, the execution time of each task (Tt, ..., T ") being the time between the start of execution of the task (Tt Tn) on the associated hardware block (Bt ..... Bn) and the end of execution time of the task (Tt T ") on the associated hardware block (Bt ..... Bn) minus the possible duration during which the execution of said task (Ττ, ..., Τη) is interrupted on the hardware block (Bt) ..... Bn) considered, - the extraction of the execution rule of each material block (Bt ..... Bn), the active parameters of each task (Tt, ..., Tn) and the task scheduling policy (Tt, ..., Tn) of the first model (12), - the determination of a second model (40) to from the extraction rule extracted for each material block (Bt, ..., Bn), extracted activation parameters, the extracted scheduling policy and the execution time provided, the second model (40) comprising the following elements: a token modeling each task (Tt, ..., Tn) activated of the first model (12), the token being defined by the provided execution time of the task (Τι, ..., Τη ) on the material block (Βτ ..... Bn) associated with the task (T1t ..., Tn) considered, o a generator of tokens for each task (T, ..... Tn) of the first model ( 12), the token generator having for input the activation parameters extracted from the task ..... Tn) and for output the token modeling the task (T ...... Tn) activated, o a queue of waiting for each blo c hardware (B!, ..., Bn), each queue having as input the chips modeling tasks (Τί ..... Tn) associated with the hardware block (Bi ..... Bn) and for outputting said ordered tokens according to an order established according to the extracted scheduling policy, o a server modeling each hardware block (B1, ..., Bn), each server having for input each token of the queue of the hardware block ^ ..... Bn) and for output each token of the queue executed according to the execution rule extracted from said material block (Bi, ..., Bn) and as a function of the relative execution time to each token, and - the evaluation of the processing time of each task (T1 ..... T "), the processing time of each task (Ti ..... Tn) being equal to the duration between generation moment of the token modeling the task (Ti, ..., Tn) by the token generator and the output of said token in the server modeling the hardware block (B 1 ..... Bn) associated with the t steppe (T | ..... Tn). 2. - Procédé selon la revendication 1, dans lequel la règle d’exécution de chaque bloc matériel (Bi,..., Bn) conditionne la fin de l’exécution de la tâche (Ti.....Tn) en cours d’exécution en fonction de la tâche (T! Tn) suivante.2. - Method according to claim 1, wherein the rule of execution of each material block (Bi, ..., Bn) conditions the end of the execution of the task (Ti ..... Tn) in progress execution according to the following task (T! Tn). 3. - Procédé selon la revendication 2, dans lequel chaque tâche (T).....Tn) est associée à une priorité d’exécution, la règle d’exécution de chaque bloc matériel (Bt.....Bn) stipule que le bloc matériel (B1(..., Bn) compare à tout instant la priorité de la tâche (^,..., Tn) en cours d’exécution avec la priorité de la tâche .....Tn) suivante selon la file d’attente et met en attente la tâche Tn) en cours d’exécution pour exécuter la tâche (Tî,..., Tn) suivante lorsque la tâche (^,..., Tn) suivante a une priorité d’exécution supérieure à la tâche (Ti,..., T„) en cours d’exécution.3. - Method according to claim 2, wherein each task (T) ..... Tn) is associated with an execution priority, the execution rule of each material block (Bt ..... Bn). stipulates that the hardware block (B1 (..., Bn) compares at any moment the priority of the task (^, ..., Tn) running with the priority of the task ..... Tn) next depending on the queue and queues the running task Tn) to execute the next task (Ti, ..., Tn) when the next task (^, ..., Tn) has priority execution superior to the task (Ti, ..., T ") being executed. 4. - Procédé selon la revendication 2, dans lequel la règle d’exécution de chaque bloc matériel (Bî.....Bn) stipule que le bloc matériel (Bi,..., Bn) termine l’exécution de la tâche (Tt,..., Tn) en cours d’exécution avant d’exécuter la tâche (Ti.....Tn) suivante.4. - Method according to claim 2, wherein the rule of execution of each material block (Bî ..... Bn) states that the material block (Bi, ..., Bn) finishes the execution of the task (Tt, ..., Tn) running before executing the next task (Ti ..... Tn). 5. - Procédé selon l’une quelconque des revendications 1 à 4 dans lequel, chaque file d’attente comprend un nombre maximum de jetons acceptables en entrée.5. - Method according to any one of claims 1 to 4 wherein, each queue comprises a maximum number of acceptable chips input. 6. - Procédé selon l’une quelconque des revendications 1 à 5, dans lequel la politique d’ordonnancement consiste à ordonner entre elles les tâches (Τ-ι,..., Tn) activées et associées à un même bloc matériel (Bi..... Bn), par ordre croissant de l’instant d’activation desdites tâches {Ti.....Tn).6. - Method according to any one of claims 1 to 5, wherein the scheduling policy consists of ordering between them the tasks (Τ-ι, ..., Tn) activated and associated with the same hardware block (Bi ..... Bn), in ascending order of the instant of activation of said tasks {Ti ..... Tn). 7. - Procédé selon l’une quelconque des revendications 1 à 5, dans lequel chaque tâche (Ti,..., Tn) est associée à une priorité d’exécution, la politique d’ordonnancement consiste à ordonner entre elles les tâches (T ......Tn) activées et associées à un même bloc matériel (B1;..., Bn) suivant la priorité d’exécution associée à chacune desdites tâches (Τ·ι.....Tn).7. - Method according to any one of claims 1 to 5, wherein each task (Ti, ..., Tn) is associated with a priority of execution, the scheduling policy consists in ordering between them the tasks ( T ...... Tn) activated and associated with the same hardware block (B1; ..., Bn) according to the execution priority associated with each of said tasks (Τ · ι ..... Tn). 8. - Procédé selon l'une quelconque des revendications 1 à 7, dans lequel la durée entre l’entrée de chaque jeton dans le serveur correspondant et la sortie du jeton du serveur est égale à la somme du temps d’exécution du jeton et de la durée éventuelle durant laquelle l’exécution du jeton est interrompue.8. - Method according to any one of claims 1 to 7, wherein the duration between the entry of each token in the corresponding server and the output of the server token is equal to the sum of the execution time of the token and the possible duration during which the execution of the token is interrupted. 9. - Ensemble d’évaluation d’un temps de traitement de tâches (T|.....Tn) par des blocs matériels (Bt..... Bn), les tâches (Ti,..., Tn) étant propres à être activées et à s’exécuter sur les blocs matériels (B^..., Bn), le temps de traitement de chaque tâche (Ti,..., Tn) étant la durée entre l’instant d’activation de la tâche (T! Tn) et l’instant de fin d’exécution de la tâche (^,..., Tn), l’ensemble comprenant : - un premier modèle (12) comprenant : o un ensemble de tâches (T1(..., Tn), 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, o un ensemble de blocs matériels (B!,..., Bn), chaque bloc matériel (Βί,..., Bn) étant associé à au moins une tâche Tn) et propre à exécuter ladite tâche (T·!,..., Tn) conformément à une règle d’exécution dudit bloc matériel (B1t. · , Bn), o une politique d’ordonnancement des tâches Tn), la politique d’ordonnancement des tâches (^,..., Tn) définissant un ordre de début d’exécution des tâches Tn) sur chaque bloc matériel (Bi.....Bn), - un fichier comprenant un temps d’exécution de chaque tâche (T-ι,..., Tn) sur le bloc matériel ^.....Bn) associé à la tâche (Ή.....Tn) considérée, le temps d’exécution de chaque tâche (T^..., Tn) étant la durée entre l’instant de début d’exécution de la tâche (T! Tn) sur le bloc matériel (B-ι,..., Bn) associé et l’instant de fin d’exécution de la tâche Tn) sur le bloc matériel (B1t..., Bn) associé moins la durée éventuelle durant laquelle l’exécution de ladite tâche (Ti,..., Tn) est interrompue, - un produit programme d'ordinateur comportant des instructions logicielles, les instructions logicielles mettant en œuvre au moins les étapes d’extraction, de détermination et d’évaluation du procédé selon l’une quelconque des revendications 1 à 8, lorsque les instructions logicielles sont exécutées par un ordinateur.9. - Evaluation set of a task processing time (T | ..... Tn) by material blocks (Bt ..... Bn), tasks (Ti, ..., Tn) being adapted to be activated and to execute on the hardware blocks (B ^ ..., Bn), the processing time of each task (Ti, ..., Tn) being the duration between the instant of activation of the task (T! Tn) and the time of completion of the task (^, ..., Tn), the set comprising: - a first model (12) comprising: o a set of tasks ( T1 (..., Tn), each task (T] Tn) being a function transforming at least one input into at least one output result, the function being an instruction sequence activatable by the reception of activation parameters in input, o a set of hardware blocks (B!, ..., Bn), each hardware block (Βί, ..., Bn) being associated with at least one task Tn) and able to execute said task (T ·! , ..., Tn) according to a rule of execution of said material block el (B1t. ·, Bn), o a task scheduling policy Tn), the task scheduling policy (^, ..., Tn) defining a start order of execution of the tasks Tn) on each hardware block (Bi ..... Bn), - a file including a running time of each task (T-ι, ..., Tn) on the hardware block ^ ..... Bn) associated with the task (Ή ..... Tn) considered, the execution time of each task (T ^ ..., Tn) being the duration between the start time of execution of the task (T! Tn) on the associated hardware block (B-ι, ..., Bn) and the end time of the task Tn) on the associated hardware block (B1t ..., Bn) minus the possible duration during the execution of said task (Ti, ..., Tn) is interrupted, - a computer program product comprising software instructions, the software instructions implementing at least the extraction, determination and evaluation steps. evaluation of the method according to any one of claims 1 to 8, when the software instructions are executed by a computer. 10.- Support d’informations sur lequel est mémorisé le produit programme d’ordinateur de l’ensemble selon la revendication 9.10. An information carrier on which is stored the computer program product of the assembly according to claim 9.
FR1601011A 2016-06-27 2016-06-27 METHOD FOR EVALUATING A TIME OF TREATMENT OF TASKS MODELIZED BY TOKENS Pending FR3053143A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1601011A FR3053143A1 (en) 2016-06-27 2016-06-27 METHOD FOR EVALUATING A TIME OF TREATMENT OF TASKS MODELIZED BY TOKENS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1601011A FR3053143A1 (en) 2016-06-27 2016-06-27 METHOD FOR EVALUATING A TIME OF TREATMENT OF TASKS MODELIZED BY TOKENS

Publications (1)

Publication Number Publication Date
FR3053143A1 true FR3053143A1 (en) 2017-12-29

Family

ID=57348729

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1601011A Pending FR3053143A1 (en) 2016-06-27 2016-06-27 METHOD FOR EVALUATING A TIME OF TREATMENT OF TASKS MODELIZED BY TOKENS

Country Status (1)

Country Link
FR (1) FR3053143A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2787587A1 (en) * 1998-12-18 2000-06-23 Sextant Avionique Method for real time reconfiguration of trajectories for aircraft includes detection of disturbing event, analysis and display of new trajectory and transmission to automatic pilot if pilot validates

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2787587A1 (en) * 1998-12-18 2000-06-23 Sextant Avionique Method for real time reconfiguration of trajectories for aircraft includes detection of disturbing event, analysis and display of new trajectory and transmission to automatic pilot if pilot validates

Similar Documents

Publication Publication Date Title
CN108073519B (en) Test case generation method and device
US10002133B2 (en) Automated dynamic reprioritization of presentation materials
US20170083846A1 (en) Managing a project
US8484060B2 (en) Project estimating system and method
US11562199B2 (en) System for interpreting and managing imprecise temporal expressions
EP3506104A1 (en) Coverage test support device and coverage test support method
CN105378668B (en) The interruption of operating system management in multicomputer system guides
CN105446795A (en) Parallelization in virtual machine operation
CN106663191B (en) System and method for classifying pixels
EP3113022A1 (en) Batch-processing scheduling mechanism
US10430802B2 (en) Screen-image based classification
US20150019298A1 (en) Estimating path information in business process instances when path information influences decision
US20220327452A1 (en) Method for automatically updating unit cost of inspection by using comparison between inspection time and work time of crowdsourcing-based project for generating artificial intelligence training data
CN113626333A (en) Automatic interface testing method and device
CN109213729A (en) As a result the case management driven
FR2965947A1 (en) METHOD AND APPARATUS FOR SCHEDULING SEMI-PERIODIC TASKS IN A REAL-TIME MULTI-THROUGH SYSTEM
FR3053143A1 (en) METHOD FOR EVALUATING A TIME OF TREATMENT OF TASKS MODELIZED BY TOKENS
CN115391004A (en) Task scheduling system, method and device and electronic equipment
US20160004982A1 (en) Method and system for estimating the progress and completion of a project based on a bayesian network
CN110663051A (en) Computerized system and method for resolving cross-vehicle dependencies in vehicle scheduling
US20190370675A1 (en) Methods, systems and apparatus to improve deep learning resource efficiency
CN111679924B (en) Reliability simulation method and device for componentized software system and electronic equipment
EP3343375B1 (en) A method and a system for monitoring batch processing of applications executed in it infrastructure
CN109543006B (en) Quality control method and device for corpus processing
FR3069678A1 (en) METHOD FOR EVALUATING A TIME OF EXECUTION OF TASKS ON MATERIAL BLOCKS

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20171229

PLFP Fee payment

Year of fee payment: 3

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