Analyses for schedulability and flexibility of real-time systems - Archive ouverte HAL Access content directly
Theses Year : 2019

Analyses for schedulability and flexibility of real-time systems

Analyses pour l'ordonnançabilité et la flexibilité de systèmes temps-réel

(1, 2)
1
2

Abstract

Real time system are often used for applications in avionic or automotive domains. For those systems, timing constraints are as important as functional constraints. Thus, for each functionality it is necessary to compute the maximum duration between the acquisition of the inputs and the production of the corresponding outputs, duration denoted worst case latency. Given the needs that we identify at Thales, we consider uni-processor systems scheduled under fixed priority preemptive scheduling with task chains mapped on them. Each chain implements a functionality and each task has a fix and unique priority. The finishing time of a task corresponds to the activation of the following one in the chain. The processor always executes the task with the highest priority. Then, we use scheduling analysis to characterize the timing behavior of systems and to compute the worst case latency of chains. If the worst case latency of each chain is lower than or equal to its timing constraint, then the system is schedulable. To guarantee the schedulability of a system, we compute upper bounds that are higher than or equal to the worst case latency. Depending on the precision of the analysis, these bounds may be more of less over-approximated. For a given system, if the over-approximations are too large, then it is necessary to over-dimension the system in order to guarantee its schedulability, which is not desirable in a industrial context. To solve this over-dimensioning problem, we compute more precise upper bounds and on more general systems than in the state of the art. When computing these upper bounds, it is useful to measure the gap between the worst case latency and its upper bound. To achieve this, we compute a lower bound on the worst case latency to evaluate the precision of the upper bound. In the state of the art, lower bounds are computed using simulation. We propose instead to use schedulability analysis to compute lower bounds that we define as execution scenarios that are realizable considering the system model. Our lower bounds are computed with equations similar to those established to compute our upper bounds. Finally, considering the very long lifetime of systems and the quick evolution of technologies, many systems have to evolve during their lifetime. A relevant evolution in an industrial context consists in adding a new chain to an existing system. To guarantee the schedulability of a system in this context, we present a methodology to compute the worst-case latency of a new chain while providing guarantees on the schedulability of the new system. This analysis can be used to determine the sensitivity and/or the robustness of a system with respect to timing parameter changes, such as the execution times of its tasks. This consists in finding extreme values of its timing parameters such that the system remains schedulable. In this thesis, we present analyses to compute upper and lower bounds on the worst case latency, and to schedule a new chain while giving guarantee on its schedulability. These results may be extended in the future to handle more complex systems, and the computation of lower bound may be adapted to other analyses. Finally, the developed analyses are complex, so it would be interesting to certify that they are correct using a proof assistant to guarantee that they are exact.
Les systèmes temps réel sont développés pour de nombreuses applications dans les domaines de l'avionique ou l'automobile. Pour ces systèmes, les contraintes temporelles sont aussi importantes que les contraintes fonctionnelles. Ainsi pour chaque fonctionnalité il faut calculer le délai maximum entre l'acquisition d'une entrée et la restitution de la sortie correspondante, délai appelé latence pire cas. Compte tenu des besoins rencontrés au sein de l'entreprise Thales, nous considérons des systèmes mono-processeurs ordonnancés sous ordonnanceur préemptif à priorités fixes, sur lesquels sont alloués des chaînes de tâches. Chaque chaîne implémente une fonctionnalité distincte et chaque tâche possède une priorité fixe et unique. La terminaison d'une tâche au sein d'une chaîne entraîne le démarrage de la tâche suivante. Quant au processeur, il exécute toujours la tâche de priorité maximale. Nous utilisons ensuite l'analyse d'ordonnançabilité pour caractériser le comportement temporel des systèmes et calculer la latence au pire cas des chaînes. Si la latence au pire cas de chaque chaîne du système est inférieure à son échéance temporelle alors ce système est ordonnançable. Pour garantir l'ordonnançabilité d'un système, nous calculons des majorants, qui sont supérieurs ou égaux à la latence au pire cas, et qui peuvent être plus ou moins sur-approximés selon la précision des analyses. Pour un système donné, si les sur-aproximations sont trop importantes alors il faut le sur-dimensionner afin de garantir son ordonnançabilité, ce qui n'est pas souhaitable dans un contexte industriel. Pour résoudre ce problème de sur-dimensionnement, nous calculons un majorant qui est plus précis et/ou plus général que ceux présentés dans l'état de l'art. Une fois le majorant calculé, il est utile de mesurer l'écart maximum entre la latence au pire cas d'une chaîne et son majorant. Dans cet objectif, nous calculons un minorant sur la latence au pire cas. Dans l'état de l'art, les minorants sont calculés par simulation. Nous proposons quant à nous d'utiliser l'analyse d'ordonnançabilité pour calculer des minorants que nous définissons comme des scénarios réalisables compte tenu du modèle du système. Les minorants sont calculés grâce à des analyses similaires à celles développées pour le calcul des majorants. Pour finir, compte tenu des long cycles de vies et de l'évolution rapide des technologies, de nombreux systèmes sont amenés à évoluer. Une évolution pertinente dans un contexte industriel consiste au rajout d'une chaîne de tâches à un système existant. Pour garantir l'ordonnançabilité du système dans ce contexte, nous présentons une méthode pour calculer le plus grand temps d'exécution qui peut être alloué à la nouvelle chaîne tout en garantissant l'ordonnançabilité du nouveau système. Cette analyse peut être utilisée pour analyser la sensibilité et/ou la robustesse d'un système face à des changements de paramètres, comme par exemple les temps d'exécution des tâches. Cela consiste à trouver les valeurs extrêmes d'un paramètre temporel de telle sorte que le système reste ordonnançable. Dans cette thèse, nous avons présenté des analyses pour majorer et minorer la latence au pire cas d'une chaîne et permettre à un système d'ordonnancer une nouvelle chaîne tout en étant garanti ordonnançable. Ces travaux pourront être étendus dans le futur en analysant des systèmes plus complexes et en adaptant le calcul des minorants à d'autres types d'analyses. Pour finir, les analyses développées sont complexes, il serait donc intéressant de les formaliser dans un assistant de preuve interactif, afin de garantir leur exactitude.
Fichier principal
Vignette du fichier
PREVOT_2019_archivage.pdf (2.56 Mo) Télécharger le fichier
Origin : Version validated by the jury (STAR)
Loading...

Dates and versions

tel-02513594 , version 1 (20-03-2020)
tel-02513594 , version 2 (20-03-2020)

Identifiers

  • HAL Id : tel-02513594 , version 2

Cite

Christophe Prévot. Analyses pour l'ordonnançabilité et la flexibilité de systèmes temps-réel. Systèmes embarqués. Université Grenoble Alpes, 2019. Français. ⟨NNT : 2019GREAM045⟩. ⟨tel-02513594v2⟩
265 View
338 Download

Share

Gmail Facebook Twitter LinkedIn More