Introduction au temps réel



Documents pareils
ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Ordonnancement temps réel

Introduction aux systèmes temps réel. Iulian Ober IRIT

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Conception des systèmes répartis

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Cours A7 : Temps Réel

MEAD : temps réel et tolérance aux pannes pour CORBA

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Annexe 6. Notions d ordonnancement.

Ordonnancement temps réel

Introduction aux systèmes temps réel

Les diagrammes de modélisation

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Temps Réel. Jérôme Pouiller Septembre 2011

REALISATION d'un. ORDONNANCEUR à ECHEANCES

1 Mesure de la performance d un système temps réel : la gigue

Analyse du temps de réponse des systèmes temps réel

CEG4566/CSI4541 Conception de systèmes temps réel

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Systèmes et algorithmes répartis

Synergies entre Artisan Studio et outils PLM

Extrait des Exploitations Pédagogiques

La Certification de la Sécurité des Automatismes de METEOR

Partie 7 : Gestion de la mémoire

Logiciels et Systèmes Embarqués :

Réplication des données

Métriques de performance pour les algorithmes et programmes parallèles

Contributions à l expérimentation sur les systèmes distribués de grande taille

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Cours de Génie Logiciel

Systèmes temps réel et embarqués Concepts de base, expression des contraintes temporelles

Modélisation multi-agents - Agents réactifs

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

L apprentissage automatique

RTDS G3. Emmanuel Gaudin

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

SYSTEMES DE TRANSFERT STATIQUE: CEI 62310, UNE NOUVELLE NORME POUR GARANTIR LES PERFORMANCES ET LA SÉCURITÉ

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Applications Embarquées Critiques

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Évaluation et implémentation des langages

IFT2255 : Génie logiciel

Gestion des Incidents (Incident Management)

AXES DE RECHERCHE - DOMAINE D'INTERET MAJEUR LOGICIELS ET SYSTEMES COMPLEXES

Cours A7 : Temps Réel

4.2 Unités d enseignement du M1

NFP111 Systèmes et Applications Réparties

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Exécutif temps réel Pierre-Yves Duval (cppm)

gestion des processus La gestion des processus

Un concept multi-centre de données traditionnel basé sur le DNS

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Le Guide Pratique des Processus Métiers

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

Diagrammes de Package, de déploiement et de composants UML

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

ITIL V2. La gestion des incidents

La Continuité d Activité

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Chapitre I : le langage UML et le processus unifié

Programme de la 1ère année

Chapitre 1 : Introduction aux bases de données

Un tempo de Reel sur un rythme de Java

Projet Active Object

Systèmes et exécutifs temps-réel

Impact de choix d implantation sur les performances d une application de Contrôle-Commande

TP N 57. Déploiement et renouvellement d une constellation de satellites

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

GEOLOCALISATION ET NAVIGATION A L AIDE DES SIGNAUX GNSS

Rapport d activité. Mathieu Souchaud Juin 2007

PLAN. Industrialisateur Open Source LANS DE SECOURS INFORMATIQUES PRINCIPES GENERAUX ETAT DE L ART SELON BV ASSOCIATES

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Capacité étendue d utilisation en réseau

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Chapitre 4 : Exclusion mutuelle

Intelligence Artificielle Planification

Parcours en deuxième année

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Disponibilité et fiabilité des services et des systèmes

Université Libre de Tunis

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Master Informatique Aix-Marseille Université

ELP 304 : Électronique Numérique. Cours 1 Introduction

Ordonnancement robuste et décision dans l'incertain

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Transcription:

Introduction au temps réel Laurent.Pautet@enst.fr Version 2.0

Définition d un système temps réel 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 Un résultat hors échéance reste faux même s il s avère logiquement 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.

Organisation schématique d un système temps réel Observations Événements L application doit disposer d une image précise et cohérente de la réalité au cours du temps R(t) A(t) 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) <ε) Image du système dans la réalité Image du système dans l application Pour actualiser l image dans l application, celle-ci lit notamment des capteurs périodiquement (granularité temporelle pendant laquelle les mesures évoluent significativement) Actions

Contraintes du temps réel Concordance des images du système Échelles de temps propres au système : Avion (m-sec), Auto (sec), Bateau (min) Régularité des scrutations et de leur propagation Échantillonnage, périodes, gigues, Précisions logique et temporelle des calculs Justesse des calculs, disponibilité dans fenêtre de temps Cohérence temporelle Ensemble de mesures faiblement dispersées Réaction aux événements Calcul des actions vs réaction à un événement extérieur Réaction aux pannes, aux surcharges, aux conflits Importance # Urgence # Priorité

Notations 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 (problème d écho)

Hard Real-Time - Temps réel strict (dur) 100% Validité du calcul C i S i D i T i temps Temps de calcul -100% Début du calcul Échéance du calcul Période du calcul

Soft Real-Time - Temps réel souple (mou) 100% Validité du calcul S i C i Temps de calcul D i T i temps -100% Début du calcul Échéance du calcul Période du calcul

É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 nonrespect 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é

Sous-systèmes du système temps réel Un système temps réel se compose de plusieurs soussystè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.

Différentes catégories de systèmes exemples de l aérospatial Safety oriented system Safety chain System computing chains Sensors Actuators Life time in safety mode: 10 years Interruption of service: 1 second Error detection coverage: 100 % Full segregation Ground intervention not allowed Availability oriented system Sensors Actuators 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 Reliability oriented system 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 Ground technology oriented system Medium life time: 3 years Interruption of service allowed Error detection coverage: 90% Switch payload to safe state when error Ground intervention always required Cost oriented system Sensors Actuators Medium life time: 3 years Interruption of service allowed Error detection coverage: 80% Robust survival mode at system level Ground intervention always required

Caractéristiques majeures Exécution prévisible Mise en œuvre efficace Exécution déterministe Placement à l exécution Contrôle en temps réel Contraintes sur ressources Activités concurrentes Interaction avec le matériel Précision des données Ordre entre actions Sécurité des données Hiérarchie entre les tâches Fiabilité des données Projection priorité criticité Tolérance aux pannes Complexité de l application

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

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 (21/n 1) période calcul utilisation τ 1 10 2 0.200 τ 2 15 4 0.267 τ 3 36 12 0.333

Ordonnancement des tâches apériodiques Serveur sporadique Principe : Faire traiter par une tâche périodique de forte priorité les événements apériodiques tout en limitant le budget de temps de traitement alloué Le ticket de temps pris sur le budget pour traiter un événement est restitué après une période période/activation calcul priorité utilisation événement e 1 7 3 événement e 2 11 4 tâche t 1 20 6 3 0,300 tâche t 2 10 2 2 0,200 serveur sporadique 8 2 1 0,250

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é)

Systèmes 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)

Exemples de système 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

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

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 aboutir à une preuve, à une simulation ou une vérification Cependant, une modification peut remettre en cause l'ensemble de ces résultats

Modèles synchrone et asynchrone Dans le modèle synchrone, le temps de réaction à un stimulus est considéré comme nul ou négligeable Un stimulus n arrive pas pendant la réaction en cours Dans le modèle asynchrone, il n est pas nul et même variable en fonction du stimulus L avantage du modèle synchrone vient des langages de description offerts, de sa simplicité de mise en œuvre et des ressources limitées qu il requiert Or, en fonction du contexte, l hypothèse du modèle synchrone peut ne pas être réaliste

Langages réactifs Approche synchrone On isole ici la partie comportementale de celle fonctionnelle du système pour modéliser Plusieurs solutions ont vu le jour Estérel (langage impératif) Lustre, Signal (langages à flots de données) Statecharts (approche graphique) Compilation de la description Mise en œuvre de preuve Génération d automates ou de circuits

Langages de programmation Approche asynchrone Le langage de haut niveau : spécification d'un projet de grande taille, expression aisée des contraintes temporelles, expression aisée des mécanismes de tolérance aux pannes, encapsulation des détails d'implantation (compilateur), connaissance minimale de l'architecture sous-jacente. Il propose des outils d'analyse : temps d'exécution du pire cas ressources nécessaires vérification de règles spécifiques Exemple de langage de programmation Ada (normalisé) et environnement (validé) Ada et annexe pour le temps réel Ada avec profile Ravenscar

Bases de données La gestion de stock ou de production, les salles de marché, constituent des exemples de systèmes temps réel avec bases de données Il faut cependant s affranchir ou redéfinir certains aspects : Importance de la cohérence logique vs la cohérence temporelle Remise en cause de la permanence des BD en temps réel Pas d'atomicité et pas de traitement en séquence Combinaison des processus temps réel et des triggers des bases de données

Intelligence artificielle La reconnaissance de la parole, l analyse d image ou l aide à la décision constituent des exemples de systèmes temps réel avec intelligence artificielle De nombreux problèmes de temps réel sont NP complets ou nécessitent l'intervention d'un expert Cependant, les solutions proposées ne prennent que peu en compte les préoccupations du temps réel. Il faut intégrer le fait que : la récursivité et le backtracking sont bornés l utilisation mémoire est maîtrisée (sans ramasse-miettes) les contraintes de temporelle sont satisfaites (convergence) la préemption d un calcul est possible (concurrence) les temps d'exécution sont respectés (fonction créée)

Tolérance aux pannes généraux byzantins La tolérance aux pannes peut être exprimée de façon abstraite en terme de généraux byzantins qui campent autour d'une cité ennemie. Ne communicant qu'à l'aide de messagers, ceux-ci doivent se mettre d'accord sur un plan de bataille, sinon la défaite est assurée. Or un ou plusieurs de ces généraux peuvent être des traîtres, qui sèment la confusion parmi les autres. Il s agit de trouver un algorithme pour s'assurer que les généraux loyaux arrivent tout de même à se mettre d'accord sur un plan de bataille. On ne peut pas trouver de solution au problème de consensus sous hypothèse de panne pour un modèle de système asynchrone avec un seul fautif Avec des propriétés sur les messages, le vote majoritaire fonctionne si le nombre de généraux est strictement 3 fois supérieur aux nombre de traîtres

Tolérance aux pannes La tolérance aux pannes doit être intégrée dès la conception dans le matériel comme dans le logiciel tout en prenant en compte les contraintes temporelles. La tolérance aux pannes accompagnée de reconfiguration dynamique a techniquement peu progressé et la prise en compte du temps dans ces systèmes demeure difficile. Les outils fournis par le système d exécution sont déterminants notamment en ce qui concerne l'implantation de points de reprises, de duplication matérielle et logicielle et de techniques de recouvrement après fautes.

Architecture et 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

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