Analyses pour l'ordonnançabilité et la flexibilité de systèmes temps-réel
Auteur / Autrice : | Christophe Prévot |
Direction : | Alain Girault, Sophie Quinton |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 15/11/2019 |
Etablissement(s) : | Université Grenoble Alpes (ComUE) |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 1995-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'informatique de Grenoble (2007-....) |
Entreprise : Thales Research and Technology (Palaiseau, Essonne) | |
Equipe de recherche : Equipe-projet Programmation de systèmes embarqués sûrs et adaptatifs (Montbonnot, Isère ; 2013-....) | |
Jury : | Président / Présidente : Nicolas Navet |
Examinateurs / Examinatrices : Alain Girault, Sophie Quinton, Giuseppe Lipari, Rafik Henia, Laurent Rioux | |
Rapporteur / Rapporteuse : Claire Pagetti, Emmanuel Grolleau |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
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.