L'Agence nationale de la recherche Des projets pour la science

Translate this page in english

Société de l'information et de la communication (DS07) 2017
Projet Corteva

Une méthodologie correcte par construction pour supporter la variabilité du temps d'exécution dans les systèmes temps réel

Dans le domaine de la programmation des systèmes temps-réel critiques, il est capital de pouvoir garantir que les calculs seront réalisés dans
les délais impartis, afin d'éviter une panne catastrophique du système. Les systèmes avioniques et aérospatiaux, les systèmes électroniques dans le domaine automobile, les systèmes de contrôle de trains, etc, sont des exemples de systèmes temps-réel critiques. Pour garantir leur correction, le concepteur doit calculer une borne supérieure au temps d'exécution de chaque bloc de code de l'application, puis garantir que, dans le pire cas, chaque bloc sera ordonnancé par le système d'exploitation de manière à ce qu'il se termine avant son échéance.

De nos jours, il est difficile de construire un système temps-réel à la fois prévisible et performant sur des processeurs modernes, car la vitesse d'exécution d'un programme est très variable. Le pire cas peut être des centaines de fois plus long que le meilleur cas, en raison de paramètres variant d'une exécution à l'autre, tels que, par exemple, l'état de la mémoire cache. C'est pourquoi le concepteur sur-dimensionne généralement la puissance des processeurs, ce qui mène à un coût plus élevé du système. En raison de la volonté constante d'intégrer de nouvelles fonctionnalités, cette situation n'est pas gérable à long
terme. Bien que des méthodes aient été proposées pour prendre en compte ces importantes variations, elles ne sont pas immédiatement applicables
car elles se concentrent sur l'ordonnancement sans prendre en compte les aspects fonctionnels de l'application.

Ce projet a pour objectif général de contribuer à la conception et au développement d'une nouvelle génération de systèmes embarqués temps-réel critiques. En particulier, nous tenterons de résoudre le problème de l'importante variabilité du temps d'exécution en utilisant des modèles de programmation fiables et prouvés qui combinent aspects temporels et fonctionnels.

L'idée principale de ce projet peut être résumée comme suit. D'abord, nous utiliserons des techniques de calcul de pire temps d'exécution (Worst Case Execution Time - WCET) paramétriques, pour calculer statiquement un WCET sous la forme d'une formule. Cette formule dépend de paramètres, qui correspondent aux valeurs d'entrée du bloc de code executé et à des informations sur l'état de la mémoire cache. Ensuite, nous instancierons cette formule dynamiquement à l'exécution pour estimer un temps d'exécution plus précis. Cette estimation permettra, à l'exécution, de détecter l'occurence d'un temps d'exécution exceptionnellement élevé afin d'adapter le comportement de l'application de manière à garantir le respect des échéances. Le concepteur spécifiera le comportement de l'application à l'aide d'un langage synchrone pour garantir formellement à la fois la sûreté fonctionnelle et la sûreté
temporelle. Enfin, nous proposons l'utilisation d'une méthodologie pour aider le concepteur à configurer son système de la meilleure façon possible.

Partenaires

CRIStAL Centre de Recherche en Informatique, Signal et Automatique de Lille

ONERA DTIS ONERA CENTRE DE TOULOUSE

RTAW REALTIME-AT-WORK

Aide de l'ANR 523 174 euros
Début et durée du projet scientifique - 36 mois

 

Programme ANR : Société de l'information et de la communication (DS07) 2017

Référence projet : ANR-17-CE25-0003

Coordinateur du projet :
Monsieur Giuseppe Lipari (Centre de Recherche en Informatique, Signal et Automatique de Lille)

 

Revenir à la page précédente

 

L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.