Programming and analysis of critical real-time systems - TEL - Thèses en ligne
Hdr Année : 2023

Programming and analysis of critical real-time systems

Programmation et analyse de systèmes temps réel critiques

Résumé

Real-time systems are computer systems that are required not only to produce the correct output values, as a reaction to the system inputs, but also to produce these values at the correct time. In my work, I focus on hard real-time systems, where failing to respect some constraints may have catastrophic consequences. The flight-control system of an airplane, or the autonomous driving system of a car, are good examples of hard real-time systems. A real-time system can be represented as a set of concurrent tasks, where each task either senses, computes, or actuates. Each task is subject to real-time constraints, such as periodicity and deadline constraints. Reacting faster than these constraints usually does not improve the quality of the system. Instead, the main focus of hard real-time systems development is to ensure that the constraints will always be met, so as to ensure the system safety. The development of hard real-time systems involves several research domains, which are traditionally studied by separate research communities. An important part of my work focuses on the connection between these domains. My contributions concern three main topics. First, I studied the programming of real-time systems with a domain-specific synchronous data-flow language called Prelude. Second, I studied high-level timing analyses, that is to say analyses that ensure that the system will respect all its real-time constraints at execution. Third, I studied low-level timing analyses, which analyse the code of a task to determine its Worst-Case Execution Time.
Un système temps réel est un système informatique pour lequel il est nécessaire non seulement de produire les bonnes valeurs de sortie, en réaction aux entrées du système, mais aussi de produire ces sorties aux bonnes dates. Mon travail se concentre sur les systèmes temps réel dur, pour lesquels le non respect des contraintes fonctionnelles ou temporelles peut avoir des conséquences catastrophiques. Le système de contrôle de vol d'un avion, ou encore de conduite automatique d'une voiture, sont des exemples typiques de systèmes temps réel dur. Un système temps réel peut être représenté par un ensemble de tâches concurrentes, effectuant captation, calcul, ou actionnement. Chaque tâche est soumise à des contraintes temps réel, telles que des contraintes de périodicité ou d'échéance. Réagir plus vite que ces contraintes n'améliore pas la qualité du système. La particularité du développement de système temps réel est plutôt de devoir assurer que les contraintes contraintes de temps seront toujours satisfaites à l'exécution, afin d'assurer la sûreté du système. Le développement de systèmes temps réel dur implique plusieurs domaines de recherches, traditionnellement étudiés par des communautés de recherche distinctes. Une part importante de mon travail se concentre sur les liens entre ces domaines. Les contributions présentées dans ce document portent sur trois sujets principaux. Tout d'abord, je présente mes contributions sur la programmation de systèmes temps réel à l'aide du langage flot-de-données Prelude. Ensuite, je présente mes contributions sur l'analyse temporelle haut-niveau, dont l'objectif est d'assurer que les contraintes temps réel seront respectées à l'exécution. Enfin, je présente mes contributions sur l'analyse temporelle bas-niveau, qui détermine le pire temps d'exécution d'une tâche à partir de son code.
Fichier principal
Vignette du fichier
hdr-forget.pdf (18.87 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-04148643 , version 1 (03-07-2023)

Identifiants

  • HAL Id : tel-04148643 , version 1

Citer

Julien Forget. Programming and analysis of critical real-time systems. Embedded Systems. Université de Lille, 2023. ⟨tel-04148643⟩
218 Consultations
96 Téléchargements

Partager

More