FR 3053143 A1 20171229 FR 1601011 A 20160627 1 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 3053143 2 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 5 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 10 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é 15 à 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 20 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 25 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 30 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 35 politique d'ordonnancement extraite, 3053143 3 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 5 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. 10 Suivant des modes de mise oeuvre 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. 15 - 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. 20 - 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 25 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. 30 - 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 à 35 s'exécuter sur les blocs matériels, le temps de traitement de chaque tâche étant la durée 3053143 4 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 5 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 10 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 15 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 20 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 apparaitront à la lecture de la 25 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 oeuvre d'un procédé d'évaluation d'un temps de traitement de tâches par des blocs matériels, 30 - 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 T1,..., sur des 35 blocs matériels B1,..., Br, est illustré sur la figure 1. 3053143 5 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. 5 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 10 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 15 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 Tn, un ensemble de blocs matériels B1,..., Bn et une politique d'ordonnancement des tâches Tn. 20 Chaque tâche T1,..., T,, 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 oeuvre 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 25 é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 T1,..., T, 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 Tn. 30 Chaque bloc matériel B1,..., Bn est associé à au moins une tâche T1,..., T, du premier modèle 12. Chaque bloc matériel B1,..., Bn est propre à exécuter la ou les tâches 1-, auquel ledit bloc matériel B1,..., Bn est associé conformément à une règle d'exécution dudit bloc matériel B1,..., Bn. La règle d'exécution de chaque bloc matériel B1,..., Bn conditionne la fin de 35 l'exécution de la tâche T1,..., Tn en cours d'exécution en fonction de la tâche T1,..., Tn suivante. 3053143 6 En particulier, lorsque chaque tâche T1,..., T, est associée à une priorité d'exécution, la règle d'exécution de chaque bloc matériel B1,..., B, stipule, par exemple, que le bloc matériel B1,..., Bn compare la priorité de la tâche T, en cours d'exécution avec la priorité de la tâche T1,..., 1-, suivante et met en attente la tâche T1,..., Tn en cours 5 d'exécution pour exécuter la tâche T1,..., Tn suivante, lorsque la tâche Tn suivante a une priorité d'exécution supérieure à la tâche T1,..., Tn en cours d'exécution. Dans un autre exemple, la règle d'exécution de chaque bloc matériel B1,..., Br, stipule que le bloc matériel B1,..., B, termine l'exécution de la tâche Tr, en cours d'exécution avant d'exécuter la tâche T1,..., T' suivante. 10 Les blocs matériels B1,..., Bn sont, par exemple, des processeurs et/ou des bus de données. La politique d'ordonnancement des tâches T1,..., Tn définit un ordre d'exécution des tâches T1,..., Tr, associées à un même bloc matériel B1,..., Bn. Par exemple, la politique d'ordonnancement consiste à ordonner entre elles les 15 tâches T1,..., Tr, activées et associées à un même bloc matériel B1,..., Bn, par ordre croissant de l'instant d'activation desdites tâches T1,..., 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 Tn est associée à une priorité d'exécution, 20 la politique d'ordonnancement consiste, par exemple, à ordonner entre elle les tâches T1,..., T, activées et associées à un même bloc matériel B1,..., Br, suivant la priorité d'exécution associée à chaque desdites tâches 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, 25 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 T1,..., Tn du premier modèle 12 sur le bloc matériel B1,..., Bn associé à la tâche T1,..., T, considérée. Le temps d'exécution de chaque tâche T1,..., Tn est la durée entre l'instant de début d'exécution de la tâche T1,..., T, sur le bloc matériel B1,..., Bn associé et l'instant de fin d'exécution de la 30 tâche T1,..., 1-, sur le bloc matériel B1,..., B,, associé moins la durée éventuelle durant laquelle l'exécution de la tâche T1,..., 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 35 é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 3053143 7 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. 5 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. 10 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 15 (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 20 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 oeuvre du procédé d'évaluation d'un temps de traitement de tâches T1,..., Ti, par des blocs matériels B1,..., Bn lorsque le programme d'ordinateur 22 est mis en oeuvre sur l'unité de traitement 26. 25 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 30 matériels B1, B2 et trois tâches T1, T2, T3, T4. Les blocs matériels B1, B2 sont des processeurs. Les première et deuxième tâches T1, T2 sont propres à s'exécuter sur le premier bloc matériel B1. Les troisième et quatrième tâche T3, T4 sont 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 35 temps d'exécution de chaque tâche T1,..., Tn du premier modèle 12 sur le bloc matériel B1,..., Bn du premier modèle 12 associé à la tâche T, considérée. 3053143 8 Dans le premier exemple décrit précédemment, le temps d'exécution de la première tâche T1, respectivement de la deuxième tâche T2, sur le premier bloc matériel B1 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 5 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 B1,..., Bn, des paramètres d'activation de chaque tâche Tr, et de la politique d'ordonnancement des tâches T1,..., T,, du premier modèle 12. 10 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 T1,..., T, et aux blocs matériels B1,..., Dans le premier exemple décrit précédemment, chaque tâche T1, T2, T3 est 15 associée à une priorité d'exécution. La priorité associée à la première tâche T1 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. 20 Dans le premier exemple, la règle d'exécution du premier bloc matériel B1 stipule que le premier bloc matériel B1 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 25 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 T1, 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 T1. 30 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. 3053143 9 Le deuxième modèle 40 est déterminé à partir de la règle d'exécution extraite pour chaque bloc matériel B1,..., 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 5 - 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 Tn du premier modèle 12, - une file d'attente pour chaque bloc matériel B1,..., Bn, et - un serveur modélisant chaque bloc matériel B1,..., Bn. Chaque jeton modélisant une tâche activée T1,..., Tn du premier modèle 12 est 10 défini par le temps d'exécution fourni de la tâche Tt-, sur le bloc matériel B1,..., B, associé à la tâche T1,..., Tn considérée. Chaque jeton est également défini par l'éventuelle priorité d'exécution associée à la tâche T1,..., T, 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 15 extraits de la tâche T1,..., Tr, et pour sortie un jeton modélisant la tâche T1,..., T, 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 T1,..., Tn associée au générateur de jetons est activée à la 20 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 T1,..., Tr, lorsque ledit évènement a lieu. En variante, si la tâche T1,..., Tr, 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 25 périodiquement les jetons associés à la tâche T1,..., Tn. La file d'attente de chaque bloc matériel B1,..., Br, a pour entrée les jetons modélisant les tâches T, associées au bloc matériel B1,..., Bn et pour sortie lesdits jetons ordonnés selon un ordre établi en fonction de la politique d'ordonnancement extraite. 30 Par exemple, lorsque la politique d'ordonnancement consiste à ordonner entre elles les tâches T1,..., T' activées associées à un même bloc matériel B1,..., B, par ordre croissant de l'instant d'activation desdits tâches T1,..., 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. 35 En variante, lorsque chaque tâche T1,..., 1E, est associée à une priorité d'exécution et que la politique d'ordonnancement consiste à ordonner entre elles les tâches Tn 3053143 10 activées et associées à un même bloc matériel 13, selon la priorité d'exécution associée à chacune desdites tâches 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 5 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 B1,..., Bn a pour entrée chaque jeton de la file d'attente correspondant au bloc matériel B1,..., Br, et pour sortie chaque jeton de 10 ladite file d'attente exécuté selon la règle d'exécution extraite dudit bloc matériel B1,..., 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 B1,..., Bn stipule que le bloc matériel B1,..., Bn met en attente la tâche T1,..., Tn en cours d'exécution pour exécuter la tâche Tn suivante lorsque la tâche T1,..., T, suivante a une priorité d'exécution 15 supérieure à la tâche T1,..., 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. 20 En variante, lorsque la règle d'exécution de chaque bloc matériel B1,..., B,, stipule que le bloc matériel B1,..., Bn termine l'exécution de la tâche T1,..., T, en cours d'exécution avant d'exécuter la tâche T1,..., Ti, 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 25 transit du jeton dans le serveur. En effet, la sortie du jeton, du serveur modélisant le bloc matériel B1,..., 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 30 « modélisation à évènements discrets ». Dans le premier exemple décrit précédemment, chaque bloc matériel B1, B2 est modélisé par un serveur et chaque tâche T1, T2, T3, T4 est modélisée par un jeton. Les générateurs de jetons associés aux tâches T1, T2, T3 sont dits périodiques car de tels générateurs génèrent périodiquement l'activation d'un jeton correspondant auxdites 35 tâches T1, 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 T1 est exécutée. 3053143 11 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 Ti est activée avant la deuxième tâche T2, la première tâche T1 sera placée, dans la file d'attente du 5 serveur modélisant le premier bloc matériel B1, avant la deuxième tâche T2. Dans le premier exemple, lorsque le serveur modélisant le premier bloc matériel 131 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 T,, 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 10 deuxième tâche T2 pour exécuter en premier le jeton modélisant la première tâche Tl. 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. 15 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 20 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 25 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 30 traitement de chaque tâche T1,..., 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 B1,..., 13, associé à la tâche T1,..., Tn correspondant au jeton. 35 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 T1,..., Tn par le générateur de jetons et l'instant 3053143 12 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 5 é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 T1, 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 10 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 T1, 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. 15 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 Tn dudit composant sur les blocs matériels B1,..., 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 20 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 Tri du premier modèle 12 par les blocs matériels B1,..., Br, du premier 25 modèle 12, ce qui permet d'en déduire le temps de réponse de chaque composant du premier modèle 12. REVENDICATIONS1.- Procédé d'évaluation d'un temps de traitement de tâches Tu) par des blocs matériels (B1,..., Bn), les tâches T,,) étant propres à être activées et à s'exécuter sur les blocs matériels (Bi,..., BO, le temps de traitement de chaque tâche (T1,..., Tn) étant la durée entre l'instant d'activation de la tâche (T1,..., Tn) et l'instant de fin d'exécution de la tâche (T1,..., Tu), le procédé comprenant les étapes suivantes : - la fourniture d'un premier modèle (12) comprenant : o un ensemble de tâches (T1,..., Tu), chaque tâche (T1,..., T,,) é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 (B1,..., Bu), chaque bloc matériel (B1,..., Bn) étant associé à au moins une tâche Tu) et propre à exécuter ladite tâche (T1,..., Tu) conformément à une règle d'exécution dudit bloc matériel (B1,..., Bu), o une politique d'ordonnancement des tâches Tu), la politique d'ordonnancement des tâches (T1,..., Tu) définissant un ordre de début d'exécution des tâches (T1,..., Tn) sur chaque bloc matériel (B1,..., Bn), - la fourniture d'un temps d'exécution de chaque tâche (T1,..., Tn) sur le bloc matériel (B1,..., Bu) associé à la tâche T') considérée, le temps d'exécution de chaque tâche Tu) étant la durée entre l'instant de début d'exécution de la tâche (T1,..., Tn) sur le bloc matériel (B1,..., Bu) associé et l'instant de fin d'exécution de la tâche (T1,..., Tn) sur le bloc matériel (B1,..., Bu) associé moins la durée éventuelle durant laquelle l'exécution de ladite tâche (T1,..., Tn) est interrompue sur le bloc matériel (B1,..., Bn) considéré, - l'extraction de la règle d'exécution de chaque bloc matériel (B1,..., Bu), des paramètres d'activation de chaque tâche (T1,..., Tri) et de la politique d'ordonnancement des tâches (T1,..., 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 (B1,..., 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 Tn) activée du premier modèle (12), le jeton étant défini par le temps d'exécution fourni de la tâche 3053143 14 (T1,..., Ta) sur le bloc matériel (B1,..., Bu) associé à la tâche (T1,..., Tn) considérée, o un générateur de jetons pour chaque tâche (T1,..., Tn) du premier modèle (12), le générateur de jetons ayant pour entrée les paramètres d'activation 5 extraits de la tâche Tri) et pour sortie le jeton modélisant la tâche (T1,..., Ta) activée, o une file d'attente pour chaque bloc matériel (B1,..., Bu), chaque file d'attente ayant pour entrée les jetons modélisant les tâches Ta) associées au bloc matériel (B1,..., Bu) et pour sortie lesdits jetons ordonnés selon un 10 ordre établi en fonction de la politique d'ordonnancement extraite, o un serveur modélisant chaque bloc matériel (B1,..., Bu), chaque serveur ayant pour entrée chaque jeton de la file d'attente du bloc matériel (B1,..., Bu) et pour sortie chaque jeton de la file d'attente exécuté selon la règle d'exécution extraite dudit bloc matériel (B1,..., Bu) et en fonction du 15 temps d'exécution relatif à chaque jeton, et l'évaluation du temps de traitement de chaque tâche Ta), le temps de traitement de chaque tâche (T1,..., Ta) étant égale à la durée entre l'instant de génération du jeton modélisant la tâche (T1,..., Ta) par le générateur de jetons et la sortie dudit jeton dans le serveur modélisant le bloc matériel (B1,..., Ba) associé à la tâche Tu). 20 2.- Procédé selon la revendication 1, dans lequel la règle d'exécution de chaque bloc matériel (B1,..., Bu) conditionne la fin de l'exécution de la tâche (T1,..., Tn) en cours d'exécution en fonction de la tâche Tn) suivante. 25 3.- Procédé selon la revendication 2, dans lequel chaque tâche (T1,..., Tn) est associée à une priorité d'exécution, la règle d'exécution de chaque bloc matériel (B1,..., Bu) stipule que le bloc matériel (B1,..., Bn) compare à tout instant la priorité de la tâche (T1,..., Tu) en cours d'exécution avec la priorité de la tâche (T1,..., Ta) suivante selon la file d'attente et met en attente la tâche (T1,..., Tn) en cours d'exécution pour exécuter la 30 tâche (T1,..., T,,) suivante lorsque la tâche (T1,..., Ta) suivante a une priorité d'exécution supérieure à la tâche (T1,..., Ta) 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 (B1,..., Ba) stipule que le bloc matériel (B1,..., Ba) termine l'exécution de la 35 tâche Tu) en cours d'exécution avant d'exécuter la tâche (T1,..., T,') suivante. 3053143 15 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 5 politique d'ordonnancement consiste à ordonner entre elles les tâches (T1,..., Te) activées et associées à un même bloc matériel (B1,..., Ba), par ordre croissant de l'instant d'activation desdites tâches Te). 7.- Procédé selon l'une quelconque des revendications 1 à 5, dans lequel chaque 10 tâche (T1,..., Te) est associée à une priorité d'exécution, la politique d'ordonnancement consiste à ordonner entre elles les tâches (T1,..., Ta) activées et associées à un même bloc matériel (B1,..., B,,) suivant la priorité d'exécution associée à chacune desdites tâches Tri). 15 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. 20 9.- Ensemble d'évaluation d'un temps de traitement de tâches Ta) par des blocs matériels (B1,..., Be), les tâches (Ti,..., Ta) étant propres à être activées et à s'exécuter sur les blocs matériels (B1,..., Bu), le temps de traitement de chaque tâche Te) étant la durée entre l'instant d'activation de la tâche Te) et l'instant de fin d'exécution de la tâche Te), l'ensemble comprenant : 25 - un premier modèle (12) comprenant : o un ensemble de tâches Ta), chaque tâche Te) é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, 30 o un ensemble de blocs matériels (B1,..., Be), chaque bloc matériel (B1,..., Ba) étant associé à au moins une tâche Ta) et propre à exécuter ladite tâche (T1,..., Te) conformément à une règle d'exécution dudit bloc matériel (BlI- - - Bu), o une politique d'ordonnancement des tâches (T1,..., Te), la politique 35 d'ordonnancement des tâches Ta) définissant un ordre de début d'exécution des tâches (T1,..., Ta) sur chaque bloc matériel (B1,..., Bu), 3053143 16 - un fichier comprenant un temps d'exécution de chaque tâche (T1,..., Tn) sur le bloc matériel (B1,..., Bn) associé à la tâche (T1,..., Tn) considérée, le temps d'exécution de chaque tâche (T1,..., Tn) étant la durée entre l'instant de début d'exécution de la tâche (T1,..., Tri) sur le bloc matériel (B1,..., 13,) associé et l'instant de fin d'exécution de la tâche 5 (T1,..., T,-,) sur le bloc matériel (B1,..., Bn) associé moins la durée éventuelle durant laquelle l'exécution de ladite tâche (T1,..., Tn) 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 revendications 1 à 10 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. 15