Nod’ordre: 2584
TH `
ESE
pr´esent´ee
devant l’Universit´e de Rennes 1
pour obtenir
le grade de : Docteur de l’Universit´
e de Rennes 1
Mention Informatique
par
Antoine Colin
´
Equipe d’accueil : Solidor
´
Ecole Doctorale : Sciences Pour l’Ing´enieur
Composante universitaire : IRISA
Titre de la th`ese :
Estimation de temps d’ex´ecution au pire cas par analyse statique
et application aux syst`emes d’exploitation temps-r´eel
MM. : Pascal Sainrat Rapporteurs
Yvon Trinquet
MM. : Guillem Bernat Examinateurs
Fran¸cois Bodin
Isabelle Puaut
Michel Banˆ
atre
Au temps heureux des cadrans solaires,
il n’y avait pas l’ombre d’une exactitude.
Albert Willemetz.
Sommaire
I Obtention de temps d´ex´ecution au pire cas : ´etat de l’art 5
1 Estimation de temps d´ex´ecution au pire cas de programmes 7
1.1 La correction des syst`emes temps-r´eel strict . . . . . . . . . . . . . . . . . . . 7
1.2 L’estimation du WCET : introduction . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 La place de l’estimation de WCET dans l’analyse temporelle de syst`eme 9
1.2.2 Estimation par test et mesure - analyse dynamique . . . . . . . . . . . 10
1.2.3 Estimation analytique analyse statique . . . . . . . . . . . . . . . . . 12
1.2.4 Qualit´es relatives des estimations de WCET obtenues . . . . . . . . . 13
2 L’analyse statique de WCET 15
2.1 Les donn´ees de l’analyse statique de WCET . . . . . . . . . . . . . . . . . . . 15
2.1.1 Langages sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2 Repr´esentations logiques . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 L’analyse statique de WCET de haut niveau . . . . . . . . . . . . . . . . . . 25
2.2.1 Techniques utilisant l’algorithmique des graphes (Path-based) . . . . . 25
2.2.2 Techniques IPET .............................. 25
2.2.3 Techniques bas´ees sur l’arbre syntaxique (Tree-based).......... 27
2.2.4 Comparaison des techniques d’analyses de haut niveau . . . . . . . . . 28
2.3 L’analyse statique de WCET de “bas niveau” . . . . . . . . . . . . . . . . . . 29
2.3.1 Prise en compte des caches d’instructions . . . . . . . . . . . . . . . . 30
2.3.2 Prise en compte de l’ex´ecution pipelin´ee . . . . . . . . . . . . . . . . . 32
2.3.3 Int´egration des techniques de prise en compte de l’architecture . . . . 34
2.3.4 Prise en compte de quelques autres ´el´ements d’architecture . . . . . . 36
2.4 R´ecapitulatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
II Analyse statique de WCET tree-based 41
3 eduction du pessimisme de l’analyse par annotation symbolique des boucles 43
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 Les boucles non rectangulaires . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.1 D´efinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
i
1 / 169 100%