Brevet FR3069678A1 — publié le 20190201

I Procédé d'évaluation d'un temps d'exécution de tâches sur des blocs matériels La présente invention concerne un procédé d'évaluation d'un temps d'exécution de tâches sur des blocs matériels. La présente invention se rapporte également à un ensemble d'évaluation d'un temps d'exécution de tâches sur des blocs matériels. 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 doivent être garantis de manière stricte pour éviter la survenue d'accidents. Par exemple, un changement de trajectoire ou une opération d'atterrissage non achevés dans des délais impartis sont susceptibles d'endommager l'aéronef et de mettre en danger les passagers. 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 aussi important 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 le temps d'exécution des tâches des systèmes sur les blocs matériels des systèmes. Les blocs matériels sont des éléments d'architecture remplissant une fonction prédéterminée. Les tâches sont des séquences d'instructions exécutables sur les blocs matériels. Dans le cas des aéronefs, les tâches sont, par exemple, relatives à des commandes de changement de trajectoire ou d'atterrissage de l'aéronef. Afin de valider la conception d'un système temps-réel, des outils d'analyse sont utilisés. De tels outils d'analyse permettent notamment d'évaluer le temps d'exécution des tâches du système sur les blocs matériels du système en fonction de différents scénarios. Cependant, les outils d'analyse obéissent à des règles de fonctionnement différentes des modèles de conception de systèmes temps-réel. Ainsi, les outils d'analyse ne permettent pas de prendre en compte toute la complexité des modèles de conception, ce qui est à l'origine d'un manque de fiabilité dans les systèmes conçus à partir des analyses obtenues. Un système est considéré fiable lorsque la probabilité qu'a le système de remplir la mission qui lui a été attribuée sur une durée donnée correspond à la probabilité spécifiée dans le cahier des charges. En outre, pour rendre le modèle de conception analysable par l'outil d'analyse, des règles restrictives sont généralement appliquées lors de la conception du système temps- réel. De telles règles sont spécifiques à chaque outil d'analyse et à chaque modèle de 2 conception et doivent donc être établies au cas par cas, ce qui entraîne une perte de productivité. Il existe donc un besoin pour évaluer de manière simple et fiable le temps d'exécution de tâches sur des blocs matériels, notamment lorsque lesdites tâches sont 5 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 d'exécution de tâches sur des blocs matériels, le procédé comprenant les étapes suivantes : - la fourniture d'un premier modèle comprenant un ensemble de tâches et un ensemble de blocs matériels, chaque bloc matériel étant propre à exécuter au moins une 10 tâche conformément à des règles établies par le premier modèle, chaque tâche étant une fonction transformant au moins une entrée en au moins un résultat de sortie, la fonction étant une séquence d'instructions activable par la réception de paramètres d'activation en entrée, au moins un paramètre d'activation étant le résultat obtenu par l'exécution d'au moins une autre tâche, les règles associant, à chaque tâche, un bloc matériel pour 15 exécuter la tâche et définissant, en outre, les résultats de chaque tâche formant les paramètres d'activation d'au moins une autre tâche, - la fourniture d'un outil d'analyse configuré pour définir un scénario d'exécution des tâches sur les blocs matériels, l'outil d'analyse étant propre à évaluer un temps d'exécution des tâches lorsque les tâches sont exécutées sur les blocs selon le scénario 20 défini par l'outil d'analyse, l'outil d'analyse imposant aux tâches le respect de contraintes pour l'exécution et l'évaluation du temps d'exécution des tâches sur les blocs matériels, - la fourniture de contraintes imposées par l'outil d'analyse, les contraintes comprenant une ou les contraintes suivantes : o la fourniture, à d'autres tâches, des résultats obtenus à la suite de 25 l'exécution d'instructions de la séquence d'instructions de chaque tâche est possible uniquement après l'exécution de la totalité des instructions de la séquence d'instructions de la tâche, o la réception de paramètres d'activation par chaque tâche en cours d'exécution est possible uniquement après l'exécution de la totalité des 30 instructions de la séquence d'instructions de la tâche, o une tâche comprend au plus une seule entrée de réception de paramètres d'activation, o une tâche comprend au plus une seule sortie de fourniture de résultats, et o les tâches sont exécutées selon un ordre de priorité. 35 - le découpage en sous-tâches d'au moins une tâche du premier modèle pour obtenir un deuxième modèle compatible avec les contraintes imposées par l'outil 3 d'analyse et respectant les règles établies par le premier modèle, chaque sous-tâche d'une tâche étant une sous-fonction transformant au moins une entrée de la tâche en au moins un résultat de sortie de la tâche, - la définition, par l'outil d'analyse, d'un scénario d'exécution des tâches et sous- 5 tâches du deuxième modèle sur les blocs matériels du deuxième modèle, - l'exécution, par l'outil d'analyse, des tâches et sous-tâches du deuxième modèle sur les blocs matériels du deuxième modèle selon le scénario défini, et - l'évaluation, par l'outil d'analyse, pour le scénario défini, du temps d'exécution des tâches et sous-tâches du deuxième modèle sur les blocs matériels du deuxième 10 modèle, le temps d'exécution des tâches du premier modèle sur les blocs matériels du premier modèle étant compris dans un intervalle de temps borné, l'une des bornes de l'intervalle étant le temps d'exécution évalué pour le deuxième modèle selon le scénario défini. Suivant des modes de mise en oeuvre particuliers, le procédé d'évaluation 15 comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : - l'étape de découpage comprend le découpage de chaque tâche du premier modèle en autant de premières sous-tâches que un plus le nombre de résultats en sortie de la tâche appartenant à une première catégorie de résultats, chaque résultat de la 20 première catégorie de résultats étant fourni en entrée d'autres tâches avant l'exécution de la totalité des instructions de la tâche, chaque première sous-tâche étant propre à générer un résultat appartenant à la première catégorie de résultats et distinct des autres résultats de la première catégorie de résultats ; - l'étape de découpage comprend le découpage de chaque tâche du premier 25 modèle en autant de deuxièmes sous-tâches que un plus le nombre d'entrées de la tâche appartenant à une première catégorie d'entrées, chaque entrée de la première catégorie d'entrées étant apte à recevoir des paramètres d'activation avant l'exécution de la totalité des instructions de la tâche, chaque deuxième sous-tâche comprenant une entrée de la première catégorie d'entrées distincte des autres entrées de la première catégorie 30 d'entrées ; - l'étape de découpage comprend le découpage de chaque tâche du premier modèle en autant de troisièmes sous-tâches que d'entrées de la tâche appartenant à une deuxième catégorie d'entrées, chaque entrée de la deuxième catégorie d'entrées étant apte à recevoir des paramètres d'activation uniquement lorsque les autres entrées de la 35 deuxième catégorie d'entrées n'ont pas reçu de paramètres d'activation, chaque troisième 4 sous-tâche comprenant une entrée de la deuxième catégorie d'entrées distincte des autres entrées de la deuxième catégorie d'entrées ; - l'étape de découpage comprend le découpage de chaque tâche du premier modèle en autant de quatrièmes sous-tâches que de résultats en sortie de la tâche 5 appartenant à une deuxième catégorie de résultats, chaque résultat de la deuxième catégorie de résultats étant fourni en entrée d'autres tâches uniquement lorsqu'aucun autre résultat n'a été fourni en entrée d'autres tâches au cours de l'exécution de la tâche, chaque quatrième sous-tâche étant propre à générer un résultat appartenant à la deuxième catégorie de résultats et distinct des autres résultats de la deuxième catégorie 10 de résultats ; - le procédé comprend, avant l'étape de découpage, une étape d'écriture, sur le premier modèle, d'hypothèses du temps d'exécution des tâches du premier modèle sur les blocs matériels du premier modèle, les hypothèses étant utilisées par l'outil d'analyse lors de l'étape de définition du scénario ; 15 - les étapes d'exécution et d'évaluation sont itérées jusqu'à ce que le temps d'exécution évalué lors d'une itération soit égal au temps d'exécution évalué lors de l'itération précédente ; - le procédé comprend, après les étapes d'exécution et d'évaluation, une étape de détermination d'un troisième modèle comprenant les tâches et les sous-tâches du 20 deuxième modèle, l'ensemble de blocs matériels du deuxième modèle et le temps d'exécution évalué pour le deuxième modèle à partir du scénario défini, le procédé comprenant, en outre, une étape de fusion de chaque sous-tâche du troisième modèle obtenue à la suite de l'étape de découpage des tâches, en la tâche correspondante. L'invention concerne également un ensemble d'évaluation d'un temps d'exécution 25 de tâches sur des blocs matériels, l'ensemble comprenant : - un premier modèle comprenant un ensemble de tâches et un ensemble de blocs matériels, chaque bloc matériel étant propre à exécuter au moins une tâche conformément à des règles établies par le premier modèle, chaque tâche étant une fonction transformant au moins une entrée en au moins un résultat de sortie, la fonction 30 étant une séquence d'instructions activable par la réception de paramètres d'activation en entrée, au moins un paramètre d'activation étant le résultat obtenu par l'exécution d'au moins une autre tâche, les règles associant, à chaque tâche, un bloc matériel pour exécuter la tâche et définissant, en outre, les résultats de chaque tâche, formant les paramètres d'activation d'au moins une autre tâche,. 35 - un outil d'analyse configuré pour définir un scénario d'exécution des tâches sur les blocs matériels, l'outil d'analyse étant propre à évaluer un temps d'exécution des 5 tâches lorsque les tâches sont exécutées sur les blocs matériels selon le scénario défini par l'outil d'analyse, l'outil d'analyse imposant aux tâches le respect de contraintes pour l'exécution et l'évaluation du temps d'exécution des tâches sur les blocs matériels, - un fichier comprenant les contraintes imposées par l'outil d'analyse, les 5 contraintes comprenant une ou les contraintes suivantes : o la fourniture, à d'autres tâches, des résultats obtenus à la suite de l'exécution d'instructions de la séquence d'instructions de chaque tâche est possible uniquement après l'exécution de la totalité des instructions de la séquence d'instructions de la tâche, 10 o la réception de paramètres d'activation par chaque tâche en cours d'exécution est possible uniquement après l'exécution de la totalité des instructions de la séquence d'instructions de la tâche, o une tâche comprend au plus une seule entrée de réception de paramètres d'activation, 15 o une tâche comprend au plus une seule sortie de fourniture de résultats, et o les tâches sont exécutées selon un ordre de priorité. - un produit programme d'ordinateur comportant des instructions logicielles, les instructions logicielles mettant en oeuvre au moins l'étape de découpage du procédé tel que décrit précédemment, lorsque les instructions logicielles sont exécutées par un 20 ordinateur, l'outil d'analyse mettant en oeuvre au moins les étapes de définition, d'exécution et d'évaluation du procédé tel que décrit précédemment. 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 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 d'exécution de tâches sur 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, - figure 3, un ordinogramme d'un exemple de mise en oeuvre d'un procédé d'évaluation d'un temps d'exécution de tâches sur des blocs matériels, - figure 4, une représentation schématique d'une première tâche envoyant des 35 résultats à une deuxième tâche au cours de l'exécution de la première tâche, 6 - figure 5, une représentation schématique d'un découpage de la première tâche de la figure 4 en deux sous-tâches de sorte à respecter les contraintes imposées par l'outil d'analyse, - figure 6, une représentation schématique d'une première tâche recevant des 5 résultats d'une deuxième tâche au cours de l'exécution de la première tâche, - figure 7, une représentation schématique d'un découpage de la première tâche de la figure 6 en deux sous-tâches pour respecter les contraintes imposées par l'outil d'analyse, - figure 8, une représentation schématique d'une première tâche ayant deux 10 entrées de réception de paramètres d'activation et transmettant sélectivement, en fonction de l'entrée de réception des paramètres d'activation, des instructions à une deuxième tâche, et - figure 9, une représentation schématique d'un découpage de la première tâche de la figure 8 en deux sous-tâches de sorte à respecter les contraintes imposées 15 par l'outil d'analyse. Un ensemble 1 d'évaluation d'un temps d'exécution de tâches T, sur des blocs matériels B1,..., B,, est illustré sur la figure 1. L'ensemble 1 est notamment utilisé pour valider la conception de systèmes temps-réel. De tels systèmes temps-réel sont, par exemple, destinés à être embarqués dans des équipements spécialisés, tel que des 20 aéronefs pour lesquels le respect des contraintes temporelles est un paramètre critique. L'ensemble 1 comprend un premier modèle 2, un outil d'analyse 4, un fichier 6 comprenant des contraintes imposées par l'outil d'analyse 4 et un module de traitement 10 en interaction avec un produit programme d'ordinateur 12. Le module de traitement 10 et le produit programme d'ordinateur 12 sont illustrés en détails sur la figure 2. 25 Le premier modèle 2 est une modélisation informatique du fonctionnement d'un système informatique, par exemple d'un système temps-réel destiné à être embarqué dans un équipement spécialisé, tel qu'un aéronef. Le premier modèle 2 est, par exemple, implémenté en langage UML (de l'anglais Unified Modeling Language, traduit en français par Langage de modélisation unifié). Le 30 langage UML est un langage de modélisation graphique à base de pictogrammes et conçu pour visualiser la conception d'un système. Le premier modèle 2 comprend un ensemble de tâches T,, et un ensemble de blocs matériels B1,..., B. Chaque tâche T1,..., Tn est une fonction transformant au moins une entrée en au 35 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 7 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 équipement spécialisé, tel qu'un aéronef. Dans ce cas, les commandes sont, par exemple, des commandes de changement de trajectoire ou d'atterrissage de l'aéronef ou 5 encore des commandes de contrôle de chauffage ou de traitement d'images en temps réel. Chaque bloc matériel B1,..., Bn est propre à exécuter au moins une tâche T1,..., T, du premier modèle 2 conformément à des règles établies par le premier modèle 2. Chaque tâche T1,..., Tn est donc affectée à au moins un bloc matériel B1,..., Bn selon les 10 règles du premier modèle 2. Les blocs matériels B1,..., Bn sont également appelés coeurs de traitement. Les règles établies par le premier modèle 2 définissent également les résultats de chaque tâche T1,..., Tri formant les paramètres d'activation d'au moins une autre tâche T1,..., T. En d'autres termes, les règles définissent les communications entre les 15 différentes tâches T1,..., Tn du premier modèle 2 et notamment les communications entre les entrées et les sorties des tâches Tn du premier modèle 2. Par exemple, dans le cas d'un aéronef, une première tâche consistant à détecter la présence de pluie est mise en oeuvre par un capteur de pluie. Le résultat de la première tâche (détection ou non de pluie) est communiqué à une deuxième tâche visant à mettre 20 en marche des essuie-glaces lorsque la présence de pluie a été détectée. Ainsi, au moins un paramètre d'activation d'une tâche Tn du premier modèle 2 est le résultat obtenu par l'exécution d'au moins une autre tâche Ti, Tn du premier modèle 2 sur un bloc matériel B1,..., Bn du premier modèle 2. L'outil d'analyse 4 est configuré pour définir au moins un scénario d'exécution des 25 tâches T1,..., T, sur les blocs matériels B1,..., B. Le scénario d'exécution des tâches T1,..., Tn prend en compte différents événements susceptibles de se produire au cours de l'exécution des tâches T1,..., Tn sur les blocs matériels B1..... B. Les événements sont, par exemple, des événements périodiques, c'est-à-dire des événements qui ont lieu à intervalles de temps réguliers, tels que la mesure de la vitesse 30 du vent, de la température ou de l'altitude d'un aéronef par des capteurs. Dans un autre exemple, les événements sont des événements sporadiques, c'est-à-dire des événements qui ont lieu de temps en temps, tels que des changements de conditions météorologiques (pluie, tempête, trou d'air) ou encore des commandes spécifiques de l'utilisateur, telle qu'une commande de changement de cap. 8 L'outil d'analyse 4 est également propre à évaluer un temps d'exécution des tâches T1,..., T,, lorsque les tâches T1,..., Tn sont exécutées sur les blocs matériels B1,..., Bn selon le scénario défini par l'outil d'analyse 4. Généralement, l'outil d'analyse 4 est propre à définir plusieurs scénarios. Un 5 premier scénario permet, par exemple, de calculer le « plus long temps » ou « pire temps » d'exécution des tâches T1,..., T,, sur les blocs matériels B1,..., Bn, c'est-à-dire le temps d'exécution obtenu lorsque les événements les plus chronophages se produisent. Un deuxième scénario permet, par exemple, de calculer le « plus court temps » ou « meilleur temps » d'exécution des tâches T1,..., Tr, sur les blocs matériels B1,..., Bn, c'est- 10 à-dire le temps d'exécution obtenu lorsque les événements les moins chronophages se produisent. L'outil d'analyse 4 est propre à imposer aux tâches Tn le respect d'un certain nombre de contraintes pour l'exécution des tâches et l'évaluation du temps d'exécution des tâches T1,..., Tn sur les blocs matériels B1,..., B. Les contraintes sont des contraintes 15 additionnelles imposées par l'outil d'analyse 4 par rapport au premier modèle 2. Le fichier 6 comprend les contraintes imposées par l'outil d'analyse 4. En particulier, les contraintes comprennent une ou les contraintes suivantes : o première contrainte : la fourniture, à d'autres tâches T1,..., Tn, des résultats obtenus à la suite de l'exécution d'instructions de la séquence 20 d'instructions de chaque tâche T1,..., Tn est possible uniquement après l'exécution de la totalité des instructions de la séquence d'instructions de la tâche T. La première contrainte interdit donc aux tâches T1,..., Tn de communiquer avec d'autres tâches T1,..., Tn, en particulier d'envoyer des résultats à d'autres tâches T1..... T, lorsque les tâches T1,..., Tn sont en 25 cours d'exécution. o deuxième contrainte : la réception de paramètres d'activation par chaque tâche T1,..., T, en cours d'exécution est possible uniquement après l'exécution de la totalité des instructions de la séquence d'instructions de la tâche T1,..., T. Ainsi, la deuxième contrainte interdit aux tâches Tn de 30 communiquer avec d'autres tâches T1,..., Tn, en particulier de recevoir des résultats en provenance d'autres tâches Tn, lorsque les tâches T1,..., Tn sont en cours d'exécution. o troisième contrainte : une tâche Tn comprend au plus une seule entrée de réception de paramètres d'activation. De ce fait, la troisième 35 contrainte interdit les tâches T1,..., Tn à entrées multiples. 9 o quatrième contrainte : une tâche T1,..., Tn comprend au plus une seule sortie de fourniture de résultats. La quatrième contrainte interdit donc les tâches T1,..., Tri à sorties multiples. o cinquième contrainte : les tâches T1,..., Tr, sont exécutées selon un ordre de 5 priorité. Ainsi, la cinquième contrainte impose le respect de l'ordonnancement des tâches T1,..., T. Par exemple, dans le cas d'un aéronef, une tâche T,, de changement de la trajectoire de vol est considérée prioritaire par rapport à une tâche T1,..., Tr, de mesure de la qualité de l'air. 10 Le module de traitement 10, est de préférence, un ordinateur. Plus généralement, le module de traitement 10 est un calculateur électronique propre à manipuler et/ou transformer des données représentées comme des quantités électroniques ou physiques dans des registres de module de traitement 10 et/ou des mémoires en d'autres données similaires correspondant à des données physiques dans 15 des mémoires, des registres ou d'autres types de dispositifs d'affichage, de transmission et de mémorisation. Le module de traitement est en interaction avec le premier modèle 2, l'outil d'analyse 4, le fichier 6 et le produit programme d'ordinateur 12. Comme illustré sur la figure 2, le module de traitement 10 comporte 20 un processeur 14 comprenant une unité de traitement de données 16, des mémoires 18 et un lecteur 20 de support d'informations. Le module de traitement 10 comprend, optionnellement, un clavier 22 et une unité d'affichage 24. Le produit programme d'ordinateur 12 comporte un support d'informations 26. Le support d'information 26 est un support lisible par le module de traitement 10, 25 usuellement par l'unité de traitement de données 16. Le support lisible d'informations 26 est un médium adapté à mémoriser des instructions électroniques et capable d'être couplé à un bus d'un système informatique. A titre d'exemple, le support d'informations 26 est une disquette ou disque souple (de la dénomination anglaise « Floppy disc », un disque optique, CD ROM, un disque 30 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 26 est mémorisé le programme d'ordinateur 12 comprenant des instructions de programme. Le programme d'ordinateur 12 est chargeable sur l'unité de traitement de données 35 16 et est adapté pour entraîner, en interaction avec le premier modèle 2, l'outil d'analyse 4 et le fichier 6, la mise en oeuvre du procédé d'évaluation d'un temps d'exécution de 10 tâches sur des blocs matériels lorsque le programme d'ordinateur 12 est mis en oeuvre sur l'unité de traitement 16. Le fonctionnement du module de traitement 10 en interaction avec le produit programme d'ordinateur 12, le premier modèle 2, l'outil d'analyse 4 et le fichier 6 est 5 maintenant décrit en référence à la figure 3, qui illustre schématiquement un exemple de mise en oeuvre d'un procédé d'évaluation d'un temps d'exécution de tâches sur des blocs matériels. Initialement, le procédé d'évaluation comporte une étape 100 de fourniture du premier modèle 2. 10 Le procédé d'évaluation comprend également une étape 110 de fourniture de l'outil d'analyse 4. Le procédé d'évaluation comporte aussi une étape 120 de fourniture du fichier 6 de contraintes imposées par l'outil d'analyse 4. Le procédé d'évaluation comprend ensuite, optionnellement, une étape 130 15 d'écriture d'hypothèses sur le premier modèle 2. Les hypothèses sont, par exemple, relatives au temps d'exécution des tâches T1,..., T,, du premier modèle 2 sur les blocs matériels B1,..., Br, du premier modèle 2, aux ressources d'exécution allouées à chaque tâche T1,..., Tn ou encore aux propriétés d'ordonnancement des tâches T1,..., Tn, notamment aux règles de priorité. 20 L'étape d'écriture 130 est, par exemple, mise en oeuvre par un opérateur sur la base de son expérience propre ou d'une base de données stockant des résultats antérieurs obtenus à la suite de l'exécution de tâches T1,..., Tr, sur des blocs matériels B1,..., Bn d'un modèle de conception. Dans un autre exemple, l'étape d'écriture 130 est mise en oeuvre par un opérateur à partir d'un logiciel de calcul permettant d'estimer les 25 temps d'exécution des tâches du premier modèle 2. Le procédé d'évaluation comprend, ensuite, une étape 140 de découpage en sous-tâches d'au moins une tâche T1,..., Tn du premier modèle 2 pour obtenir un deuxième modèle compatible avec les contraintes imposées par l'outil d'analyse 4 et respectant les règles établies par le premier modèle 2. 30 Chaque sous-tâche est une sous-fonction comportant au moins une partie de la séquence d'instructions de la tâche d'origine T1,..., T. Chaque sous-fonction transforme au moins une entrée de la tâche d'origine T1,..., Tn en au moins un résultat de sortie de la tâche d'origine T1,..., T. En effet, l'outil d'analyse temporelle 4 comprend des divergences de 35 fonctionnement par rapport au premier modèle 2 rendant le premier modèle 2 non analysable en l'état par l'outil d'analyse 4. De telles divergences concernent, notamment, 11 les protocoles de communication entre les tâches, les règles d'ordonnancement et l'incapacité de l'outil d'analyse 4 à prendre en compte des modèles de tâches complexes, par exemple, des tâches à entrées multiples, à sorties multiples ou avec plusieurs modes d'exécution. Les règles d'ordonnancement sont, par exemple, les règles des 5 ordonnanceurs Round Robin ou FIFO (de l'anglais First In, First Out, traduit en français par Premier entré, premier sorti). L'étape de découpage 140 des tâches T1,..., Ti-, en sous-tâches permet de contourner de telles divergences en transformant le premier modèle 2 en un deuxième modèle compatible avec les contraintes imposées par l'outil d'analyse 4 tout en 10 respectant les règles établies par le premier modèle 2. Le deuxième modèle est donc un modèle pivot entre le premier modèle 2 et l'outil d'analyse 4. En particulier et comme illustré sur les figures 4 et 5, l'étape de découpage 140 comprend le découpage de chaque tâche T1,..., Tn du premier modèle 2 en autant de premières sous-tâches que un plus le nombre de résultats en sortie de la tâche 15 appartenant à une première catégorie de résultats. Chaque résultat de la première catégorie de résultats est fourni en entrée d'autres tâches T1,..., Tn avant l'exécution de la totalité des instructions de la tâche T1,..., Tn, ce qui est incompatible avec la première contrainte imposée par l'outil d'analyse 4. Chaque première sous-tâche est propre à générer un résultat appartenant à la première catégorie de résultats et distinct des autres 20 résultats de la première catégorie de résultats. Par exemple, sur la figure 4, une première tâche T1 du premier modèle 2 envoie un résultat R1 à une deuxième tâche T2 du premier modèle 2 au cours de l'exécution de la première tâche T1 et donc avant le calcul du résultat R2 final. Or, une telle communication entre les tâches est incompatible avec la première contrainte imposée par l'outil 25 d'analyse 4. Ainsi, sur la figure 5, la première tâche T1 du premier modèle 2 a été découpée en deux premières sous-tâches T1_1 et T1_2 pour le deuxième modèle de sorte que la première sous-tâche T1.1 envoie le résultat R1 à la première sous-tâche T1_2 uniquement à la fin de l'exécution de la première sous-tâche T1_1. Le résultat R2 est généré par la première sous- 30 tâche T1_2. Le modèle comportemental du deuxième modèle est ainsi identique au premier modèle 2, tout en respectant la première contrainte imposée par l'outil d'analyse 4. Comme illustré sur les figures 6 et 7, l'étape de découpage 140 comprend également le découpage de chaque tâche Tn du premier modèle 2 en autant de deuxièmes sous-tâches que un plus le nombre d'entrées de la tâche T1,..., T,, appartenant 35 à une première catégorie d'entrées. Chaque entrée de la première catégorie d'entrées est apte à recevoir des paramètres d'activation avant l'exécution de la totalité des instructions 12 de la tâche T1,..., Tn, ce qui est incompatible avec la deuxième contrainte imposée par l'outil d'analyse 4. Chaque deuxième sous-tâche comprend une entrée de la première catégorie d'entrées distincte des autres entrées de la première catégorie d'entrées. Par exemple, sur la figure 6, une première tâche T1 du premier modèle 2 est 5 activée par son entrée E1 et reçoit sur son entrée E2 des résultats en provenance d'une deuxième tâche T2 du premier modèle 2 au cours de l'exécution de la première tâche T1. Or, une telle communication entre les tâches est incompatible avec la deuxième contrainte imposée par l'outil d'analyse 4. Ainsi, sur la figure 7, la première tâche T1 du premier modèle 2 a été découpée en 10 deux deuxièmes sous-tâches T2.1 et T2.2 pour le deuxième modèle. La deuxième sous- tâche T2_1 comprend l'entrée El. La deuxième sous-tâche T2.2 comprend l'entrée E2 et reçoit les résultats de la deuxième tâche T2, uniquement au début de l'exécution de la deuxième sous-tâche T2.2. Le modèle comportemental du deuxième modèle est ainsi identique au premier modèle 2, tout en respectant la deuxième contrainte imposée par 15 l'outil d'analyse 4. Comme illustré sur les figures 8 et 9, l'étape de découpage 140 comprend aussi le découpage de chaque tâche T1,..., T,, du premier modèle 2 en autant de troisièmes sous-tâches que d'entrées de la tâche T1,..., Tn appartenant à une deuxième catégorie d'entrées. Chaque entrée de la deuxième catégorie d'entrées est apte à recevoir des 20 paramètres d'activation uniquement lorsque les autres entrées de la deuxième catégorie d'entrée n'ont pas reçu de paramètres d'activation, ce qui est incompatible avec la troisième contrainte imposée par l'outil d'analyse 4. Chaque troisième sous-tâche comprend une entrée de la deuxième catégorie d'entrées distincte des autres entrées de la deuxième catégorie d'entrées. 25 Sur la figure 8, une première tâche T1 du premier modèle 2 reçoit des paramètres d'activation sur deux entrées E1 et E2 distinctes. Après réception de paramètres d'activation sur l'entrée E1, la première tâche T1 envoie des données à une deuxième tâche T2. Après réception de paramètres d'activation sur l'entrée E2, la première tâche T1 envoie des données à une troisième tâche T3. Or, les tâches à entrées multiples sont 30 incompatibles avec la troisième contrainte imposée par l'outil d'analyse 4. Ainsi, sur la figure 9, la première tâche T1 du premier modèle 2 a été découpée en deux troisièmes sous-tâches T31 et T3.2 pour le deuxième modèle de sorte que la troisième sous-tâche T3..1 comprend l'entrée E1 et la troisième sous-tâche T3_2 comprend l'entrée E2. Le modèle comportemental du deuxième modèle est ainsi identique au premier modèle 2, 35 tout en respectant la troisième contrainte imposée par l'outil d'analyse 4. 13 L'étape de découpage 140 comprend également le découpage de chaque tâche T1,..., T,, du premier modèle 2 en autant de quatrièmes sous-tâches que de résultats en sortie de la tâche T1,..., Tn appartenant à une deuxième catégorie de résultats. Chaque résultat appartenant à la deuxième catégorie de résultats est fourni en entrée d'autres 5 tâches T1,..., Tn uniquement lorsqu'aucun autre résultat n'a été fourni en entrée d'autres tâches T1,..., Tn au cours de l'exécution de la tâche T1,..., Tn, ce qui est incompatible avec la quatrième contrainte imposée par l'outil d'analyse 4. Chaque quatrième sous-tâche est propre à générer un résultat appartenant à la deuxième catégorie de résultats et distinct des autres résultats de la deuxième catégorie de résultats. 10 Dans le cas où les tâches T1,..., Tn sont exécutées selon un ordre de priorité dans le premier modèle 2, chaque sous-tâche du deuxième modèle hérite de la priorité de la tâche d'origine T1,..., T. Cela permet de satisfaire la cinquième contrainte imposée par l'outil d'analyse 4 tout en respectant le comportement du premier modèle 2. Optionnellement, l'étape de découpage 140 comprend également la 15 transformation de règles d'ordonnancement non analysables par l'outil d'analyse 4 en règles d'ordonnancement analysables par l'outil d'analyse 4. Par exemple, les règles d'ordonnancement Round Robin trop complexes pour être analysées par l'outil d'analyse 4 sont transformées en règles d'ordonnancement TDMA (de l'anglais Time Division Multiple Access) dans le deuxième modèle. 20 En effet, l'ordonnancement Round Robin consiste à allouer des partitions temporelles aux tâches se partageant la ressource d'exécution. Chaque tâche s'exécute ainsi dans sa partition. À la fin de la partition, et même si l'exécution de la tâche n'est pas terminée, l'ordonnanceur Round Robin interrompt la tâche et alloue la ressource d'exécution à la tâche devant s'exécuter dans la partition suivante. Si une tâche n'est pas 25 active durant une partie ou la totalité de la partition de la tâche, l'ordonnanceur démarre alors la partition suivante. La forte dynamique induite par les règles d'ordonnancement Round Robin rend l'analyse temporelle très complexe. A l'inverse, les règles d'ordonnancement TDMA sont à base de partitions temporelles statiques, ce qui fait que si une tâche n'est pas activée durant sa partition, l'ordonnanceur TDMA attend la fin de 30 ladite partition avant de démarrer la partition suivante. Or, il est prouvé mathématiquement, que tout système satisfaisant les contraintes temporelles d'un ordonnanceur TDMA satisfait également les contraintes temporelles d'un ordonnanceur Round Robin. Par conséquent, la transformation des règles d'ordonnancement Round Robin du premier modèle 2 en règles d'ordonnancement TDMA dans le deuxième modèle 35 permet de respecter le comportement du premier modèle 2, tout en satisfaisant les contraintes imposées par l'outil d'analyse 4. 14 L'étape de découpage 140 est mise en oeuvre par le module de traitement 10 en interaction avec le produit programme d'ordinateur 12. Le procédé comprend ensuite une étape 150 de définition, par l'outil d'analyse 4, d'un scénario d'exécution des tâches Tn et sous-tâches du deuxième modèle sur les blocs matériels B1,..., Bn du deuxième modèle. Le scénario est notamment établi à partir des hypothèses écrites sur le premier modèle 2 lors de l'étape d'écriture 130. Le scénario est, par exemple, un scénario mettant en oeuvre l'ensemble des éléments maximisant le temps d'exécution des tâches T1,..., Tn et sous-tâches du deuxième modèle sur les blocs matériels B1,..., Bn du deuxième modèle. Un tel scénario 10 est, par exemple, établi par l'opérateur au moyen de logiciels de calcul ou de l'expérience propre de l'utilisateur. Ensuite, le procédé d'évaluation comprend une étape 160 d'exécution, par l'outil d'analyse 4, des tâches T1,..., Tn et sous-tâches du deuxième modèle sur les blocs matériels B1,..., Bn du deuxième modèle selon le scénario défini lors de l'étape de 15 définition 150. Le procédé d'évaluation comprend, ensuite, une étape 170 d'évaluation, par l'outil d'analyse 4, pour le scénario défini, du temps d'exécution des tâches Tn et sous- tâches du deuxième modèle sur les blocs matériels B1,..., Bn du deuxième modèle. Ainsi, lorsque le scénario met en oeuvre l'ensemble des éléments maximisant le temps 20 d'exécution des tâches T1,..., Tn et sous-tâches du deuxième modèle sur les blocs matériels B1,..., Bn du deuxième modèle, l'outil d'analyse 4 calcule le temps d'exécution le plus long ou pire temps d'exécution. Les étapes d'exécution 160 et d'évaluation 170 sont alors répétées jusqu' à ce que le temps d'exécution évalué lors d'une itération soit égal au temps d'exécution évalué lors 25 de l'itération précédente. Un tel calcul itératif permet d'affiner la prise en compte des interactions liées au partage de ressources matérielles. En variante, les étapes d'exécution 160 et d'évaluation 170 sont répétées jusqu'à ce que des contraintes temporelles ne soient plus respectées, par exemple, lorsque le temps d'exécution d'une tâche dépasse un temps de réponse prédéfini. 30 Le temps d'exécution des tâches T1,..., Tn du premier modèle 2 sur les blocs matériels B1,..., Bn du premier modèle 2 pour le scénario défini est compris dans un intervalle de temps borné dont l'une des bornes est le temps d'exécution évalué par l'outil d'analyse 4. Ainsi, dans le cas où le temps d'exécution le plus long a été calculé pour le deuxième modèle, le temps d'exécution des tâches T1,..., T, du premier modèle 2 sur les 35 blocs matériels B1,..., Bn du premier modèle 2 est inférieur ou égal au temps d'exécution le plus long qui constitue la borne supérieure de l'intervalle. Dans le cas où le temps 15 d'exécution le plus court a été calculé pour le deuxième modèle, le temps d'exécution des tâches T1,..., Tn du premier modèle 2 sur les blocs matériels B1,..., Bn du premier modèle 2 est supérieur ou égal au temps d'exécution le plus court qui constitue la borne inférieure de l'intervalle. 5 Optionnellement, les étapes de définition 150, d'exécution 160 et d'évaluation 170 sont itérées pour un nouveau scénario. Le nouveau scénario est, par exemple, lorsque le pire temps d'exécution a déjà été calculé, un scénario prenant en compte les évènements minimisant le temps d'exécution des tâches T1,..., Tn sur les blocs matériels B1,..., Bn de manière à obtenir le meilleur temps d'exécution des tâches T1,..., Tn sur les blocs 10 matériels B1,..., B. Ainsi, dans ce cas, l'intervalle de temps obtenu a pour borne supérieure le pire temps d'exécution et pour borne inférieure le meilleur temps d'exécution. Le procédé comprend, optionnellement, une étape de détermination 180 d'un troisième modèle comprenant les tâches T1,..., Tn et les sous-tâches du deuxième 15 modèle, l'ensemble des blocs matériels B1,..., Bn du deuxième modèle et le temps d'exécution évalué pour le deuxième modèle à partir du scénario défini. Dans ce cas, le procédé comprend également une étape 190 de fusion de chaque sous-tâche du troisième modèle, obtenue lors de l'étape de découpage 140, en la tâche T1,..., Tn d'origine. Ainsi, le troisième modèle est compatible avec les règles imposées par 20 le premier modèle 2 et s'affranchit des contraintes imposées par l'outil d'analyse 4 étant donné que la transformation inverse de l'étape de découpage 140 est appliquée au troisième modèle. Cela permet au concepteur d'interpréter directement dans le premier modèle 2 les résultats obtenus et les transformations effectuées par l'outil d'analyse 4. Ainsi, le deuxième modèle est un modèle pivot qui permet d'expliciter les liens 25 conceptuels entre le premier modèle 2 et l'outil d'analyse 4. L'évaluation du temps d'exécution des tâches T1,..., Tr, du premier modèle 2 sur les blocs matériels B1,..., Bn du premier modèle 2 est donc analysable par l'outil d'analyse 4 sans perte de données et sans rajout de contraintes temporelles qui rendraient non fiable le temps d'exécution évalué par l'outil d'analyse 4. 30 Ainsi, le procédé d'évaluation utilise une technique générique à la fois vis-à-vis des outils de conception et des différents outils d'analyse. Le travail de réalisation de connexion entre le premier modèle 2 et l'outil d'analyse 4 est donc réduit. Le temps d'exécution des tâches T1,..., Tn du premier modèle 2 sur les blocs matériels B1,..., B,, du premier modèle 2 est donc évalué de manière simple et fiable. De telles tâches T1,..., 35 sont notamment relatives à la commande d'équipements spécialisés tels que des aéronefs. 16 L'homme du métier comprendra que l'invention ne se limite pas aux modes de réalisation décrits, ni aux exemples particuliers de la description. Optionnellement, une étape additionnelle consiste à découper le deuxième modèle obtenu à la suite de l'étape de découpage 140 en autant de sous-modèles que d'outils d'analyse différents. Chaque 5 sous-modèle est ensuite analysé par un outil d'analyse différent des autres sous-modèles selon les étapes de définition 150, d'exécution 160 et d'évaluation 170. Les résultats obtenus par chaque outil d'analyse sont ensuite synthétisés par un calculateur qui évalue le temps d'exécution REVENDICATIONS1.- Procédé d'évaluation d'un temps d'exécution de tâches (T1,..., Tn) sur des blocs matériels (B1,..., B,,), le procédé comprenant les étapes suivantes : - la fourniture (100) d'un premier modèle (2) comprenant un ensemble de tâches (T1,..., Tn) et un ensemble de blocs matériels (B1,..., Bu), chaque bloc matériel (B1,..., Be) étant propre à exécuter au moins une tâche (T1,..., Tn) conformément à des règles établies par le premier modèle (2), chaque tâche (T1,..., 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, au moins un paramètre d'activation étant le résultat obtenu par l'exécution d'au moins une autre tâche Te), les règles associant, à chaque tâche (T1,..., Te), un bloc matériel (B1,..., Bri) Pour exécuter la tâche (T1,..., T) et définissant, en outre, les résultats de chaque tâche (T1,..., Tn) formant les paramètres d'activation d'au moins une autre tâche (T1,..., T), - la fourniture (110) d'un outil d'analyse (4) configuré pour définir un scénario d'exécution des tâches (T1,..., Te) sur les blocs matériels (B1,..., Be), l'outil d'analyse (4) étant propre à évaluer un temps d'exécution des tâches (T1,..., Tn) lorsque les tâches (T1..... T) sont exécutées sur les blocs matériels (B1,..., Be) selon le scénario défini par l'outil d'analyse (4), l'outil d'analyse (4) imposant aux tâches (T1,..., Tn) le respect de contraintes pour l'exécution et l'évaluation du temps d'exécution des tâches (T1,..., Te) sur les blocs matériels (B1,..., Bu), - la fourniture (120) de contraintes imposées par l'outil d'analyse (4), les contraintes comprenant une ou les contraintes suivantes : o la fourniture, à d'autres tâches (T1,..., Ta), des résultats obtenus à la suite de l'exécution d'instructions de la séquence d'instructions de chaque tâche (T1,..., Tn) est possible uniquement après l'exécution de la totalité des instructions de la séquence d'instructions de la tâche (T1,..., Tri), o la réception de paramètres d'activation par chaque tâche (T1,..., Te) en cours d'exécution est possible uniquement après l'exécution de la totalité des instructions de la séquence d'instructions de la tâche Te), O une tâche (T1,..., Te) comprend au plus une seule entrée de réception de paramètres d'activation, o une tâche (T1,..., Te) comprend au plus une seule sortie de fourniture de résultats, et O les tâches (T1,..., Te) sont exécutées selon un ordre de priorité. 18 - le découpage (140) en sous-tâches (T1_1, T1-2, T2-1, T2-2, T3-1, T3-2) d'au moins une tâche (T1,..., Te) du premier modèle (2) pour obtenir un deuxième modèle compatible avec les contraintes imposées par l'outil d'analyse (4) et respectant les règles établies par le premier modèle (2), chaque sous-tâche (T1_1, T1-2, T2-1, T2-2, T3-1, T3-2) d'une tâche 5 (T1,..., Te) étant une sous-fonction transformant au moins une entrée de la tâche (T1,..., Tn) en au moins un résultat de sortie de la tâche (T1,..., Te), - la définition (150), par l'outil d'analyse (4), d'un scénario d'exécution des tâches (T1,..., Te) et sous-tâches (T1_1, T1-2, T2-1, T2-2, T3-1, T3-2) du deuxième modèle sur les blocs matériels (B1,..., Be) du deuxième modèle, 10 - l'exécution (160), par l'outil d'analyse (4), des tâches (T1,..., Te) et sous-tâches (T1.1, T1-2, T2-1, T2-2, T3-1, T3-2) du deuxième modèle sur les blocs matériels (B1,..., Be) du deuxième modèle selon le scénario défini, et - l'évaluation (170), par l'outil d'analyse (4), pour le scénario défini, du temps d'exécution des tâches (T1,..., Te) et sous-tâches du deuxième modèle sur les blocs 15 matériels (B1,..., B) du deuxième modèle, le temps d'exécution des tâches (T1,..., Te) du premier modèle (2) sur les blocs matériels (B1,..., Be) du premier modèle (2) étant compris dans un intervalle de temps borné, l'une des bornes de l'intervalle étant le temps d'exécution évalué pour le deuxième modèle selon le scénario défini. 20 2.- Procédé selon la revendication 1, dans lequel l'étape de découpage (140) comprend le découpage de chaque tâche Te) du premier modèle (2) en autant de premières sous-tâches (T1_1, T1_2) que un plus le nombre de résultats en sortie de la tâche (T1,..., Te) appartenant à une première catégorie de résultats, chaque résultat de la première catégorie de résultats étant fourni en entrée d'autres tâches (T1,..., Te) avant 25 l'exécution de la totalité des instructions de la tâche (T1,..., Te), chaque première sous- tâche (T1_1, T1_2) étant propre à générer un résultat appartenant à la première catégorie de résultats et distinct des autres résultats de la première catégorie de résultats. 3.- Procédé selon la revendication 1 ou 2, dans lequel l'étape de découpage (140) 30 comprend le découpage de chaque tâche (T1,..., Te) du premier modèle (2) en autant de deuxièmes sous-tâches (T2_1, T2_2) que un plus le nombre d'entrées de la tâche (T1,..., Te) appartenant à une première catégorie d'entrées, chaque entrée de la première catégorie d'entrées étant apte à recevoir des paramètres d'activation avant l'exécution de la totalité des instructions de la tâche (T1,..., Te), chaque deuxième sous-tâche (T2-1, T2-2) 35 comprenant une entrée de la première catégorie d'entrées distincte des autres entrées de la première catégorie d'entrées. 19 4.- Procédé selon l'une quelconque des revendications 1 à 3, dans lequel l'étape de découpage (140) comprend le découpage de chaque tâche (T1,..., Tn) du premier modèle (2) en autant de troisièmes sous-tâches (T3_1, T3-2) que d'entrées de la tâche 5 (T1,..., Tn) appartenant à une deuxième catégorie d'entrées, chaque entrée de la deuxième catégorie d'entrées étant apte à recevoir des paramètres d'activation uniquement lorsque les autres entrées de la deuxième catégorie d'entrées n'ont pas reçu de paramètres d'activation, chaque troisième sous-tâche (T3_1, T3.2) comprenant une entrée de la deuxième catégorie d'entrées distincte des autres entrées de la deuxième 10 catégorie d'entrées. 5.- Procédé selon l'une quelconque des revendications 1 à 4, dans lequel l'étape de découpage (140) comprend le découpage de chaque tâche (T1,..., T,-,) du premier modèle (2) en autant de quatrièmes sous-tâches que de résultats en sortie de la tâche 15 (T1,..., T) appartenant à une deuxième catégorie de résultats, chaque résultat de la deuxième catégorie de résultats étant fourni en entrée d'autres tâches (T1,..., Tri) uniquement lorsqu'aucun autre résultat n'a été fourni en entrée d'autres tâches (1-1,-, Tn) au cours de l'exécution de la tâche (T1,..., Tu), chaque quatrième sous-tâche étant propre à générer un résultat appartenant à la deuxième catégorie de résultats et distinct des 20 autres résultats de la deuxième catégorie de résultats. 6.- Procédé selon l'une quelconque des revendications 1 à 5, dans lequel le procédé comprend, avant l'étape de découpage (140), une étape d'écriture (130), sur le premier modèle (2), d'hypothèses du temps d'exécution des tâches (T1,..., Tn) du premier 25 modèle (2) sur les blocs matériels (B1,..., Bn) du premier modèle (2), les hypothèses étant utilisées par l'outil d'analyse (4) lors de l'étape (150) de définition du scénario. 7.- Procédé selon l'une quelconque des revendications 1 à 6, dans lequel les étapes d'exécution (160) et d'évaluation (170) sont itérées jusqu'à ce que le temps 30 d'exécution évalué lors d'une itération soit égal au temps d'exécution évalué lors de l'itération précédente. 8.- Procédé selon l'une quelconque des revendications 1 à 7, dans lequel le procédé comprend, après les étapes d'exécution (160) et d'évaluation (170), une étape 35 (180) de détermination d'un troisième modèle comprenant les tâches (T1,..., Tn) et les sous-tâches (T1_1, T1-2, T2-1, T2-2, T3-1, T3-2) du deuxième modèle, l'ensemble de blocs 20 matériels (B1,..., Be) du deuxième modèle et le temps d'exécution évalué pour le deuxième modèle à partir du scénario défini, le procédé comprenant, en outre, une étape de fusion (190) de chaque sous-tâche (T1_1, T1-2, T2-1, T2-2, T3_1, T3.2) du troisième modèle obtenue à la suite de l'étape (140) de découpage des tâches (T1,..., Te), en la tâche 5 (T1,..., Te) correspondante. 9.- Ensemble (1) d'évaluation d'un temps d'exécution de tâches (T1,..., Te) sur des blocs matériels (B1,..., Be), l'ensemble comprenant : - un premier modèle (2) comprenant un ensemble de tâches (T1,..., Te) et un 10 ensemble de blocs matériels (B1,..., Be), chaque bloc matériel (B1,..., Be) étant propre à exécuter au moins une tâche Te) conformément à des règles établies par le premier modèle (2), chaque tâche (T1,..., 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, au moins un paramètre 15 d'activation étant le résultat obtenu par l'exécution d'au moins une autre tâche (T1,..., Te), les règles associant, à chaque tâche (T1,..., Te), un bloc matériel (B1,..., Be) pour exécuter la tâche (T1,..., Te) et définissant, en outre, les résultats de chaque tâche (T1,..., Te), formant les paramètres d'activation d'au moins une autre tâche (T1,..., Ta), - un outil d'analyse (4) configuré pour définir un scénario d'exécution des tâches 20 (T1,..., Te) sur les blocs matériels (B1,..., Be), l'outil d'analyse (4) étant propre à évaluer un temps d'exécution des tâches (T1,..., Te) lorsque les tâches (T1,..., Te) sont exécutées sur les blocs matériels (B1,..., Bn) selon le scénario défini par l'outil d'analyse (4), l'outil d'analyse (4) imposant aux tâches (T1,..., Te) le respect de contraintes pour l'exécution et l'évaluation du temps d'exécution des tâches Tn) sur les blocs matériels (B1,..., Be), 25 - un fichier (6) comprenant les contraintes imposées par l'outil d'analyse (4), les contraintes comprenant une ou les contraintes suivantes : o la fourniture, à d'autres tâches (T1,..., Te), des résultats obtenus à la suite de l'exécution d'instructions de la séquence d'instructions de chaque tâche (T1,..., Tn) est possible uniquement après l'exécution de la totalité des 30 instructions de la séquence d'instructions de la tâche (T1,..., Te), o la réception de paramètres d'activation par chaque tâche (T1,..., Tn) en cours d'exécution est possible uniquement après l'exécution de la totalité des instructions de la séquence d'instructions de la tâche Te), o une tâche (T1,..., Te) comprend au plus une seule entrée de réception de 35 paramètres d'activation, 21 o une tâche (T1,..., Tn) comprend au plus une seule sortie de fourniture de résultats, et o les tâches (T1,..., Tn) sont exécutées selon un ordre de priorité. - un produit programme d'ordinateur (12) comportant des instructions logicielles, 5 les instructions logicielles mettant en oeuvre au moins l'étape de découpage (140) du procédé selon l'une quelconque des revendications 1 à 8, lorsque les instructions logicielles sont exécutées par un ordinateur, l'outil d'analyse (4) mettant en oeuvre au moins les étapes de définition (150), d'exécution (160) et d'évaluation (170) du procédé selon l'une quelconque des 10 revendications 1 à 8. 10.- Support d'informations (26) sur lequel est mémorisé le produit programme d'ordinateur (12) de l'ensemble (1) selon la revendication 9.