La conception de logiciel temps réel Le contenu est basé aux transparents du 7ème édition de «Software Engineering» de Ian Sommerville 1 Définition • Un système qui surveille et gère son environnement. Le temps de réaction est critique. Il est liée en général avec certain matériel: – Capteurs – Actionneurs • Le SRT comme un système de stimulus réaction – Stimulus périodique – Stimulus apériodique 2 Exigences vers l’architecture • Particularités – Changer les processus traitant les stimulus – Chaque stimulus peut exiger un temps différent de réponse – la boucle simple n’est pas approprié – Une architecture est des processus coopératifs gérés par un composant temps réel – Utilisation d’un langage bas niveau comme C mais il ne support pas les processus concurrents ( on doit appeler composants du système d’exploitation) • Utilisation de Java – problèmes: – On ne peut pas spécifier le temps d’exécution des fils – Le ramasse-miettes ne peut pas être contrôlé – On ne peut pas voir les tailles des files associées aux ressources partagés. – Le JVM varie est le comportement du programme sera différent aux ordinateurs différents. – On ne peut pas accéder le matériel directement. 3 Modèle d’un système temps réel Sensor Sensor Sensor Sensor Sensor Sensor Real-time control system Actuator Actuator Actuator Actuator 4 Conception du système • Identification des stimulus and les réponses correspondantes • Les contraintes de temps • Choisir la plateforme de système – Matériel – Logiciel • Agréger les stimulus et les réponses en processus concurrents 5 Conception du système • Pour chaque pair concevoir l’algorithme pour les calculs nécessaires • Concevoir le système de planification des processus • Intégrer avec un système d’exploitation temps réel • Les besoins non fonctionnels sont plus importants – notamment les contraintes de temps. 6 Le processus de gestion de stimuli/réponses Sensor Actuator Stimulus Sensor control Response Data processor Actuator control 7 Modèles des systèmes temps réel • Modèle d’états – Utile – Il ne donne pas la structure – Il ne modèle qu’une fonction du système à la fois 8 Modèles des systèmes temps réel • Diagramme des états – pompe d’essence 9 Système d’exploitation temps réel • Objectif • Composants – – – – – Horloge Gestionnaire d'interruption Planificateur Gestionnaire des ressources Dispatcher • Composants permanents – Gestionnaire de configuration – Fault Manager 10 Composants de SE temps réel Scheduling inf orma tion Real-time clock Scheduler Interrupt handler Pr ocess resource requirements Pr ocesses awaiting r esour ces Resource manager Read y processes Ready list Av ailable r esour ce list Released resources Despa tcher Pr ocessor list Ex ecuting process 11 Gestion des processus • Priorité des processus – Niveau d’interruption – Niveau des processus périodiques – Autres • Desservir les interruptions – Le contrôle est transmis à une location prédéfinie où se trouve une instruction vers la procédure traitante. – Tous les autre interruption sont désactivées. Puis le contrôle est retourné vers le processus interrompu. – Le service doit être court et rapide. 12 Gestion des processus • Gestion des processus périodiques – Propriétés • Période • Durée d’exécution et delais • Priorité – L’horloge génère les interruptions pour la planification des processus périodiques – Le gestionnaire choisi le processus qui est prêt à exécuter 13 Gestion des processus Scheduler R esource manager Despatcher Choose process for execution Allocate memory and processor Start execution on an available processor • Commutation des processus – Planificateur – Gestionnaire des ressources – Dispatcher • Niveaux de priorité – Niveau d’interruption (obligatoire) – Niveau d’horloge (obligatoire) – Autres niveaux (optionnels) (du fond et c.) 14 Gestion des processus • Stratégies de planification – Planification non préemptive – le processus ne peut être interrompu que par la fin ou une opéretion entrée/sortie – Planification préemptive – interruption par un processus plus prioritaire – Algorithmes • Round-robin • Taux monotone • Le délais le plus court 15 Les systèmes de surveillance et de contrôle • Architecture générique Testing process S1 S3 A1 P (A2) A2 P (A1) A3 P (A4) A4 P (S1) Monitoring processes S2 P (A1) P (S2) P (S1) Control processes Control panel processes 16 Système d'alarme contre le vol • Besoins – Quand il y a un voleur le système doit allumer les lampes et appeler la police – Il doit marcher avec un source d’électricité autonome • Capteurs – Capteur de mouvement, de choc, d’ouverture de fenêtre et de porte. – Capteur de voltage • Actionneurs – – – – Appel à la police Allumer les lampes Brancher une sirène Commuter à un source autonome quand le courrant est coupé 17 Système d'alarme contre le vol • Conception du système – Stimulus • Panne de courant • Alarme d’intrusion 18 Système d'alarme contre le vol Stimulus/réponse Timing requirements Panne de courant Le passage à une alimentation de secours doit être achevée dans un délai de 50 ms. Alarme de porte Chaque alarme de porte doit être interrogé deux fois par seconde. Alarme de fenêtre Chaque alarme de fenêtre doit être interrogé deux fois par seconde Capteur de mouvement Chaque détecteur de mouvement doit être interrogé deux fois par seconde. Alarme sonore L'alarme sonore doit être allumé à moins de 1 / 2 seconde d'une alarme est soulevée par un capteur. Lumières s'allument Les lumières devraient être allumés dans les 1 / 2 seconde d'une alarme est soulevée par un capteur. Communications L'appel à la police devrait commencer dans les 2 secondes d'une alarme est soulevée par un capteur Synthétiseur de voix Un message synthétisé devrait être disponible dans les 4 secondes d'une alarme est soulevée par un capteur. 19 Processus du Système d'alarme 400 Hz 60 Hz 100 Hz Mo vement detector pr ocess Door sensor process Detector status Sensor status 560 Hz Windo w sensor pr ocess Sensor status Alarm system Building monitor process Pow er failure interrupt Building monitor Power switch process Communication pr ocess Room n umber Alarm system process Alert message Room n umber Alarm system Alarm system Alarm system Room n umber Audible alarm process Lighting control process Voice synthesiser pr ocess 20 Système de contrôle • Système de contrôle de la température 500 Hz Sensor process Sensor values 500 Hz Thermostat process 500 Hz Switch command Room n umber Heater control process Thermostat process Furnace control process 21 Systèmes d'acquisition de données • Objectif – Collecter des données pour un analyse et traitement postérieur • Propriétés – La collection et beaucoup plus rapide que le traitement – On doit organiser une file d’attente pour les données – tampon circulaire 22 Systèmes d'acquisition de données • Architecture Sensors (each data flow is a sensor v alue) s1 s2 Sensor identifier and value Sensor process Sensor identifier and value Sensor data Process buffer data Display s3 s4 s5 Sensor identifier and value Sensor identifier and value Sensor process Sensor data buffer Process data s6 23 Collection de données d’un réacteur nucléaire • Objectif – suivre le flux de neutrons d’un réacteur • Architecture – Un tampon circulaire – Deux processus concurrents • Écrire • Lire • Les deux processus ne doivent accéder le même élément 24 Le flux de neutrons Neutron flux sensors Sensor identifier and flux value A-D convertor Processed flux level Flux data buffer Flux processing Operator display 25 Le flux de neutrons • Tampon circulaire Producer process Consumer process 26