You are on page 1of 51

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Introduction au Temps Rel

Emmanuel Grolleau
Septembre 2011

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Plan de la prsentation
Introduction
Contexte applicatif
Contraintes temporelles
Problmatique de la validation temporelle

La validation temporelle dans lindustrie


Analyse de temps de rponse
Prise en compte de facteurs pratiques

Limiter le surdimensionnement
Transactions
Modles Multiframe

Positionnement dans le cycle de dveloppement logiciel


UML et le temps rel
MARTE

Enjeux de demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Introduction
Enjeux industriels
Surdimensionnement

Introduction

Cycle de dveloppement
Enjeux industriels de demain

Introduction

Enjeux

Dimension

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

Contexte applicatif

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Paralllisme des traitements


Priode=150ms
Envoyer
dones

Commandes

Priode=20ms
Rguler
attitude
Centrale
inertielle
Priode=100ms
Lire
consignes
MODEM
Introduction

Enjeux

Priode=250ms
Lire
GPS
Rcepteur
GPS
Dimension
Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

Contraintes structurelles et temporelles


Envoyer
dones
Lire
consignes

Envoyer
dones

Rguler
attitude

Rguler
attitude

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Deux types dimplmentation


Rguler
attitude
Implmentation dirige par le temps
Pire dure dexcution
temps
priode
Dates connues
Implmentation dirige par les vnements
Dates inconnues

temps

Introduction

Enjeux

Dimension

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

Types dapproche
Approche synchrone

temps
Approche asynchrone
Squence
pr-calcule

Algorithme dattribution de priorits + ordonnanceur


Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Spcificits du temps rel


Sassurer du respect des contraintes de temps
Ordre dexcution = ordonnancement

Dterminisme de dclenchement des traitements


La dynamique du systme doit pouvoir tre caractrise
Un pire cas doit pouvoir tre extrait

Dterminisme des dures de traitement


Un Worst Case Execution Time (WCET) caractrise les tches

Dterminisme du service et de linterfrence du support dexcution


Hardware dterministe
Faible latence noyau

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Traitement gnraliste (OS) vs. Traitement temps rel (RTOS)


 Buts non compatibles avec le temps rel
Privilgier la flexibilit par rapport au dterminisme
Mmoire virtuelle
Garantir lindpendance des processus
Systmes de protection mmoire
Augmenter la vitesse moyenne de traitement
Pipeline, mmoire cache, prdiction des sauts et prefetch, cache disque
Favoriser lquit du partage du processeur entre les processus
Algorithmes dordonnancement base de tourniquet, comme Multi-Level
Feedback
Faciliter la maintenance et le diagnostic du systme avec de nombreux processus
de maintenance, mise jour, surveillance, etc.
Acclrer la vitesse de traitement en utilisant une structure monolithique
 Mesures de la compatibilit au temps rel
Dterminisme
Robustesse
Latence du noyau

( Temps rel = dterministe ) ( mon PC = rapide la plupart du temps )


Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Noyau, excutif, systme dexploitation


Le noyau : gre les interruptions matrielles, cre les tches et ou processus,
gre la mmoire, se sert dune interruption horloge pour faire
lordonnancement des tches et des processus
Lexcutif = noyau + pilotes de priphriques (gestion des entres/sorties
USB, RS-232C, E/S numriques et analogiques, ), protocoles rseaux (pile
IP, CAN, bluetooth, etc.)
Systme dexploitation (SE, Operating System, OS)= excutif + shell +
moyens de maintenance, mise jour,
Systmes dexploitations gnralistes
Unix, Linux, Microsoft Windows 7, Windows Vista, Windows XP, Windows 2000,
etc.
Trs consommateurs de ressources (processeur, mmoire,)

Excutifs temps rel


VxWorks, norme OSEK/VDX (automobile), norme ARINC 653 (avionique civile),
norme Ada (arospatiale, avionique militaire), norme POSIX (gnraliste), etc.
Peu consommateurs de ressources et dterministes (embarquables)
La plupart ne proposent ( part ARINC653) que la notion de tches et pas la
notion de processus

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Quest-ce quune tche/un processus ?


Le programme principal est une tche
Un sous-programme sexcutant paralllement au programme principal est une
tche
Un processus est un ensemble de tche partageant des variables globales
Deux processus sexcutent en parallle comme des tches mais ont leur
mmoire propre
Lentit charge de partager le ou les processeurs entre les tches et
processus est lordonnanceur
Lordonnanceur est au cur du noyau

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

13

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Quest-ce quune tche temps rel ?


Une tche est temps rel si elle doit sexcuter dans une fentre temporelle
Respect dchance

Validation temporelle
Sassurer que toutes les tches temps rel soient excutes dans les temps
Pour toute la vie du systme =
Quels que soient les vnements

Modle
denvironnement

Modle
dapplication

Modle de
support
dexcution

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Do viennent les contraintes ?


 Aronef Miniature Autonome de Dtection et dObservation
 Mini drone
 Envergure 55 cm
 Autonomie 20 30 minutes en vol de croisire
 Masse ~930 grammes
Rcepteur GPS 12 canaux 4Hz
30g

Centrale inertielle IMU 38g


3 gyromtres
3 acclromtres
Echantillonnage interne > 1kHz

Rcepteur RC
Modes de vol
Manuel : pilotage par RC
Assist : roulis/vitesse ascensionnelle
Autonome : assist + navigation mission
Retour la base
Monte sur panne GPS/RC/Modem
Crash sur place sur panne grave (IMU+RC)

Introduction

Enjeux

38+25g

MPC-555 58g
40 MHz
RTOS OSEK/VDX
Coprocesseur FP
Utilisation
2 UART (GPS, Modem)
5 entres PWM RC
4 sorties PWM,Servos
CAN ( IMU)

Dimension

MODEM 860 MHz


9600 bps
porte max 8km
100 mW

Servocommandes

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Do viennent les contraintes de temps ?/2


 Gestion parallle de
 Rception GPS
1 trame toutes les 250 ms, vnement initi par un dispositif externe
chaque trame arrive octet par octet (120 octets/trame), chaque octet doit tre stock avant
larrive du prochain octet (1/5600o/s ~ 175 s aprs)
 Pnalit : perte de la trame, donc prise en compte de la position retarde de 250 ms

 Rception de donnes venant du sol


1 trame au plus toutes les 100 ms, vnement initi par un dispositif externe
Chaque trame est compose de 10 octets, chaque octet doit tre lu et stock en moins de
1/960o/s ~ 1 ms
 Pnalit : perte dune commande provenant du sol

 Rception de donns de la centrale inertielle


1 message toutes les 20 ms, vnement initi par un dispositif externe
Chaque message CAN est compos de 3 trames de 8 octets de donnes, spars de 80 s,
comme dans le cas des liaisons RS-232, chaque trame doit tre lue et stocke avant larrive de
la suivante
 Pnalit : perte totale ou partielle de contrle pouvant mener au crash

 Rcepteur de consignes manuelles via le rcepteur RC


Assure le pilotage en mode rpteur lorsque le systme est en mode manuel, initi par un
dispositif externe
5 entres doivent tre surveilles (diffrence temporelle entre front montant et descendant)
et mises jour toutes les 20 ms
 Pnalit : fonctionnement saccad pouvant entraner un crash

 Gnration des commandes vers les servo-moteurs


Initi par lhorloge interne
5 sorties doivent tre programmes avec une valeur de commande toutes les 20 ms
 Pnalit : fonctionnement saccad pouvant entraner un crash

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Do viennent les contraintes de temps ?/3


 Envoi des donnes vers le sol de navigation/horizon artificiel
Initi par lhorloge interne (choix de 50 ms)
 Pnalit : retard daffichage dinformations au pilote

 Navigation
Calqu sur larrive dinformations GPS (~250 ms)
 Pnalit : mauvaise trajectoire

 Dtection/gestion de pannes
Initi par lhorloge interne (choix de 200 ms)
 Pnalit : retard de dtection de panne, danger de crash moteur allum

 Algorithme de rgulation dattitude


Initi 1 fois sur 3 par les informations provenant de la centrale
 Pnalit : perte de contrle

 Rcapitulatif :
 4 tches priodiques sont inities par un dispositif externe, leur priode est impose par ceux-ci, il
nous faut rpondre en temps rel ceux-ci
 3 tches priodiques inities par lhorloge interne
 2 tches inities par une autre tche
 Contraintes de temps inhrentes la dynamique du systme et des dispositifs capteurs/actionneurs
 Les pnalits de retard peuvent aller dun certain inconfort la destruction du systme, voire
exposer les oprateurs un risque physique
 La plupart des vnements se produisent de faon priodique (il arrive cependant que des vnements
soient apriodiques)

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Types de contraintes de temps


 Contrainte stricte (hard real-time)
 Une violation des contraintes temporelles peut tre dangereuse pour le systme
Exemple : tche dacquisition centrale inertielle du drone

 Contraintes fermes (firm real-time)


 Violer une chance nest pas catastrophique mais la qualit du rsultat diminue
Exemple : tche dacquisition GPS, cependant, il faut au moins 1 trame sur 2 pour une navigation
presque correcte (1,2)-firm

 Contraintes molles (soft real-time)


 Respecter les chances augmente la qualit du rsultat
Exemple : aucun sur le drone, applications multimedia

Introduction

Enjeux

Dimension

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

18

Introduction
Enjeux industriels
en-ligne
ValidationAnalyse
temporelle
industrielle
Cycle de dveloppement
Perspectives

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

19

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Validation temporelle : place dans le cycle de vie


Ordonnancement de tches temps rel
Domaine de recherche n dans les annes 1970
Sappuie sur des travaux dordonnancement de production des annes 1950

Sapplique en fin de cycle de dveloppement logiciel


Exemple : dans un cycle en W (ou Y)

Spcification

Validation
temporelle

Simulation

Intgration
avec noyau

Intgration
Spcification
&Conception
adapte

Conception
Tests
Codage

Introduction

Enjeux

Tests

Codage
crois
Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Structures typiques des tches

Tches rveilles par lhorloge interne


Date_rveil date_courante
Faire toujours

Date_rveil Date_rveil + Priode_tche


Dormir jusqu Date_rveil
Fait

r+T

r+2T

Tches rveilles par vnement extrieur


Utilisent une ISR (Interrupt Service Routine) excute ds que linterruption a lieu qui dclenche la
tche
Faire toujours
C
C
Attendre vnement dclencheur
r=?
?r+T

Fait

Tches logicielles (hritent de la priodicit de la tche qui les rveille)


Faire toujours
Attendre vnement ou message ou vnement ou

Fait

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

21

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Validation temporelle

RTOS

Introduction

RTOS

Enjeux

RTOS

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Ordonnancement

Buts de lordonnancement gnraliste buts ordonnancement temps rel


Ordonnancement gnraliste
Prendre en compte des notions de priorit tout en vitant quun processus souffre de famine
Amliorer les performances moyennes
Algorithme le plus frquent : Multi-Level Feedback (MLF) = tourniquets priorits avec
changement de niveau de priorit en cas de famine prolonge
Ordonnancement temps rel
Garantir que mme dans le pire cas, une tche respecte ses chances
Note : cela signifie quil faut pouvoir caractriser le pire cas
Algorithme le plus frquent aujourdhui : algorithme priorits (simple en apparence)

4
5

Principe du tourniquet (round robin)

Tche active pendant un quantum de temps

9
6
Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Algorithme dordonnancement MLF


4

15

Priorit
leve

3
1

25

22
6
68

Priorit
moyenne

45
14

43

Priorit
basse

17
68
42

Changement de priorit lorsquune tche attend trs longtemps jusqu


ce quelle obtienne un quantum de temps du processeur. Elle retourne alors
son niveau de priorit initial.

31
19

47

Lordonnanceur utilise le tourniquet non vide de plus haute priorit

1
11

Exemple de systmes dexploitation utilisant MLF


Unix
MS Windows

Avantages
Prise en compte des priorits, Absence de famine, Sadapte parfaitement aux systmes dans
lesquels on na pas dinformations sur la charge

Inconvnients
Coteux, difficile caractriser (quel est le pire cas pour une tche ?)

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Algorithme dordonnancement priorits

Processeur

Echelle
des priorits

Tche
termine
ou bloque

Plus simple caractriser, implmentation aise


et peu coteuse

T11

Niveau de priorit N

T33

Avantages
Inconvnients
Risques de famine

Niveau de priorit N-1

Tche
active

T
44

Niveau de priorit N-2

T22

Niveau de priorit N-3

T77

Niveau de priorit N-4

Tches activables

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Algorithme Rate Monotonic

Article de rfrence :
C.L. Liu and J.W. Layland,"Scheduling algorithms for multiprogramming in real-time environment",
Journal of the ACM, vol. 20(1), pp. 46-61, 1973

Contexte
Tches indpendantes, priodiques, chance sur requte, simultanes (donc concrtes) : une
tche est dfinie par un WCET et une priode

Algorithme
Affecter une priorit en fonction de la priode : plus la priode est petite, plus la priorit est leve

Rsultats
Rate Monotonic est optimal dans la classe des algorithmes priorits fixes
Cela signifie que si un algorithme priorits fixes ordonnance fiablement un systme de
tches S, alors RM ordonnance fiablement S
De faon quivalente, tout systme ordonnanable par un algorithme priorits fixes est
ordonnanable par RM
Thorme de linstant critique: pour des tches indpendantes, le pire temps de rponse pour une
tche de priorit i advient lorsque toutes les tches de priorit suprieure i sont actives
simultanment avec la tche tudie.
Consquence : pour des tches non concrtes, le cas concret simultan est un pire cas. Si un
algorithme ordonnance fiablement un systme de tches simultanes, alors il ordonnance
fiablement le mme systme de tches non simultanes
On peut dterminer si un systme est ordonnanable dans ce contexte par RM uniquement en
testant la charge du systme

Tests dordonnanabilit possibles


Simulation => nous aurons dterminer sur quelle dure (dure dtude) (CNS)
Calcul du pire temps de rponse (CNS)
Calcul du facteur dutilisation processeur (charge processeur) (CS)

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Instant critique : illustration

Soit un systme de 2 tches non concrtes. Une affectation de priorits RM


donnerait Prio(1)>Prio(2)

1
2

temps
Temps de rponse 2,1 = 12

Temps de rponse 2,2 = 13

Remarque : le temps de rponse dune tche ne dpend que des tches de


priorit suprieure (ou gale) : 1 nest pas influence par 2
Ou doit-on arrter la simulation pour conclure que le systme est fiablement
ordonnanc ?

Supposons les tches simultanes


1
2

temps
Temps de rponse 2,1 = 14

Introduction

Enjeux

Temps de rponse 2,2=13

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Tests de complexit polynomiale

Un systme dont la charge U = WCET/priode>1 ne peut tre fiablement


ordonnanc sur un processeur

Liu & Layland ont propos une condition suffisante dordonnanabilit

U1 est donc une condition ncessaire dordonnanabilit triviale


CS signifie que

si la rponse au test est OUI, le systme est fiablement ordonnanc par RM

Si la rponse au test est NON, on ne peut conclure

Condition suffisante de Liu & Layland 73

Soit S une configuration de n tches indpendantes chance sur requte. Le systme S est
ordonnanc fiablement par RM si U n (21/n 1)

limn n (21/ n 1) = ln(2) 0.69

Il en rsulte que tout systme de tches indpendantes chance sur requte de charge infrieure
69% est ordonnanc fiablement par RM
La complexit du test est linaire

incertitude

0.82
0.78
0.69

0%

n
Enjeux

Introduction

69%

Dimension

100% charge

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Tests polynomiaux plus rcents

Borne de Sjdin et Hansson 98 : le pire temps de rponse pour les tches


dun systme <Ci,Ti> est major par

TRi

Ui=Ci/Ti

jhp(i )i

jhp(i )

Uj

Borne hyperbolique (Bini et al. 03) : un systme <Ci,Ti> est ordonnanable


(par RM) si

i1..n

Cj

(Ui +1) 2

Les auteurs ont amlior la borne de L&L73, ainsi la borne hyperbolique est toujours meilleure (i.e.
moins pessimiste, mais bien entendu jamais optimiste) que le test de L&L73

Tests polynomiaux rglables bass sur la RTA

-HET (
Hyperbolic Exact Test) de Bini et Buttazzo 04
Schmas dapproximation de Richard, Baruah, Fisher

incertitude
CS dit OUI

CS NON, CN OUI

CN dit non

Tches indpendantes, ER
Introduction

Enjeux

Dimension

Cycle de dvt

Demain

29

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Surdimensionnement
Systme rel
la plupart du temps
Systme rel
pire cas

Ressources ncessaires

Modle du systme rel

Condition suffisante

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

30

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Mthodes exactes : complexit et passage lchelle


La problmatique principale de lordonnancement est quun bon nombre de
problmes (par exemple, lorsque les tches partagent des ressources
critiques) est NP-difficile ou Co-NP-difficile
Par conjecture, il nexiste donc pas dalgorithme donnant en tant raisonnable une rponse
exacte
Donner une rponse exacte rsulte en une explosion combinatoire

Problmatiques principales de lordonnancement


Evaluer des algorithmes dordonnancement (les contraintes temporelles sont-elles
respectes ? Tel critre est-il minimis ?) en utilisant des tests approchs (heuristiques)
polynomiaux ou pseudo-polynomiaux permettant dapproximer de faon la moins
pessimiste possible le comportement dun algorithme
Par exemple, calculer une borne suprieure du temps de rponse des tches qui soit la
moins pessimiste possible, mais qui ne puisse en aucun cas tre optimiste
Evaluer et comparer des algorithmes
Par exemple trouver un ratio qui caractrise lcart maximal donn par une heuristique
par rapport la rponse que donnerait un algorithme optimal exponentiel
Limiter au maximum lexplosion combinatoire en rduisant au maximum lespace des tats,
en trouvant des classes dquivalence entre tats lors dune construction/exploration de
lespace des solutions.

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Rate Monotonic Analysis (RMA)


1
temps

Remarque 1 : le systme se retrouve dans le mme tat linstant 28 qu linstant 0


Par mme tat nous entendons mme motif darrives des tches, et comme linstant initial, le processeur
na plus rien traiter

Observons cela sur un diagramme de charge (ou de demande processeur) de niveau


de priorit 1

Charge
traiter

temps
Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demande processeur
Demande processeur
Traitement

Point creux

Priode dactivit

1
2
Introduction

Enjeux

1 2 1

Dimension

1
2

Cycle de dvt

temps

Demain

33

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Formule pseudo-polynomiale de calcul de temps de rponse


Une tche 2 de charge C2 met, au pire, C2 units de temps sexcuter
Demande processeur (RBF)
Traitement

( 2)
2

R (1)
13
= C2 + 2 Cj = C2 + C1 = 14
j
T
4
jhp ( i )

R2(1) = C2 +

R2(3) = C2 +

R2( 2 )
14
Cj = C2 + 4 C1 = 14
jhp ( i ) Tj

R2( 0 )
10

Cj = C2 + C1 = 13
4
jhp ( i ) Tj

R2( 0) = C2 = 10

1
2
Introduction

1 2 1

Enjeux

Dimension

1
2

Cycle de dvt

temps

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Calcul de pire temps de rponse

Articles de rfrence :
M. Joseph and P. Pandya,"Finding response times in real-time system", The Computer Journal, vol.
29(5), pp. 390-395, 1986

Contexte
Tches indpendantes chance infrieure ou gale la priode pour [JP 86]

Rsultats
Soit hp(i) lensemble des indices de tches de priorit suprieure (ou gale) la priorit de i, en
excluant i
Par exemple, soient {1, 2, 3, 4} de priorit croissante, hp(2)={3,4}
Le temps de rponse de i est donn par la charge traiter plus linterfrence des tches de priorit
suprieure, en dmarrant linstant critique, car le pire temps de rponse de i intervient dans la plus
longue priode dactivit de niveau de priorit prio(i), et celle-ci dmarre (y compris pour les tches
chances arbitraires) linstant critique

Application au cas DiTi

Si i respecte ses chances, son pire temps de rponse est le plus petit point fixe de la suite

RTA Response Time Analysis


Ri(0) = Ci
Ri(n+1) = Ci +

Introduction

jhp(i ) Tj

Enjeux

( n)
i

Cj

Converge si et seulement si U1
Complexit pseudo-polynomiale

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

35

Types dapproche lors de la validation

Modle du systme
rel

Au choix surdimensionnement vs passage lchelle

Condition
suffisante
polynomiale

Introduction

Heuristiques
hybrides

Enjeux

CNS ou CS
(suivant les
cas)
Pseudopolynomiale

Dimension

Mthode
exacte
exponentielle

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

36

Simulation : un test exponentiel

Monte en charge r+H


Taille H = PPCM(priodes)
Plus Petit Commun Multiple 1..m born par 3m
Mthode fortement exponentielle
Pros : les priodes sont souvent harmoniques/ PGCD important car les
concepteurs sont humains
Cons : avec lavnement de laide la conception, pros de moins en moins vrai,
anomalies dordonnancement

Introduction

Prios Fixes

Prios Dyn.

Offsets

Conclusion

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

37

Facteurs pratiques
Exclusion mutuelle
Communications / contraintes de prcdence entre les tches
Suspension
Rveils de tches lis
Incertitude sur les dates dactivation des tches
Dures non modlisables par WCET
Systme rel
Modles probabilistes
Modles
la plupart du temps
Etc.
Systme rel
pire cas

Modle du
systme rel

Introduction

Enjeux

Dimension

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

38

Exemple : exclusion mutuelle


Tche A
x++

Tche B
x++

Election de A
Transfrer X dans registre R

R
0
Premption par B (sauvegarde du contexte de A dans son BCP)

BCPA

R=0
CO

Transfrer X dans registre R


R

0
Incrmenter le registre R

1
Transfrer le registre R dans X

Election de A (restauration du contexte de A partir de son BCP)


R

Incrmenter le registre R
Transfrer le registre R dans X

Mcanisme dexclusion mutuelle (smaphore, moniteur)


Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Anomalie dordonnancement

Lorsque des ressources critiques sont en jeu, il faut prendre en compte le


problme de lexclusion mutuelle
Problmes possibles
Interblocage (dner des philosophes)
Inversion de priorit (voir plus loin)
Anomalies dordonnancement

Utilisation de la ressource R

1
temps

2
3
C3=6 => cela fonctionne sur la simulation

La tche est bloque lors de laccs la ressource,


cest normal, cela sappelle un blocage (direct)

temps

2
3

C3=5 => violation dchance, cest une anomalie dordonnancement

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Inversion de priorit

Une inversion de priorit a lieu lorsquune tche se voit retarder par une tche
de priorit infrieure, alors quelle ne partage pas de ressource directement
avec cette tche

Utilisation de la ressource R
1
temps

2
3

blocage

Inversions de priorit : 2 sexcute alors que 1 est bloque, pourtant ce nest pas 2 qui
dtient la ressource bloquant 1

hritage

temps

2
Libration R => retour au niveau de priorit initiale

3
Introduction

Enjeux

Dimension

Cycle de dvt

Demain

41

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Exemple dinversion de priorit

Mission Mars Pathfinder (1997)

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Protocole Priorit Hrite

Article de rfrence :
L. Sha, R. Rajkumar and J.P. Lehoczky,"Priority inheritance protocols : an approach to real-time
synchronization", IEEE Transactions on Computers, vol. 39n. 9, 1990, pp. 1175-1185

Contexte
Algorithmes priorits fixes

Nom
Protocole priorit hrite (PPH) ou Priority Inheritance Protocol (PIP)

Principe
Lorsquune tche i est bloque pour accder une ressource R, la tche j dtenant R hrite de la
priorit de i pendant la dure de sa section critique sur R

Rsultats
Supprime toute inversion de priorit

Effets de bord
Mme une tche nutilisant pas de ressource peut subir un blocage indirect de la part dune tche de
priorit infrieure

1
temps

2
3
Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Etude du Protocole Priorit Hrite

Inconvnients
Ne supprime pas linterblocage
Si une tche utilise plusieurs ressources, elle peut tre bloque chaque entre en section critique
Complexe implmenter

Implmentation
Lorsquune tche est en section critique, son niveau de priorit peut tre augment lorsquelle est en
attente du processeur ou bloque par une instruction de type prendre(ressource) sur une ressource
quelle dtient. Pendant son excution, plusieurs tches peuvent augmenter sa priorit

i
La priorit retombe prio(j)
Hritage de prio(j) cause de R1
Hritage de prio(k) cause de R2
Hritage de prio(m) cause de R2

Utilisation de R1
Utilisation de R2
Utilisation de R1 et R2

Introduction

Enjeux

Cycle de dvt

Dimension

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Etude du Protocole Priorit Hrite


1
temps

2
3

Utilisation de R1

Hritage de priorit

Une tche peut tre bloque par une section critique pour
chaque ressource

Utilisation de R2
Utilisation de R1 et R2

Blocage direct ou indirect

La dure de blocage Bi dune tche due aux sections


critiques du systme est la dure pendant laquelle une
tche peut tre bloque (de faon directe ou indirecte) par
une tche de priorit infrieure
Bi =
maxjlp(i ) (dure SCj( R))
Pour PIP

Note: on suppose que 1


fait P(S2);P(S1)

ressourceR

lp(i) ensemble des indices de plus petite priorit que i


Dure SCi(R) : dure maximale de section critique de i sur R

Dans lexemple, B1 = 5, B2=3, B3 = 0

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Etude du Protocole Priorit Hrite

Sil y avait une tche de priorit intermdiaire situe entre 1 et 2, mme si elle
nutilisait pas de ressource, son Bi serait de 5 (dure SC3(R1)+dure SC2(R2)) car
elle peut subir un blocage indirect d 1
Si il y avait une tche de priorit suprieure celle de 1, en appliquant la
formule propose, son Bi serait de max{dure SC3(R1),dure
SC1(R1)}+max{dure SC2(R2),dure SC1(R2)}=5
Cependant, il est vident que la formule donne est pessimiste dans ce cas, car cette tche ne
pourrait en aucun cas subir un blocage indirect, pourquoi ?

La formule devrait prendre en compte le fait quon ne prend en compte que les
ressources utilises par au moins une tche de priorit suprieure la tche
dont on calcule le Bi

Bi =

max

(dure SCj (R))

jlp(i )
ressourceR utilise par une tche de hp(i )

En fait, les formules de calcul du pire temps de rponse sont

Ri(0) (k ) = Bi + kCi

Ri(0) = Bi + Ci
( n+1)
i

Ri(n)
= Bi + Ci +
Cj
jhp(i ) Tj
Pour DiTi

Introduction

( n+1)
i

Ri(n) (k )
(k ) = Bi + kCi +
Cj
Tj
jhp(i )

TRi, k = Ri(*) (k ) Ti(k 1) Pour des chances arbitraires

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Etude du Protocole Priorit Hrite

Pourquoi ne considre-t-on quune seule fois Bi ?


PIP est implment dans peu dexcutifs (cela est d au fait que le protocole
priorit plafond est plus avantageux et facile implmenter)
Ce protocole est cependant implment dans VxWorks
Labsence de protocole de gestion de ressources a failli entraner lchec de la mission Mars
Pathfinder

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Protocole Priorit Plafond

Article de rfrence :
L. Sha, R. Rajkumar and J.P. Lehoczky,"Priority inheritance protocols : an approach to real-time
synchronization", IEEE Transactions on Computers, vol. 39n. 9, 1990, pp. 1175-1185

Contexte
Algorithmes priorits fixes

Nom
Protocole priorit plafond (PPP) ou Priority Ceiling Protocol (PCP)

Principe
Chaque ressource est munie dune priorit plafond gale la plus grande priorit des tches
susceptibles de lutiliser
Une variable, nomme plafond systme, est la priorit plafond maximale des ressources en cours
dutilisation
Une tche ne peut entrer en section critique (opration Prendre(R)) que si sa priorit est strictement
suprieure au plafond systme ou si elle dtient elle-mme le plafond systme
Lorsquune tche i est bloque pour accder une ressource R, la tche j dtenant R hrite de la
priorit de i pendant la dure de sa section critique sur R

Rsultats
Supprime toute inversion de priorit
Une tche ne peut tre bloque au maximum que par une seule section critique de priorit infrieure
par priode dactivit
Absence dinterblocage (pourquoi ?)

Effets de bord
Mme une tche nutilisant pas de ressource peut subir un blocage indirect de la part dune tche de
priorit infrieure
Une tche, mme si elle est la plus prioritaire des tches active, peut tre bloque en accdant un
smaphore mme libre : cest un blocage dvitement

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Comparaison PPP - PPH


PPH

temps

2
3
Hritage de priorit

Utilisation de R1

Blocage dvitement

Utilisation de R2

PPP = > 1 blocage max

Utilisation de R1 et R2

temps

2
3

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Etude du Protocole Priorit Plafond

Bi =

max

ressourceR utilise par une tchede hp(i ),jlp ( i )

Sur lexemple prcdent : B1=max(2,3) ; B2 = max(3) ; B3 = 0


Les formules de calcul du pire temps de rponse sont les mmes, sauf que Bi
est plus faible quavec le PPH

Ri(0) = Bi + Ci

Ri(0) (k ) = Bi + kCi

Ri(n+1) = Bi + Ci +

Ri(n)
Cj
jhp(i ) Tj

Ri(n+1) (k ) = Bi + kCi +

Pour DiTi

(dure SCj( R))

Ri(n)
Cj
jhp(i ) Tj

Pour des chances arbitraires

Problme : implmentation aussi complexe que PPH

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Protocole Super Priorit ou Priorit Plafond Immdiat

Article de rfrence :
C. Kaiser,"Exclusion mutuelle et ordonnancement par priorit", Technique et Science Informatiques,
vol. 1(1), pp. 59-68, 1982

Contexte
Algorithmes priorits fixes

Nom
Protocole priorit plafond immdiat (PPPI) ou Protocole Super Priorit ou Stak Based Priority
Ceiling Protocol

Principe
Chaque ressource est munie dune priorit plafond gale la plus grande priorit des tches
susceptibles de lutiliser (comme pour PPP)
Une variable, nomme plafond systme, est la priorit plafond maximale des ressources en cours
dutilisation (comme pour PPP)
Une tche ne peut entrer en section critique (opration Prendre(R)) que si sa priorit est strictement
suprieure au plafond systme ou si elle dtient elle-mme le plafond systme (comme pour PPP)
Lorsquune tche i entre en section critique, elle hrite pendant toute la section critique de la
priorit plafond de la ressource

Rsultats
Mmes proprits que le protocole priorit plafond, en effet mme si le comportement peut tre
diffrent, le calcul du facteur de blocage est identique
Implmentation trs simple
Il en rsulte que ce protocole est implment sur la plupart des excutifs (norme POSIX, norme
OSEK/VDX) et en Ada
Etrangement, il nest pas propos par VxWorks

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Protocole Super Priorit ou Priorit Plafond Immdiat

Hritage de priorit

PPP = > 1 blocage max

Utilisation de R1
Utilisation de R2
Utilisation de R1 et R2

temps

2
3

Introduction

Enjeux

Dimension

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

52

Ordonnancement et exclusion mutuelle


Problme NP-difficile
Aucun algorithme non clairvoyant nest optimal
1
2

Mais on peut appliquer une condition suffisante de la RTA

Ri(0) = Ci
( n+1)
i

Introduction

Enjeux

Ri(n)
= Ci +
Cj
jhp(i ) Tj

Dimension

Cycle de dvt

Demain

53

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Validation temporelle dans lindustrie


Les RTOS off-the-shelf proposent
Ordonnancement priorits fixes
Protocole priorits plafond immdiat

Les mthodes de validation se trouvent en fin de cycle de vie


Bases sur la RMA
Sappuie sur des mthodes des annes 90

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

54

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Enjeux actuels
Diminuer les surdimensionnements
Mieux utiliser les ressources
Aider les concepteurs tout au long du cycle de dveloppement concevoir un
systme qui SERA valide temporellement
Savoir combiner vue fonctionnelle et oprationnelle
Sadapter aux nouveaux supports physiques dexcution
Etc.
Avec des mthodes qui passent lchelle pour des applications de taille
importante

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

55

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Introduction
Enjeux industriels

DiminuerSurdimensionnement
le surdimensionnement
Cycle de dveloppement
Enjeux industriels de demain

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Fonctionnement non priodique


Tches sporadiques

Tches priodiques

Processeur

Traitement meilleur effort

Tches apriodiques
Rejet

Tches sporadiques

Test
Dacceptation

Tches priodiques

Processeur

Traitement meilleur effort

Tches apriodiques

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

57

Fonctionnement non priodique


 Serveurs dapriodiques, tudis dans les annes 90
Certains RTOS (norme Ada 1995 et 2005 par exemple, ou POSIX 1003.1)
proposent de tels serveurs

Introduction

Enjeux

Dimension

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Types de contraintes
Contraintes strictes
Contraintes fermes
Modles stochastiques
QoS

Demain

58

59

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Dates de rveil lies


Diffrents modles ont t proposs et tudis
Exemple : transactions

Octet1 Octet2
173s 173s

Octet120

Octet1
229.2ms

Prise en compte sous forme de tches classiques ?


Analyse dordonnanabilit pessimiste

Prise en compte sous forme de surcot processeur dans la dure des tches?
Prise en compte dans toutes les tches pessimisme

Transaction

i1

i2

i3

Oi2
Introduction

Enjeux

Cycle de dvt

Dimension

Demain

60

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Mthode originelle en priorits fixes


Mthode des enveloppes
i

i1

J i2

i2

J i3

i3

J i2 i2

i1

J i3

PA
PA

i1

J ii 21

i2

J i 3
J i 2 i 3ii1 2
i

i 3 i 2

i1

i 3ii 12

i2

i 3
i1

i 3i 2

i3

t =0
t
Wi1(t) = 0

Wi2 (t)
Wi3(t)
Wi (t)

Introduction

Enjeux

Dimension

Cycle de dvt

t
Demain

i3

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

61

Interfrence effective

1
0

13

12

11

22

21
2

W 11 ( t )
W 12 ( t )
W 13 ( t )

16

13

W 21 ( t )
W 22 ( t )

W 21 ( t )
W 22 ( t )

W 11 ( t )
W 12 ( t )
W 13 ( t )

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

62

Mthodes des enveloppes


Interfrence approche

Cua + W1 + W2 + ...

t = I

Charge
processeur

W1

W2 Interfrence approche
2

Borne sup de
temps de rponse de
ua =10

time

ua

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

63

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Modles Multiframe et GMF


Tche multiframe <VecteurWCET,Priode>, [Mok&Chen96]
MF task T
Cycle

P= D=5
J0

P=D
J1

P=D
J2

C1

C0

J0

J1

J2
30

15

C2

Generalized Multiframe Task <VecteurWCET, VecteurDlai, VecteurPriode>


[Baruah99]

GMF task T
Cycle

P0 = 6
D0 = 5
J0

P1 = 4

P2 = 7

D1 = 4
J1

D2 = 6

J2

J1

J0

J2

17

C0

Introduction

34

C2

C1

Enjeux

Cycle de dvt

Dimension

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

64

Comparaison GMF-transactions
Comportements possibles diffrent
Comportement pire cas : Transaction gnralise GMF
GMF task Ti

Cycle

Pi1 = 4

Pi 2 = 7

Di1 = 4
J1

Di2 = 6

Pi 0 = 6

Di0 = 5
J0

C i0

J2

J0

J2

17

C i2

C i1

J1

34

Transaction i

Ti = Pi 0 + Pi1 + Pi 2

Oi 3 = Pi 0 + Pi1
Oi 2 = P 0
Di1 = Di0

Di 2 = Di1

i1

i2

C i1 = C i0

Introduction

C i 2 = C i1

Enjeux

Di 3 = Di2

i3

i1

i2

i3

17

34

C i 3 = C i2

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

65

Recurring Real-Time tasks


Propos par [Baruah98]
7,10

10

20

3,5

1,10

1,2

15
Priode absente dans
Le non-cyclic RRT

Priode = 50
Max DBF/RBF parmi les chemins

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

66

RRT pire interfrence


7,10

20

10
1,10

1,2

Introduction

15

Enjeux

10

7,10

20

3,5

1,10

Dimension

1,2

15

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

67

Digraph
[Stigge2011] Pas de distinction nud source/nud puits
Peut contenir des cycles
12
7,10

20

10
1,10

1,2

10

7,10

20

3,5

15

1,10

1,2

15

Rapprochement calcul WCET ?

Introduction

Enjeux

Dimension

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

68

Expressivit des modles

digraph
ncRRT
Transactions

RRT
GMF
multiframe
L&L

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

69

Une meilleure utilisation des ressources ?


Algorithmes en-ligne
(ordonnancement dirig
par les priorits)
Connaissance des
instances actives
uniquement

Priorits dynamiques
EDF,EDL,ML,Pfair

Algorithmes conservatifs
(le processeur ne peut tre
inactif que si aucune tche
nest active)

Priorits fixes
RM,DM,Audsley

Ordonnancements non conservatifs


Algorithmes hors-ligne
(ordonnancement dirig par
le temps)
Clairvoyance
Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Optimalit

Lalgorithme le plus utilis est Earliest Deadline First (EDF)


La priorit dune tche est dautant plus importante que son chance est proche

Raison
Rgle de Jackson [Jac 55]: excuter des jobs dans lordre des chances non dcroissantes est
optimal en vue de minimiser le retard maximal
Retardi (Lateness): TRi di ; retard maximal Lmax= maxi{Retardi}
J.R. Jackson, Scheduling a production line to minimize maximum tardiness , Management Science
Research Project 43, University of California, Los Angeles, 1955
Preuve : ralise par change

da

db
a

Lb La
da db

b
La

Lb

CNS U1
Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Comparaison DM/EDF
Sous la forme <ri,Ci,Di,Ti>, 1::=<0,1,4,4>, 2::=<0,4,5,12>, 3::=<0,2,8,8>
U = 1/4+4/12+2/8=20/24=0,833333
1
temps

DM 2
3

1
temps

2
EDF
3
Attention, ici le critre U1 est une CN et non une CNS pour EDF,
car le systme nest pas chance sur requte
Introduction

Enjeux

Dimension

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

72

Remarques
EDF est une politique o les tches ont une priorit dynamique mais les jobs
ont une priorit statique
Effet dominos
Le calcul de temps de rponse est peu lgant
Faire concider le rveil de toutes les tches
Faire concider lchance de la tche tudie avec chaque chance rencontre
Prendre le temps de rponse maximal obtenu

La vrification du respect dchances est simple

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

73

Etude de la demande processeur


1
temps

Traitement

Demand bound function (DBF)

Le temps de rponse le plus long arrive dans la


premire priode dactivit initie par un rveil
simultan

temps
Introduction

Enjeux

Dimension

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

74

Proprits simplement observables

temps
Si tche sporadique ? (i.e. priode T)
Si Ci diminue ?
Si il y a une gigue ?

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

75

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Le boom de ltude de systmes rpartis


Mme espace de collision

8
9

m4

ProcessorC
FPP: 7>9 >8

m3
1

m1

m2

ProcessorA
CAN network
FPP: 1>2 Non-preemptive FPP: m1>m3>m2

Introduction

Enjeux

ProcessorB
EDF

Dimension

Cycle de dvt

Demain

76

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Systmes rpartis
Rseau commut

Switch s1

Source node s0
m0,j
mi,j
mn,j

FIFO within priorities queue


FIFO queue
Cell spacer rate 1/ti
Muliplexer

Link l0

Link l1

Link lm

Dest.
node

77

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Tous ces modles/mthodes visent rduire les carts


Systme rel
la plupart du temps
Systme rel
pire cas

Ressources ncessaires

Modle du systme rel

Condition suffisante

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

78

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Introduction
Enjeux industriels

Positionnement
dans le cycle
Dimensionnement
deCycle
dveloppement
de dveloppement
Enjeux industriels de demain

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

79

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Validation temporelle : place dans le cycle de vie


Aider le concepteur concevoir un systme valide temporellement

Spcification

Validation
temporelle

Simulation

Intgration
avec noyau

Intgration
Spcification
&Conception
adapte

Conception
Tests
Codage

Introduction

Tests

Codage
crois

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

UML 2 et le temps rel


Dans les normes UML 2.x
Peu ou pas de possibilit dexprimer les spcificits lies au temps rel et
lembarqu

Ncessit de pouvoir exprimer le temps, les contraintes de temps, le


paralllisme, les diffrents types de communication, le placement,
lordonnancement, les lments matriels, etc.
Cependant
UML + UML profiles + DSL (Domain-Specific Languages) + XMI (pour lchange
entre modles) et les langages de transformation de modles se dveloppant sont
attractifs avec des CASE (Computer-Aided Software Engineering) de plus en plus
performants
Gains indniables en productivit, rutilisabilit, fiabilit, sret si la mthode
est matrise

Exemples de CASE :
TopCased, IBM Rational Rose, Eclipse,

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Avant une normalisation dun profil pour le temps rel


Diffrents ateliers proposent diffrentes approches
Artisan Studio :
UML+diagrammes spcifiques pour la reprsentation du multitche (fortement inspirs
de DARTS)
Le concepteur est charg de faire le lien entre tches et classes/objets/

RT-UML :
se base sur les objets actifs UML (attribut isActive=true), ajoute des tubes de
communication entre objets qui servent passer les messages, et dfinit des
strotypes spcifiques (<<interrupt>> reprsente lactivation dune tche objet actif
par interruption)

UML-RT :
Dfinit la notion de capsules pour les objets actifs, communiquant par des ports. Un
canal permet de faire communiquer 2 ports.

UML-SDL :
Les objects actifs sont exprims en SDL (Specification and Description Language)
langage graphique+textuel non ambige (par consquent pouvant donner des modles trs
complexes manipuler)

Introduction

Enjeux

Cycle de dvt

Dimension

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Par consquent
Concepteur de systmes embarqus
(de trs bonne volont)

UML +
DARTS

UML en
capsules
UML + SDL

Prennit ?
Maintenabilit ?
Evolutivit + suivi des volutions des normes ?
Disponibilit doutils ?
UML +
Etre li un seul diteur de logiciel ?

UML +
strotypes

Un DSL choisi
Ex: AADL, sysML
Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Et pourtant, UML apporte de rels avantages


 Approches dites structures : description de fonctionnalits par rapport aux
bords de modle (i.e. par rapport au monde rel capteurs, actionneurs)
Simplicit due lapproche totalement descendante
Une modification des bords => profondes modifications de la modlisation
Absence du concept de composants : rutilisabilit faible dun projet un autre
 Approches objet: modlisation du monde rel et du monde mtier par des
classes/objets regroups sous forme de composants rutilisables.
Prise en main plus complexe, temps de spcification/conception plus long
Mais moins influences par des modifications, plus flexible
Time-to-Market voiture, avion, 3 ans
Nombreuses modifications du cahier des charges, volution des normes &
exigences, etc.
De mieux en mieux comprises et outilles
Interfaces de + en + automatises de transformation de modles/gnration de
code (transformations implantes au niveau MOF)
Effort de normalisation important en cours
Mais toujours une Jungle de normes, langages, outils, CASE

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Paralllisme dans le diagramme des classes


Proprit de classe: isActive : boolean
Les objets de cette classe sont actifs et sexcutent dans leur propre contexte

Concurrence des oprations


Proprit concurrency : sadresse plutt aux classes passives
Sequential : opration non rentrante, mais pas de gestion de concurrence,
Guarded : opration non rentrante protge en exclusion mutuelle
Concurrent : opration rentrante

Proprit des oprations isQuery : boolean


En lecture seule sur lobjet/la classe

Envoi de messages : peut tre synchrone ou asynchrone


Appel dopration ou Signal
La norme nimplique pas de cohrence (exemple : quest un appel dopration
asynchrone sur une classe passive ?)

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Limitations dans UML


Limitations
Pas dexpression de rythme dexcution (rveil sur interruption, rveil priodique)
Pour les messages, notion de file dattente mais pas de notion avec/sans
crasement
Pas de rflexion sur la dcomposition en tches

Dun point de vue multitche : tend pousser le concepteur choisir de


mauvaises solutions dun point de vue temps rel
Non respect du profil Ravenscar
Exemple: rendez-vous (i.e. appel synchrone dopration sur un objet actif par un objet
actif)

Utilisation de solutions dont lexcution est fortement dpendante de


lordonnancement
Signaux

Expression du temps : pas de temps vrai => units de temps

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Ncessit de pouvoir tendre UML de faon normalise


Le temps rel nest pas le seul domaine concern par les lacunes dUML
Suivant le contexte dans lequel on se place, ce ne sont pas les mmes notions qui
font dfaut
Ordonnancement = expression des rythmes, temps absolu, temps considr comme
global, ordonnanceurs, hirarchie dordonnanceurs, calculateurs, abstraction du rseau
en tant que medium de communication en temps born, etc.
Calcul de dure des traitements = dcoupage du processeur, mmoires, mmoires
caches, instructions, etc.
Rparti = dcoupage du temps, synchronisation dhorloges, etc.
Etc.
Etc.

Solution propritaire = tre li un seul outil/diteur de logiciel


Besoin dune solution normalise simplement implmentable sur (tous) les
ateliers logiciels
Utilisation des mcanismes standards dextension dUML

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Mcanismes standards dextension dUML


Strotypes
Permet de modifier la smantique dun lment existant
Exemple : stereotype <<ppUnit>> dans MARTE (Protected Passive Unit)

Valeurs marques (tagged values) permettant dattacher des proprits


nexistant pas au niveau du mta-modle UML un concept UML. Permettent
dassocier des valeurs de proprits aux strotypes

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Valeur des tagged values: exemple de Value Specification


Language
Permet de dfinir un langage textuel dexpressions
Variables, paramtres, littraux, types composites (collection, interval, tuple,)

Permet de dfinir des relations et des contraintes arithmtiques,


temporelles, logiques
Exemple dutilisation de VSL dans MARTE (tir de la norme MARTE 1.0)

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Contraintes : OCL
OCL (Object Constraint Language)
Partie intgre dans la norme UML depuis UML1.3

Permet de formaliser certains aspects smantiques sous forme de


contraintes logiques
Exprime des contraintes sur le modle ou le mta*-modle
Contraintes sur les relations (xor, frozen, addonly, ordered, subset,)
Invariants sur des classes
Pr et Post-conditions des oprations
Gardes sur des transitions de diagramme E/T ou des messages de diagramme
dinteractions
Ensemble dobjets destinataires dun message
Rgles de calcul dattributs drivs
Etc.

Types de donnes
Scalaires: Boolean, Integer, Real, String
Constructeurs : Set, OrderedSet, Bag, Sequence

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Dfinition de profils UML


Permettent dtendre ou de spcialiser un mta-modle (exemple: UML) pour
un domaine spcifique
Exemple : MARTE profile

Un profil est dfini partir :


Dlments slectionns du modle de rfrence (MARTE dfinit les concepts
UML qui sont utiles dans le profil)
De descriptions smantiques particulires permettant de prciser la smantique
en cas dambigut dans le mta-modle de rfrence (exemple : fonctionnement
des machines tat)
De strotypes, tagged values, et contraintes
Et ventuellement
De notations supplmentaires
De rgles de transformation de modles, validation, prsentation

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Une norme qui semble merger pour le temps rel :


MARTE
 Modeling and Analysis of Real-Time Embedded Systems
Notion dhorloges (logique, discrte,
Non-functional Properties:
Version 1.0, 2009, 738p. Dfinitions de types de base, Continue,)

Intgre le VSL la dfinition


de paramtres. Prcise les
comportements et introduit
la notion de mode de
fonctionnement

et dunits de temps, de dbits, Generic Resource Modelling:


dnergie ainsi que les relations Def. de ressources logicielles
entre units (1 s = 1000 ms)
(ex: scheduler) et matrielles
(ex: processeur)

Generic Component Model


Profil orient composants
(inspir dAADL)

Generic Quantitative Analysis


Modeling : modles de base pour
ltude de perf. et lordonnancement
RMA
Schedulability
Analysis Modeling : dfinit
des proprits dordonnanabilit
(but=>les utiliser dans un outil
dordo.)

High Level Application


Modeling : dfinit les modles
RtUnit, PpUnit, RtAction, etc.
Software/Hardware Resource
Modeling: dfinition utiles pour
la modlisation de supports
dexcution (RTOS, processeur)

Introduction

Allocation dentits des


ressources
(allocation spatiale
mmoire, de calcul,
un ordonnanceur, etc.)

Performance
Analysis Modeling : proprits
pour ltude de perf. oriente
rseaux

Enjeux

Dimension

Cycle de dvt

Demain

92

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Reste intgrer UML + temps rel


Proposer des mthodologies
Limitant le surdimensionnement
Tirant parti de mthodes de validation efficace
Combinant analyse de sensibilit et mthodes avances de validation
Evolutives
Modles voluent
Mthodes voluent
Questions auxquelles on peut rpondre

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

93

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Introduction
Enjeux industriels

Enjeux
industriels
Surdimensionnement
dede demain
Cycle
dveloppement
Enjeux industriels de demain

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

94

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Augmentation du nombre de fonctionnalits


Complexit Logicielle/Matrielle
Fonctions
Calculateurs

Complexit
logicielle

Automobile
90% des innovations sont logicielles
35% du cot total

Complexit
matrielle

Fonctionnalits

Dpendances fonctionnelles
Ove rvi ew o f F A V eh ic l e D yn ami cs in cl u di n g a ll cl a sse s be l on gi n g to th i s F A (cl ass es fro m o th er F As a re n ot i nc lu d ed a t th i s tim e)
Gra n L un d qv i st, 9 422 1 (200 3-10 -1 4)
An ti l o ck B ra ki ng

New S80

BrakeF lui dS
witch

AW D

BCM D r iver Inf


oIF

Br akeF lui dLevelIF


(f rom D river I nfor mati .. .

( f rom Driver I nfor


.. .)mation)

( fr om Basic Layer)
.. . )

Br akeContr oll er

R eleaseSwi t
chIF

C MbB
AWD Pr essur e
Sen sor

AWD Feeder
Pump

( from B as ic La y. ..

(f r om Basic Layer)
.. .)

WheelSpeedCalcul ati ons

AWD TempSen
sor

( fr om Basic Lay. . .

( fr om Basic Lay. ..

( fr om Basic Lay. ..

F CW

F CWSwit chA
nal ysis

( fr om V ehicle Lay. ..

C AD S Mo d e&HMI M an ag er

Ada pti ve Cr ui se Co n tr ol
Long Rang eObj ectSensor

(f rom D river Inpu


. .. )t)

CM bBContr oll er

AWDValve
( fr om Basic. ..Layer)
)

C VSensor Int
er face

(f rom Envir onm e. . .

AWD FunctionContr oll er

AWDD r iver Inf


oIF

(f rom Vehicle Lay. ..

Wheel SpeedS
ensor

(from D r v
i er I n. ..fo)rm at ion )

( fr om Vehicle Layer
.. . ) )
( fr om V ehicle Lay. ..

C AD SH M IM anager

C AD SM oni tor

For war dC oll i sionWar ni ngC ontr ol ler

( fr om D river Inf orm at i...

(f rom Vehicle Lay.. .

(f rom Vehicle Lay. ..

( fr om Driver I nform
.. .) ation)

( fr om V ehi cle L ay. . .

S tab i li ty & Trac tio n Co n tr ol

(f rom Basic Lay.. .

Stabi li ty&T r acti onC ontr ol ler

Em eg en cy B rak e As si st

EBASwitch
(f rom Dr iver
. ..Input)
)

H ar dwi re F CWVi sual Inte


r face

(f rom Driver I nfor


.. .) mation)

Vehi cle Spee d

WheelSpeedSensorI F

( fr om Basic Layer
.. .) ) 4

BrakeSwi tch
esIF

( f rom Vehicle Lay.. .

H ar dwi re

( fr om Driver ...)
I nput )

EBASwi tchIF

Har dw i re

Emerg encyBr akeC ontr ol ler

(f rom Dr iver Inp.. .

EBASwi tch
Lamp

(f rom Basic Lay.. .

(f rom Basic Lay.. .

EBADr i ver In
foIF

Tr actionContr olAWDI
nter venti on

(fr om D riv e r .I ..
nf)orm a ti on)

E le ct ri ca l P ark i ng B r ake
EPBSwitc
hIF

Sli p&Fr i cti onEs


timator

Wheel Angul ar Acc


Estimator

( fr om B asic Lay. ..

( fr om D river ..I nf
.) orm at ion)

S40

CADSDr i verI
nfoIF

C AD S Mod eM
anager

AdaptiveC ruiseC ontroll er

( fr om Environment)
.. .)

( fr om D river ..I nput


.) )

(f r om Vehicle Lay. ..

EPBDr i verInputEvaluator

EPBD ecis i onM aker

( fr om Driver I np. ..

( fr om Vehicle Lay. . .

H i l l D es ce nt Co n t rol
H il lD escentContr ol ler

(f rom Dr iver
.. .) Input)M

HD C Swi tc
hIF

( fr om Vehicle Lay. ..

EPBVehi cleState
Estimator

( fr om Vehicle Lay. . .

( fr o m D riv er. ..In


) fo r mation )

( fr om B asic Lay. ..

( fr om Basic Lay.. .

H D CWar ni
ng IF

( fr om V ehicle Layer
. .. ) )

EPBC ontr ol ler

EPBActuator IF

Har dw ir eM

(f ro m Dr v
i ..
er.)In put)

Vehicl eInc li na
ti onIF

1
1
2 Ha r dw i re

H DC Infor mati on
LampIF

EPBDr i verIn
foIF

2
EPBBr i dge&Cur r entMeas

EPBActua
tor

HD C M essa
g eIF

(f rom D river Inf or mat


. .. ) ion)

(f rom Dr iver .Inf


. .) or mat ion)

(f rom Dr iver .Infor


.. ) mat ion)

Ac tiv e Ya w C o n tro l

( fr om Basic Lay. ..

Bod ySe ns
orIF

(f rom Basic
. . .)Layer)

AYC Contr oll er

( f rom Vehicle
.. .) Layer )

(f r om Vehicle Lay. ..

Co o l an t F an Co n trol
PW M _Si gnal

C oolantFa
n

BodySe ns orAW
D IF

CoolantFanC ontr oll er


( fr om B asi c Lay ...

(f rom V ehicle L ay.. .

( fr om Basic
.. .)Layer)

R o ad F ri cti on I nd i cati o n

E n gi n e C on trol

S80

Engi neContr ol ler

Water InFuel Se
ns or

RoadFr ictionIndi cator

(f rom Basic Lay.. .

( f rom Basic Lay.. .

MS R C on trol

(f rom Basic Lay.. .

ECM TempS
ensor

M SRC ontr
ol ler

Col dZoneCool ing A


ctuator

C oldZ oneC ooli ngC ontrol l er


( fr om B asic Lay. ..

( fr om Basic Layer)
.. . )

( fr om Vehicle
.. . )Layer )

( fr om Basic Lay. ..

Pe da l s
AmbientTempIF

H ar dwi r e

AmbientTemp
Sensor

AccPedalPosition
Val idati on

( fr om E nvir onme.. .

( fr om Environment)
.. .)

(f rom D r iv e r Inp .. .

FuelLi dIF

H ardwi re

Engi neVehi cl eDataM anag er

(f r om Basic Lay. ..

( fr om Basic
.. .)Layer)

850

BrakePedal Posi ti on
Val i dati on

(f r om Basic Lay. ..

Br akeD iag nosti c


Swi tc hIF

Br akeLig htSwi tchVali dation


( fr om Driver I np. . .

( fr om Dr iver Inp. ..

(f rom Dr iver Inp.. .

GaseousFuelLevel IF

GaseousFuel
Level

(fro m B as ic La y. ..

PN IF

( fr om Basic Layer
. .. ) )

Har dw ir e

TextDi spla
y

(f rom Dr iver Inf or..mat


.) ion)

Dr i vi ngC ycleOffT ime


Cal culator

E n gi n e Ve hi c le Da ta Man ag eme nt

F uelLi d

RF ID r iver InfoIF

( fr om Basic Lay. ..

( fr om B asic Lay. ..

D iesel Fi lter War mer C


ontr oll er

C lutchPedalPosition
Val idati on

( fr om Driver
. .. )I nput )

Engi neWar ning IndIF

InfoSymbo
l

(from D r v
i er I n p...

CC PT este
r

Ga seousFu el
Switch

(f rom Dr iver
.. .) Inf or mat ion)

(f rom Dr iver Inp.. .

(f rom Dr iver Inp.. .

( fr om Driver I nform ati. . .

Har dw ir e
( f rom Driver
.. .)I nfor mation)

Cl utchPedal Swi tc h
25%IF

C lutchPedalSwi tchVali dati on

Cr ui se Co n tr ol

( fr om Basic.. .)Layer )

(f rom Basic Layer)


.. .)

C r uiseContr oll er

M PBSwi tchIF

( fr om V ehicle Lay. ..

(f rom Dr iver Inp.. .

Ad di ti ve D o si n g C o ntro l

760

H ar dw ir e

PiezoSens
or

Addi ti veM an
ager

PiezoSensor IF
(f rom Basic Lay.. .

( fr om Basic
. ..Layer)
)

(fr om B asi c .Lay


.. ) er)

H ar dw ir e

D osi ngPu
mp

C C LampI F

Dosi ngPumpIF

CC Butt ons
IF1

C CButtonsIF2

( fr om Driver.. .I)nfor mation)

( fr om D river I np. ..

( fr om B asic Lay. ..

(f rom Driver. ..I)nput )

( fr om Basic
. ..Layer)
)

E ng i ne Mod e Man agem ent

V eh i cl e S pe ed L i mi tati on

Engi neStateM anager

Vehi cl eSpeedLi mit


Contr oll er

(f rom Basic Lay.. .

( fr om V ehicle Lay. ..

F u el Pu mp C o n tr ol

E H PAS S te eri n g C o ntro l

IgnKeyPosWakeup
( fr om Driver I nput )

<< Out>> WakeU p

Fuel PumpC ontr ol lerECM

H ar dwi r e
<< PWM 300Hz> >

( fr om Basic Lay. ..

Steer i ngWheel Ang le

EPSWar ni ngIF

( fr om Driver I nput )

(f rom Dr iver Inf or mat ion)

H ar dwi r e
Fuel Pump

Fuel Pump Contr oll er C EM

(f rom Basic
.. .)Layer)

(from B as ic La y...

H ar dw ir e

140

Gl owPlug

H ar dwi r e

C o nti n uo u sl y C on tro ll e d D amp i n g

Gl owpl ug Heating Con tr ol ler


C CD Contr ol ler

( fr om Basic Lay. ..

( fr om Basic
. .. )Layer )

( f ro m Basic Layer )

Gl owIndicato
rIF

Gl owIndicator
(f ro m Dr iver Inf or mat
.. .)ion)

( fr om B asi c Lay er )

( fr om B asic Layer )

Gl o wpl u g H ea tin g C o n tro l

BodyVertAc cSen sI
F

( fr om Dr iver I.nf
.. )orm at ion)

D ampi ngC ontrolR u


nLevel

Sus pVer tPos iti onS


en sIF

(f rom Vehicle Layer)

(f rom Vehicle Layer)

Damper C ur rentC
ontr ol

Ver tM otionEsti mati on


( fr om V ehicle Layer )

( fro m V eh icle Lay er )

En g in e C ra nk in g

PV

El Ser voP um pIF

EHPASSte er ingC ontr ol ler

( f ro m Bas ic La yer )

Star tR elay

M
Star tButtonC
ontr ol

(f r om Basic
. ..)Layer)

Indi vidualD amperC ontr ol


(f ro m Basic Layer)

M
M
M

Eng ineC r anking Contr ol ler


(f rom Basic Lay.. .

StartD ri ver In
foI F

OM AC ontrol
( fr om V ehicle Lay. ..

H i l l L au nc h Assi st

( fr om D r ive r I..nfor
.) ma ti on)

Gea r S h i ft U p C o ntro l
Gear ShiftU
pIF

HLADr i ver Inf o

H LAContr oll er

(f rom Dr iver Infor mation)

( f rom B asic Laye r)

Gear Shi ftUpC ontroll er


( fr om Vehicle Lay. ..

(f rom Dr iver. . Infor


.)
mation)

ID CM odeInfoIF

P o we rtrai n C o n tro l

Ty re D efl ati on D etec ti o n

R a ti o Actu ato r

(f r om D riv e r Inp ut )

S h iftl oc k

RatioActuator
TyreStatusRe
ceiver
( fr om Basic Layer)
. .. )

Tor queM anager


( fr om Vehicle Lay. . .

Tyr eD efl ati onD etec tor

Wheel Tr actionT or que


Di str i bution

R atioM ana ger

( fr om Basic Layer )

Shi ftl oc kM anag er

( fr om V ehicle Lay. ..

( fr om Basic Layer )

( fr om Vehicle Lay. ..

(f rom Basic Lay.. .

Terra in Opti mi sa tio n

Enjeux

Dimension

(fr om D riv e r Inp ut )

( fr om Driver I nput
. .. ) )

Gear Sel ector


Re vers eG ear S
witchIF
( fro m Driver I np. ..

Introduction

LockStatusC ontr
ol

TipModeM an
ag er

Tyr eD efl ationIndic


ationIF
( fr om Dr iver I nf orm at. ..ion)
)

WheelT or queAr bi tr ation


(f rom Vehicle Lay.. .

Winter M odeM a
na ger

(f rom Dr iver Input)

T OC on tr oll er
(f rom Vehicle Layer)

Rotar ySwi tchIF


(f r om D riv e r Inp ut )

Tr ansmissi onD ri ver InfoI


F

Shi ftl ockActuator

T OD r iver InfoIF

( fr om Dr iver Inf orm at ion)

( fr om Dr iver I nput)

(f rom Dr iver Inf or mat ion)

( fr om Vehicle Lay. ..

Cycle de dvt

Demain

95

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Vers une limite de la vitesse des processeurs ?


Nb fonctions
Finesse de gravure identique : courant consomm est f(N)
N frquence interne du processeur

Augmenter la frquence = diminuer la taille des transistors


1 nm linaire 5 atomes de silicium
Miniaturisation => problme de fuites de courant, mcanique quantique

Finesse de gravure (nm)

Finesse de gravure (m)


100

7
6
5
4
3
2
1
0

80

Prvisions les plus optimistes

60
40

Finesse

Finesse
20

Introduction

Enjeux

Dimension

2017

2015

2013

2012

2010

2009

2008

2008

2008

2007

2006

2004

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Demain

96

Arrive prochaine du multicoeur en embarqu


Le processeur grand public est aujourdhui multicoeur
Demain le processeur embarqu sera multicoeur

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

97

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Ordonnancement global vs partitionn

migration

Optimalit politiques Pfair mais


Surcot de la migration
Des mmoires caches
Utilisation des bus internes

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

98

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Exemple de changement mono/multi processeur

Rgime transitoire

Rgime permanent

Comportement cyclique monoprocesseur


[Leung-Merrill ] Tches indpendantes, algorithme EDF, DiTi

Max(ri)+PPCM(Ti)

PPCM(Ti)

[Goossens-Cucu] Tches indpendantes, algorithmes priorits fixes, DiTi

Si

Introduction

Enjeux

PPCM(Ti)

Dimension

Cycle de dvt

Demain

99

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Cyclicit exact en monoprocesseur


Monoprocesseur
[Grolleau-Geniet] Ressources, prcdences simples, algorithme ninjectant pas de
temps creux, DiTi

Jusquau dernier

PPCM(Ti)

temps creux acyclique


Impacts:
Dure de cycle exacte
Dure de simulation rduite
Possibilit de grer des tches diffres dans des algorithmes hors-ligne

Multiprocesseur partitionn : notre rsultat sapplique trivialement

Introduction

Enjeux

Cycle de dvt

Dimension

Demain

100

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Cyclicit multiprocesseur global


Problme gnral ouvert
La notion de dterminisme ne suffit plus
Les temps creux varient en fonction de lalgorithme dordonnancement
Tche
1
2
3

r
0
0
0

C
1
1
3

D
2
2
7

T
2
2
4

2
3
p1 oisif
p2 oisif
Rgime permanent

chance viole

p1 oisif
p2 oisif

p1 oisif
p2 oisif

Rgime transitoire

Rgime transitoire Rgime permanent

Introduction

Enjeux

Dimension

Cycle de dvt

Demain

101

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Conclusion
Un meilleur modle
Facteurs pratiques
Plus proche de la ralit = diminuer le surdimensionnement
Des contraintes plus fines que temps rel contraintes strictes
(m,k)-firm, stochastique

Des algorithmes de plus en plus efficaces (schmas dapproximation)


Dcloisonner les domaines
WCET/WCRT-validation ? (digraph)
Prise en compte de la QoS (feedback scheduling)
Meilleure intgration dans le cycle de dveloppement
Ingnierie dirige par les modles
Techniques danalyse de sensibilit
Abstraction/hirarchisation

Introduction

Enjeux

Dimension

Cycle de dvt

Laboratoire d'Informatique Scientifique et Industrielle - cole Nationale Suprieure de Mcanique et d'Arotechnique Universit de Poitiers

Questions

Demain

102

You might also like