Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR EVALUATING A MAXIMUM RESPONSE TIME OF A TASK TO BE ANALYSED
Document Type and Number:
WIPO Patent Application WO/2020/229312
Kind Code:
A1
Abstract:
The present invention relates to a method for evaluating a maximum response time of a task to be analysed on a hardware unit, comprising steps of: - determining, for a set of tasks, a task-ordering scenario that maximizes the response time of the task to be analysed, the ordering scenario defining times of activation of tasks, of the set of tasks, referred to as ordered tasks; - defining a time interval, referred to as the worst-case active period, during which the hardware unit executes the ordered tasks according to the determined ordering scenario; and - determining the maximum response time of the task to be analysed depending on the maximum response time of each of the possible activations of the task to be analysed during the worst-case active period defined beforehand.

Inventors:
HENIA RAFIK (FR)
RIOUX LAURENT (FR)
SORDON NICOLAS (FR)
Application Number:
PCT/EP2020/062767
Publication Date:
November 19, 2020
Filing Date:
May 07, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THALES SA (FR)
International Classes:
G06F9/48; G06F11/36
Foreign References:
FR3069678A12019-02-01
Other References:
JOHANNES SCHLATOW ET AL: "Response-Time Analysis for Task Chains with Complex Precedence and Blocking Relations", ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS., vol. 16, no. 5s, 27 September 2017 (2017-09-27), US, pages 1 - 19, XP055680569, ISSN: 1539-9087, DOI: 10.1145/3126505
RAFIK HENIA ET AL: "Integrating Formal Timing Analysis in the Real-Time Software Development Process", PROCEEDINGS OF THE 2015 WORKSHOP ON CHALLENGES IN PERFORMANCE METHODS FOR SOFTWARE DEVELOPMENT, WOSP '15, 1 January 2015 (2015-01-01), New York, New York, USA, pages 35 - 40, XP055466852, ISBN: 978-1-4503-3340-5, DOI: 10.1145/2693561.2693562
Attorney, Agent or Firm:
BLOT, Philippe et al. (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé d’évaluation d’un temps maximal de réponse (Ra) d’une tâche à analyser (Ta) sur un bloc matériel (B,), la tâche à analyser (Ta) appartenant à un ensemble de tâches (Ta, T,),

chaque tâche (Ta, T,) de l’ensemble de tâches (Ta, T,) étant activable à une pluralité d’instants, chaque tâche (Ta, T,) ayant un numéro prédéterminé (Pa, P,) définissant un ordre de priorité relativement aux autres tâches (Ta, T,), le bloc matériel (B,) étant propre à exécuter chacune des tâches (Ta, T,) suivant un ensemble de règles, au moins une première règle stipulant que les tâches (Ta, T,) sont exécutées selon l’ordre de priorité,

le procédé étant mis en oeuvre par un calculateur et comprenant les étapes de :

- détermination d’un scénario d’ordonnancement des tâches (Ta, T,) de l’ensemble de tâches (Ta, T) maximisant le temps de réponse de la tâche à analyser (Ta), le scénario d’ordonnancement définissant des instants d’activation de tâches (Ta, T,) de l’ensemble de tâches (Ta, T,), dites tâches ordonnancées (Ta, T,),

- détermination d’un intervalle de temps, dit période active pire cas (BPa), durant lequel le bloc matériel (B,) exécute les tâches ordonnancées (Ta, T,) selon le scénario d’ordonnancement déterminé,

- détermination d’un temps maximal de réponse (Ra,q) de chacune des activations possibles de la tâche à analyser (Ta) durant la période active pire cas (BPa), et

- détermination du temps maximal de réponse (Ra) de la tâche à analyser (Ta) en fonction du temps maximal de réponse (Ra,q) de chacune des activations possibles de la tâche à analyser (Ta) durant la période active pire cas (BPa).

2. Procédé d’évaluation selon la revendication 1 , dans lequel les tâches ordonnancées (Ta, T,) sont les tâches (T,) de priorité supérieure ou égale à la priorité de la tâche à analyser (Ta), ainsi que la tâche (Ta) à analyser.

3. Procédé d’évaluation selon la revendication 1 ou 2, dans lequel chaque tâche (Ta, T,) de l’ensemble de tâches (Ta, T,) a un nombre maximal (Na, N,) d’activations possibles de la tâche (Ta, T,) dans un intervalle de temps glissant, l’intervalle de temps glissant présentant une durée (Wa, W,) propre à la tâche (Ta, T), le scénario d’ordonnancement stipulant que toutes les tâches ordonnancées (Ta, Ti) sont activées de sorte que le nombre maximal d’activations (Na, N,) de chaque tâche ordonnancée (Ta, T,) ait lieu :

- simultanément à l’instant de la première activation de la tâche à analyser (Ta), et

- simultanément à chaque instant égal à la somme de l’instant de la première activation de la tâche à analyser (Ta) et de chaque multiple de la durée (Wa, W,) de l’intervalle de temps glissant de la tâche ordonnancée (Ta, T,).

4. Procédé d’évaluation selon l’une quelconque des revendications 1 à 3, dans lequel chaque tâche (Ta, T,) de l’ensemble de tâches (Ta, T) a un temps d’exécution maximal (Ca, Ci) durant lequel la tâche (Ta, T,) s’exécute sans l’interférence d’autres tâches (Ta, T,), le scénario d’ordonnancement stipulant que toutes les tâches ordonnancées (Ta, T,) sont exécutées selon le temps d’exécution maximal (Ca, Ci) de chaque tâche ordonnancée (Ta, T,).

5. Procédé d’évaluation selon l’une quelconque des revendications 1 à 4, dans lequel la période active pire cas (BPa) est déterminée en fonction d’un nombre d’activations de chaque tâche ordonnancée (Ta, T,).

6. Procédé d’évaluation selon la revendication 5, dans lequel chaque tâche (Ta, T,) de l’ensemble de tâches (Ta, T,) a un temps d’exécution maximal (Ca, Ci) durant lequel la tâche (Ta, T,) s’exécute de manière effective, la période active pire cas (BPa) étant la somme des produits du nombre d’activations de chaque tâche ordonnancée (Ta, T,) par le temps d’exécution maximal (Ca, Ci) de la tâche ordonnancée (Ta, T,).

7. Procédé d’évaluation selon l’une quelconque des revendications 1 à 6, dans lequel l’étape de détermination du temps maximal de réponse (Ra,q) de chacune des activations de la tâche à analyser (Ta) comprend le calcul, pour chaque activation, d’une durée, dite durée intermédiaire (BPa(q)), entre le début de la période active pire cas (BPa) et la fin de l’exécution de l’activation considérée, le temps maximal de réponse (Ra,q) de l’activation considérée étant obtenu en fonction de la durée intermédiaire (BPa(q)).

8. Procédé d’évaluation selon la revendication 7, dans lequel le temps maximal de réponse (Ra,q) de chaque activation de la tâche à analyser (Ta) est égal à la différence entre la durée intermédiaire (BPa(q)) et la durée entre l’instant de début de la période active pire cas (BPa) et l’instant d’activation de l’activation considérée. 9. Procédé d’évaluation selon l’une quelconque des revendications 1 à 8, dans lequel le temps maximal de réponse (Ra) de la tâche à analyser (Ta) est le maximum des temps maximal de réponse (Ra,q) des activations de la tâche à analyser (Ta) dans la période active pire cas (BPa). 10. Produit programme d’ordinateur comportant des instructions logicielles, les instructions logicielles mettant en oeuvre le procédé d’évaluation selon l’une quelconque des revendications 1 à 9, lorsque les instructions logicielles sont exécutées par un calculateur.

Description:
DESCRIPTION

TITRE : Procédé d’évaluation d’un temps maximal de réponse d’une tâche à analyser

La présente invention concerne un procédé d’évaluation d’un temps maximal de réponse d’une tâche à analyser sur un bloc matériel. La présente invention se rapporte également à un produit programme d’ordinateur associé.

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 de réponse 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.

Des techniques d’analyse existent pour mener une vérification temporelle à partir de descriptions adaptées du logiciel et du système concerné. De telles techniques visent à déterminer le temps maximal de réponse (ou de traitement) de la tâche analysée.

Néanmoins, de telles techniques ne sont pas adaptées à tous les modèles de tâches existants. En outre, les temps de réponse obtenus à partir de telles techniques ne sont pas toujours fiables.

Il existe donc un besoin pour un procédé fiable d’évaluation d’un temps maximal de réponse d’une tâche à analyser.

A cet effet, l’invention a pour objet un procédé d’évaluation d’un temps maximal de réponse d’une tâche à analyser sur un bloc matériel, la tâche à analyser appartenant à un ensemble de tâches, chaque tâche de l’ensemble de tâches étant activable à une pluralité d’instants, chaque tâche ayant un numéro prédéterminé définissant un ordre de priorité relativement aux autres tâches, le bloc matériel étant propre à exécuter chacune des tâches suivant un ensemble de règles, au moins une première règle stipulant que les tâches sont exécutées selon l’ordre de priorité, le procédé étant mis en oeuvre par un calculateur et comprenant les étapes de :

- détermination d’un scénario d’ordonnancement des tâches de l’ensemble de tâches maximisant le temps de réponse de la tâche à analyser, le scénario d’ordonnancement définissant des instants d’activation de tâches de l’ensemble de tâches, dites tâches ordonnancées,

- détermination d’un intervalle de temps, dit période active pire cas, durant lequel le bloc matériel exécute les tâches ordonnancées selon le scénario d’ordonnancement déterminé,

- détermination d’un temps maximal de réponse de chacune des activations possibles de la tâche à analyser durant la période active pire cas, et

- détermination du temps maximal de réponse de la tâche à analyser en fonction du temps maximal de réponse de chacune des activations possibles de la tâche à analyser durant la période active pire cas.

Suivant des modes de mise en oeuvre particuliers, le procédé d’évaluation comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :

- les tâches ordonnancées sont les tâches de priorité supérieure ou égale à la priorité de la tâche à analyser, ainsi que la tâche à analyser ;

- chaque tâche de l’ensemble de tâches a un nombre maximal d’activations possibles de la tâche dans un intervalle de temps glissant, l’intervalle de temps glissant présentant une durée propre à la tâche, le scénario d’ordonnancement stipulant que toutes les tâches ordonnancées sont activées de sorte que le nombre maximal d’activations de chaque tâche ordonnancée ait lieu :

- simultanément à l’instant de la première activation de la tâche à analyser, et

- simultanément à chaque instant égal à la somme de l’instant de la première activation de la tâche à analyser et de chaque multiple de la durée de l’intervalle de temps glissant de la tâche ordonnancée ;

- chaque tâche de l’ensemble de tâches a un temps d’exécution maximal durant lequel la tâche s’exécute sans l’interférence d’autres tâches, le scénario d’ordonnancement stipulant que toutes les tâches sont exécutées selon le temps d’exécution maximal de chaque tâche ordonnancée ;

- la période active pire cas est déterminée en fonction d’un nombre d’activations de chaque tâche ordonnancée ;

- chaque tâche de l’ensemble de tâches a un temps d’exécution maximal durant lequel la tâche s’exécute de manière effective, la période active pire cas étant la somme des produits du nombre d’activations de chaque tâche ordonnancée par le temps d’exécution maximal de la tâche ordonnancée ;

- l’étape de détermination du temps maximal de réponse de chacune des activations de la tâche à analyser comprend le calcul, pour chaque activation, d’une durée, dite durée intermédiaire, entre le début de la période active pire cas et la fin de l’exécution de l’activation considérée, le temps maximal de réponse de l’activation considérée étant obtenu en fonction de la durée intermédiaire ;

- le temps maximal de réponse de chaque activation de la tâche à analyser est égal à la différence entre la durée intermédiaire et la durée entre l’instant de début de la période active pire cas et l’instant d’activation de l’activation considérée ;

- le temps maximal de réponse de la tâche à analyser est le maximum des temps maximal de réponse des activations de la tâche à analyser dans la période active pire cas.

L’invention concerne également un produit programme d’ordinateur comportant des instructions logicielles, les instructions logicielles mettant en oeuvre le procédé d’évaluation tel que décrit précédemment, lorsque les instructions logicielles sont exécutées par un calculateur.

D’autres caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui suit de modes de réalisation de l’invention, donnée à titre d’exemple uniquement et en référence aux dessins qui sont :

- [Fig 1] figure 1 , une vue schématique d’un calculateur et d’un produit programme d’ordinateur, et

- [Fig 2] figure 2, un ordinogramme d’un exemple de mise en oeuvre d’un procédé d’évaluation d’un temps maximal de réponse d’une tâche à analyser.

Un calculateur 10 et un produit programme d’ordinateur 12 sont illustrés par la figure 1.

Le calculateur 10, est de préférence, un ordinateur.

Plus généralement, le calculateur 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 calculateur 10 et/ou des mémoires en d’autres données similaires correspondant à des données physiques dans des mémoires, des registres ou d’autres types de dispositifs d’affichage, de transmission et de mémorisation.

Le calculateur est en interaction avec le produit programme d’ordinateur 12.

Comme illustré par la figure 1 , le calculateur 10 comporte 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 calculateur 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 calculateur 10, 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 dise »), un disque optique, un CD-ROM, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, une mémoire EPROM, une mémoire EEPROM, une carte magnétique ou une carte optique.

Sur le support d’informations 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 16 et est adapté pour entraîner la mise en oeuvre d’un procédé d’évaluation d’un temps maximal de réponse d’une tâche à analyser lorsque le programme d’ordinateur 12 est mis en oeuvre sur l’unité de traitement 16 du calculateur 10.

Le fonctionnement du calculateur 10 en interaction avec le produit programme d’ordinateur 12 va maintenant être décrit en référence à la figure 2, qui illustre schématiquement un exemple de mise en oeuvre d’un procédé d’évaluation d’un temps maximal de réponse d’une tâche à analyser.

Le procédé d’évaluation est un procédé configuré pour évaluer un temps maximal de réponse R a d’une tâche à analyser T a sur un bloc matériel B,.

La tâche à analyser T a appartient à un ensemble de tâches T a , T,.

Chaque tâche T a , T, est une fonction transformant au moins une entrée en au moins un résultat de sortie. La fonction est une séquence d’instructions activable, par exemple, par la réception de paramètres d’activation en entrée et propre à générer des résultats lors de sa mise en oeuvre sur un système physique, tel que les blocs matériels d’une architecture. Les séquences d’instructions sont, par exemple, relatives à des commandes d’un é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 encore des commandes de vol ou de traitement d’images en temps réel.

Chaque tâche T a , T, de l’ensemble de tâches T a , T, est activable à une pluralité d’instants. Par exemple, les tâches T a , T, sont activées de manière périodique ou sporadique. Une tâche activée de manière périodique est une tâche activée à des instants réguliers (périodiques), par exemple, par des capteurs météorologiques ou des capteurs de vitesse. Une tâche activée de manière sporadique est une tâche activée en réponse à des évènements non périodiques, comme par exemple une action effectuée par le pilote d’un aéronef. Par exemple, de tels événements 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.

Le présent procédé est particulièrement adapté pour être appliqué à des tâches activées de manière sporadique en présence de tâches de priorité supérieure ou égale. De telles tâches ont une activation qui est, par exemple, définie par un nombre maximal d’occurrences durant une fenêtre temporelle donnée. Dans un exemple, une tâche activée de manière sporadique peut être exécutée au plus cinq fois dans une fenêtre de temps de 100 ms. Cela signifie que pour toute fenêtre de 100 ms dans l’axe du temps, le nombre d’activations de cette tâche dans cette fenêtre sera toujours compris entre 0 et 5.

Le temps maximal de réponse R a de la tâche à analyser T a est la durée maximale entre l’instant d’activation de la tâche T a et l’instant de fin d’exécution de la tâche T a . En d’autres termes, le temps maximal de réponse R a de la tâche T a est la durée pour laquelle les interférences des autres tâches T a , T, de l’ensemble de tâches T a , T, sont maximales, ce qui retarde l’exécution complète de la tâche à analyser T a . Dans la description, il est fait une différence entre l’instant d’activation d’une tâche et l’instant de début d’exécution de la tâche. En effet, lorsqu’une tâche s’active, elle ne va pas forcément commencer à s’exécuter, car elle peut être bloquée par l’exécution d’une tâche de priorité supérieure. Ainsi, l’activation d’une tâche est l’instant auquel l’instance de la tâche demande à s’exécuter.

Chaque tâche T a , T, présente :

- un numéro prédéterminé P a , P, définissant un ordre de priorité relativement aux autres tâches T a , T,,

un nombre maximal N a , N, d’activations possibles de la tâche T a , T, dans un intervalle de temps glissant, l’intervalle de temps glissant présentant une durée W a , W, propre à la tâche T a , T,, et - un temps d’exécution maximal C a , C, durant lequel la tâche T a , T, s’exécute de manière effective, c’est-à-dire sans l’interférence d’autres tâches T a , T, de l’ensemble de tâches T a , T,.

Dans un exemple de mise en oeuvre, chaque tâche T a , T, comprend, également, une échéance qui correspond au délai maximum depuis l’activation de la tâche T a , T, avant lequel la tâche T a , T, doit avoir été exécutée sans quoi la tâche T a , T, est dite non- ordonnançable.

Le bloc matériel B, est également appelé cœur de traitement.

Le bloc matériel B, est propre à exécuter chacune des tâches T a , T, suivant un ensemble de règles. Au moins une première règle stipule que les tâches T a , T, sont exécutées selon l’ordre de priorité.

Avantageusement, au moins une deuxième règle stipule que, lorsqu’une tâche T a , T, de priorité strictement supérieure à une tâche T a , T, en cours d’exécution est activée, le bloc matériel B, interrompt la tâche T a , T, en cours d’exécution pour exécuter la tâche T a , T, de priorité supérieure. En d’autres termes, le bloc matériel B, autorise les préemptions entre tâches.

Le procédé d’évaluation comprend une étape 100 de détermination d’un scénario d’ordonnancement des tâches T a , T, de l’ensemble de tâches T a , T, maximisant le temps de réponse de la tâche à analyser T a . Le scénario d’ordonnancement permet, ainsi, de calculer le « plus long temps » ou « pire temps » de réponse de la tâche à analyser T a sur le bloc matériel B,, c’est-à-dire le temps de réponse obtenu lorsque les événements les plus chronophages se produisent.

Le scénario d’ordonnancement définit des instants d’activation de tâches T a , T, de l’ensemble de tâches T a , T,, dites tâches ordonnancées T a , T. Les tâches ordonnancées T a , T, sont les tâches T, de priorité supérieure ou égale à la priorité de la tâche à analyser T a , ainsi que la tâche T a à analyser.

Dans un exemple de mise en œuvre, le scénario d’ordonnancement stipule que toutes les tâches ordonnancées T a , T sont activées de sorte que le nombre maximal d’activation N a , N, de chaque tâche ordonnancée T a , T, ait lieu :

- simultanément à l’instant de la première activation de la tâche à analyser T a , et

- simultanément à chaque instant égal à la somme de l’instant de la première activation de la tâche à analyser T a et de chaque multiple de la durée W a , W, de l’intervalle de temps glissant de la tâche ordonnancée T a , T, considérée.

Ainsi, la contribution maximale d’une tâche T, de priorité supérieure ou égale à celle de la tâche à analyser T a , à la période active pire cas BP a de la tâche à analyser T a a lieu lorsque N, activations de la tâche T, arrivent simultanément à l’instant t a et que par la suite, N, activations de la tâche T, arrivent simultanément après chaque temps W,.

L’instant d’activation t i fc de chaque instance ½ de la tâche T, est donné par la formule (1 ) suivante : (1 )

Où :

• t a est l’instant qui marque le début dans le temps de la période active pire cas BP a de la tâche à analyser T a . t a est aussi appelé « instant critique » de la tâche à analyser T a . Une période active de la tâche à analyser T a est dite période active pire cas si la tâche à analyser T a y subit une interférence maximale de la part de taches de priorités supérieures ou égales.

• k désigne la k-ième instance de la tâche T,, k étant un entier naturel supérieur ou égal à un,

• Ni désigne le nombre maximal d’activations possibles de la tâche T, dans l’intervalle de temps glissant de durée W t propre à la tâche T,, et

• \X] désigne la partie entière supérieure de X.

Puisque les tâches T a , T, de l’ensemble de tâches T a , T, présentent un nombre borné d’activations sur un intervalle temporel glissant dans le temps, il n’est pas possible d’activer plus de N, instances de T, aux instants d’activation t a , t a +Wi, etc.

Avantageusement, le scénario d’ordonnancement stipule, également, que toutes les tâches ordonnancées T a , T, sont exécutées selon le temps d’exécution maximal C a , C, de chaque tâche ordonnancée T a , T,.

Le procédé d’évaluation comprend une étape 1 10 de détermination d’un intervalle de temps, dit période active pire cas BP a , durant lequel le bloc matériel B, exécute les tâches ordonnancées T a , T, selon le scénario d’ordonnancement déterminé.

Il est à noter que juste avant le début et après la fin de chaque période active, le processeur est soit au repos, soit en train d’exécuter des tâches T, de priorités inférieures à celle de la tâche à analyser T a . En supposant que le bloc matériel B, est chargé à moins de 100 % (condition pour l’ordonnançabilté des tâches sur le bloc matériel B,) une telle période active existe.

La durée de la période active pire cas BP a est déterminée en fonction du nombre d’activations (nombre d’instances) de chaque tâche ordonnancée T a , T, sur la période active pire cas BP a . Plus précisément, la période active pire cas BP a est la somme des produits du nombre d’activations de chaque tâche ordonnancée T a , T, par le temps d’exécution maximal C a , C, de la tâche ordonnancée T a , T,.

La durée de la période active pire cas BP a est, par exemple, donnée par la formule (2) suivante :

Où :

• P j désigne le numéro prédéterminé de la tâche T,,

• P a désigne le numéro prédéterminé de la tâche T a , et

• Ci désigne le temps d’exécution maximal de la tâche T,.

Afin de résoudre la formule (2) précédente, le premier calcul de la période active pire cas BP a est effectué en prenant une valeur initiale BP a = C a dans le terme de droite de la formule (2). Cela signifie que la période active pire cas BP a ne peut pas avoir une longueur inférieure à la valeur prédéterminée C a . La période active pire cas BP a est ensuite recalculée à partir de la valeur obtenue précédemment, jusqu’à atteindre un point fixe. Une fois le point fixe atteint, cela signifie que la valeur de la période active pire cas BP a ne vas plus changer et qu’aucune nouvelle instance de tâche de priorité supérieure ou égale à la priorité de la tâche à analyser T a ne va s’ajouter dans la période active pire cas BP a . Le point fixe est atteint car le bloc matériel B, est chargé à moins de 100 %.

L’étape de détermination 1 10 comprend aussi la détermination d’un nombre maximum d’activations possibles de la tâche à analyser T a durant la période active pire cas BP a . Le nombre maximum d’activations k de la tâche à analyser T a dans la période active pire cas BP a est, avantageusement, donné par la formule (3) suivante :

Où :

• N a désigne le nombre maximal d’activations possibles de la tâche à analyser T a dans l’intervalle de temps glissant de durée W a propre à la tâche à analyser T a .

Le procédé d’évaluation comprend une étape 120 de détermination d’un temps maximal de réponse R a,q de chacune des activations possibles de la tâche à analyser T a durant la période active pire cas BP a .

L’étape de détermination 120 comprend le calcul d’une durée intermédiaire BP a (q), pour chaque activation (ou instance) de la tâche à analyser T a dans la période active pire cas BP a . La durée intermédiaire BP a (q) est la durée entre le début de la période active pire cas BP a et la fin de l’exécution de l’activation considérée.

La durée intermédiaire BP a (q) de chaque activation (ou instance) q de la tâche à analyser T a est, par exemple, obtenue à partir de la formule (4) suivante :

Où :

• q désigne la q-ième instance de la tâche à analyser T a , q étant un entier naturel supérieur ou égal à un et inférieur ou égal à k, k étant le nombre maximal d’activations de la tâche à analyser T a dans la période active pire cas BP a ,

• C a désigne le temps d’exécution maximal de la tâche à analyser T a , et

• hp a désigne la liste des tâches de priorités supérieures ou égales à celle de la tâche à analyser T a .

Afin de résoudre la formule (4), le premier calcul de la durée intermédiaire BP a (q) est effectué en prenant une valeur initiale BP a (q ) = C a dans le terme de droite de la formule (4). La durée intermédiaire BP a (q) est ensuite recalculée à partir de la valeur obtenue précédemment, jusqu’à atteindre un point fixe. Une fois le point fixe atteint, cela signifie que la valeur de la durée intermédiaire BP a (q ) ne va plus changer.

L’étape de détermination 120 comprend, ensuite, le calcul du temps maximal de réponse R a,q de chaque activation (ou instance) de la tâche à analyser T a . Le temps maximal de réponse R a,q de chaque activation de la tâche à analyser T a est la durée maximale entre l’instant d’activation de l’instance et l’instant de fin d’exécution de l’instance. En d’autres termes, le temps maximal de réponse R a,q de chaque instance de la tâche T a est la durée pour laquelle les interférences des autres tâches T a , T, de l’ensemble de tâches T a , T, sont maximales, ce qui retarde l’exécution complète de l’instance de la tâche à analyser T a .

Le temps maximal de réponse R a,q de chaque instance, aussi appelé temps maximal intermédiaire, est égal à la différence entre la durée intermédiaire BP a (q) et la durée entre l’instant de début de la période active pire cas BP a et l’instant d’activation de l’instance considérée.

Le temps maximal de réponse R a,q de chaque activation est, par exemple, obtenu à partir de la formule (5) suivante :

Où : • le terme ( ^— l) * w a permet de calculer le temps entre le début de la période active pire cas BP a de la tâche à analyser T a et l’arrivée de l’instance q de la tâche à analyser T a .

Le procédé d’évaluation comprend une étape 130 de détermination du temps maximal de réponse R a de la tâche à analyser T a en fonction du temps maximal de réponse R a,q de chacune des activations possibles de la tâche à analyser T a durant la période active pire cas BP a .

Le temps maximal de réponse R a de la tâche à analyser T a est le maximum des temps maximal de réponse R a,q des activations de la tâche à analyser T a dans la période active pire cas BP a. Par exemple, si la tâche à analyser comprend trois activations possibles durant la période active pire cas BP a , trois temps maximal de réponse R a,q sont obtenus (un par activation). Le temps maximal de réponse R a de la tâche à analyser T a (aussi appelé temps global de réponse) est le maximum de ces trois temps maximal de réponse R a,q.

Ainsi, le procédé d’évaluation permet de déterminer pour la tâche à analyser T a , le temps maximal d’interférence des tâches T, de priorités supérieures ou égales durant l’exécution de la tâche à analyser T a . L’étape de détermination du scénario d’ordonnancement permet de déterminer le scénario pire cas que pourrait subir la tâche à analyser T a (interférences maximum avec les autres tâches de l’ensemble de tâches). Les étapes suivantes de détermination permettent, sur la base du scénario d’ordonnancement pire cas déterminé, de calculer le temps maximal de réponse (pire cas) de la tâche à analyser T a .

Etant donné que le procédé d’évaluation se base sur des preuves et des démonstrations, il contribue à faciliter la procédure de certification à laquelle sont soumis les systèmes avioniques critiques. De plus, par le fait que les calculs effectués lors de ce procédé sont exacts, un tel procédé permet d’éviter de surestimer les temps de réponse pire cas, ce qui a pour avantage d’éviter de sur-dimensionner les ressources matérielles. En effet, lorsque le temps maximal de réponse calculé est surestimé, des ressources matérielles plus performantes, et donc plus coûteuses, sont utilisées pour permettre de satisfaire les temps de réponse, et ce alors qu’en réalité un processeur moins performant et donc beaucoup moins coûteux aurait suffi.

Ainsi, le procédé d’évaluation permet d’évaluer de manière fiable le temps maximal de réponse d’une tâche à analyser. En particulier, le temps maximal de réponse obtenu n’est pas surestimé. Une telle tâche à analyser est, par exemple, relative à la commande d’équipements spécialisés tels que des aéronefs.