FR3053143A1 - Procede d'evaluation d'un temps de traitement de taches modelisees par des jetons - Google Patents
Procede d'evaluation d'un temps de traitement de taches modelisees par des jetons Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, 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.
Description
Procédé d’évaluation d’un temps de traitement de tâches modélisées par des jetons
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Les blocs matériels Bi,..., Bn sont, par exemple, des processeurs et/ou des bus de données.
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.
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).
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âches
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.
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).
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.
Le module de traitement 20, est de préférence, un ordinateur.
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.
Le module de traitement 20 est en interaction avec le premier modèle 12, le fichier 16 est le produit programme d’ordinateur 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.
Le produit programme d’ordinateur 22 comprend un support d’informations 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.
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.
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.
Initialement, le procédé d’évaluation comprend une étape 100 de fourniture du premier modèle 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.
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.
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.
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.
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.
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.
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.
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.
Le procédé d’évaluation comprend une étape 130 de détermination d’un deuxième modèle 40, illustré sur la figure 1.
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.
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„.
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.
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.
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.
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é.
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.
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.
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.
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.
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.
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é.
En variante, le nombre maximum de jetons acceptables en entrée est infini.
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.
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.
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.
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.
Une telle modélisation du premier modèle 12 par le deuxième modèle 40 est dite « modélisation à évènements discrets ».
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.
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.
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.
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.
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.
Le procédé d’évaluation comprend une étape 140 d’évaluation du temps de traitement de chaque tâche 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.
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.
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.
Le procédé comprend également une étape 150 de calcul du temps de réponse de chaque composant du premier modèle 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.
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.
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.
Claims (10)
- REVENDICATIONS1.- 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).
- 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.
- 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.
- 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.
- 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.
- 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).
- 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).
- 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.
- 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.
- 10.- Support d’informations sur lequel est mémorisé le produit programme d’ordinateur de l’ensemble selon la revendication 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1601011A FR3053143A1 (fr) | 2016-06-27 | 2016-06-27 | Procede d'evaluation d'un temps de traitement de taches modelisees par des jetons |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1601011A FR3053143A1 (fr) | 2016-06-27 | 2016-06-27 | Procede d'evaluation d'un temps de traitement de taches modelisees par des jetons |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3053143A1 true FR3053143A1 (fr) | 2017-12-29 |
Family
ID=57348729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1601011A Pending FR3053143A1 (fr) | 2016-06-27 | 2016-06-27 | Procede d'evaluation d'un temps de traitement de taches modelisees par des jetons |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3053143A1 (fr) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2787587A1 (fr) * | 1998-12-18 | 2000-06-23 | Sextant Avionique | Procede pour l'elaboration en temps reel de trajectoires pour un aeronef |
-
2016
- 2016-06-27 FR FR1601011A patent/FR3053143A1/fr active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2787587A1 (fr) * | 1998-12-18 | 2000-06-23 | Sextant Avionique | Procede pour l'elaboration en temps reel de trajectoires pour un aeronef |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10002133B2 (en) | Automated dynamic reprioritization of presentation materials | |
US8484060B2 (en) | Project estimating system and method | |
US11562199B2 (en) | System for interpreting and managing imprecise temporal expressions | |
EP3506104A1 (fr) | Dispositif et procédé de support de test de couverture | |
CN105378668B (zh) | 多处理器***中的操作***管理的中断引导 | |
CN105446795A (zh) | 虚拟机操作中的并行化 | |
CN106663191B (zh) | 用于对像素进行分类的***和方法 | |
EP3113022A1 (fr) | Mécanisme d ordonnancement de traitement par lot | |
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 | |
CN109213729A (zh) | 结果驱动的案例管理 | |
CN110955548A (zh) | 数据处理方法及装置 | |
CN110888628A (zh) | 生成控制工具的方法、装置、设备和存储介质 | |
CN113626333A (zh) | 一种接口自动化测试方法及装置 | |
CN111028053B (zh) | 一种订单处理的方法、装置、电子设备及存储介质 | |
FR2965947A1 (fr) | Procede et dispositif d'ordonnancement de taches semi-periodiques dans un systeme multitache temps reel | |
FR3053143A1 (fr) | Procede d'evaluation d'un temps de traitement de taches modelisees par des jetons | |
CN110663051B (zh) | 解决车辆调度中的跨车辆依赖性的计算机化***和方法 | |
CN115391004A (zh) | 一种任务编排调度***、方法、装置及电子设备 | |
KR101674324B1 (ko) | 실시간 제어 응용에 적용되는 태스크 스케쥴링 장치 및 방법 | |
US20190370675A1 (en) | Methods, systems and apparatus to improve deep learning resource efficiency | |
CN111679924B (zh) | 构件化软件***可靠性仿真方法、装置及电子设备 | |
EP3343375B1 (fr) | Procédé et système de surveillance de traitements par lots d'applications exécutées dans une infrastructure informatique | |
CN109614066B (zh) | 信息显示方法及装置 | |
CN109543006B (zh) | 用于语料处理的质量控制方法及装置 | |
FR3069678A1 (fr) | Procede d'evaluation d'un temps d'execution de taches sur des blocs materiels |
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 |