[PDF] Informatique industrielle A7-19571 Systèmes temps-réel JF



Previous PDF Next PDF







Introduction aux Systèmes Temps Réel - STR

Exemples fournissant une définition intuitive d'un système temps réel: Exemple 1 [Laplante 2004]: Un avion utilise une séquence d'impulsions de l'accéléromètre pour déterminer sa position Exemple 2 [Laplante 2004]: Une usine nucléaire exige une réponse rapide à des événements qui se



Chapitre 3 : Les systèmes Temps Réel Caractéristiques d’un

Les systèmes informatiques temps réel sont aujourd'hui présents dans de nombreux secteurs d'activités : 1 dans l'industrie de production par exemple, au travers des systèmes de contrôle de procédé (usines, centrales nucléaires) ; 2 dans l’économie au travers du traitement des données boursières en « temps réel » ; 3



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

Temps-réel strict/dur (hard real-time) : le non respect d’une contrainte de temps a des conséquences graves (humaines, économiques, écologiques) zBesoin de garanties Temps-réel souple/mou (soft real-time) : on peut tolérer le non respect occasionnel d’une contrainte de temps 6 Mauvaises interprétations de la notion de temps-réel



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

CEG4566/CSI4541 – Conception de systèmes temps réel Chapitre 6 – Vivacité, sécurité (Safety), fiabilité et tolérance aux fautes dans les systèmes en temps réel 6 1 Introduction générale aux notions de sécurité et de vivacité • Une propriété de sécurité indique que rien de mauvais ne peut arriver



Problématique des systèmes temps réel

LPMI – option IREEL Problématique des systèmes temps réel - 2005 Marie-Agnès Peraldi-Frati Exemple d’application robotique : le cycab • Véhicule électrique • conçus pour les zones à circulation restreinte – hyper-centre urbain – gare/aérogare – campus universitaire – site touristique



Informatique industrielle A7-19571 Systèmes temps-réel JF

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



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

un standard incontournable de la programmation temps réel Cette interface de pro-grammation est en outre la plus flexible et la plus puissante, offrant la puissance du moniteur de Hoare par exemple, ce qui permet de créer tout outil de communication/ synchronisation Nous montrons ensuite comment l’utilisation d’AADL comme langage



Synthèse d’une conception UML temps-réel à partir de

Synthèse d’une conception UML temps-réel à partir de diagrammes de séquences L Apvrille 1 —— P de Saqui-Sannes2, 3 —— F Khendek4 1 GET/ENST, Institut Eurécom, BP 193, 2229 route des Crêtes, 06904 Sophia-

[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

Informatique industrielle A7-19571

Systèmes temps-réel

J.F.Peyre

Informatique industrielle A7-19571

Systèmes temps-réel

J.F.Peyre

Partie I : Introduction

Plan de la première partie

Plan de la première partie

nQuelques définitions nCaractéristiques communes des applications temps-réel nExemples d'applications temps-réel nLe choix d'un langage de développement nLe choix d'un système ou d'un exécutif temps-réel nConclusion

Définition

Définition

nUn système temps réel est un système (application ou ensemble d'applications) informatique qui doit répondre à des stimuli fournis par un environnement externe afin de le contrôler nLa correction d'un tel système dépend non seulement de la justesse des calculs mais aussi du temps auquel est fourni la réponse (contraintes temporelles) nLes ressources utilisées pour mener à bien les calculs et sont en nombre limité (contraintes matérielles)

Classification

Classification

nTemps réel dur (hard real-time) : le non respect des contraintes temporelles entraîne la faute du système -e.g. contrôle de trafic aérien, système de conduite de missile, ... nTemps réel souple (soft real-time) : le respect des échéances est important mais le non respect des échéance ne peut occasionner de graves conséquences -e.g. système d'acquisition de données pour affichage nTemps réel ferme (firm real-time) : temps réel souple mais où il n'y a aucun intérêt à avoir du retard ou temps réel dur pour lequel quelques échéances peuvent être occasionnellement manquées -e.g. projection vidéo

Classification (suite)

Classification (suite)

nIl ne faut pas confondre contrainte temporelle (qui dépend de l'application et de l'environnement) et rapidité de traitement (qui dépend de la technologie utilisée) nUn système temps-réel inclut généralement différents sous- systèmes chacun pouvant avoir ses propres contraintes temporelles (dures, souples ou fermes)

Structure : Boucle ouverte

Structure : Boucle ouverte

Structure : Boucle fermée

Structure : Boucle fermée

Caractéristiques communes des

applications temps-réel

Caractéristiques communes des

applications temps-réel

Large, complexe et fiable

Large, complexe et fiable

nUn système temps réel interagit avec un environnement extérieur souvent complexe et en évolution nIl doit pouvoir interagir avec différents types d'éléments matériels nIl doit respecter des échéances temporelle nIl doit garantir une fiabilité importante

Utilisation du temps concret

Utilisation du temps concret

nAu sein d'une application ou d'un système temps-réel if faut pouvoir manipuler le temps concret (horloge) nLe temps réel (ou temps concret) sera utilisé de plusieurs façons: -Soit en définissant la date à laquelle une action doit être commencée -Soit en définissant la date à laquelle une action doit être finie nIl peut être nécessaire de pouvoir modifier ces paramètres en cours d'exécution et de pouvoir préciser les actions à prendre en cas de faute temporelle

Découpé en tâches ou en processus

concurrents

Découpé en tâches ou en processus

concurrents nDans le monde réel les périphériques et l'environnement du système évoluent simultanément (en parallèle ou concurrence) nSi l'on veut réduire la complexité de conception et calquer fidèlement la réalité il faut s'appuyer sur de la programmation concurrente : -utiliser un modèle de tâches -utiliser des moyens de communication et de synchronisation inter tâches ou inter-process (mémoire partagée, boites aux lettres, files de messages, moniteurs, ...)

Découpé en tâches ou en processus

concurrents (suite)

Découpé en tâches ou en processus

concurrents (suite) nLe modèle utilisé en programmation des systèmes temps réel est un modèle basé sur la concurrence (applications concurrentes) nL'exécution de ces application se fait généralement dans un environnement mono-processeur nOn "simule" l'exécution concurrente des processus par la mise en ouvre du pseudo-parallélisme : le parallélisme est apparent à l'échelle de l'utilisateur mais le traitement sur le processeur (unique) est fait séquentiellement en tirant profit des entrées/sorties réalisées par les processus

Découpé en tâches ou en processus

concurrents (suite)

Découpé en tâches ou en processus

concurrents (suite)

Respect des échéances temporelles

Respect des échéances temporelles

nLa limitation des ressources (en particulier du processeur) conduit à bloquer des processus (ils ne peuvent progresser du fait de manque de ressource) nAfin de respecter en permanence les échéances, il faut gérer efficacement la pénurie et tenter de favoriser les processus dont l'avancement est le plus "urgent » nUn ordonnancement consiste à définir un ordre sur l'utilisation des ressources du système afin de respecter les

échéances temporelles

Respect des échéances temporelles

(suite)

Respect des échéances temporelles

(suite) nOn appelle ordonnanceur (scheduler) le processus système qui gère l'ordonnancement des processus nUn algorithme d'ordonnancement est une méthode ou stratégie utilisée pour ordonnancer les processus nUn tel algorithme s'appuie sur la connaissance de certaines caractéristiques des processus ou du système -procesus périodiques ou apériodiques; -processus cyclique ou non cyclique; -préemption possible ou pas; -échéance et pire temps d'exécution des processus -système à priorité fixe ou à échéance

Respect des échéances temporelles

(suite)

Respect des échéances temporelles

(suite) nDeux algorithmes classiques d'ordonnancement -RTM (RaTe Monotonic) : algorithme à priorité fixe pour processus cycliques (le processus le plus prioritaire est celui de plus petite

échéance)

-EDF (Earlest Deadline First) : algorithme à priorité dynamique pour processus cycliques (le processus le plus prioritaire est celui de plus petite échéance) nL'ordonnanceur choisit d'exécuter le processus prêt de plus haute priorité nAu sein d'une même classe de priorité, le choix peut se faire par temps partagé (Round Robin) ou par ancienneté (gestion FIFO)

Exemples d'applications temps-réel

Exemples d'applications temps-réel

Un système embarqué

Un système embarqué

Console

Calculateur

Interface

Unité de stockage

de données

Capteur

Actionneur

Capteur

Capteur

Interface

Actionneur

Actionneur

Interface

Système en boucle

Fermé

Système de contrôle de débit

Système de contrôle de débit

Temps

Lecture du débit

Calculs

Ordre de position

de la vanne Vanne

Capteur de débit

Le choix d'un langage de

développement

Le choix d'un langage de

développement

Familles de langages possibles

Familles de langages possibles

nTrois sortes de langages peuvent être identifié dans le contexte du développement d'applications temps réel -les langages assembleurs -les langages séquentiel liés à des librairies système -les langages concurrents de haut niveau

Les langages de type " assembleur »

Les langages de type " assembleur »

nHistoriquement, ces langages furent longtemps les seuls à être utilisés dans ce contexte nDépendant par nature de l'architecture cible (matériel et système d'exploitation) nAucune abstraction possible et grande difficulté de développement, de maintenance et d'évolution -> Langages à proscrire sauf pour l'implémentation de petites fonctionnalités très spécifiques et apportant une grande amélioration des performances

Les langages séquentiels

Les langages séquentiels

nIntroduits pour remédier aux problèmes dûs au codage en assembleur nLes plus connus sont le C, le C++ ou encore le Fortran nApporte un plus grand pouvoir d'abstraction et une certaine indépendance du matériel nMais, doit faire appel à des librairies systèmes spécifiques pour la manipulations des processus -> Ces langages posent le problème de la standardisation des appels systèmes mais sont quelques fois le seul choix possible à cause de la spécificité d'une cible et des outils de développement sur celle-ci

Les langages concurrents

Les langages concurrents

nLangages généralistes incluant de plus la notion de tâches et des primitives de synchronisation nHaut pouvoir d'abstraction, indépendance des architecture et des systèmes cibles (ou très peu dépendant) nParmi ces langages, Ada est sans doute le langage le plus abouti mais des restrictions de Java peuvent être utilisés à profit dans le développement d'applications/systèmes temps réel -> Langages à privilégier lorsque d'autres contraintes (manque de formation, reprise de code existant, coopération inter-équipes/ ou inter entreprises, ...) ne rendent pas la chose impossible

Langages choisis dans ce cours

Langages choisis dans ce cours

nAda comme exemple de langage concurrent de haut niveau nC avec l'utilisation de bibliothèques respectant la norme

Posix 1003.1c (initialement 1003.4)

Le choix d'un système ou d'un

exécutif temps réel

Le choix d'un système ou d'un

exécutif temps réel

Système d'exploitation temps-réel

Système d'exploitation temps-réel

nCaractéristique d'un système d'exploitation -approche généraliste -supporte généralement plusieurs types d'applications simultanément -interaction par appels système -peu dépendant du domaine d'applications visé généralement de taille plus importante qu'un exécutif

Exécutif temps-réel

Exécutif temps-réel

nCaractéristique d'un exécutif -système spécialisé -dédié à une application spécifique (système embarqué) -collection de primitives -> plus spécialisé qu'un système d'exploitation code de taille plus petite qu'un système classique

Exemple de Système d'exploitation temps

réel

Exemple de Système d'exploitation temps

réel nRT-Linux : basé sur du code libre, extension de Linux (http://fsmlabs.com/community/projects/) nLynx-OS : système Unix à base de thread noyau (http://www.lynuxworks.com/) compatible avec Linux nQNX : système Unix (http://www.qnx.com/) nWindows CE : système Microsoft temps réel (http://www.cewindows.net)

Exemple de d'exécutif temps réel

Exemple de d'exécutif temps réel

nVxWorks et pSos : Exécutif de Wind river (http://www.windriver.com) nVRTX : http://www.mentor.com/vrtxos/ nmu-cos :

Conclusion

Conclusion

Les systèmes ou applications temps-réel sont -Complexes -Font intimement intervenir le temps dans leur conception -Ont des besoins de fiabilité importants -Généralement décomposés en sous-systèmes avec des tâches ou des processus qui interagissent -Doivent être implémentés avec des langages appropriés -Doivent être exécutés sur des systèmes ou des exécutifs adaptés

Vocabulaire (petit Robert)

Vocabulaire (petit Robert)

nContrôler : (XX e ) maîtriser; dominer; avoir sous sa surveillance; soumettre à une régulation nContrôleur : appareil de réglage, de contrôle; activité de contrôle nConcurrent : emprunté (1119) au latin concurrens, participe présent de concurre (-> concourir), proprement " courir de manière à aller vers le même point », " se rejoindre », puis employé en droit pour " prétendre à la même chose en même temps » avec l'idée de compétition; qui concourt au même but avec le sens néanmoins de compétition nConcurrence : rivalité entre plusieurs personnes, plusieurs forces, poursuivant un même but;quotesdbs_dbs4.pdfusesText_7