[PDF] Introduction aux Systèmes embarqués temps-réel





Previous PDF Next PDF



Introduction aux systèmes temps réel Introduction aux systèmes

•Un système temps réel est un système (application ou ensemble d'applications) de la technologie utilisée celle du processeur par exemple).



Exemples de systèmes temps réel et choix dimplémentation

2 nov. 2005 Mots-clés : systèmes temps réel implantation d'une application



langages de programmation de systèmes temps réel

5 févr. 2022 Objectifs du cours. •Introduction au temps réel: –Qu'est-ce qu'un système temps réel? •Exemples de langages de programmation temps réel.



Introduction aux systèmes temps réel

Introduction aux Systèmes Temps Réel. 10. IUT Blagnac. Exemples typiques. Un système de contrôle de la production (*). (*) Source: “Real Time Systems and 



Analyses pour lordonnançabilité et la flexibilité de systèmes temps

20 mars 2020 Résumé en français Les systèmes temps réel sont développés pour de nombreuses ... 1.2 Exemple : le système de gestion du trafic aérien .



Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre

Le choix d'un système ou d'un exécutif temps-réel. ? Conclusion Le modèle utilisé en programmation des systèmes temps réel est un.



Introduction aux Systèmes embarqués temps-réel

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.



Minimisation du nombre de tâches dun système temps réel par

9 févr. 2016 La figure 2.1 expose la distinction entre processus et thread. Tâches temps réel. Dans le modèle classique de programmation de système temps ...



Programmation Temps Réel - Introduction

Un système temps réel est un système pour lequel le temps Programmation Temps Réel. Septembre 2017. 5 / 45. Introduction. Exemple.



Modélisation des systèmes temps-réel répartis embarqués pour la

29 janv. 2007 La mise en place d'un intergiciel pour un système temps-réel réparti ... pour des applications conçues pour le modèle de distribution ...



[PDF] Introduction aux systèmes temps réel - Cedric-Cnam

Un système temps réel est un système (application ou ensemble d'applications) informatique dont le fonctionnement est assujetti à l'évolution dynamique d'un



[PDF] langages de programmation de systèmes temps réel - Onera

5 fév 2023 · –Qu'est-ce qu'un système temps réel? •Exemples de langages de programmation temps réel – SDL (System Description Language) – Lustre – Scade



[PDF] Systèmes temps-réel

https://homepages laas fr/matthieu/cours/temps-reel/ Xenomai est un sous-système temps-réel de Linux Exemple : mise à jour de comptes bancaires



[PDF] Cours Systèmes Temps Réelpdf - Moodle - INSA Toulouse

Système temps réel /embarqué : définitions exemples ? Le temps réel : définitions caractéristiques importantes ? La criticité des systèmes



[PDF] Problématique des systèmes temps réel

On qualifie de temps réel une application mettant en œuvre un système informatique dont le comportement est conditionné par l'évolution dynamique de l'état 



[PDF] Introduction aux systèmes temps réel - IRIT

Introduction aux Systèmes Temps Réel 10 IUT Blagnac Exemples typiques Un système de contrôle de la production (*) (*) Source: “Real Time Systems and 



[PDF] Conception de systèmes temps réel - IRIT

A titre d'exemple le standard CMM du SEI (Software Engineering Institute du DoD) définit 5 niveaux de maturité du processus de développement (CMM) du logiciel 



[PDF] SYSTÈMES TEMPS RÉEL EMBARQUÉS - Numilog

? Contraintes temporelles fermes (temps réel ferme : firm real-time) : les fautes temporelles sont autorisées dans une certaine limite par exemple une erreur



[PDF] Introduction aux systèmes temps réel

Exemple 1 : domaine de l'avionique • Système temps réel critique : Contraintes temporelles : temps de réponse échéance date d'exécution au plus tôt 



(PDF) Cours : Conception des Systèmes Temps Réel - ResearchGate

25 nov 2020 · PDF Objectif général Le cours Conception des Systèmes Temps Réel CSTR vise à développer chez l'étudiant(e) une connaissance appliquée de 

  • Quel est le temps réel ?

    En médiologie, le temps réel désigne un échange d'information ou un échange quelconque sans attente, immédiat. Internet, les satellites etc. permettent des échanges « en temps réel ».
  • C'est quoi une application temps réel ?

    Une application en temps réel (RTA) est un logiciel qui met en œuvre une fonctionnalité qui fonctionne dans un laps de temps que l'utilisateur perçoit comme immédiat.
  • Quelle est la différence entre un système temps réel et un système embarqué ?

    Un système embarqué se caractérise donc souvent par des ressources de calcul dimensionnées (ou à dimensionner) au plus juste en fonction des besoins en calcul. Un système temps réel est un système informatique soumis à des contraintes de temps.
  • Les systèmes informatiques temps réel se différencient des autres systèmes informatiques par la prise en compte de contraintes temporelles dont le respect est aussi important que l'exactitude du résultat, autrement dit le système ne doit pas simplement délivrer des résultats exacts, il doit les délivrer dans des délais
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 t i ! C i : durée de calcul de t i ! S i : date de démarrage de la tâche t i ! Avant l'heure ce n'est pas l'heure ! D i : date d'échéance de t i ! Après l'heure ce n'est plus l'heure ! T i : période de t i ! U i = C i / T i = utilisation du processeur pour t i ! S i + C i < D i mais ... ! D i < T i n'est pas obligatoire ! S i 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 S i D i T i temps C i

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 S i D i T i temps C i

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 D i = T i , S i = 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 (P i = 1/T i ) ! Condition suffisante : ∑ U i = ∑ C i /T i <= n (2 1/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 t 3 de faible priorité dispose d'un verrou qu'une tâche t 1 de forte priorité souhaite obtenir, t 3

élève sa priorité à celle de t

1 pendant l'exclusion mutuelle ! Sinon, une fois t 1 bloquée, une tâche t 2 de moyenne priorité pourrait obtenir le processeur provoquant une mise en attente infinie de t 1 (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ésultatsquotesdbs_dbs9.pdfusesText_15
[PDF] commentaire la révélation du fléau la peste

[PDF] système temps réel définition

[PDF] la petite histoire facebook

[PDF] petite histoire pour dormir

[PDF] pour la petite histoire expression

[PDF] les types de lecture ? lécole primaire

[PDF] petite histoire synonyme

[PDF] pour la petite histoire définition

[PDF] projet de lecteur chauveau

[PDF] projet lecture cp rased

[PDF] projet personnel de lecture

[PDF] structure en couche d un systeme d exploitation

[PDF] projet de lecteur ouzoulias

[PDF] travailler le projet de lecteur

[PDF] structure d'un systeme d'exploitation