FR 3148310 A1 20241101 FR 2304202 A 20230426 - Procédé et dispositif de génération d’un plan d’installation (2) d’une application logicielle (3) dans un calculateur (4) à l’aide d’un ordonnancement optimisé d’une pluralité de processus applicatifs élémentaires (PAE) formant ladite application logicielle(3). - Le procédé comporte au moins une étape d’acquisition pour acquérir des paramètres d’entrée (9), une étape d’initialisation pour établir, à partir des paramètres d’entrée (9), des jeux de paramètres (SET1, SET2) caractérisant les PAE de la pluralité de PAE et des unité temporelles (MIF) du calculateur(4), une suite d’étapes itérative pour ordonnancer les PAE de la pluralité de PAE, chaque itération comprenant une détermination d’une priorité d’ordonnancement pour chacun des PAE, un classement des PAE selon l’ordre de priorité, une allocation du premier PAE du classement à une MIF du calculateur (4) et une mise à jour des jeux de paramètres (SET1,SET2), ledit procédé comprenant également une étape de génération pour générer la plan d’installation (2) à l’aide de l’ordonnancement réalisé à la suite d’étapes, ledit procédé permettant d’obtenir, de manière simple, rapide et automatique, un ordonnancement optimisé de la pluralité de PAE de l’application logicielle (3), c’est-à-dire un ordonnancement qui maximise une marge à l’évolution du calculateur (4). Figure pour l’abrégé : Figure 1 Procédé et dispositif de génération d’un plan d’installation optimisé d’une application logicielle pour un calculateur et méthode d’installation de ladite application logicielle dans le calculateur. La présente invention concerne un procédé et un dispositif de génération d’un plan d’installation optimisé d’une application logicielle pour un calculateur, en particulier pour un calculateur avionique. Elle concerne également un système et une méthode d’installation de ladite application logicielle à l’aide de ce plan d’installation. État de la technique Les systèmes électroniques comprennent généralement un ensemble d’actionneurs et de capteurs gérés par des calculateurs. Ces calculateurs sont configurés pour exécuter certaines tâches, notamment, acquérir des données de capteurs, réaliser des calculs pour générer des ordres de commande destinés à commander les systèmes électroniques, tels que des actionneurs, ou encore émettre des données, destinées par exemple à être affichées par un dispositif d’affichage. Pour ce faire, ils mettent en œuvre des applications logicielles formées par un ensemble de processus applicatifs élémentaires (aussi appelés PAE). L’installation d’une application logicielle dans un calculateur consiste à allouer chaque PAE formant ladite application logicielle à un emplacement dans le calculateur. À cet effet, un calculateur comporte une trame temporelle appelée ordonnanceur qui comprend des unités temporelles (appelées ci-après MIF pour « MInor Frame » en anglais). Un ou plusieurs PAE peuvent être alloués à une MIF en fonction de la capacité de celle-ci, du temps d’exécution du ou des PAE à allouer, ainsi que la période d'exécution du PAE tel que requis par le concepteur du PAE. L’installation d’une application logicielle dans un calculateur est réalisée à l’aide d’un plan d’installation définissant l’ordre dans lequel les PAE sont alloués aux MIF. Cet ordonnancement garantit le bon fonctionnement de l’application logicielle. Dans certains domaines, en particulier dans l’aéronautique, la complexification des applications logicielles entraîne un grand nombre de PAE. Cette complexification répond à un besoin de fournir plus de fonctions, de plus grande complexité, avec des émissions de données plus rapides et en plus grand nombre. Ceci est particulièrement important pour des calculateurs avioniques dans la mesure où la vitesse de traitement d’un processus physique d’un aéronef définit son efficacité. Par exemple, les processus permettant d’améliorer la précision du pilotage, le confort des passagers ou les performances d’un aéronef (par exemple en minimisant la trainée aérodynamique) sont souvent des processus rapides et dynamiques. Le grand nombre de PAE à allouer implique un nombre important de combinaisons rendant difficile l’obtention d’une solution d’ordonnancement, en particulier d’un ordonnancement optimisé. L’évaluation par force brute de toutes les combinaisons possibles n’est pas raisonnable. Il est donc souvent préféré une allocation manuelle qui est cependant fastidieuse, consommatrice de temps et qui ne conduit pas toujours à un ordonnancement optimisé. Il existe donc un besoin de trouver comment créer un ordonnancement optimisé des PAE pour une application logicielle à installer dans un calculateur. La présente invention a, notamment, pour objet de proposer une solution permettant d’obtenir un ordonnancement optimisé d’une pluralité de processus applicatifs élémentaires (ci-après appelés PAE) composant une application logicielle. La présente invention concerne un procédé de génération d’un plan d’installation de l’application logicielle dans un calculateur, le plan d’installation comportant au moins un ordonnancement de la pluralité de PAE pour un ordonnanceur du calculateur dans lequel l’application logicielle est susceptible d’être installée. Chaque PAE de la pluralité de PAE est destiné à être alloué à au moins une unité temporelle (ci-après appelée MIF) d’un cycle temporel (ci-après appelé MAF pour « Major Frame » en anglais) de l’ordonnanceur du calculateur. Selon l’invention, le procédé comporte au moins les étapes successives suivantes : - une étape d’acquisition pour acquérir des paramètres d’entrée comprenant au moins des paramètres caractérisant le calculateur et des paramètres caractérisant la pluralité de PAE ; - une étape d’initialisation pour établir, à partir des paramètres d’entrée, au moins un premier jeu de paramètres caractérisant chaque MIF du calculateur et un second jeu de paramètres caractérisant chaque PAE de la pluralité de PAE ; - une suite d’étapes successives, mises en œuvre de façon itérative jusqu’à ce que tous les PAE de la pluralité de PAE soient ordonnancés, la suite d’étapes comprenant : - une sous-étape de pondération pour attribuer, à chaque PAE de la pluralité de PAE, un facteur de pondération défini à partir de paramètres du second jeu de paramètres du PAE auquel il est associé ; - une sous-étape de classement pour classer les PAE de la pluralité de PAE en fonction de leur facteur de pondération par ordre de priorité sur un classement, le ou les PAE prioritaires étant classés en premier dans le classement ; - une sous-étape d’allocation pour allouer le premier des PAE du classement à la première MIF de l’ordonnanceur apte à recevoir ledit premier PAE ; - une sous-étape de mise à jour pour mettre à jour les paramètres du premier jeu de paramètres de chaque MIF et les paramètres du second jeu de paramètres de chaque PAE en fonction de l’allocation réalisée à la sous-étape d’allocation ; - une étape de génération pour générer le plan d’installation pour le calculateur à partir de l’ordonnancement des PAE réalisé à la suite d’étapes. Ainsi, grâce à l’invention, on est en mesure de d’obtenir, de manière simple, rapide et automatique, un ordonnancement optimisé de la pluralité de PAE de l’application logicielle, c’est-à-dire un ordonnancement qui maximise une marge à l’évolution du calculateur. Cette marge à l’évolution peut être utilisée ultérieurement au cours de la vie du calculateur, par exemple pour l’intégration de PAE supplémentaires correspondant à des fonctionnalités ou à des correctifs. Dans un mode de réalisation préféré, le procédé comporte au moins les phases successives suivantes mises en œuvre après l’étape d’initialisation : - une phase de chaînage avant pour déterminer un ordonnancement pour les PAE de la pluralité de PAE qui sont non émetteurs de données ou les PAE de la pluralité de PAE qui possèdent au moins un PAE successeur ; - une phase des dettes minimums pour déterminer un ordonnancement pour les PAE de la pluralité de PAE qui sont émetteurs de données et qui ne possèdent pas de PAE successeur ; - une phase de chaînage arrière pour déterminer un nouvel ordonnancement pour au moins un PAE non émetteur de données alloué à la phase de chaînage avant, si ce nouvel ordonnancement permet d’améliorer une équité de l’ordonnancement. Avantageusement, la phase de chaînage avant comprenant au moins les étapes successives suivantes : - une première étape de listage, mise œuvre après l’étape d’initialisation, pour créer une première liste comprenant les PAE de la pluralité de PAE qui sont non émetteurs de données ou qui possèdent au moins un PAE successeur ; - une première suite d’étapes correspondant à la suite d’étapes et mise en œuvre de manière itérative pour les PAE de la première liste et comprenant les étapes successives suivantes : - une sous-étape de pondération pour attribuer, à chaque PAE de la première liste, un facteur de pondération indiquant le nombre de MIF aptes à recevoir ce PAE et le nombre de PAE successeurs de ce PAE ; - une sous-étape de classement pour classer les PAE de la première liste par ordre de priorité en fonction de leur facteur de pondération, les PAE prioritaires étant les PAE avec le plus petit nombre de MIF aptes à les recevoir et/ou avec le plus grand nombre de PAE successeurs ; - une sous-étape d’allocation pour allouer le premier PAE de la première liste à la première MIF de l’ordonnanceur apte à recevoir ledit premier PAE ; - une sous-étape de mise à jour pour mettre à jour les paramètres du premier jeu de paramètres de chaque MIF et les paramètres du second jeu de paramètres de chaque PAE de la première liste en fonction de l’allocation réalisée à la sous-étape d’allocation ; la première suite d’étapes étant mise en œuvre jusqu’à ce que tous les PAE de la première liste soient alloués. En outre, de façon avantageuse, la phase des dettes minimums comprend au moins les étapes successives suivantes : - une étape de listage pour créer une deuxième liste comprenant les PAE de la pluralité de PAE qui sont émetteurs de données et qui ne possèdent pas de PAE successeur ; - une deuxième suite d’étapes comprenant au moins les étapes successives suivantes : - une sous-étape de pondération pour attribuer, à chaque PAE de la deuxième liste, un facteur de pondération indiquant le nombre de MIF aptes à recevoir ce PAE ; - une sous-étape de classement pour classer les PAE de la deuxième liste par ordre de priorité en fonction de leur facteur de pondération, les PAE prioritaires étant les PAE avec le plus petit nombre de MIF aptes à les recevoir ; - une sous-étape de détermination pour déterminer, pour le premier PAE de la deuxième liste, un temps d’absorption des émissions pour chaque MIF apte à recevoir ledit premier PAE ; - une sous-étape d’allocation pour allouer le premier PAE de la deuxième liste à la MIF apte à recevoir ledit premier PAE pour laquelle le temps d’absorption des émissions est minimum ; - une sous-étape de mise à jour pour mettre à jour les paramètres du premier jeu de paramètres de chaque MIF et les paramètres du second jeu de paramètres de chaque PAE en fonction de l’allocation réalisée à la sous-étape d’allocation, la deuxième suite d’étapes étant mise en œuvre jusqu’à ce que tous les PAE de la deuxième liste soient alloués. De plus, la phase des dettes minimums comporte, de plus, les étapes successives suivantes, mises en œuvre après la deuxième suite d‘étapes : - une étape de détermination pour déterminer, pour chaque MIF de l’ordonnanceur, une dette de placement correspondant à un nombre de requêtes d’émissions de données qui ne pourront pas être satisfaites à l’exécution de cette MIF ; - une étape de remplacement pour déterminer, de manière itérative pour chaque PAE de la deuxième liste alloué à la deuxième suite d’étapes, au moins une MIF apte à recevoir le PAE de manière à réduire la dette de placement et, si une telle MIF existe, à supprimer le PAE de l’ordonnancement et à l’allouer à la première MIF de l’ordonnanceur apte à recevoir le PAE de manière à réduire la dette de placement, l’étape de remplacement étant mise en œuvre jusqu’à ce que, pour chaque PAE de la deuxième liste, il n’existe aucune MIF de l’ordonnanceur apte à recevoir le PAE de manière à réduire la dette de placement. Par ailleurs, la phase de chaînage arrière comprend au moins les étapes successives suivantes : - une troisième étape de listage pour créer une troisième liste comprenant les PAE de la pluralité de PAE qui sont non émetteurs de données ; - une étape de calcul pour déterminer l’équité de l’ordonnancement obtenu après la phase de chaînage avant et la phase des dettes minimums ; - une troisième suite d’étapes successives, mise en œuvre de manière itérative, comprenant : - une sous-étape de pondération pour attribuer, à chaque PAE de la troisième liste, un facteur de pondération indiquant le nombre de MIF aptes à recevoir ce PAE et le nombre de PAE prédécesseur de ce PAE ; - une sous-étape de classement pour classer les PAE de la troisième liste par ordre de priorité en fonction de leur facteur de pondération, les PAE prioritaires étant les PAE présentant le plus grand nombre de MIF aptes à les recevoir et/ou les PAE avec le plus grand nombre de PAE prédécesseurs ; - une sous-étape de réallocation pour déterminer au moins une MIF de l’ordonnanceur apte à recevoir le premier PAE de la troisième liste de manière à améliorer l’équité de l’ordonnancement et, si une telle MIF existe, pour réallouer le premier PAE de la troisième liste à la première MIF apte à le recevoir de manière à améliorer l’équité de l’ordonnancement, sinon pour supprimer ledit premier PAE de la troisième liste ; - une sous-étape de mise à jour pour mettre à jour l’équité de l’ordonnancement courant ainsi que les paramètres du premier jeu de paramètres de chaque MIF et les paramètres du second jeu de paramètres de chaque PAE en fonction de la réallocation réalisée à la sous-étape de réallocation, la troisième suite d’étapes étant mise en œuvre jusqu’à ce que la troisième liste soit vide de PAE. Avantageusement, une MIF de l’ordonnanceur est apte à recevoir un PAE si le temps d’exécution dudit PAE est inférieur ou égal à une limite de temps allouable faisant partie du jeu de paramètres de cette MIF, la limite de temps allouable correspondant à un temps allouable idéal défini par l’équation suivante : dans laquelle : - i est un entier positif ; - n est le nombre total de PAE de l’application logicielle ; - est le nombre de MIF dans une MAF de l’ordonnanceur ; - est le temps de pire exécution du PAE(i) ; - est le nombre d’exécution du PAE(i) sur une MAF ; et - est une constante d’avance de phase prédéfinie. De plus, si à la fin d’une étape d’allocation d’un PAE aucune MIF de l’ordonnanceur n’est apte à recevoir ledit PAE, ladite étape d’allocation est mise en œuvre de nouveau avec une nouvelle limite de temps allouable correspondant au temps allouable maximum de chaque MIF. La présente invention concerne également une méthode d’installation d’une application logicielle dans un calculateur. Selon l’invention, la méthode comporte au moins les étapes successives suivantes : - une étape de génération pour mettre en œuvre le procédé tel que décrit ci-dessus de manière à générer le plan d’installation comprenant un ordonnancement de la pluralité de PAE formant l’application logicielle à installer dans le calculateur ; - une étape d’installation pour installer l’application logicielle dans le calculateur à l’aide du plan d’installation. La présente invention concerne également un dispositif de génération d’un plan d’installation d’une application logicielle dans un calculateur, ledit plan d’installation comprenant au moins un ordonnancement d’une pluralité de PAE formant ladite application logicielle. Selon l’invention, le dispositif comporte au moins : - une première unité d’acquisition configurée pour acquérir un ensemble de paramètres d’entrée comprenant au moins des paramètres caractérisant le calculateur et des paramètres caractérisant la pluralité de PAE ; - une unité d’initialisation configurée établir, à partir des paramètres d’entrée, au moins un premier jeu de paramètres associé à chaque MIF de l’ordonnanceur du calculateur et un second jeu de paramètres associé à chaque PAE de la pluralité de PAE ; - une première unité de calcul configurée pour créer, de manière itérative, un ordonnancement de la pluralité de PAE en : - attribuant, à chaque PAE, au moins un facteur de pondération défini à partir de paramètres du second jeu de paramètres du PAE auquel il est associé ; - classant les PAE de la pluralité de PAE en fonction de leur facteur de pondération par ordre de priorité sur un classement, le ou les PAE prioritaires étant classés en premier dans le classement ; - allouant le premier PAE du classement à la première MIF de l’ordonnanceur apte à recevoir ledit premier PAE ; - mettant à jour les paramètres du premier jeu de paramètres de chaque MIF et les paramètres du second jeu de paramètres de chaque PAE en fonction de l’allocation réalisée ; - une seconde unité de calcul configurée pour générer le plan d’installation de l’application logicielle, à l’aide de l’ordonnancement des PAE créé par la première unité de calcul. L’invention concerne également un système d’installation d’une application logicielle dans un calculateur à partir d’un plan d’installation. Selon l’invention, le système comporte au moins : - un dispositif, tel que décrit ci-dessus, configuré pour générer le plan d’installation de l’application logicielle à installer dans le calculateur ; - une seconde unité d’acquisition configurée pour acquérir au moins une pluralité de PAE formant l’application logicielle et le plan d’installation ; - une unité d’exécution configurée pour exécuter le plan d’installation de manière à installer l’application logicielle dans le calculateur à l’aide du plan d’installation. Brève description des figures Les figures annexées feront bien comprendre comment l’invention peut être réalisée. Sur ces figures, des références identiques désignent des éléments semblables. La est une vue schématique d’un mode de réalisation particulier d’un système d’installation d’une application logicielle dans un calculateur. La est un schéma synoptique d’une méthode d’installation de l’application logicielle dans le calculateur. La est un schéma synoptique d’un procédé de génération d’un plan d’installation pour installer l’application logicielle dans le calculateur. La est un schéma synoptique d’un mode de réalisation préféré du procédé comprenant une phase de chaînage avant, une phase des dettes minimums et une phase de chaînage arrière. La est un schéma synoptique de la phase de chaînage avant du procédé de la . La est un schéma synoptique de la phase des dettes minimums du procédé de la . La est un schéma synoptique de la phase de chaînage arrière du procédé de la . La est un exemple de deux graphes représentant des relations de dépendance entre des PAE d’une application logicielle. La est une vue schématique d’un premier exemple d’ordonnancement de PAE obtenu par le procédé P. La est une vue schématique d’un second exemple d’ordonnancement de PAE obtenu par le procédé P. La est une vue schématique d’un ordonnancement de PAE comprenant des PAE émetteurs de données. La est une vue schématique d’un ordonnancement de PAE obtenu par la mise en œuvre de la phase de chaînage avant. La est une vue schématique d’un ordonnancement de PAE obtenu par la mise en œuvre de la phase des dettes minimums. La est une vue schématique d’un ordonnancement de PAE obtenu par la mise en œuvre de la phase de chaînage arrière. La est une vue schématique d’un ordonnancement non optimisé de PAE. La est une vue schématique d’un ordonnancement optimisé de PAE. Description détaillée Le système 1, représenté schématiquement sur la dans un mode de réalisation particulier, est un système d’installation d’une application logicielle 3, telle qu’une application de commandes de vol d’un aéronef, dans un calculateur 4 (noté PROC pour « Processing Unit » en anglais). Le système 1 comporte un dispositif 5 de génération d’un plan d’installation. Le dispositif 5 est configuré pour générer un plan d’installation 2 destiné à permettre l’installation de l’application logicielle 3 dans le calculateur 4. Le système 1 comporte également un dispositif 6 configuré pour installer l’application logicielle 3 dans le calculateur 4 à l’aide du plan d’installation 2 généré par le dispositif 5. Le système 1 correspond, de préférence, à un système électronique de type ordinateur comprenant les dispositifs 5 et 6. Dans le cadre de la présente invention, le calculateur 4 peut correspondre à tout type de dispositif électronique de calcul comportant au moins une unité de calcul de type processeur. Dans un mode de réalisation préféré, le calculateur 4 correspond à un calculateur avionique destiné à commander des systèmes d’un aéronef. Il peut s’agir de commander des actionneurs de contrôle en fonctions d’ordres de commande générés par l’équipage de l’aéronef. Le calculateur 4 peut, notamment, être destiné à faire partie d’une architecture usuelle de type avionique modulaire intégrée comprenant plusieurs calculateurs modulaires identiques répliqués à des fins de redondance. En outre, on entend par « application logicielle », un programme ou un ensemble de programmes formé par une pluralité de processus applicatifs élémentaires (ci-après appelés PAE). Comme représenté schématiquement sur la , la pluralité de PAE comprend un nombre n de PAE notés PAE(1), PAE(2), …, PAE(n), avec n un nombre entier positif. À titre indicatif, une application logicielle comprend généralement plusieurs centaines ou plusieurs milliers de PAE selon sa complexité. L’installation de l’application logicielle 3 dans le calculateur 4 désigne la programmation de la pluralité de PAE dans le calculateur 4. La programmation de la pluralité de PAE dans le calculateur 4 désigne leur ordonnancement dans un ordonnanceur 7. En effet, pour le bon fonctionnement de l’application logicielle 3, la pluralité de PAE est programmée dans un ordre particulier. Il s’agit d’allouer chaque PAE à un emplacement sur l’ordonnanceur 7. L’ordonnanceur 7 comporte un cycle temporel (ci-après appelé MAF pour « Major Frame » en anglais) comprenant une pluralité d’unité temporelles (ci-après appelées MIF pour « Minor Frame » en anglais). Les MIF sont les emplacements permettant d’allouer un ou plusieurs PAE. La MAF peut être répétée indéfiniment de façon cyclique selon le fonctionnement de l’application logicielle 3. L’exécution d’une MAF désigne l’exécution de toutes ses MIF. L’exécution d’une MIF correspond à l’exécution du ou des PAE qui lui sont alloués. L’ordonnancement de la pluralité de PAE dans l’ordonnanceur 7 est conditionné par un ensemble de critères. En particulier, l’ordonnancement satisfait à certaines contraintes. Une première contrainte concerne l’ordre d’exécution des PAE. Lors du fonctionnement de l’application logicielle 3, certains PAE nécessitent les résultats d’opérations réalisées par d’autres PAE. De plus les PAE peuvent être exécutés plusieurs fois sur une MAF. L’ordre d’exécution des PAE peut être modélisé par des graphes des PAE, comme représenté sur la dans un exemple. Il s’agit de graphes G1 et G2 orientés sans cycle indiquant les relations de dépendances entre six PAE. Une deuxième contrainte concerne le temps d’exécution des PAE. Le temps d’exécution du ou des PAE alloués à une MIF doit être inférieur ou égal à un temps allouable de ladite MIF. Il peut s’agir du temps d’exécution maximum de la MIF (commun à toutes les MIF et intrinsèque au calculateur 4). Il peut également s’agir d’une limite de temps allouable choisie arbitrairement. Pour le temps d’exécution d’un PAE, on considère le temps de pire exécution, c’est-à-dire son temps d’exécution maximum. C’est le temps d’exécution d’un PAE que l’on obtient dans les conditions les plus défavorables. Une troisième contrainte concerne la mise à disposition de données par des PAE émetteurs de données. Certains PAE nécessitent d’émettre des données via des médias de transmission du calculateur 4. Chaque média de transmission présente une bande passante, à savoir une capacité d’émission de données. Aussi, chaque média de transmission n’est pas nécessairement apte à émettre toutes les données émises par le ou les PAE d’une MIF lors de son exécution. Certaines émissions de données sont alors retardées. Ces retards sont à prendre en compte pour l’ordonnancement des PAE. Dans le cadre de la présente invention, un média de transmission désigne un organe de communication de données entre des systèmes informatiques ou électroniques, par exemple pour communiquer des données à un actionneur ou à un autre calculateur. Le dispositif 5 est configuré pour générer le plan d’installation 2 comprenant un ordonnancement de la pluralité de PAE. Le dispositif 5 est apte à créer un ordonnancement optimisé des PAE qui prend en compte les contraintes ci-dessus. Le dispositif 5 comporte une première unité d’acquisition 8 (notée ACQ1 pour « Acquisition unit » en anglais) configurée pour acquérir un ensemble de paramètres d’entrée 9. Les paramètres d’entrée 9 comprennent des paramètres caractérisant le calculateur 4 et des paramètres caractérisant la pluralité de PAE de l’application logicielle 3. Ils peuvent également comprendre d’autres paramètres, par exemple des paramètres de réglage. Par exemple, les paramètres caractérisant le calculateur 4 comprennent au moins des paramètres caractérisant l’ordonnanceur 7 du calculateur 4 et/ou des paramètres caractérisant le ou les médias de transmission du calculateur 4. Les paramètres caractérisant la pluralité de PAE de l’application logicielle 3 peuvent comprendre au moins le nombre de PAE et/ou des paramètres caractérisant l’exécution de chaque PAE. Dans le mode de réalisation représenté sur la , l’unité d’acquisition 8 est configurée pour acquérir les paramètres d’entrée 9 à partir d’une mémoire 10 (notée MEM1 pour « Memory » en anglais). De plus, le dispositif 5 comporte une unité d’initialisation 11 (notée INIT pour « Initialisation Unit » en anglais) configurée pour établir, à partir des paramètres d’entrée 9, un premier jeu de paramètres SET1 et un second jeu de paramètres SET2. On associe à chaque MIF de l’ordonnanceur 7 un jeu de paramètres SET1 la caractérisant et on associe à chaque PAE de la pluralité de PAE un jeu de paramètres SET2 le caractérisant. De préférence, les paramètres d’entrée 9 comprennent au moins les fonctions listées ci-dessous permettant d’établir les jeux de paramètres SET 1 et SET2. Dans la suite, la lettre « i » est un entier positif utilisé pour désigner le numéro d’une MIF ou d’un PAE donné, (notés MIF(i) et PAE(i)). De manière non limitative, chaque jeu de paramètres SET1 associé à une MIF(i) comprend les fonctions suivantes : - une fonction de temps allouable notée indiquant le temps allouable restant dans la MIF(i) ; - une fonction d’émission consommable indiquant le nombre de requêtes d’émission possibles sur chaque média de transmission de la MIF(i) ; - une fonction de temps allouable idéal notée indiquant le temps allouable idéal restant dans la MIF(i). Il s’agit de l’objectif que l’on souhaite idéalement respecter pour l’ordonnancement des PAE. Le temps d’exécution du ou des PAE alloués à une MIF ne doit pas dépasser son temps allouable idéal, dans la mesure du possible. Le temps allouable idéal pour toutes les MIF est déterminé, de préférence, à partir de l’équation suivante : dans laquelle : - n est le nombre de PAE de l’application logicielle 3 ; - est le nombre de MIF dans une MAF ; - est le temps de pire exécution du PAE(i) ; - est le nombre d’exécution du PAE(i) sur une MAF ; et - est une constante d’avance de phase prédéfinie. La constante d’avance de phase est un paramètre de réglage. Elle permet de définir le rapport que l’on souhaite obtenir entre le temps allouable et le temps allouable idéal . Le temps allouable idéal tel que défini ci-dessus, correspond à une moyenne arithmétique de l’ensemble des temps d’exécution des PAE de l’application logicielle 3. Ce temps allouable idéal permet d’obtenir un ordonnancement équitable et donc de maximiser une marge à l’évolution. La marge à l’évolution correspond au plus petit écart qui existe sur l’ordonnanceur 7, entre le temps allouable maximum d’une MIF et le temps de pire exécution du ou des PAE qui lui sont alloués. Des exemples de marge à l’évolution (notée ), sont représentés de la à la . De manière non limitative, chaque jeu de paramètres SET2 comprend les fonctions suivantes : - une fonction de pire exécution indiquant le temps de pire exécution du PAE(i) ; - une fonction de nombre d’exécution indiquant le nombre d’exécution de la PAE(i) sur la MAF ; - une fonction de périodicité indiquant le nombre de fois que le PAE(i) est exécuté sur la MAF ; - une ou plusieurs fonctions de PAE prédécesseurs indiquant le nombre de PAE dont dépend directement ou indirectement le PAE(i) ; - une ou plusieurs fonctions de PAE successeurs indiquant le nombre de PAE dépendant directement ou indirectement du PAE(i) ; - une fonction de requête d’émissions indiquant le nombre de requêtes d’émission émises par le PAE(i) sur chaque média de transmission du calculateur 4 ; - une fonction des allocations possibles AC(i) indiquant la première et la dernière MIF de l’ordonnanceur 7 aptes à recevoir le PAE(i). En outre, le dispositif 5 comporte une première unité de calcul 12 (notée COMP1 pour « Computation Unit » en anglais) configurée pour créer, de manière itérative, l’ordonnancement de la pluralité de PAE. L’unité de calcul 12 est configurée pour attribuer, à chaque PAE, au moins un facteur de pondération défini à partir de paramètres du second jeu de paramètres SET2 du PAE auquel il est associé. De cette manière, on est en mesure d’identifier facilement les PAE qui possèdent une ou plusieurs caractéristiques particulières. L’unité de calcul 12 est configurée pour classer les PAE de la pluralité de PAE en fonction de leur facteur de pondération par ordre de priorité sur un classement. Le ou les PAE prioritaires sont classés en premier dans le classement. De cette manière, on est en mesure d’organiser les PAE en les hiérarchisant en fonction d’une ou de plusieurs de leurs caractéristiques. Le PAE classé en premier dans le classement est le PAE que l’on souhaite allouer avant tous les autres PAE. L’unité de calcul 12 est configurée pour allouer le premier PAE du classement à la première MIF de l’ordonnanceur 7 apte à recevoir ledit premier PAE. On dit qu’une MIF est apte à recevoir un PAE si l’allocation de ce PAE à cette MIF conduit à un ordonnancement valide, à savoir un ordonnancement permettant le bon fonctionnement de l’application logicielle 3. L’unité de calcul 12 est configurée pour mettre à jour les paramètres du jeu de paramètres SET1 de chaque MIF et les paramètres du jeu de paramètres SET2 de chaque PAE en fonction de l’allocation réalisée. De plus, le PAE qui vient d’être alloué n’est plus pris en compte lors des itérations suivantes. L’unité de calcul 12 réalise les opérations ci-dessus de manière itérative jusqu’à ce que tous les PAE de la pluralité de PAE soient ordonnancés. Le dispositif 5 peut comporter une mémoire (non représentée) pour enregistrer les allocations de PAE à chaque itération de manière à obtenir un ordonnancement de la pluralité de PAE à la fin des itérations. Dans le cadre de la présente invention, on considère qu’une MIF est apte à recevoir un PAE si l’allocation de ce PAE à cette MIF conduit au bon fonctionnement de l’application logicielle 3 une fois l’installation des PAE effectuée. Dans un mode de réalisation préféré, une MIF est apte à recevoir un PAE au moins si le temps de pire exécution dudit PAE est inférieur ou égal à une limite de temps allouable de cette MIF. La limite de temps allouable correspond au temps allouable idéal tel que défini ci-avant. Par ailleurs, si aucune MIF de l’ordonnanceur 7 n’est apte à recevoir un PAE lors de son allocation, alors une nouvelle limite de temps allouable est définie et une nouvelle itération démarre pour l’allocation de ce PAE. La nouvelle limite de temps allouable peut correspondre au temps allouable maximum de la MIF. De cette manière, il est possible de continuer l’ordonnancement même si, localement, certains PAE ne respectent pas l’objectif visant à ne pas dépasser le temps allouable idéal. Par ailleurs, le dispositif 5 comporte une seconde unité de calcul 13 (notée COMP2) configurée pour générer le plan d’installation 2 de l’application logicielle 3, à l’aide de l’ordonnancement des PAE créé par l’unité de calcul 12. Dans le mode de réalisation de la , le plan d’installation 2 est enregistré dans une mémoire 14 (notées MEM2). Le dispositif 6 est configuré pour installer l’application logicielle 3 à l’aide du plan d’installation 2 généré par le dispositif 5. Pour ce faire, le dispositif 6 comporte une unité d’acquisition 15 (notée ACQ2) configurée pour acquérir le plan d’installation 2 depuis la mémoire 14. L’unité d’acquisition 15 est également configurée pour acquérir la pluralité de PAE formant l’application logicielle 3 à installer. En outre, le dispositif 6 comporte une unité d’exécution 16 (notée EXE pour « Execution unit » en anglais) configurée pour exécuter le plan d’installation 2 afin d’installer l’application logicielle 3 dans le calculateur 4. Ainsi, grâce au système 1, on est en mesure d’obtenir un ordonnancement de la pluralité de PAE de l’application logicielle 3 qui est mise en œuvre de manière simple, rapide et automatique. De plus, en choisissant judicieusement l’ordre dans lequel on souhaite allouer les PAE, il est possible d’obtenir un ordonnancement des PAE optimisé. En particulier, il est possible d’obtenir un ordonnancement des PAE qui est équitable, c’est-à-dire un ordonnancement dans lequel le temps d’exécution des PAE est réparti de manière homogène sur toutes les MIF de l’ordonnanceur 7. Ainsi, on est en mesure de maximiser une marge à l’évolution du calculateur 4. Il s’agit du temps allouable restant dans la MIF la plus chargée de l’ordonnanceur 7 après l’ordonnancement de tous les PAE de la pluralité de PAE. La marge à l’évolution permet, notamment, d’intégrer ultérieurement des PAE supplémentaires dans le calculateur 4. Cela peut permettre l’ajout de nouvelles fonctionnalités ou de correctifs au cours de la vie du calculateur 4. Le système 1 tel que décrit ci-dessus permet de mettre en œuvre une méthode M, représentée schématiquement sur la , pour installer l’application logicielle 3 dans le calculateur 4. La méthode M comprend une étape E1 de génération pour mettre en œuvre un procédé P, décrit ci-après, générant le plan d’installation 2 comprenant un ordonnancement de la pluralité de PAE formant l’application logicielle 3. En outre, la méthode M comprend une étape E2 d’installation pour installer l’application logicielle 3 dans le calculateur 4 à l’aide du plan d’installation 2. Le dispositif 5 du système 1 tel que décrit ci-dessus, permet de mettre en œuvre le procédé P, représenté schématiquement sur la , pour générer le plan d’installation 2 de l’application logicielle 3. Le procédé P comprend une étape d’acquisition E3 pour acquérir des paramètres d’entrée 9. De plus, le procédé P comprend une étape d’initialisation E4 pour établir, à partir des paramètres d’entrée 9, les jeux de paramètres SET1 et SET2. En outre, le procédé P comporte une suite d’étapes E5 pour créer un ordonnancement de la pluralité de PAE. Comme représenté sur la , la suite d’étapes E5 comporte des sous-étapes E51, E52, E53 et E54 mises en œuvre successivement de façon itérative. La suite d’étapes E5 est mise en œuvre de manière à allouer, un par un, les PAE de la pluralité de PAE à des MIF de l’ordonnanceur 7 jusqu’à ce qu’ils soient tous ordonnancés. La sous-étape E51 comprend l’attribution d’un facteur de pondération à chaque PAE de la pluralité de PAE. Le facteur de pondération est défini à partir de paramètres du jeu de paramètres SET2 du PAE auquel il est associé. La sous-étape E52 est mise en œuvre de manière à classer les PAE de la pluralité de PAE en fonction de leur facteur de pondération par ordre de priorité sur un classement. Le ou les PAE prioritaires sont classés en premier dans le classement. La sous-étape E53 comprend l’allocation du premier des PAE du classement à la première MIF de l’ordonnanceur 7 apte à recevoir ledit premier PAE. La sous-étape E54 comprend la mise à jour des paramètres des jeux de paramètres SET1 et SET2 en fonction de l’allocation réalisée à la sous-étape E53. Une fois la mise à jour réalisée, une nouvelle itération peut commencer en ne prenant plus en compte le PAE qui vient d’être alloué. Par ailleurs, le procédé P comprend une étape E7 de génération pour générer le plan d’installation 2 à l’aide de l’ordonnancement des PAE réalisé à la suite d’étapes E5. Dans un mode de réalisation préféré, représenté sur la , le procédé P comporte des étapes supplémentaires mises en œuvre après l’étape E4 d’initialisation. Il s’agit de trois phases mises en œuvre l’une après l’autre et consistant à allouer les PAE de l’application logicielle 3 par couches successives. Chaque phase est destinée à l’allocation ou l’optimisation de PAE particuliers. Ainsi, le procédé P comporte une phase P1 de chaînage avant (ci-après phase P1), représentée sur la . La phase P1 permet de déterminer un ordonnancement pour les PAE de la pluralité de PAE qui sont non émetteurs de données ou qui possèdent au moins un PAE successeur. La phase P1 comprend une première étape de listage E7, mise œuvre après l’étape d’initialisation E4. L’étape E7 comprend la création d’une première liste L1 comprenant les PAE de la pluralité de PAE qui sont non émetteurs de données ou qui possèdent au moins un PAE successeur. De plus, la phase P1 comprend une première suite d’étapes E8 pour allouer les PAE de la liste L1. Dans le mode de réalisation préféré, la suite d’étapes E8 correspond à la suite d’étapes E5 du procédé P tel que décrit ci-avant. La suite d’étapes E8 comprend les sous étapes E81, E82, E83 et E84 mises en œuvre successivement de manière itérative jusqu’à ce que tous les PAE de la liste L1 soient alloués. La sous-étape E81 comprend l’attribution d’un facteur de pondération pour chaque PAE de la liste L1. Ce facteur de pondération indique le nombre de MIF aptes à recevoir ce PAE et le nombre de PAE successeurs de ce PAE. La sous-étape E82 est mise en œuvre de manière à classer les PAE de la liste L1 par ordre de priorité en fonction de leur facteur de pondération. Les PAE prioritaires sont les PAE avec le plus petit nombre de MIF aptes à les recevoir et/ou avec le plus grand nombre de PAE successeurs. Ils sont classés en premier dans la liste L1. La sous-étape E83 comprend l’allocation du premier PAE de la liste L1 à la première MIF de l’ordonnanceur 7 apte à recevoir ledit premier PAE. La sous-étape E84 comprend la mise à jour des paramètres des jeux de paramètres SET1 et SET2 de chaque PAE de la liste L1 en fonction de l’allocation réalisée à la sous-étape E83. Une fois la mise à jour réalisée, une nouvelle itération peut commencer en ne prenant plus en compte le PAE qui vient d’être alloué. La phase P1 permet d’allouer, un par un, les PAE non émetteurs de données et les PAE qui ne possèdent pas de PAE successeurs par ordre de priorité. On alloue en priorité les PAE qui présentent le plus de contraintes pour avoir un maximum de possibilités d’allocation. Les possibilités d’allocation pour chaque PAE ne sont évaluées qu’une seule fois, ce qui permet de converger rapidement vers une solution d’ordonnancement valide. L’ordonnancement obtenu à la fin de la phase P1 est incomplet puisque certains PAE restent à allouer. C’est l’objectif de la phase P2 d’allouer le reste des PAE. La phase P2 permet d’allouer les PAE émetteurs de données terminaux, à savoir les PAE émetteurs de données sans PAE successeurs. La phase P2 comprend une étape de listage E9 pour créer une deuxième liste L2. Cette liste L2 comprend les PAE de la pluralité de PAE qui sont émetteurs de données et qui ne possèdent pas de PAE successeurs. Il s’agit des seuls PAE de la pluralité de PAE qui n’ont pas encore été alloués. En outre, la phase P2 comprend une deuxième suite d’étapes E10 pour allouer les PAE de la liste L2. La suite d’étapes E10 comprend les sous-étapes E101, E102, E103, E104 et E105 mises en œuvre successivement de manière itérative jusqu’à ce que tous les PAE de la liste L2 soient alloués. La sous-étape E101 comprend l’attribution d’un facteur de pondération à chaque PAE de la liste L2. Ce facteur de pondération indique le nombre de MIF aptes à recevoir ce PAE. La sous-étape E102 est mise en œuvre pour classer les PAE de la liste L2 par ordre de priorité en fonction de leur facteur de pondération. Le ou les PAE prioritaires sont les PAE avec le plus petit nombre de MIF aptes à les recevoir. La sous-étape E103 comprend la détermination de temps d’absorption des émissions du premier PAE de la liste L2. Un temps d’absorption des émissions correspond à une grandeur caractérisant un couple PAE/MIF. Il s’agit du temps (en nombre de MIF) nécessaire pour émettre toutes les requêtes d’émission de ce PAE s’il était associé à cette MIF. Aussi, à la sous-étape E103, un temps d’absorption des émissions du premier PAE de la liste L2 est déterminé pour chaque MIF apte à recevoir ledit premier PAE. La sous-étape E104 comprend l’allocation du premier PAE de la liste L2 à la MIF apte à recevoir ledit premier PAE pour laquelle le temps d’absorption des émissions dudit premier PAE est minimum. La sous-étape E105 comprend la mise à jour des paramètres des jeux de paramètres SET1 et SET2 en fonction de l’allocation réalisée à la sous-étape E104. Une fois la mise à jour réalisée, une nouvelle itération peut commencer en ne prenant plus en compte le PAE qui vient d’être alloué. Un exemple d’allocation d’un PAE émetteur de données est représenté schématiquement sur la . Dans cet exemple, un PAE(1) et un PAE(2) ont été préalablement alloués lors d’une phase P1. Le PAE(3) doit être alloué lors de la phase P2. Il émet trois requêtes d’émission de données sur le premier média de transmission du calculateur 4. Le PAE(3) est alloué à la MIF(1) qui présente suffisamment de temps allouable restant pour l’exécution du PAE(3). Toutefois, dans cet exemple, chaque MIF ne peut émettre qu’une donnée sur le premier média de transmission. Le PAE(3) génère donc une dette de placement de trois MIF (noté D(PAE(3), MIF(1)). Ainsi, la phase P2 permet d’allouer les PAE restants à ordonnancer après la phase P1, à savoir les émetteurs de données terminaux. Comme pour la phase P1, on alloue en premier les PAE les plus contraignant. L’ordonnancement obtenu à la fin de la phase P2 est complet et valide. Toutefois, l’ordonnancement peut présenter des retards de mise à disposition des requêtes d’émission, exprimés en nombre de MIF) qui est plus ou moins important. Aussi, la phase P2 comporte des étapes supplémentaires permettant de réduire ce retard. La phase P2 comprend les étapes E11 et E12 mises en œuvre successivement après la suite d’étapes E10. L’étape E11 comprend de détermination d’une dette de placement pour chaque MIF de l’ordonnanceur 7. La dette de placement d’une MIF correspond à un nombre de requêtes d’émissions de données qui ne pourront pas être satisfaites à l’exécution de cette MIF. L’étape E12 est mise en œuvre de manière itérative pour tous les PAE de la liste L2. Elle comprend la détermination, pour chaque PAE de la liste L2 alloué à la suite d’étapes E10, au moins d’une MIF apte à recevoir le PAE de manière à réduire une dette de placement d’une MIF de l’ordonnanceur 7. Si une telle MIF existe pour un PAE donné, alors ce PAE est supprimé de l’ordonnancement et il est réallouer à la première MIF de l’ordonnanceur 7 apte à le recevoir, de manière à réduire ladite dette de placement. L’étape E12 est mise en œuvre jusqu’à ce que, pour chaque PAE de la liste L2, il n’existe aucune MIF de l’ordonnanceur 7 apte à recevoir le PAE de manière à réduire une dette de placement. Ainsi, la phase P2 permet d’allouer les PAE émetteurs de données terminaux en mettant en œuvre un placement initial des PAE de la liste L2 puis une optimisation locale autour de ce placement initial de façon à réduire les dettes de placement. Les étapes de la phases P2 peuvent être complexes. Ces étapes sont facilitées par le fait qu’une grande majorité des PAE ont déjà été alloués lors de la phase P1. En effet, cela permet de limiter le nombre de combinaisons à évaluer lors de la phase P2. Par ailleurs, dans des cas particuliers, la mise en œuvre des phases P1 et P2 peut être optimisée grâce à l’avance de phase utilisée pour calculer le temps allouable idéal des MIF. En effet, pour la plupart des applications logicielles, les émissions de données sont majoritairement réalisées en fin de cycle des PAE (autrement dit à la fin des graphes des PAE). Aussi, il peut être intéressant de prévoir, dès la phase P1, de laisser plus de place disponible en fin de cycle de manière à pouvoir y allouer des PAE émetteurs de données. La figure 9 et la figure 10 montrent des exemples d’ordonnancement de PAE avec des constantes d’avance de phase différentes. Sur la figure 9, la constante d’avance de phase est choisie égale à 1. Cela permet d’obtenir un rapport de 1 entre le temps allouable maximum des MIF et le temps allouable idéal . Les PAE sont alors répartis sur toutes les MIF de manière homogène. La marge à l’évolution est maximale. Sur la figure 10, la constante d’avance de phase est choisie égale à 1,5. Cela permet d’obtenir un rapport de 0,5 entre le temps allouable maximum des MIF et le temps allouable idéal . Les PAE sont alors répartis en priorité sur les premières MIF, ce qui libère de la place sur les MIF(3) et MIF(6). La marge à l’évolution est réduite mais les allocations de la phase P2 seront plus simples. À titre indicatif, un exemple d’une optimisation possible d’un ordonnancement de PAE par le procédé P est représenté sur la et la . La figure 15 montre schématiquement un ordonnancement de PAE qui n’est pas optimisé. En effet, les temps d’exécution des PAE alloués aux MIF de l’ordonnanceur sont très hétérogènes d’une MIF à l’autre. En conséquence, certaines MIF sont beaucoup plus chargées que d’autres, ce qui produit une marge à l’évolution réduite. Par ailleurs, le procédé P comporte une phase P3 de chaînage arrière (ci-après phase P1), représentée sur la . La phase P3 permet d’améliorer l’ordonnancement obtenu à la fin de la phase P2 en réallouant certains PAE. La phase P3 comprend une troisième étape E13 de listage pour créer une troisième liste L3. La liste L3 comprend les PAE de la pluralité de PAE qui sont non émetteurs de données. Ce sont ces PAE qui sont susceptibles de pouvoir améliorer l’ordonnancement. La phase P3 comprend une étape E14 de calcul pour déterminer l’équité de l’ordonnancement obtenu après la phase P2. L’équité de l’ordonnancement représente la répartition du temps d’exécution des PAE dans l’ordonnanceur 7. Plus le temps d’exécution des PAE est réparti de manière homogène sur toutes les MIF de l’ordonnanceur 7, plus il est équitable. Dans le cadre de la présente invention, l’ordonnancement des PAE dans l’ordonnanceur 7 est défini par le deux fonctions suivantes : - ρ correspondant au temps d’exécution maximum alloué à une MIF de l’ordonnanceur 7 ; et - σ correspondant à l’écart type par rapport à la moyenne arithmétique des temps alloués sur toutes les MIF de l’ordonnanceur 7. L’amélioration de l’ordonnancement consiste à le rendre plus équitable. On considère qu’un ordonnancement est plus équitable si le temps d’exécution maximum ρ diminue sans faire augmenter l’écart-type σ ou si l’écart-type σ diminue sans faire augmenter le temps d’exécution maximum ρ. En outre, la phase P3 comprend une troisième suite d’étapes E15 pour réallouer des PAE de la liste L3 de manière à améliorer l’équité de l’ordonnancement. La suite d’étapes E15 comprend les sous-étapes E151, E152, E153 et E154 mises en œuvre successivement de manière itérative. La sous-étape E151 comprend l’attribution d’un facteur de pondération à chaque PAE de la liste L3. Le facteur de pondération indique le nombre de MIF aptes à recevoir ce PAE et le nombre de PAE prédécesseurs de ce PAE. La sous-étape E152 est mise en œuvre de manière à classer les PAE de la liste L3 par ordre de priorité en fonction de leur facteur de pondération. Les PAE prioritaires sont les PAE présentant le plus grand nombre de MIF aptes à les recevoir ou les PAE avec le plus grand nombre de PAE prédécesseurs. La sous-étape E153 comprend la détermination d’au moins une MIF de l’ordonnanceur 7 apte à recevoir le premier PAE de la liste L3 de manière à améliorer l’équité de l’ordonnancement. Si une telle MIF existe, le premier PAE de la liste L3 est réalloué à la première MIF apte à le recevoir de manière à améliorer l’équité de l’ordonnancement. Si aucun MIF ne permet de réallouer le PAE de manière à améliorer l’équité de l’ordonnanceur, celui-ci est supprimé de la liste L3. La sous-étape E154 comprend la mise à jour des paramètres des jeux de paramètres SET1 et SET2 en fonction de la réallocation réalisée à la sous-étape E153. L’équité de l’ordonnancement est également mise à jour. La suite d’étapes E15 est mise œuvre jusqu’à ce que la liste L3 soit vide de PAE. Cela signifie que tous les PAE de la liste L3 initiale ont été évalués pour améliorer l’équité de l’ordonnancement et, le cas échéant, réalloués. Ainsi, la phase P3 permet d’obtenir un ordonnancement aussi équitable que possible. La marge à l’évolution d’un tel ordonnancement est maximale. Un exemple simplifié de mise en œuvre des phases P1, P2 et P3 du procédé P est illustré par la , la et la . Il s’agit de créer un ordonnancement pour les six PAE représentés sur les graphes G1 et G2. Dans cet exemple, les PAE(3) et PAE(6) émettent chacun une donnée. Le calculateur 4 est apte à transmettre une donnée à la fin de chaque MIF. La mise en œuvre de la phase P1 permet d’obtenir un ordonnancement représenté schématiquement sur la . En effet, seuls les PAE(1), (2), (4) et (5) sont alloués car ce sont les PAE non émetteurs de données. De plus, les PAE(1) et (4) possèdent un plus grand nombre de successeurs que les PAE(2) et (5). Les PAE(1) et (4) sont donc alloués en premier dans l’ordonnanceur 7. La mise en œuvre de la phase P2 permet d’obtenir un ordonnancement représenté schématiquement sur la . Les PAE(3) et (6) sont émetteurs de données terminaux. Ils possèdent le même nombre de PAE prédécesseurs. Ils sont donc alloués sans ordre de priorité particulier. L’allocation des PAE(3) et (6) à la MIF(2) était possible mais elle génère une dette de placement pour la MIF(2). En effet, La MIF(2) pourrait transmettre la donnée du PAE(3) mais pas celle du PAE(6) qui aurait été transmise à la MIF(3). L’ordonnancement représenté sur la ne génère pas de dette de placement. La mise en œuvre de la phase P3 permet d’obtenir un ordonnancement représenté schématiquement sur la . Le PAE(5) peut être exécuté à la MIF(3) sans préjudice pour le fonctionnement de l’application logicielle 3. De plus, cette allocation permettrait d’améliorer l’équité de l’ordonnancement. Le PAE(5) est donc réalloué à la MIF(2). À titre indicatif, un exemple d’une optimisation possible d’un ordonnancement de PAE par le procédé P est représenté sur la et la . La figure 15 montre schématiquement un ordonnancement de PAE qui n’est pas optimisé. En effet, les temps d’exécution des PAE alloués aux MIF de l’ordonnanceur sont très hétérogènes d’une MIF à l’autre. En conséquence, certaines MIF sont beaucoup plus chargées que d’autres, ce qui produit une marge à l’évolution réduite. La figure 16 montre schématiquement l’ordonnancement des mêmes PAE que ceux de la figure 5 qui est optimisé. Dans cet ordonnancement les temps d’exécution des PAE sont répartis équitablement sur toutes les MIF de l’ordonnanceur. En conséquence, la marge à l’évolution pour cet ordonnancement est maximale. Le système 1 tel que décrit ci-dessus, mettant en œuvre le procédé P et la méthode M, présente de nombreux avantages. En particulier : - il permet d’obtenir, de manière simple et automatique, un ordonnancement de la pluralité de PAE de l’application logicielle 3 ; - il permet d’obtenir un ordonnancement avec une puissance et/ou un temps de calcul réduits, dans la mesure où le nombre de combinaisons d’allocations de PAE évaluées par le procédé P est réduit ; - il permet d’obtenir facilement un ordonnancement de la pluralité de PAE qui est optimisé, c’est-à-dire un ordonnancement aussi équitable que possible, donc avec une marge à l’évolution maximale ; - il permet d’optimiser les capacités du calculateur 4 en termes d’allocation de PAE et de maximiser sa durée de vie. En effet, la possibilité d’ajouter un maximum de PAE supplémentaires durant la vie du calculateur 4 évite d’avoir à recourir prématurément à un calculateur plus puissant. Procédé de génération d’un plan d’installation (2) d’une application logicielle (3) dans un calculateur (4), le plan d’installation (2) comportant au moins un ordonnancement d’une pluralité de processus applicatifs élémentaires (PAE) pour un ordonnanceur (7) du calculateur (4) dans lequel l’application logicielle (3) est susceptible d’être installée, chaque processus applicatifs élémentaires (PAE) de la pluralité de processus applicatifs élémentaires (PAE) étant destiné à être alloué à au moins une unité temporelle (MIF) d’un cycle temporel (MAF) de l’ordonnanceur (7) du calculateur (4), ledit procédé étant caractérisé en ce qu’il comporte au moins les étapes successives suivantes : une étape d’acquisition (E3) pour acquérir des paramètres d’entrée (9) comprenant au moins des paramètres caractérisant le calculateur (4) et des paramètres caractérisant la pluralité de processus applicatifs élémentaires (PAE) ; une étape d’initialisation (E4) pour établir, à partir des paramètres d’entrée (9), au moins un premier jeu de paramètres (SET1) caractérisant chaque unité temporelle (MIF) du calculateur (4) et un second jeu de paramètres (SET2) caractérisant chaque processus applicatif élémentaire (PAE) de la pluralité de processus applicatifs élémentaires (PAE) ; une suite d’étapes (E5) successives, mises en œuvre de façon itérative jusqu’à ce que tous les processus applicatifs élémentaires (PAE) de la pluralité de processus applicatifs élémentaires (PAE) soient ordonnancés, comprenant : une sous-étape (E51) de pondération pour attribuer, à chaque processus applicatif élémentaire (PAE) de la pluralité de processus applicatifs élémentaires (PAE), un facteur de pondération défini à partir de paramètres du second jeu de paramètres (SET2) du processus applicatif élémentaire (PAE) auquel il est associé ; une sous-étape (E52) de classement pour classer les processus applicatifs élémentaires (PAE) de la pluralité de processus applicatifs élémentaires (PAE) en fonction de leur facteur de pondération par ordre de priorité sur un classement, le ou les processus applicatifs élémentaires (PAE) prioritaires étant classés en premier dans le classement ; une sous-étape (E53) d’allocation pour allouer le premier des processus applicatifs élémentaires (PAE) du classement à la première unité temporelle (MIF) de l’ordonnanceur apte à recevoir ledit premier processus applicatif élémentaire (PAE) ; une sous-étape (E54) de mise à jour pour mettre à jour les paramètres du premier jeu de paramètres (SET1) de chaque unité temporelle (MIF) et les paramètres du second jeu de paramètres (SET2) de chaque processus applicatif élémentaire (PAE) en fonction de l’allocation réalisée à la sous-étape (E53) d’allocation ; une étape (E7) de génération pour générer le plan d’installation (2) pour le calculateur (4) à partir de l’ordonnancement des processus applicatifs élémentaires (PAE) réalisé à la suite d’étapes (E5). Procédé selon la revendication 1, caractérisé en ce qu’il comporte au moins les phases successives suivantes mises en œuvre après l’étape (E4) d’initialisation : une phase (P1) de chaînage avant pour déterminer un ordonnancement pour les processus applicatifs élémentaires (PAE) de la pluralité de processus applicatifs élémentaires (PAE) qui sont non émetteurs de données ou les processus applicatifs élémentaires (PAE) de la pluralité de processus applicatifs élémentaires (PAE) qui possèdent au moins un processus applicatif élémentaire (PAE) successeur ; une phase (P2) des dettes minimums pour déterminer un ordonnancement pour les processus applicatifs élémentaires (PAE) de la pluralité de processus applicatifs élémentaires (PAE) qui sont émetteurs de données et qui ne possèdent pas de processus applicatif élémentaire (PAE) successeur ; une phase (P3) de chaînage arrière pour déterminer un nouvel ordonnancement pour au moins un processus applicatif élémentaire (PAE) non émetteur de données alloué à la phase (P1) de chaînage avant, si ce nouvel ordonnancement permet d’améliorer une équité de l’ordonnancement. Procédé selon la revendication 2, caractérisé en ce que la phase (P1) de chaînage avant comprenant au moins les étapes successives suivantes : une première étape de listage (E7), mise œuvre après l’étape d’initialisation (E4), pour créer une première liste (L1) comprenant les processus applicatifs élémentaires (PAE) de la pluralité de processus applicatifs élémentaires (PAE) qui sont non émetteurs de données ou qui possèdent au moins un processus applicatif élémentaire (PAE) successeur ; une première suite d’étapes (E8) correspondant à la suite d’étapes (E5) et mise en œuvre de manière itérative pour les processus applicatifs élémentaires (PAE) de la première liste (L1) et comprenant les étapes successives suivantes : une sous-étape (E81) de pondération pour attribuer, à chaque processus applicatif élémentaire (PAE) de la première liste (L1), un facteur de pondération indiquant le nombre d’unités temporelles (MIF) aptes à recevoir ce processus applicatif élémentaire (PAE) et le nombre de processus applicatifs élémentaires (PAE) successeurs de ce processus applicatif élémentaire (PAE) ; une sous-étape (E82) de classement pour classer les processus applicatifs élémentaires (PAE) de la première liste (L1) par ordre de priorité en fonction de leur facteur de pondération, les processus applicatifs élémentaires (PAE) prioritaires étant les processus applicatifs élémentaires (PAE) avec le plus petit nombre d’unités temporelles (MIF) aptes à les recevoir et/ou avec le plus grand nombre de processus applicatifs élémentaires (PAE) successeurs ; une sous-étape (E83) d’allocation pour allouer le premier processus applicatif élémentaire (PAE) de la première liste (L1) à la première unité temporelle (MIF) de l’ordonnanceur (7) apte à recevoir ledit premier processus applicatif élémentaire (PAE) ; une sous-étape (E84) de mise à jour pour mettre à jour les paramètres du premier jeu de paramètres (SET1) de chaque unité temporelle (MIF) et les paramètres du second jeu de paramètres (SET2) de chaque processus applicatif élémentaire (PAE) de la première liste (L1) en fonction de l’allocation réalisée à la sous-étape (E83) d’allocation ; la première suite d’étapes (E8) étant mise en œuvre jusqu’à ce que tous les processus applicatifs élémentaires (PAE) de la première liste (L1) soient alloués. Procédé selon l’une quelconque des revendications 2 et 3, caractérisé en ce que la phase (P2) des dettes minimums comprend au moins les étapes successives suivantes : une étape de listage (E9) pour créer une deuxième liste (L2) comprenant les processus applicatifs élémentaires (PAE) de la pluralité de processus applicatifs élémentaires (PAE) qui sont émetteurs de données et qui ne possèdent pas de processus applicatif élémentaire (PAE) successeur ; une deuxième suite d’étapes (E10) comprenant au moins les étapes successives suivantes : une sous-étape (E101) de pondération pour attribuer, à chaque processus applicatif élémentaire (PAE) de la deuxième liste (L2), un facteur de pondération indiquant le nombre d’unités temporelles (MIF) aptes à recevoir ce processus applicatif élémentaire (PAE) ; une sous-étape (E102) de classement pour classer les processus applicatifs élémentaires (PAE) de la deuxième liste (L2) par ordre de priorité en fonction de leur facteur de pondération, les processus applicatifs élémentaires (PAE) prioritaires étant les processus applicatifs élémentaires (PAE) avec le plus petit nombre d’unités temporelles (MIF) aptes à les recevoir ; une sous-étape (E103) de détermination pour déterminer, pour le premier processus applicatif élémentaire (PAE) de la deuxième liste (L2), un temps d’absorption des émissions pour chaque unité temporelle (MIF) apte à recevoir ledit premier processus applicatif élémentaire (PAE) ; une sous étape (E104) d’allocation pour allouer le premier processus applicatif élémentaire (PAE) de la deuxième liste (L2) à l’unité temporelle (MIF) apte à recevoir ledit premier processus applicatif élémentaire (PAE) pour laquelle le temps d’absorption des émissions est minimum ; une sous-étape (E105) de mise à jour pour mettre à jour les paramètres du premier jeu de paramètres (SET1) de chaque unité temporelle (MIF) et les paramètres du second jeu de paramètres (SET2) de chaque processus applicatif élémentaire (PAE) en fonction de l’allocation réalisée à la sous-étape (E104) d’allocation ; la deuxième suite d’étapes (E10) étant mise en œuvre jusqu’à ce que tous les processus applicatifs élémentaires (PAE) de la deuxième liste (L2) soient alloués. Procédé selon la revendication 4, caractérisé en ce que la phase (P2) des dettes minimums comporte, de plus, les étapes successives suivantes, mises en œuvre après la deuxième suite d‘étapes (E10) : une étape (E11) de détermination pour déterminer, pour chaque unité temporelle (MIF) de l’ordonnanceur (7), une dette de placement correspondant à un nombre de requêtes d’émissions de données qui ne pourront pas être satisfaites à l’exécution de cette unité temporelle (MIF) ; une étape (E12) de remplacement pour déterminer, de manière itérative pour chaque processus applicatif élémentaire (PAE) de la deuxième liste (L2) alloué à la deuxième suite d’étapes (E10), au moins une unité temporelle (MIF) apte à recevoir le processus applicatif élémentaire (PAE) de manière à réduire la dette de placement et, si une telle unité temporelle (MIF) existe, à supprimer le processus applicatif élémentaire (PAE) de l’ordonnancement et à l’allouer à la première unité temporelle (MIF) de l’ordonnanceur (7) apte à recevoir le processus applicatif élémentaire (PAE) de manière à réduire la dette de placement ; l’étape (E12) de remplacement étant mise en œuvre jusqu’à ce que, pour chaque processus applicatif élémentaire (PAE) de la deuxième liste (L2), il n’existe aucune unité temporelle (MIF) de l’ordonnanceur (7) apte à recevoir le processus applicatif élémentaire (PAE) de manière à réduire la dette de placement. Procédé selon l’une des revendications 4 et 5, caractérisé en ce que la phase (P3) de chaînage arrière comprend au moins les étapes successives suivantes : une troisième étape (E13) de listage pour créer une troisième liste (L3) comprenant les processus applicatifs élémentaires (PAE) de la pluralité de processus applicatifs élémentaires (PAE) qui sont non émetteurs de données ; une étape (E14) de calcul pour déterminer l’équité de l’ordonnancement obtenu après la phase de chaînage avant et la phase des dettes minimum ; une troisième suite d’étapes (E15) successives, mise en œuvre de manière itérative, comprenant : une sous-étape (E151) de pondération pour attribuer, à chaque processus applicatif élémentaire (PAE) de la troisième liste (L3), un facteur de pondération indiquant le nombre d’unités temporelles (MIF) aptes à recevoir ce processus applicatif élémentaire (PAE) et le nombre de processus applicatifs élémentaires (PAE) prédécesseur de ce processus applicatif élémentaire (PAE) ; une sous-étape (E152) de classement pour classer les processus applicatifs élémentaires (PAE) de la troisième liste (L3) par ordre de priorité en fonction de leur facteur de pondération, les processus applicatifs élémentaires (PAE) prioritaires étant les processus applicatifs élémentaires (PAE) présentant le plus grand nombre d’unités temporelles (MIF) aptes à les recevoir et/ou les processus applicatifs élémentaires (PAE) avec le plus grand nombre de processus applicatifs élémentaires (PAE) prédécesseurs ; une sous-étape (E153) de réallocation pour déterminer au moins une unité temporelle (MIF) de l’ordonnanceur (7) apte à recevoir le premier processus applicatif élémentaire (PAE) de la troisième liste (L3) de manière à améliorer l’équité de l’ordonnancement et, si une telle unité temporelle (MIF) existe, pour réallouer le premier processus applicatif élémentaire (PAE) de la troisième liste (L3) à la première unité temporelle (MIF) apte à le recevoir de manière à améliorer l’équité de l’ordonnancement, sinon pour supprimer ledit premier processus applicatif élémentaire (PAE) de la troisième liste (L3) ; une sous-étape (E154) de mise à jour pour mettre à jour l’équité de l’ordonnancement courant ainsi que les paramètres du premier jeu de paramètres (SET1) de chaque unité temporelle (MIF) et les paramètres du second jeu de paramètres (SET2) de chaque processus applicatif élémentaire (PAE) en fonction de la réallocation réalisée à la sous-étape (E153) de réallocation, la troisième suite d’étapes (E15) étant mise en œuvre jusqu’à ce que la troisième liste (L3) soit vide de processus applicatifs élémentaires (PAE). Procédé selon l’une quelconque des revendications 1 à 6, caractérisé en ce qu’une unité temporelle (MIF) de l’ordonnanceur (7) est apte à recevoir un processus applicatif élémentaire (PAE) si le temps d’exécution dudit processus applicatif élémentaire (PAE) est inférieur ou égal à une limite de temps allouable faisant partie du jeu de paramètres (SET1) de cette unité temporelle (MIF), la limite de temps allouable correspondant à un temps allouable idéal ( défini par l’équation suivante : dans laquelle : - i est un entier positif ; - n est le nombre total de processus applicatifs élémentaires (PAE) de l’application logicielle (3) ; - est le nombre de unités temporelles (MIF) dans un cycle temporel (MAF) de l’ordonnanceur (7) ; - est le temps de pire exécution du processus applicatif élémentaire i (PAE(i)) ; - est le nombre d’exécution du processus applicatif élémentaire i (PAE(i)) sur un cycle temporel (MAF) ; et - est une constant d’avance de phase prédéfinie. Procédé selon la revendication 7, caractérisé en ce que, si à la fin d’une étape d’allocation d’un processus applicatif élémentaire (PAE) aucune unité temporelle (MIF) de l’ordonnanceur (7) n’est apte à recevoir ledit processus applicatif élémentaire (PAE), l’étape d’allocation est mise en œuvre de nouveau avec une nouvelle limite de temps allouable correspondant au temps allouable maximum de chaque unité temporelle (MIF). Méthode d’installation d’une application logicielle dans un calculateur, caractérisée en ce qu’elle comporte au moins les étapes successives suivantes : une étape (E1) de génération pour mettre en œuvre le procédé (P) selon l’une quelconque des revendication 1 à 8 de manière à générer le plan d’installation (2) comprenant un ordonnancement de la pluralité de processus applicatifs élémentaires (PAE) formant l’application logicielle (3) à installer dans le calculateur (4) ; une étape (E2) d’installation pour installer l’application logicielle (3) dans le calculateur (4) à l’aide du plan d’installation (2). Dispositif de génération d’un plan d’installation d’une application logicielle dans un calculateur, ledit plan d’installation (2) comprenant au moins un ordonnancement d’une pluralité de processus applicatifs élémentaires (PAE) formant ladite application logicielle(3), le dispositif (5) étant caractérisé en ce qu’il comporte au moins : une première unité d’acquisition (8) configurée pour acquérir un ensemble de paramètres d’entrée (9) comprenant au moins des paramètres caractérisant le calculateur (4) et des paramètres caractérisant la pluralité de processus applicatifs élémentaires (PAE) ; une unité d’initialisation (11) configurée établir, à partir des paramètres d’entrée (9), au moins un premier jeu de paramètres (SET1) associé à chaque unité temporelle (MIF) de l’ordonnanceur (7) du calculateur (4) et un second jeu de paramètres (SET2) associé à chaque processus applicatif élémentaire (PAE) de la pluralité de processus applicatifs élémentaires (PAE) ; une première unité de calcul (12) configurée pour créer, de manière itérative, un ordonnancement de la pluralité de processus applicatifs élémentaires (PAE) en : attribuant, à chaque processus applicatif élémentaire (PAE), au moins un facteur de pondération défini à partir de paramètres du second jeu de paramètres (SET2) du processus applicatif élémentaire (PAE) auquel il est associé ; classant les processus applicatifs élémentaires (PAE) de la pluralité de processus applicatifs élémentaires (PAE) en fonction de leur facteur de pondération par ordre de priorité sur un classement, le ou les processus applicatifs élémentaires (PAE) prioritaires étant classés en premier dans le classement ; allouant le premier processus applicatif élémentaire (PAE) du classement à la première unité temporelle (MIF) de l’ordonnanceur (7) apte à recevoir ledit premier processus applicatif élémentaire (PAE) ; mettant à jour les paramètres du premier jeu de paramètres (SET1) de chaque unité temporelle (MIF) et les paramètres du second jeu de paramètres (SET2) de chaque processus applicatif élémentaire (PAE) en fonction de l’allocation réalisée ; une seconde unité de calcul (13) configurée pour générer le plan d’installation (2) de l’application logicielle (3), à l’aide de l’ordonnancement des processus applicatifs élémentaires (PAE) créé par la première unité de calcul (12). Système d’installation d’une application logicielle dans un calculateur à partir d’un plan d’installation, caractérisé en ce qu’il comporte au moins : un dispositif selon la revendication 10 configuré pour générer le plan d’installation (2) de l’application logicielle (3) à installer dans le calculateur (4) ; une seconde unité d’acquisition (15) configurée pour acquérir au moins une pluralité de processus applicatifs élémentaires (PAE) formant l’application logicielle (3) et le plan d’installation (2) ; une unité d’exécution (16) configurée pour exécuter le plan d’installation (2) de manière à installer l’application logicielle (3) dans le calculateur(4) à l’aide du plan d’installation (2).