Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr



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

Cours A7 : Temps Réel

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

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

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

Introduction aux systèmes temps réel

Introduction au temps réel

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

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

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

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

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

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

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

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

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

CH.3 SYSTÈMES D'EXPLOITATION

Introduction. Fondements de l ingénierie des exigences

Présentation du module Base de données spatio-temporelles

Applications Embarquées Critiques

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

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

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

Agrégation de liens xdsl sur un réseau radio

Cours Bases de données

IBM Tivoli Monitoring, version 6.1

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Un tempo de Reel sur un rythme de Java

Validation temporelle de réseaux embarqués critiques et fiables pour l automobile

Chapitre 2 : Abstraction et Virtualisation

GPA770 Microélectronique appliquée Exercices série A

Évaluation et implémentation des langages

Conception des systèmes répartis

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

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

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

Systèmes et traitement parallèles

Technologie de sécurité. La haute fiabilité des technologies SNCC de Yokogawa

Processus d Informatisation

Ordonnancement temps réel

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

RTDS G3. Emmanuel Gaudin

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

Ordonnancement temps réel

Groupe Eyrolles, 2000, 2004, ISBN :

Programmation C. Apprendre à développer des programmes simples dans le langage C

Introduction au Cloud Computing

Les diagrammes de modélisation

Limitations of the Playstation 3 for High Performance Cluster Computing

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

Réseaux grande distance

Machines virtuelles Cours 1 : Introduction

Annexe 6. Notions d ordonnancement.

NFP111 Systèmes et Applications Réparties

La Continuité d Activité

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Projet Active Object

Présentation et installation PCE-LOG V4 1-5

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Architecture de réseau de senseurs : monitoring environnemental et écosystèmes forestiers

Mes documents Sauvegardés

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

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

Université de Bangui. Modélisons en UML

Programmation parallèle et distribuée

Logiciels et Systèmes Embarqués :

EL48 Machines electriques. Energie et environnement C 28 TD 28 TP 18 THE 46. Niveau GXO 1-GX02 Connaissances scientifiques EL47 Oui Oui

VMware vsphere 5 Préparation à la certification VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) - Examen VCP510

Programmation parallèle et distribuée

DESCRIPTIF DES PROJETS 3EME ANNEE QUI SERONT PRESENTES LORS DE LA JOURNEE DE PROJET DE FIN D ETUDE LE 26/01/2012

Partie 7 : Gestion de la mémoire

Introduction. Fondements de l ingénierie des exigences. Objectifs :

Démêler la complexité

données en connaissance et en actions?

Introduction au Génie Logiciel

Chapitre 7 - Relativité du mouvement

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Cours 1 : La compilation

Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience, et de tolérance aux pannes.

Solar Scintillation Monitor Manuel utilisateur

Les datas = le fuel du 21ième sicècle

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

Prise en compte des ressources dans les composants logiciels parallèles

UML (Diagramme de classes) Unified Modeling Language

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Traitement de données

Garantir une meilleure prestation de services et une expérience utilisateur optimale

GSM / GPRS / GPS Traceur / Localisateur TK102. Manuel d Utilisation

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

1. Introduction à la distribution des traitements et des données

Introduction au génie logiciel

Transcription:

Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr

Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans lesquels les résultats sont produits le système doit répondre à des stimuli externes sous un délai spécifié L absence de réponse est aussi grave qu une réponse erronée, voire plus Exemples : contrôle de véhicules (automobiles, trains, avions ), robotiqe systèmes militaires de contrôle / commande contrôle du trafic (aérien, terrestre) contrôle de processus industriels... Introduction aux Systèmes Temps Réel 2

Catégories de systèmes temps réel Temps réel dur (hard real time) Temps réel ferme (firm real time) Temps réel mou (soft real time) Introduction aux Systèmes Temps Réel 3

Temps réel dur La réponse du système dans les délais est vitale. L absence de réponse est catastrophique (plus qu une réponse incorrecte) valeur de la réponse deadline temps Exemples : contrôle aérien, contrôle d une centrale nucléaire Introduction aux Systèmes Temps Réel 4

Temps réel ferme La réponse du système dans les délais est essentielle. Le résultat ne sert plus à rien une fois le deadline passé. (définition alternative : la pénalité de non-réponse est dans le même ordre de magnitude que la valeur de la réponse) valeur de la réponse deadline temps Exemples : transactions en bourse (c est subjectif : le temps réel ferme de l un peut être le temps réel dur de l autre) Introduction aux Systèmes Temps Réel 5

Temps réel mou La réponse du système après les délais réduit progressivement sont intérêt. Les pénalités ne sont pas catastrophiques. valeur de la réponse deadline temps Exemples : VoD, logiciel embarqué de votre téléphone, ipod, etc. Introduction aux Systèmes Temps Réel 6

Classification mot de fin Un même système peut avoir des sous-systèmes TR-dur, TR-ferme ou TR-mou en fait, la fermeté est une caractéristique de chaque échéance (deadline) Introduction aux Systèmes Temps Réel 7

Sommaire Généralités Caractéristiques récurrentes des STR Types de problèmes soulevées Programmation des STR Prog. concurrente Synchronisation et communication Facultés temporelles Introduction aux Systèmes Temps Réel 8

Exemples typiques Un système de contrôle du débit (*) Interface Pipe Input flow reading Flow meter Processing Output valve angle Valve Time Computer (*) Source: Real Time Systems and Programming Languages Alan Burns and Andy Wellings, 2001 Introduction aux Systèmes Temps Réel 9

Exemples typiques Un système de contrôle de la production (*) Operator Console Production Control System Parts Finished Products Machine Tools Manipulators Conveyor Belt (*) Source: Real Time Systems and Programming Languages Alan Burns and Andy Wellings, 2001 Introduction aux Systèmes Temps Réel 10

Cas typique : le contrôleur Les systèmes temps réel sont souvent embarqués dans un équipement spécialisé, leur but étant de contrôler l équipement et/ou son environnement Environ 99% des processeurs produits dans le monde sont dédiés aux systèmes embarqués environnement logique du STR capteur capteur actuateur Contrôleur temps réel (matériel + logiciel) environnement réel actuateur Introduction aux Systèmes Temps Réel 11

Systèmes réactifs environnement réel senseur senseur actuateur actuateur contrôleur (STR) système ouvert répondant constamment aux sollicitations de son environnement en produisant des actions sur celui-ci par opposition : systèmes transformationnels (e.g., indexation d une base de données ) abstraction => système qui tourne à l infini vie du système divisée en modes d exécution (e.g., sol, décollage, croisière, ) Introduction aux Systèmes Temps Réel 12

Contraintes temporelles sont souvent dérivées de lois physiques se présentent souvent sous forme de fréquences E.g., pour contrôler un avion en croisière à la vitesse V, il faut ajuster la position des gouvernes à la fréquence ν => le contrôleur doit produire une sortie vers actuateurs toutes les 1/ν sec. => les calculs de chaque cycle doivent terminer en moins de 1/ν sec. Introduction aux Systèmes Temps Réel 13

Concurrence La tâche du système se décompose souvent en plusieurs activités, qui doivent souvent être exécutées en parallèle. parce que l environnement est déjà parallèle: quand le vent bat, la gravitation ne s arrête pas (et des fois, il y a des choses encore plus surprenantes qui arrivent ) ça peut être implanté par des tâches concurrentes sur un mono-processeur un système réparti (avec en plus de la concurrence dans les nœuds) les activités sont plus ou moins critiques ordinateur de bord de votre voiture gère : ESP, ABS, autoradio Introduction aux Systèmes Temps Réel 14

PRÉDICTIBILITÉ «LA» caractéristique requise avant tout d un système temps réel: sous un ensemble d hypothèses concernant la charge (e.g., fréquence des entrées) et les erreurs non-contrôlables (e.g., fréquence des erreurs de bit sur le bus), arriver à prouver que toute les contraintes (notamment les délais) sont respectées au moins pour les tâches critiques du système Que préférez-vous: un ordinateur de bord qui déclanche l ABS à 1ms du blocage des roues dans 99% de cas, ou un qui le déclanche à 10ms, mais dans 100% de cas? Introduction aux Systèmes Temps Réel 15

Systèmes embarqués Cela impose des contraintes supplémentaires Haute disponibilité requise resets coûteux ou impossibles updates idem Capacités de calcul et stockage prédéterminées et souvent limitées les limites sont toutefois très variables e.g. téléphone GSM vs. satellite militaire Autres contraintes non-fonctionnelles e.g., consommation (durée de vie des batteries), Processeurs et couches système personnalisés overhead dans le processus de développement Introduction aux Systèmes Temps Réel 16

Autres caractéristiques (*) Grande taille et complexité parfois E.g. millions of LoC for the ISS => importance de la modularité Interaction avec du matériel dédié Nécessité de programmer et d interagir avec des pilotes à un niveau abstrait et sûr Échantillonnage des entrées => manipulation des valeurs continues dans un domaine discret algorithmes numériques, gestion d erreurs Rapidité et efficacité parfois importante (*) Source: Real Time Systems and Programming Languages Alan Burns and Andy Wellings, 2001 Introduction aux Systèmes Temps Réel 17

Malentendus fréquents (*) système temps réel = système rapide et performant la programmation temps réel veut dire assembleur, interruptions et pilotes il n y a aucune science derrière le développement des systèmes temps réel, tout est une question de bidouillage toutes les problèmes du temps réel ont été déjà résolus dans d autres domaines de l informatique et l augmentation de la vitesse des processeurs va résoudre ce qui reste (*) inspiré de J. Stankovic, «Misconceptions about real-time computing», IEEE Computer, 21(10):10--19, Oct. 1988 Introduction aux Systèmes Temps Réel 18

Structure du cours 1. Programmation des STR Concepts et exemples (Ada, Java) Concurrence Synchronisation et communication Aspects temporels 2. Ordonnancement Politiques statiques/dynamiques mono-processeur Modèle de tâches, hypothèses Construction de l'edt processeur Critères de décision 3. Sûreté de fonctionnement Méthodes de conception, d'analyse, de V&V Introduction aux Systèmes Temps Réel 19

Sommaire Généralités Caractéristiques récurrentes des STR Types de problèmes soulevées Programmation des STR Prog. concurrente Synchronisation et communication Facultés temporelles Introduction aux Systèmes Temps Réel 20

Problèmes rencontrés allocation de ressources ordonnancement, tolérance aux fautes, récupération de ressources architecture caractéristiques du processeur, du système de communication, des E/S méthode de développement spécification de besoins, validation, langages et modèles Introduction aux Systèmes Temps Réel 21

Allocation de ressources Problème principal : l ordonnancement allocation des tranches de temps processeur i.e., les moments où une tâche est livrée au processeur (dispatch) / suspendue (preempt) Objectif de l ordonnancement : assurer le respect des échéances de manière prouvable Une méthode d ordonnancement est caractérisée par: le critère de test d ordonnançabilité (offline) la méthode effective de construction de l emploi du temps (schedule) du processeur (online ou offline) Introduction aux Systèmes Temps Réel 22

Problèmes d architecture Pour supporter un logiciel temps-réel, l architecture (matériel + OS) doit être prédictible: temps d exécution des instructions changement de contexte opérations avec la mémoire traitement des interruptions Implications Les mémoires cache et les processeurs supérscalaires sont évités La tolérance aux fautes est supportées dans le matériel (self-checking, voting and monitoring ) Support pour des communications rapides et prédictibles (e.g., pas de Ethernet, ou alors amélioré) Introduction aux Systèmes Temps Réel 23

Problèmes d architecture (cont) support pour algorithmes d ordonnancement dans l OS, préemption rapide, contextes multiples, priorités Fault Containment Regions gestion des interruptions synchronisation d horloges etc. Introduction aux Systèmes Temps Réel 24

Problèmes de méthode de développement Spécification des besoins fonctionnelle : ce que le système doit calculer non-fonctionnelle : e.g., contraintes temporelles la spécification des deux aspects doit être conjointe et suffisamment précise (formelle?) (pour permettre d examiner ses implications et ses propriétés indépendamment de l implantation) Conception et développement constructions de langage pour gérer le temps, les ressources support de la communication et de la concurrence constructions pour supporter la vérification du critère d ordonnançabilité à la compilation Introduction aux Systèmes Temps Réel 25