Brevet FR3072197A1 (20190412)

REVENDICATIONS1. Procédé de construction hors-ligne d'un plan de séquencement de plusieurs tâches (Tp, Tc) à exécuter sur un système temps-réel, comprenant les étapes suivantes : - décomposer chaque tâche (Tp, Tc) en une séquence de trames, où chaque trame est associée à un traitement élémentaire (Tp(m)) ayant un besoin d'exécution (Bp(m)), et définit une date de début (Dp(m)) à partir duquel le traitement peut démarrer et une date de fin (Dp(m+1)), ou échéance, à laquelle le traitement doit être terminé ; - associer des contraintes d'ordre respectives (C) à des couples de traitements (Tp(m), Tc(n)) ; - projeter les dates sur une échelle de temps (S) associée à une unité d'exécution du système temps-réel, formant ainsi une suite de créneaux temporels ; - parcourir séquentiellement les créneaux temporels de la suite ; - identifier des traitements éligibles dans un créneau temporel courant, un traitement étant éligible s'il respecte les deux critères suivants : - il est exécutable dans le créneau courant, et - s'il possède une contrainte d'ordre, le traitement référencé par la contrainte d'ordre est également exécutable dans le créneau courant, ou l'échéance du traitement référencé est située dans un créneau précédent ; - trier les traitements éligibles dans une liste par ordre d'échéances croissantes ; - modifier la liste pour réordonner les traitements selon leurs contraintes d'ordre ; et - répartir les besoins d'exécution des traitements éligibles dans le créneau temporel courant dans l'ordre de la liste pour construire le plan de séquencement.\n<CLM>\1\tProcédé selon la revendication 1, comprenant une étape initiale de suppression des contraintes d'ordre dans chaque couple qui est formé de deux traitements dont les trames ne se chevauchent pas. 17\n<CLM>\1\tProcédé selon la revendication 1, dans lequel l'étape de modification de la liste et l'étape de répartition des besoins comprennent les étapes suivantes : - parcourir séquentiellement les traitements de la liste ; - si le traitement courant de la liste possède une contrainte d'ordre référençant 5 un traitement placé après le traitement courant dans la liste, modifier la liste en plaçant le traitement référencé devant le traitement courant ; - réitérer le parcours de la liste en démarrant à la position du traitement référencé repositionné ; - sinon placer le besoin du traitement courant dans le créneau courant. 10\n<CLM>\1\tProcédé selon la revendication 2, dans lequel l'étape de placement du besoin comprend les étapes suivantes : - placer l'intégralité du besoin dans le créneau courant si le créneau dispose de suffisamment de place pour le contenir ; - sinon combler le créneau courant avec une première partie du besoin et 15 reporter le placement du reliquat à un créneau ultérieur.\n<CLM>\1\tProcédé selon la revendication 3, dans lequel le système temps-réel comprend plusieurs unités d'exécution, le procédé comprenant en outre les étapes suivantes : - associer à chaque unité d'exécution une copie (Sp, Sc) de la suite de créneaux temporels pour former un plan de séquencement pour chaque unité 20 d'exécution ; - allouer les unités d'exécution aux tâches (Tp, Tc) de manière que des traitements liés par des contraintes d'ordre soient exécutés sur des unités d'exécution différentes ; - à l'étape de placement du besoin : 25 - placer le besoin (Bp2(m)) dans le créneau courant de la suite (Sp) associée au traitement courant, et - placer dans le créneau courant de la suite (Sc) associée au traitement référencé un intervalle de remplissage (tpad) correspondant au besoin placé 18 augmenté d'un temps de synchronisation (tsync) tenant compte de délais survenant dans la communication d'une donnée entre deux unités d'exécution et d'un décalage entre les horloges des deux unités d'exécution.\n<CLM>\1\tProcédé selon la revendication 5, dans lequel l'étape de placement du besoin dans le 5 créneau courant comprend le placement du besoin dans tout intervalle de remplissage contenu dans le créneau courant.\n<CLM>\1\tProcédé d'exécution de tâches dans un système multitâche temps-réel, comprenant les étapes suivantes : - produire un plan de séquencement de plusieurs tâches selon la revendication 10 1 ; - configurer une unité d'exécution du système multitâche temps-réel pour appliquer le plan de séquencement dans une boucle ; - configurer une base de temps du système multitâche temps-réel pour cadencer les créneaux temporels du plan de séquencement ; 15 - lancer séquentiellement les traitements éligibles de chaque créneau selon l'ordre de répartition des besoins d'exécution correspondants dans le créneau ; et - contrôler la conformité des durées d'exécution des traitements avec les besoins d'exécution correspondants. 20