Applications Embarquées Critiques



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

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

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

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

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

Introduction au temps réel

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

CH.3 SYSTÈMES D'EXPLOITATION

Java et le temps réel

Conception et Intégration de Systèmes Critiques

Ordonnancement temps réel

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

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

Plan. Java et le temps réel. Bertrand Dupouy ENST. Rappels sur les systèmes temps réel

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

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

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

PIC EVAL Dev Board PIC18F97J60

Cours A7 : Temps Réel

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

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

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

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

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

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Logiciels et Systèmes Embarqués :

Linux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers

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

Synchro et Threads Java TM

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Introduction aux systèmes temps réel

MASTER 2 PROFESSIONNEL. Génie Logiciel, Logiciels Répartis et Embarqués

IV- Comment fonctionne un ordinateur?

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

Linux embarqué: une alternative à Windows CE?

Leçon 1 : Les principaux composants d un ordinateur

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

La carte à puce. Jean-Philippe Babau

RTDS G3. Emmanuel Gaudin

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

Initiation au HPC - Généralités

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

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

Annexe 6. Notions d ordonnancement.

Les avantages de la virtualisation sont multiples. On peut citer:

Modélisation des interfaces matériel/logiciel

Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?

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

Introduction aux Systèmes et aux Réseaux

Conception des systèmes répartis

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Catalogue des stages Ercom 2013

NFP111 Systèmes et Applications Réparties

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Robert Guichet. Conférence DERBI Juin 2008

Fiche technique CPU 315SN/PN (315-4PN33)

Systèmes embarqués D.Rossier

1 Définition et présentation. 2 Le réseau Numéris. 3 Les services. 3.1 Les services Support (Bearer service) SYNTHESE

Éléments de programmation et introduction à Java

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

Architecture des ordinateurs

Ordonnancement temps réel

M1 IFPRU Cahier des Charges du projet de TER. Vidéo Surveillance sur IP Le système Rapace. Membres du groupe : Encadrés par :

Introduction à l informatique en BCPST

«clustering» et «load balancing» avec Zope et ZEO

<Insert Picture Here> Solaris pour la base de donnés Oracle

JOG : une approche haut niveau des systèmes embarqués via Armadeus et Java

Systèmes et traitement parallèles

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.

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

Vérifier la qualité de vos applications logicielle de manière continue

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

La technologie Java Card TM

Architecture des Ordinateurs. Partie II:

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

Cours de Génie Logiciel

Conférence sur les microcontroleurs.

Traitement de données

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

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

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

Une solution complète pour télésurveiller et télégérer vos installations photovoltaïques

Partie 7 : Gestion de la mémoire

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

On appelle variable condition une var qui peut être testée et

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

UE Programmation Impérative Licence 2ème Année

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

WIFI ÉVOLUTIVITÉ - SÉCURITÉ - MOBILITÉ

Évaluation et implémentation des langages

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

L hygiène informatique en entreprise Quelques recommandations simples

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

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Editeur de solutions innovantes C 3. Solution globale managée de communication et de téléphonie sur IP

Transcription:

Applications Embarquées Critiques Jean-Marc Pierson pierson@irit.fr Cours DL Jean-Marc Pierson Applications Embarquées Critiques (1/50)

Applications Embarquées Critiques: Plan Caractéristiques générales, contraintes et contexte Sûreté de fonctionnement, Performances, Systèmes d exploitation? RTOSs Outils: JavaRT, CorbaRT Jean-Marc Pierson Applications Embarquées Critiques (2/50)

Système embarqué On doit pouvoir être assuré du comportement: (et rassuré par son comportement) Fiabilité: probabilité que le système fonctionne correctement à un instant t s il fonctionnait à t=0 Maintenance: probabilité que le système fonctionne correctement après une erreur Sûreté: Pas de conséquence dramatique Sécurité: communication authentifiée et confidentielle Il est souvent dédié à un domaine applicatif. Sa durée de vie varie de quelques mois (mobiles) à plusieurs décennies (avionique). Il possède des interface de communication spécifiques. Jean-Marc Pierson Applications Embarquées Critiques (3/50)

Contraintes Un SE doit être efficace en: Energie (ressource limitée) Performance (réactivité) Taille (mémoire code + exécution) Prix (quoique...) Choix/compromis souvent nécessaire. Jean-Marc Pierson Applications Embarquées Critiques (4/50)

Critique ou pas? Un système embarqué est dit critique si le fait de ne pas pouvoir en dépendre peut avoir des conséquences graves. ("dependability") Le resepct de la sûreté de fonctionnement est un élément clé d un SE critique. Nécessité de prendre la mesure des risques au plus tôt, dès la conception. Notion de prédictibilité, de pires cas. Exemples: Justesse des résultats (confiance) Réactivité dans le temps (senseurs avec énergie manquante) Réactivité dans les temps (délai non respecté)... Jean-Marc Pierson Applications Embarquées Critiques (5/50)

Sûreté de fonctionnement Nécessité de gérer à la fois le temps de conception (durée de vie en rapport) et la sûreté du SE. Méthodes formelles de vérification de programme: Coûteux en temps, dédié à des projets pas trop grands, ou des parties de projet. Un challenge : la certification (standards, procédure de certification, organismes de certification). Exemples: système Coq. preuves de programme. langage B. modélisation par réseau de Petri, automates. Jean-Marc Pierson Applications Embarquées Critiques (6/50)

Paradigmes de conception dédiés design for cost design for performance design for safety Jean-Marc Pierson Applications Embarquées Critiques (7/50)

Contraintes temporelles (temps-réel) Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Un système temps-réel doit réagir aux stimuli de son environnement dans un délai temporel imposé par l environnement, l application Ex: système de freinage, automatisme, procédés industriels... Pour un système temps-réel, il ne suffit pas de fournir des résultats corrects, il faut aussi les fournir en temps et en heure -> Résultats corrects au sens temporel. Des résultats corrects mais tardifs sont faux. Jean-Marc Pierson Applications Embarquées Critiques (8/50)

Temps réel dur et mou Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Dur (Hard real-time): une contrainte est dite "dure", si son non respect résulterait en une catastrophe (Kopetz 1997). Temps de réponse garanti, pas de mesure statistiques. Pour s assurer du temps réel dur, il "suffit" de s assurer que toutes les deadlines dures sont respectées. Connaissance a priori de la charge du système (peu de variabilité, système sous-chargé, comportement périodique). Lâche (Soft real-time): toutes les autres contraintes temporelles. Le but est alors de minimiser les retards, le nombre de deadlines ratés,.. avec des systèmes variants grandement. Jean-Marc Pierson Applications Embarquées Critiques (9/50)

Temps réel et Performance Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Un système temps réel n est PAS un système plus rapide! Par exemple, un Unix RT sera 10% plus lent. Ceci est dû à la préemptibilité du système temps réel, qui peut s interrompre plus souvent car tout (ou presque) est pré-emptible: les sections critiques sont réduites a minima. Les utilisateurs veulent des tâches qui se terminent dans les temps. Et pas au plus vite! Commencer plus vite ne garantit pas de finir plus vite: dû au contention, conflits d accès, dépendances entre tâches. L échelle de temps peut varier grandement. Un senseur de température peut "rater" un échantillon toutes les microsecondes, mais envoyer un missile au mauvais endroit (plusieurs secondes) ou ne pas maîtriser une réaction chimique (de l ordre de l heure par exemple) peut être ennuyeux... Jean-Marc Pierson Applications Embarquées Critiques (10/50)

Prédictabilité et respects des délais Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais La prédictibilité est presque impossible à assurer. Pour respecter les délais, deux méthodes : sur dimensionner les ressources: RAM, CPU, BW. Pb sur sur-dimensionnement car il est adhoc (dépend de la chance?), basée sur des pire cas (peu fréquents), coûte cher en ressources. Et peu s avérer inefficace. faire une gestion de ressources dirigée par le respect des délais. L important est de finir les tâches à temps, pas de les commencer. Jean-Marc Pierson Applications Embarquées Critiques (11/50)

Aller vite n est pas toujours le mieux! Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Jean-Marc Pierson Applications Embarquées Critiques (12/50)

Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Sur-dimensionnement est mauvais : meilleur CPU Jean-Marc Pierson Applications Embarquées Critiques (13/50)

Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Sur-dimensionnement est mauvais: plus de proc. Jean-Marc Pierson Applications Embarquées Critiques (14/50)

Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Sur-dimensionnement est mauvais: plus de proc. Jean-Marc Pierson Applications Embarquées Critiques (15/50)

Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Sur-dimensionnement est mauvais : meilleurs CPUs Jean-Marc Pierson Applications Embarquées Critiques (16/50)

Performances et Systèmes Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Systèmes non temps-réel : les situations considérées importantes sont les plus fréquentes. Système temps-réel dur : les situations les plus contraintes sont considérées, même si peu fréquentes, sans regarder l impact en termes de performances globales ou de coût. Système temps-réel lâche : les situations considérées importantes sont celles avec des exceptions avec grand stress (situations d urgence, pannes inattendues): les cas pire sont difficiles à imaginer. les surcharges fréquentes, l adaptivité est la règle. Des pratiques comme par exemple l utilisation de caches peut s avérer contre-productif (en cas de miss), la gestion des exceptions sans sortie d urgence peut être catastrophique,... Jean-Marc Pierson Applications Embarquées Critiques (17/50)

Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Gestion de ressources dirigée par les délais L important est de finir les tâches à temps, pas de les commencer. Besoins: Définir des contraintes de temps pour l achèvement des tâches Définir des politiques d ordonnancement pour le choix de la tâche à exécuter, basées sur le respect des contraintes de temps et la prédiction de ce respect. Notions de Deadline dur : si la tâche se termine après le deadline, son résultat est inutile (considéré même faux) Mais un deadline peut être dépassé, sans que ce soit catastrophique! Calcul du retard, et optimisation pour l ordonnancement du nombre de retards, du pourcentage de non-respect, du retard moyen, du retard maximum... Jean-Marc Pierson Applications Embarquées Critiques (18/50)

Fonction d utilité des tâches Surdimensionner? Performances et Systèmes Gestion de ressources dirigée par les délais Possibilité d ajouter la notion de fonction d utilité d une tâche: une tâche finie perd de son utilité avec le retard, en gagne si elle est en avance. Pour un hard deadline, la fonction vaut 0 ou 1, mais sinon peut varier continuellement entre ces deux valeurs. Puis on fait une optimisation de l utilité des tâches, selon leur importance. Jean-Marc Pierson Applications Embarquées Critiques (19/50)

Déroulement d un projet 1 Spécifications des besoins 2 Choix d une architecture matérielle (processeurs, cartes,...) Puissance de calcul nécessaire (en nombre d instructions/s) Besoins en consommation et en entrée/sortie Choix a priori dans 75% des cas : énergie, prix, besoins spécifiques, domaines d application, culture d entreprise... 3 Choix d un langages de programmation et d un système d exploitation Plus de 70 SE Disponibilité / plateforme : processeur? drivers? Domaine d application, Coût, Documentation, Pérennité... 4 Choix d un environnement de développement : compilo, débugger, profiler, simulateur. Ex: Eclipse. 5 Conception : lien entre plateforme et l application, intégration, optimisation. Jean-Marc Pierson Applications Embarquées Critiques (20/50)

Langages de spécification et de modélisation SART : analyse fonctionnelle descendante Textuel Matlab, StateMate : automates et lois de contrôle Automatique discrete et continue UML (paradigme objet peu répandu), profils UML (MARTE) Méthodes et langages formels (B, Coq) Langages de conception UML, codesign (HW-SW), ADL et Composants multitâche approches synchrones, langages dédiés (Esterel, Signal, Lustre) Ingénierie dirigée par les modèles (IDM) Model Driven Engineering (MDE) Modèles, métamodèles (concepts), transformation de modèles Jean-Marc Pierson Applications Embarquées Critiques (21/50)

- 2 Langages d action Assembleur, C, avec des contraintes d utilisation Java, «XX Java» (JavaCard, RealTimeJava, EmbeddedJava) Systèmes d exploitation Exécutif «maison» propriétaire Système temps réel RTOS ( VxWorks) Système généraliste spécialisé (RTLinux) Machines virtuelles (EmbeddedJava, Real-TimeJava) Environnements de développement Spécifique à la carte et au langage éditeur, compilateur, éditeur de lien et mapping mémoire spécifiques Mise au point instrumentation du code (printf sur LCD, led,?) émission sur un port série debug via la liaison JTAG (Joint Test Action Group) Jean-Marc Pierson Applications Embarquées Critiques (22/50)

- 3 IHM limité, spécifique ou inexistant Communication bus(vme), liaison série réseaux de terrain ( I2C, CAN, TTP, FlexRay, FIP, ARINC, AFDX) réseaux sans fil (irda, Bluetooth) protocoles classiques ( socket, TCP/IP ) Vérification / validation preuves, test exhaustif, simulation ordonnancement, logique temporelle simulation réaliste certification de code (avionique) ou de compilateur règles d écriture relecture du code tests et preuves Jean-Marc Pierson Applications Embarquées Critiques (23/50)

Processeurs généralistes Microprocesseurs programmables Mémoire programmable, registres et ALU généralistes Avantages: mise sur le marché rapide, coûts faibles de développements, fit 4 all Exemples: Pentium, AMD, ARM,... Jean-Marc Pierson Applications Embarquées Critiques (24/50)

Processeurs Dédiés Conçu pour exécuter (bien) UN seul programme Pas de mémoire programmable, contient uniquement le nécessaire pour le programme cible Avantages: Rapide, peu gourmand en ressources, faible encombrement Jean-Marc Pierson Applications Embarquées Critiques (25/50)

Processeurs Spécifiques applications Optimisé pour des classes d applications ayant des caractéristiques communes Mémoire programmable, registres, ALU spécialisé pour les foncions de la classe Avantages: compromis entre les deux précédents Jean-Marc Pierson Applications Embarquées Critiques (26/50)

Co-Design Conception du matériel et du logiciel simultanément Matériel spécialisé : ASIC, FPGA, SoC, MP-SoC ASIC: Application Specific Integrated Circuit. Par rapport à VLSI, conception de quelques couches seulement de circuits. Mais encore long. FPGA: Field-Programmable Gate Array. SoC: System on Chip MP SoC: Multi-Processor System on Chip Jean-Marc Pierson Applications Embarquées Critiques (27/50)

FPGA Caractéristiques, contraintes, criticité Circuits composés de nombreuses portes logiques élémentaires librement assemblables. Connexions des portes par programmation, afin de réaliser la ou les fonctions numériques voulues. Avantages: une même puce peut être utilisée dans de nombreux systèmes électroniques différents ; disponibilité immédiate; et possibilité de valider les sorties / entrées > vérification / validation du code possible plus facilement ; validation des ASIC et SoC avant production Mais: coût, taille, consommation Exemple: FPGA Xilinx: 400000 portes logiques, 50 MHz Jean-Marc Pierson Applications Embarquées Critiques (28/50)

SoC Caractéristiques, contraintes, criticité Intégration de plusieurs composants d un système sur une seule puce: CPU/microcontroller/DSP, ALU, horloge, mémoire (RAM, ROM, EEPROM, flash), carte graphique, périphériques externes (USB, Ethernet,...), interfaces analogiques... Logiciels contrôlant l accès aux composants. Mise au point par émulation sur FPGA. Raccourci les temps de conception des systèmes. Exemple: AMD Geode Jean-Marc Pierson Applications Embarquées Critiques (29/50)

RTOS ou pas? La plupart des SE n ont pas de système d exploitation: Accès directs aux E/S, au bus mémoire (pas de MMU), écriture en langages de bas niveau (Assembleur, C). Sinon... un SE temps réel ou pas? Jean-Marc Pierson Applications Embarquées Critiques (30/50)

Système d exploitation à noyau monolithique: Linux Non modulaire, pb de maintenabilité, évolutivité? Jean-Marc Pierson Applications Embarquées Critiques (31/50)

Micro Noyau Fonctions limités à la gestion mémoire et la gestion processus, et communications interprocessus, plus le temps. Jean-Marc Pierson Applications Embarquées Critiques (32/50)

Micro Noyau temps réel et hybride Accès aux deux aspects. Ex: LinuxRT, VxWorks Il en existe des dizaines! Diffèrent selon : l applicatif, le coût, la taille Jean-Marc Pierson Applications Embarquées Critiques (33/50)

Les objets du temps réel Le processus : regroupement d objets temps réel, espace mémoire Les objets programmables : la tâche ou le thread, les routines d interruption, l alarme Les objets de communication : le sémaphore (synchronisation, exclusion mutuelle), l événement (synchronisation), la boîte aux lettres (échange synchronisé d informations), le canal ou pipe (échange synchronisé d informations entre processus) Jean-Marc Pierson Applications Embarquées Critiques (34/50)

Langages: JavaRT Java possède de grands avantages pour les appli. embarquées (critiques) : Contrôle de types, à la compilation et à l exécution Gestion des exceptions Gestion de la mémoire, avec ramasse-miette. (objet = null) Support des threads et de la concurrence. (par signaux: join, interrupt ; ou par moniteur : synchronized, wait, notify) Et pour le temps réel Gestion des priorités des threads (setpriority(n)) Gestion de l inversion de priorité Et plus dans Real Time Specifications for Java (RTJS 1.1) Jean-Marc Pierson Applications Embarquées Critiques (35/50)

Java: Synchronisation par mutex, rappel Jean-Marc Pierson Applications Embarquées Critiques (36/50)

Java: Ordonnancement des Threads, rappel Jean-Marc Pierson Applications Embarquées Critiques (37/50)

Real Time Specifications for Java Ordonnanceur d objets adapté au temps réel, avec des moyens de le changer Gestion de zones mémoire non gérées par le ramasse-miette, et de zones mémoire immortelles Gestion des files d attente des threads Priorités de threads plus hautes que le ramasse-miette : non préemptible Gestion de l heure et des timers (notamment temps écoulé, alarmes ponctuelle et périodique) Notion d évènements et d exceptions asynchrones (événements internes et externes venant de l OS) Jean-Marc Pierson Applications Embarquées Critiques (38/50)

Java : Mémoire et Ramasse-miette Facheuse habitude : le ramasse-miette dans Java se met en route quand il veut, il a une priorité > autres threads. Dans RTSJ : les threads de priorité > 10 ne sont pas pré-emptables par le ramasse-miettes plusieurs types de mémoires : seule la HeapMemory (le tas) est récupérable par le ramasse-miette. définition de zones ou la mémoire n est pas ramassée (donc pas de préemption) : en particulier ScopedMemory et ImmortalMemory ScopedMemory : taille fixe ; libérée quand aucun thread ne l utilise plus ; libération en bloc de la zone ; deux types de ScopedMemory : VTMemory et LTMemory, selon contraintes de temps d allocation : prévision possible pour LTMemory ; ImmortalMemory : jamais libérée. Jean-Marc Pierson Applications Embarquées Critiques (39/50)

Java : ScopedMemory et ImmortalMemory rt = new RealTimeThread() { public void run() { Vector v1 = new Vector(); ScopedMemory sm1 = new ScopedMemory(n); sm1.enter(); Vector v2 = new Vector(); ScopedMemory sm2 = new ScopedMemory(n); Vector v3 = new Vector(); } } MemoryArea area = ImmortalMemory.instance(); area.enter(); rt.start(); // Ici v1 est dans area, v2 est dans sm1 (et sm1 est dans area), v3 est dans sm2 qui est dans sm1 Jean-Marc Pierson Applications Embarquées Critiques (40/50)

Java : Thread Deux types de threads temps réel : Temps réel lâche : peut accéder au tas, priorité < ramasse-miettes RealTimeThread Temps réel dur: Sans accès au tas, non préemptable par le ramasse-miettes, mémoire pré-réservée NoHeapRealTimeThread Une sous-classe de la précédente Jean-Marc Pierson Applications Embarquées Critiques (41/50)

Java : Ordonnanceur temps réel Classe Scheduler. Son rôle : Vérification de la faisabilité (respect des contraintes) Organisation/séquencement de l exécution Une sous-classe : PriorityScheduler préemptif priorité fixe (28 niveaux) round-robin gestion de l inversion de priorité Jean-Marc Pierson Applications Embarquées Critiques (42/50)

Java : Ordonnanceur temps réel Méthode : setscheduler( Scheduler sc, SchedulingParameters s, ReleaseParameters r, MemoryParamaters m, ProcessingGroupParameters g) Avec : sc : un scheduler, par exemple un PriorityScheduler s : paramètre d ordonnancement (gestion des priorités, de l importance des tâches) r : caractéristique de la tâche : périodicité, deadline, pire temps, handler pour les dépassements de deadlines. m : gestion de la mémoire : taille maximum utilisée, taille maxi de la mmoire permanente, vitesse d allocation g : pour grouper les tâches hiérarchiquement. Date de début, période, pire temps, deadline Jean-Marc Pierson Applications Embarquées Critiques (43/50)

Java : Ordonnanceur temps réel, exemple Jean-Marc Pierson Applications Embarquées Critiques (44/50)

Java : Ordonnanceur temps réel, exemple, suite Jean-Marc Pierson Applications Embarquées Critiques (45/50)

Java : Inversion de priorité : le problème La synchronisation peut engendrer des inversions de priorités : des processus moins prioritaires passent avant! Jean-Marc Pierson Applications Embarquées Critiques (46/50)

Java : Inversion de priorité : solutions dans RTSJ Solution: l héritage de priorité. Lorsqu une tâche acquière un mutex, elle acquière momentanément la plus haute priorité des tâches en attente. Pas possible de T2 préempte T3! Mais les threads avec priorités basses non-rt sont bloquées par le ramasse-miette. Solution au problème par deux types de files d attente: WaitFreeWriteQueue et WaitFreeReadQueue... Jean-Marc Pierson Applications Embarquées Critiques (47/50)

Outils: CorbaRT Par rapport à Corba, CorbaRT ajoute les spécifications suivantes : Gestion des ressources de l infrastructure de communication. Garantie de la qualité de la communication, par exemple en utilisant les paramètres QoS d ATM ou en choisissant une connexion plutôt qu une autre Exploitation de l ordonnancement des systèmes d exploitation (à chaque bout de la comm.) pour garantir la priorité des applications (et donc gestion des threads) Expression des besoins en termes de ressources et de priorités à l ORB Outils pour la gestion globale de la synchronisation, des exclusions mutuelles, de l ordonnancement des threads dans le système global pour respecter les contraintes de délai Jean-Marc Pierson Applications Embarquées Critiques (48/50)

Conclusion Juste une introduction au domaine...... à découvrir sans modération avec : Des compétences architectures, conception, programmation, systèmes Un intérêt pour les challenges de performances, d espace mémoire, de respect du temps, la sûreté de fonctionnement. Jean-Marc Pierson Applications Embarquées Critiques (49/50)

Références Cette présentation est issue de multiples lectures, en particulier les cours trouvés en ligne ou par mail: E. Jensen, http://www.real-time.org F. Armand, http://www.pps.jussieu.fr/ armand/m2_sem/ F. Simono-Lion, http://www.loria.fr/ simonot H. Cassé, http://www.irit.fr J-P Babau, http://www.lisyc.univ-brest.fr/pages_perso/babau/ Wikipedia, www.wikipedia.fr Jean-Marc Pierson Applications Embarquées Critiques (50/50)