SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Introduction
aux
Systèmes embarqués temps-réel
Laurent Pautet
Laurent.Pautet@enst.fr
Version 2.0
Exemples d’applications temps réel
Laurent Pautet
2
?
Quel est le lien
Syst. Informatique de la
bourse de Paris
Métro automatisé
Codage des
communications
Commandes de
vol numériques
Laurent Pautet
Exigences temporelles
Un système temps réel se compose d'un ou plusieurs
sous-systèmes devant répondre en un temps fini et
spécifié à des stimuli générés par le monde extérieur
Une réponse hors échéance est invalide
Même si son contenu semble correct
Un contrôleur de vitesse pour voiture, une machine à laver, un
robot d'entrepôt, un pilotage automatique de TGV, une centrale
nucléaire, un système international de routage aérien, un système
de gestion de salle de marché, etc.
Laurent Pautet
But des contraintes temporelles
! L’ application doit disposer d’une
image précise et cohérente de la
réalité au cours du temps
! L’objectif du temps réel vise donc à
borner la différence entre l’image
du système dans la réalité et celle
dans l’application (|R(t)-A(t)|<ε)
! Pour actualiser l’image dans
l’application, celle-ci lit notamment
des capteurs périodiquement
(granularité temporelle pendant
laquelle les mesures évoluent
significativement)
Image du système
dans la réalité
Image du système
dans l’application
Observations
Événements
Actions
R(t) A(t)
Laurent Pautet
Contraintes Non Fonctionnelles
PB : Ces systèmes doivent être prévisibles
! Réactivité & cohérence temporelle
! Définir des fenêtres temporelles pour la validité des données
! Respecter l’échelle de temps du système -> ni trop vite, ni trop lent
(avion = msec, voiture = sec)
! Assurer des traitements exécutés en un temps borné (connu)
! Fiabilité & Disponibilité
! Assurer l’exactitude « numérique » du résultat des traitements
! Assurer la continuité de la fonction en cas de conditions adverses
(tolérance aux pannes, aux malveillances …)
Contraintes non fonctionnelles -> temporelles & structurelles
Des besoins applicatifs vers l’ingénierie
! Besoins
! Réactivité & cohérence temporelle
! Fiabilité & disponibilité
! Les moyens
! Des architectures et des services pour aider la conception
(Noyaux, intergiciels, Bus et réseaux, TTA, BDTR)
! Des modèles et méthodes pour être prévisible
(Ordonnancement, Tolérance aux Fautes)
! Des langages de programmation adaptés
(Java->Java-RT, Standard POSIX 1003.1c et , Run-time RT Ada)
! Des outils pour assurer la continuité entre la conception et la
réalisation
(AADL, Marte, Env. développement, modèles et vérification)
Laurent Pautet
Laurent Pautet
Différentes architectures de systèmes
exemples de l’aérospatial
Safety
oriented
system
System
computing
chains
Safety chain
Sensors Actuators
Availability
oriented
system
Sensors Actuators
Reliability
oriented
system
Ground
technology
oriented system
Cost
oriented
system
Sensors Actuators
Sensors Actuators
Long life time: 15 years in orbit
Interruption of service: 1 minute
Error detection coverage: 90%
Survival mode at system level
Ground intervention always possible
Limited life time: few hours or days
Interruption of service: 10 ms
Error detection coverage: 100%
No survival mode at system level
Ground intervention is not possible
Life time in safety mode: 10 years
Interruption of service: 1 second
Error detection coverage: 100 %
Full segregation
Ground intervention not allowed
Medium life time: 3 years
Interruption of service allowed
Error detection coverage: 90%
Switch payload to safe state when error
Ground intervention always required
Medium life time: 3 years
Interruption of service allowed
Error detection coverage: 80%
Robust survival mode at system level
Ground intervention always required
Contenu du cours
Environnement de Programmation
C-POSIX
Environnement de Compilation
Outils de conception & développement
AADL (modélisation)
Vérification & Model Checker
Elément d’architecture logicielle et matérielle
Noyau
Bus & Réseau
TTA
Ordonnancement & Tolérance aux Fautes
Ordonnancement (Mono-processeur)
Ordonnancement (Multi-processeurs)
Tolérance aux Fautes
Environnement de Programmation
C-POSIX
Environnement de Compilation
Outils de conception & développement
AADL (modélisation)
Vérification & Model Checker
Elément d’architecture logicielle et matérielle
Noyau
Bus & Réseau
TTA
Contenu du cours
Ordonnancement & Tolérance aux Fautes
Ordonnancement (Mono-processeur)
Ordonnancement (Multi-processeurs)
Tolérance aux Fautes
Laurent Pautet
Les notations pour l’ordonnancement
! Caractéristiques de la tâche ti
! Ci : durée de calcul de ti
! Si : date de démarrage de la tâche ti
! Avant l’heure ce n’est pas l’heure
! Di : date d’échéance de ti
! Après l’heure ce n’est plus l’heure
! Ti : période de ti
! Ui = Ci / Ti = utilisation du processeur pour ti
! Si + Ci < Di mais …
! Di < Ti n’est pas obligatoire
! Si peut être différent de 0 (dépendances)
Laurent Pautet
Hard Real-Time - Temps réel strict (dur)
Validité
du
calcul
Début
du calcul
Échéance
du calcul
100%
-100%
Période
du calcul
Si Di Ti temps
Ci
Temps
de calcul
Laurent Pautet
Soft Real-Time - Temps réel souple (mou)
Validité
du
calcul
Début
du calcul
Échéance
du calcul
100%
-100%
Période
du calcul
Si Di
Ti temps
Ci
Temps
de calcul
Laurent Pautet
Échec du respect de l’échéance
! Dans un système de temps réel strict, le non-respect
de l’échéance ne peut survenir
! Déterminisme maximal des opérations
! WCET : Worst Case Execution Time
! Réduction des points non-déterministes
! Pré-allocation des ressources
! Sur-dimensionnement du système
! Dans un système de temps réel souple, le non-
respect de l’échéance est acceptable
! Dans un certain pourcentage
! Un certain nombre de fois
! Avec une certaine fréquence
! Peut aboutir à un traitement dégradé
Laurent Pautet
Sous-systèmes du système temps réel
Un système temps réel se compose de plusieurs sous-
systèmes répondant à des critères de temps réel.
Cependant, tous les sous-systèmes d’un système temps
réel ne répondent pas à des critères de temps réel !
! Les tâches temps réel critiques doivent absolument
respecter les échéances prévues.
! Les tâches temps réel non-critiques peuvent
répondre avec un certain retard sachant que la
cohérence est dégradée.
! Les autres tâches répondront au mieux.
Laurent Pautet
Modèles mathématiques
! Les problèmes d’ordonnancement de recherche opérationnelle
(RO) sont différents de ceux de temps réel (TR), le but étant
pour la RO de minimiser (hors ligne) le temps de réponse et
pour le TR de satisfaire (en ligne) des échéances
! Ordonnancements de tâches périodiques comme
! Ordonnancement à base de table
! Ordonnancements préemptif à priorité fixe
! Ordonnancements préemptif à priorité dynamique
! Ordonnancements de tâches apériodiques comme
! Serveur sporadique
! Synchronisation des tâches comme
! Héritage de priorité
! Priorité plafonnée
On restreint ici le problème d’ordonnancement
en supposant Di = Ti, Si = 0 et tâches indépendantes
Laurent Pautet
Ordonnancement par priorité statique
Rate Monotonic Scheduling
! Principe : une période courte (fréquence forte)
indique une tâche évoluant vite et donc prioritaire
! La priorité est l’inverse de la période (Pi = 1/Ti)
! Condition suffisante : ∑ Ui= ∑ Ci /Ti <= n (21/n – 1)
période calcul utilisation
τ1 10 2 0.200
τ2 15 4 0.267
τ3 36 12 0.333
Laurent Pautet
Synchronisation des tâches
Push Through Blocking
! Si une tâche t3 de faible priorité dispose d’un verrou
qu’une tâche t1 de forte priorité souhaite obtenir, t3 élève
sa priorité à celle de t1 pendant l’exclusion mutuelle
! Sinon, une fois t1 bloquée, une tâche t2 de moyenne
priorité pourrait obtenir le processeur provoquant une
mise en attente infinie de t1 (inversion de priorité)
Laurent Pautet
Tolérance aux fautes
principe
! Approche zéro défaut :
Tout marche comme prévu - les WCET sont
respectés, les programmes ne bouclent pas…
! Tolérance aux fautes :
le pire peu arriver mais doit être maitrisé
! Identification d’un ensemble de conditions
adverses (la foudre brule un capteur…)
! Altération de l’architecture du système pour
« limiter la casse »
Les deux approches sont complémentaires en pratique
Laurent Pautet
Tolérance aux fautes
principes et pratiques
! La tolérance aux fautes (TaF) affecte fortement
l’implémentation du système
=> à prendre en compte le + tôt possible
! Les principes :
! Deux suretés valent mieux qu’une (redondance)
! Un tiens vaut mieux que deux tu l’auras (mode dégradé)
! En pratique :
! Architectures distribuées pour résister aux pannes
(architecture à 3 calculateurs utilisée dans les avions)
! Méthodes de codage et de génie logiciel pour confiner les
comportements illicites
(code CRC sur les CD, codes de retours d’erreurs en C)
Outils de conception & développement
AADL (modélisation)
Vérification & Model Checker
Environnement de Programmation
C-POSIX
Environnement de Compilation
Ordonnancement & Tolérance aux Fautes
Ordonnancement (Mono-processeur)
Ordonnancement (Multi-processeurs)
Tolérance aux Fautes
Contenu du cours
Elément d’architecture logicielle et matérielle
Noyau
Bus & Réseau
TTA
Laurent Pautet
Architecture du matériel
! La conception d’un système temps réel associe le
logiciel et le matériel, un composant remplissant une
fonction donnée pouvant devenir soit l’un soit l’autre
! Une fausse croyance pousse à tout intégrer dans le
matériel mais le non-déterminisme existe aussi dans
le matériel
! Changer l’application ne doit plus impliquer de
changer le matériel (qui devient ainsi banalisé)
! Les évolutions du matériel doivent porter sur
l’intégration de nouvelles fonctions notamment au
travers des system-on-chip (validés) ou des
mécanismes de communication nouveaux
Laurent Pautet
Support d’exécution
! Noyau préemptif réentrant
! déterministe
! « embarqué » et configurable
! Interfaçage matériel
! Interruptions
! Entrées-sorties
! Ordonnancement
! Priorité statique (RMS)
! Priorité dynamique (EDF)
! Services
! Gestion du temps
! Horloge temps réel
! Synchronisation entre tâches
! Partage de ressources
! Serveur périodique de tâches
apériodiques
! Communication par messages
! Base de données (mémoire)
Laurent Pautet
Exemples de supports d’exécution
! VxWorks, VRTX, Lynx, RTEMS, QNX, …
! Normalisés POSIX temps réel P1003.4
! Unices difficiles à adapter au temps réel (RT-Linux)
! Configuration classique
! Une tâche, un processus léger
! Pré-allocation des données (pas d’allocation dynamique)
! Ordonnancement à priorité statique
Laurent Pautet
Réseaux et communication
! Évaluer le pire cas requiert des réseaux spécifiques
! Réseau à jeton (anneau logique, FDDI)
! Réseau synchrone (CAN synchrone)
! Réseau à protocole spécifique
! Il faut savoir évaluer le pire cas pour
! délais entre systèmes d’exécution et de communication
! délais d’attente avant émission et réception
! délais de transmission dans le système de communication
! Il faut des intergiciels spécifiques qui généralisent les
propriétés des systèmes d’exécution à une plate-forme
intégrant la répartition, le réseau et la communication
Outils de conception & développement
AADL (modélisation)
Vérification & Model Checker
Elément d’architecture logicielle et matérielle
Noyau
Bus & Réseau
TTA
Ordonnancement & Tolérance aux Fautes
Ordonnancement (Mono-processeur)
Ordonnancement (Multi-processeurs)
Tolérance aux Fautes
Contenu du cours
Environnement de Programmation
C-POSIX
Environnement de Compilation
Programmation Temps réel
! But : programmer le déterminisme
! Ordonnancement
! Contrôle des ressources
! Moyens :
! Les threads POSIX 1003.4b / Java / fsu (Ada).
! les motifs de programmation pour RMS
(ex. sous RTEMS)
! Les fonctions de synchronisation adaptées au
temps réel
! La gestion de la mémoire pour assurer le
déterminisme (Java RT)
Laurent Pautet
Environnement de Développement
! Des outils spécifiques au temps réel (TR) :
! Run-time temps réels (Ada, JVM Temps Réel)
! Evaluation du WCET (Bound-T)
! Des outils spécifiques aux systèmes
embarqués :
! Compilation et édition de lien « croisées ».
! Interface de contrôle / observation de la cible
! Une application TR est souvent embarquée =>
! Adapter la runtime à la cible
! Intégrer la description du matériel dans l’évaluation
du WCET
Laurent Pautet
Environnement de Programmation
C-POSIX
Environnement de Compilation
Elément d’architecture logicielle et matérielle
Noyau
Bus & Réseau
TTA
Ordonnancement & Tolérance aux Fautes
Ordonnancement (Mono-processeur)
Ordonnancement (Multi-processeurs)
Tolérance aux Fautes
Contenu du cours
Outils de conception & développement
AADL (modélisation)
Vérification & Model Checker
Laurent Pautet
Spécification, preuve et vérification
! La spécification, la preuve et la vérification du
comportement temporel demeurent des défis
fondamentaux pour le domaine du temps réel
! Il faut différencier prouver (a priori) et vérifier
(a posteriori)
! Des progrès ont été faits en matière de preuves mais
! Systèmes hybrides synchrones et asynchrones
! Propriétés issues d’une composition de systèmes
! Introduction de la répartition et de la communication
! Des progrès ont été faits en matière de vérification mais
! Explosion combinatoire des systèmes réels
! Introduction et expression des contraintes temporelles
Laurent Pautet
Outils et langages de conception
! Les outils de conception permettent de décrire le
système de manière détaillée et à plusieurs niveaux :
! niveau fonctionnel (contraintes de haut niveau)
! niveau non-fonctionnel (description du comportement)
! niveau implantation (description du matériel et du système)
! Un langage de description comme AADL ou UML-
MARTE peut donner lieu à la production automatique
de code dans un langage de programmation de bas
niveau comme C ou de haut niveau comme Ada
! La conception peut nécessiter des preuves, ou une
validation par simulation ou vérification
! Cependant, une modification peut remettre en cause
l'ensemble de ces résultats

Contenu connexe

Similaire à rt-intro.pdf

Protocoles d'acces aleatoires
Protocoles d'acces aleatoiresProtocoles d'acces aleatoires
Protocoles d'acces aleatoiresKONAN MARTIAL
 
Back to basics - Ne perdez plus votre Temps avec les Dates - GDG Tours Edition
Back to basics  - Ne perdez plus votre Temps avec les Dates - GDG Tours EditionBack to basics  - Ne perdez plus votre Temps avec les Dates - GDG Tours Edition
Back to basics - Ne perdez plus votre Temps avec les Dates - GDG Tours EditionCamblor Frédéric
 
Retour Experience Atchik Sigma T9 200903[1]
Retour Experience Atchik Sigma T9 200903[1]Retour Experience Atchik Sigma T9 200903[1]
Retour Experience Atchik Sigma T9 200903[1]almerys
 
P8155 g formation-ibm-cognos-tm1-administrer-l-environnement-technique
P8155 g formation-ibm-cognos-tm1-administrer-l-environnement-techniqueP8155 g formation-ibm-cognos-tm1-administrer-l-environnement-technique
P8155 g formation-ibm-cognos-tm1-administrer-l-environnement-techniqueCERTyou Formation
 
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 1 Prof. Khalifa MANSOURICours  systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURIMansouri Khalifa
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processusSelman Dridi
 
Back to Basics - Ne perdez plus votre Temps avec les Dates - JUG SummerCamp ...
Back to Basics  - Ne perdez plus votre Temps avec les Dates - JUG SummerCamp ...Back to Basics  - Ne perdez plus votre Temps avec les Dates - JUG SummerCamp ...
Back to Basics - Ne perdez plus votre Temps avec les Dates - JUG SummerCamp ...Camblor Frédéric
 
ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploiration
ContrôLe De La Concurence Sgbd Temps RéEl   SystèMe DexploirationContrôLe De La Concurence Sgbd Temps RéEl   SystèMe Dexploiration
ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploirationpierrehalleux
 
Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Trader's - Quick Software Line
 
Formation linux temps réel - Toulouse 4 novembre 2014
Formation linux temps réel - Toulouse 4 novembre 2014Formation linux temps réel - Toulouse 4 novembre 2014
Formation linux temps réel - Toulouse 4 novembre 2014eurogicielgroup
 
Formation linux temps réel - Malakoff 7 octobre 2014
Formation linux temps réel - Malakoff 7 octobre 2014Formation linux temps réel - Malakoff 7 octobre 2014
Formation linux temps réel - Malakoff 7 octobre 2014eurogicielgroup
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014eurogicielgroup
 
Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)Frank Nielsen
 
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 2 Prof. Khalifa MANSOURICours  systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURIMansouri Khalifa
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanneDidier Durand
 
0_rappels_architecture_4_transparents.pdf
0_rappels_architecture_4_transparents.pdf0_rappels_architecture_4_transparents.pdf
0_rappels_architecture_4_transparents.pdfssuser10e066
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!Alexandre Touret
 

Similaire à rt-intro.pdf (20)

Temps reel
Temps reel Temps reel
Temps reel
 
Protocoles d'acces aleatoires
Protocoles d'acces aleatoiresProtocoles d'acces aleatoires
Protocoles d'acces aleatoires
 
Back to basics - Ne perdez plus votre Temps avec les Dates - GDG Tours Edition
Back to basics  - Ne perdez plus votre Temps avec les Dates - GDG Tours EditionBack to basics  - Ne perdez plus votre Temps avec les Dates - GDG Tours Edition
Back to basics - Ne perdez plus votre Temps avec les Dates - GDG Tours Edition
 
Retour Experience Atchik Sigma T9 200903[1]
Retour Experience Atchik Sigma T9 200903[1]Retour Experience Atchik Sigma T9 200903[1]
Retour Experience Atchik Sigma T9 200903[1]
 
P8155 g formation-ibm-cognos-tm1-administrer-l-environnement-technique
P8155 g formation-ibm-cognos-tm1-administrer-l-environnement-techniqueP8155 g formation-ibm-cognos-tm1-administrer-l-environnement-technique
P8155 g formation-ibm-cognos-tm1-administrer-l-environnement-technique
 
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 1 Prof. Khalifa MANSOURICours  systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
 
Chap1 intro 1pp
Chap1 intro 1ppChap1 intro 1pp
Chap1 intro 1pp
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processus
 
Back to Basics - Ne perdez plus votre Temps avec les Dates - JUG SummerCamp ...
Back to Basics  - Ne perdez plus votre Temps avec les Dates - JUG SummerCamp ...Back to Basics  - Ne perdez plus votre Temps avec les Dates - JUG SummerCamp ...
Back to Basics - Ne perdez plus votre Temps avec les Dates - JUG SummerCamp ...
 
Ch1
Ch1Ch1
Ch1
 
ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploiration
ContrôLe De La Concurence Sgbd Temps RéEl   SystèMe DexploirationContrôLe De La Concurence Sgbd Temps RéEl   SystèMe Dexploiration
ContrôLe De La Concurence Sgbd Temps RéEl SystèMe Dexploiration
 
Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?
 
Formation linux temps réel - Toulouse 4 novembre 2014
Formation linux temps réel - Toulouse 4 novembre 2014Formation linux temps réel - Toulouse 4 novembre 2014
Formation linux temps réel - Toulouse 4 novembre 2014
 
Formation linux temps réel - Malakoff 7 octobre 2014
Formation linux temps réel - Malakoff 7 octobre 2014Formation linux temps réel - Malakoff 7 octobre 2014
Formation linux temps réel - Malakoff 7 octobre 2014
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014
 
Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)
 
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 2 Prof. Khalifa MANSOURICours  systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 
0_rappels_architecture_4_transparents.pdf
0_rappels_architecture_4_transparents.pdf0_rappels_architecture_4_transparents.pdf
0_rappels_architecture_4_transparents.pdf
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!
 

Dernier

Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 

Dernier (15)

Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 

rt-intro.pdf

  • 1. Introduction aux Systèmes embarqués temps-réel Laurent Pautet Laurent.Pautet@enst.fr Version 2.0
  • 2. Exemples d’applications temps réel Laurent Pautet 2 ? Quel est le lien Syst. Informatique de la bourse de Paris Métro automatisé Codage des communications Commandes de vol numériques
  • 3. Laurent Pautet Exigences temporelles Un système temps réel se compose d'un ou plusieurs sous-systèmes devant répondre en un temps fini et spécifié à des stimuli générés par le monde extérieur Une réponse hors échéance est invalide Même si son contenu semble correct Un contrôleur de vitesse pour voiture, une machine à laver, un robot d'entrepôt, un pilotage automatique de TGV, une centrale nucléaire, un système international de routage aérien, un système de gestion de salle de marché, etc.
  • 4. Laurent Pautet But des contraintes temporelles ! L’ application doit disposer d’une image précise et cohérente de la réalité au cours du temps ! L’objectif du temps réel vise donc à borner la différence entre l’image du système dans la réalité et celle dans l’application (|R(t)-A(t)|<ε) ! Pour actualiser l’image dans l’application, celle-ci lit notamment des capteurs périodiquement (granularité temporelle pendant laquelle les mesures évoluent significativement) Image du système dans la réalité Image du système dans l’application Observations Événements Actions R(t) A(t)
  • 5. Laurent Pautet Contraintes Non Fonctionnelles PB : Ces systèmes doivent être prévisibles ! Réactivité & cohérence temporelle ! Définir des fenêtres temporelles pour la validité des données ! Respecter l’échelle de temps du système -> ni trop vite, ni trop lent (avion = msec, voiture = sec) ! Assurer des traitements exécutés en un temps borné (connu) ! Fiabilité & Disponibilité ! Assurer l’exactitude « numérique » du résultat des traitements ! Assurer la continuité de la fonction en cas de conditions adverses (tolérance aux pannes, aux malveillances …) Contraintes non fonctionnelles -> temporelles & structurelles
  • 6. Des besoins applicatifs vers l’ingénierie ! Besoins ! Réactivité & cohérence temporelle ! Fiabilité & disponibilité ! Les moyens ! Des architectures et des services pour aider la conception (Noyaux, intergiciels, Bus et réseaux, TTA, BDTR) ! Des modèles et méthodes pour être prévisible (Ordonnancement, Tolérance aux Fautes) ! Des langages de programmation adaptés (Java->Java-RT, Standard POSIX 1003.1c et , Run-time RT Ada) ! Des outils pour assurer la continuité entre la conception et la réalisation (AADL, Marte, Env. développement, modèles et vérification) Laurent Pautet
  • 7. Laurent Pautet Différentes architectures de systèmes exemples de l’aérospatial Safety oriented system System computing chains Safety chain Sensors Actuators Availability oriented system Sensors Actuators Reliability oriented system Ground technology oriented system Cost oriented system Sensors Actuators Sensors Actuators Long life time: 15 years in orbit Interruption of service: 1 minute Error detection coverage: 90% Survival mode at system level Ground intervention always possible Limited life time: few hours or days Interruption of service: 10 ms Error detection coverage: 100% No survival mode at system level Ground intervention is not possible Life time in safety mode: 10 years Interruption of service: 1 second Error detection coverage: 100 % Full segregation Ground intervention not allowed Medium life time: 3 years Interruption of service allowed Error detection coverage: 90% Switch payload to safe state when error Ground intervention always required Medium life time: 3 years Interruption of service allowed Error detection coverage: 80% Robust survival mode at system level Ground intervention always required
  • 8. Contenu du cours Environnement de Programmation C-POSIX Environnement de Compilation Outils de conception & développement AADL (modélisation) Vérification & Model Checker Elément d’architecture logicielle et matérielle Noyau Bus & Réseau TTA Ordonnancement & Tolérance aux Fautes Ordonnancement (Mono-processeur) Ordonnancement (Multi-processeurs) Tolérance aux Fautes
  • 9. Environnement de Programmation C-POSIX Environnement de Compilation Outils de conception & développement AADL (modélisation) Vérification & Model Checker Elément d’architecture logicielle et matérielle Noyau Bus & Réseau TTA Contenu du cours Ordonnancement & Tolérance aux Fautes Ordonnancement (Mono-processeur) Ordonnancement (Multi-processeurs) Tolérance aux Fautes
  • 10. Laurent Pautet Les notations pour l’ordonnancement ! Caractéristiques de la tâche ti ! Ci : durée de calcul de ti ! Si : date de démarrage de la tâche ti ! Avant l’heure ce n’est pas l’heure ! Di : date d’échéance de ti ! Après l’heure ce n’est plus l’heure ! Ti : période de ti ! Ui = Ci / Ti = utilisation du processeur pour ti ! Si + Ci < Di mais … ! Di < Ti n’est pas obligatoire ! Si peut être différent de 0 (dépendances)
  • 11. Laurent Pautet Hard Real-Time - Temps réel strict (dur) Validité du calcul Début du calcul Échéance du calcul 100% -100% Période du calcul Si Di Ti temps Ci Temps de calcul
  • 12. Laurent Pautet Soft Real-Time - Temps réel souple (mou) Validité du calcul Début du calcul Échéance du calcul 100% -100% Période du calcul Si Di Ti temps Ci Temps de calcul
  • 13. Laurent Pautet Échec du respect de l’échéance ! Dans un système de temps réel strict, le non-respect de l’échéance ne peut survenir ! Déterminisme maximal des opérations ! WCET : Worst Case Execution Time ! Réduction des points non-déterministes ! Pré-allocation des ressources ! Sur-dimensionnement du système ! Dans un système de temps réel souple, le non- respect de l’échéance est acceptable ! Dans un certain pourcentage ! Un certain nombre de fois ! Avec une certaine fréquence ! Peut aboutir à un traitement dégradé
  • 14. Laurent Pautet Sous-systèmes du système temps réel Un système temps réel se compose de plusieurs sous- systèmes répondant à des critères de temps réel. Cependant, tous les sous-systèmes d’un système temps réel ne répondent pas à des critères de temps réel ! ! Les tâches temps réel critiques doivent absolument respecter les échéances prévues. ! Les tâches temps réel non-critiques peuvent répondre avec un certain retard sachant que la cohérence est dégradée. ! Les autres tâches répondront au mieux.
  • 15. Laurent Pautet Modèles mathématiques ! Les problèmes d’ordonnancement de recherche opérationnelle (RO) sont différents de ceux de temps réel (TR), le but étant pour la RO de minimiser (hors ligne) le temps de réponse et pour le TR de satisfaire (en ligne) des échéances ! Ordonnancements de tâches périodiques comme ! Ordonnancement à base de table ! Ordonnancements préemptif à priorité fixe ! Ordonnancements préemptif à priorité dynamique ! Ordonnancements de tâches apériodiques comme ! Serveur sporadique ! Synchronisation des tâches comme ! Héritage de priorité ! Priorité plafonnée On restreint ici le problème d’ordonnancement en supposant Di = Ti, Si = 0 et tâches indépendantes
  • 16. Laurent Pautet Ordonnancement par priorité statique Rate Monotonic Scheduling ! Principe : une période courte (fréquence forte) indique une tâche évoluant vite et donc prioritaire ! La priorité est l’inverse de la période (Pi = 1/Ti) ! Condition suffisante : ∑ Ui= ∑ Ci /Ti <= n (21/n – 1) période calcul utilisation τ1 10 2 0.200 τ2 15 4 0.267 τ3 36 12 0.333
  • 17. Laurent Pautet Synchronisation des tâches Push Through Blocking ! Si une tâche t3 de faible priorité dispose d’un verrou qu’une tâche t1 de forte priorité souhaite obtenir, t3 élève sa priorité à celle de t1 pendant l’exclusion mutuelle ! Sinon, une fois t1 bloquée, une tâche t2 de moyenne priorité pourrait obtenir le processeur provoquant une mise en attente infinie de t1 (inversion de priorité)
  • 18. Laurent Pautet Tolérance aux fautes principe ! Approche zéro défaut : Tout marche comme prévu - les WCET sont respectés, les programmes ne bouclent pas… ! Tolérance aux fautes : le pire peu arriver mais doit être maitrisé ! Identification d’un ensemble de conditions adverses (la foudre brule un capteur…) ! Altération de l’architecture du système pour « limiter la casse » Les deux approches sont complémentaires en pratique
  • 19. Laurent Pautet Tolérance aux fautes principes et pratiques ! La tolérance aux fautes (TaF) affecte fortement l’implémentation du système => à prendre en compte le + tôt possible ! Les principes : ! Deux suretés valent mieux qu’une (redondance) ! Un tiens vaut mieux que deux tu l’auras (mode dégradé) ! En pratique : ! Architectures distribuées pour résister aux pannes (architecture à 3 calculateurs utilisée dans les avions) ! Méthodes de codage et de génie logiciel pour confiner les comportements illicites (code CRC sur les CD, codes de retours d’erreurs en C)
  • 20. Outils de conception & développement AADL (modélisation) Vérification & Model Checker Environnement de Programmation C-POSIX Environnement de Compilation Ordonnancement & Tolérance aux Fautes Ordonnancement (Mono-processeur) Ordonnancement (Multi-processeurs) Tolérance aux Fautes Contenu du cours Elément d’architecture logicielle et matérielle Noyau Bus & Réseau TTA
  • 21. Laurent Pautet Architecture du matériel ! La conception d’un système temps réel associe le logiciel et le matériel, un composant remplissant une fonction donnée pouvant devenir soit l’un soit l’autre ! Une fausse croyance pousse à tout intégrer dans le matériel mais le non-déterminisme existe aussi dans le matériel ! Changer l’application ne doit plus impliquer de changer le matériel (qui devient ainsi banalisé) ! Les évolutions du matériel doivent porter sur l’intégration de nouvelles fonctions notamment au travers des system-on-chip (validés) ou des mécanismes de communication nouveaux
  • 22. Laurent Pautet Support d’exécution ! Noyau préemptif réentrant ! déterministe ! « embarqué » et configurable ! Interfaçage matériel ! Interruptions ! Entrées-sorties ! Ordonnancement ! Priorité statique (RMS) ! Priorité dynamique (EDF) ! Services ! Gestion du temps ! Horloge temps réel ! Synchronisation entre tâches ! Partage de ressources ! Serveur périodique de tâches apériodiques ! Communication par messages ! Base de données (mémoire)
  • 23. Laurent Pautet Exemples de supports d’exécution ! VxWorks, VRTX, Lynx, RTEMS, QNX, … ! Normalisés POSIX temps réel P1003.4 ! Unices difficiles à adapter au temps réel (RT-Linux) ! Configuration classique ! Une tâche, un processus léger ! Pré-allocation des données (pas d’allocation dynamique) ! Ordonnancement à priorité statique
  • 24. Laurent Pautet Réseaux et communication ! Évaluer le pire cas requiert des réseaux spécifiques ! Réseau à jeton (anneau logique, FDDI) ! Réseau synchrone (CAN synchrone) ! Réseau à protocole spécifique ! Il faut savoir évaluer le pire cas pour ! délais entre systèmes d’exécution et de communication ! délais d’attente avant émission et réception ! délais de transmission dans le système de communication ! Il faut des intergiciels spécifiques qui généralisent les propriétés des systèmes d’exécution à une plate-forme intégrant la répartition, le réseau et la communication
  • 25. Outils de conception & développement AADL (modélisation) Vérification & Model Checker Elément d’architecture logicielle et matérielle Noyau Bus & Réseau TTA Ordonnancement & Tolérance aux Fautes Ordonnancement (Mono-processeur) Ordonnancement (Multi-processeurs) Tolérance aux Fautes Contenu du cours Environnement de Programmation C-POSIX Environnement de Compilation
  • 26. Programmation Temps réel ! But : programmer le déterminisme ! Ordonnancement ! Contrôle des ressources ! Moyens : ! Les threads POSIX 1003.4b / Java / fsu (Ada). ! les motifs de programmation pour RMS (ex. sous RTEMS) ! Les fonctions de synchronisation adaptées au temps réel ! La gestion de la mémoire pour assurer le déterminisme (Java RT) Laurent Pautet
  • 27. Environnement de Développement ! Des outils spécifiques au temps réel (TR) : ! Run-time temps réels (Ada, JVM Temps Réel) ! Evaluation du WCET (Bound-T) ! Des outils spécifiques aux systèmes embarqués : ! Compilation et édition de lien « croisées ». ! Interface de contrôle / observation de la cible ! Une application TR est souvent embarquée => ! Adapter la runtime à la cible ! Intégrer la description du matériel dans l’évaluation du WCET Laurent Pautet
  • 28. Environnement de Programmation C-POSIX Environnement de Compilation Elément d’architecture logicielle et matérielle Noyau Bus & Réseau TTA Ordonnancement & Tolérance aux Fautes Ordonnancement (Mono-processeur) Ordonnancement (Multi-processeurs) Tolérance aux Fautes Contenu du cours Outils de conception & développement AADL (modélisation) Vérification & Model Checker
  • 29. Laurent Pautet Spécification, preuve et vérification ! La spécification, la preuve et la vérification du comportement temporel demeurent des défis fondamentaux pour le domaine du temps réel ! Il faut différencier prouver (a priori) et vérifier (a posteriori) ! Des progrès ont été faits en matière de preuves mais ! Systèmes hybrides synchrones et asynchrones ! Propriétés issues d’une composition de systèmes ! Introduction de la répartition et de la communication ! Des progrès ont été faits en matière de vérification mais ! Explosion combinatoire des systèmes réels ! Introduction et expression des contraintes temporelles
  • 30. Laurent Pautet Outils et langages de conception ! Les outils de conception permettent de décrire le système de manière détaillée et à plusieurs niveaux : ! niveau fonctionnel (contraintes de haut niveau) ! niveau non-fonctionnel (description du comportement) ! niveau implantation (description du matériel et du système) ! Un langage de description comme AADL ou UML- MARTE peut donner lieu à la production automatique de code dans un langage de programmation de bas niveau comme C ou de haut niveau comme Ada ! La conception peut nécessiter des preuves, ou une validation par simulation ou vérification ! Cependant, une modification peut remettre en cause l'ensemble de ces résultats