Introduction aux Systèmes Temps Réels Polytech Marseille et CPPM

Slides:



Advertisements
Présentations similaires
Developpement Process « Coding party !! » Tony Carnal Altran.
Advertisements

L’évaluation dans le cadre de l’approche par compétences
Rover 5, technologie et innovation ● Notre problématique : ● Comment la robotique peut-elle assister ● l'homme dans un milieu à risque ? ● Application.
Composants Matériels de l'Ordinateur Plan du cours : Ordinateurs et applications Types d'ordinateurs Représentation binaires des données Composants et.
F. Touchard ESIL Département d'Informatique, Réseaux et Multimédia Projets d'architecture 1 Projets d'archi : présentation et modalités.
Systèmes d'exploitation Temps Réels Polytech Marseille et CPPM
Comment ça marche ? Les sciences pour répondre aux questions de notre société Santé Alimentation Énergie Habitat Sciences de l'Ingénieur.
Aperçu de la production audionumérique avec GNU/Linux.
TECHNOLOGIE 5 ème Equipe 4Compte Rendu Situation Problème : Comment représenter la structure, la construction d'un ouvrage? Quels intérêts? On peut représenter.
La mission Pathfinder sur Mars
Présentation du programme
Semaine 01 La programmation créative Introduction.
Les journées de l’2015 Le Model-Based Design Une approche complète en sciences industrielles de l’ingénieur Frédéric MAZET Lycée Dumont d’Urville Toulon.
Utilisation des signaux sonores et lumineux
Communication client-serveur
Acquisition Rapide Multivoies
Mise en place d’un système de partage de fichiers
Evaluer par compétences
Ch.1 : Modélisation des systèmes par SysML
La Gestion du Temps.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Dominique PETRELLA – Frédéric GUINEPAIN - IA-IPR STI Versailles
Tice (logiciels) et aide personnalisée.
Utilisation de PostgreSQL
Acquisition Rapide Multivoies
PORTEFEUILLE DE COMPETENCES
Chantier industriel Encaisseuse semi-automatique de chez CERMEX
Langages pour le Temps Réel
Chantier industriel Encaisseuse semi-automatique de chez CERMEX
L'approche asynchrone.
Informatique et Sciences du Numérique
Portefeuille des compétences
Chapitre 12 Surveillance des ressources et des performances
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
Programmation système
Réalisation d’une lampe connectée pilotée par bluetooth
Module 1 : Introduction à l'infrastructure Active Directory.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Système d’exploitation
Vidéo protection embarquée
Renaud Duysens (L’Oréal Libramont s.a.)
Chapitre2: SGBD et Datawarehouse. On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure d'informatique décisionnelle.
Bienvenue sur Coursinfo.fr
Développement d’une application de gestion de pointage
Tout retard conduira à une note de zéro.
Mise en place d’une gestion de type ERP
Association des Transporteurs Aériens Francophones
Analyse Fonctionnelle Structurelle Comportement des systèmes Mécanique
Transfert d’IHM de PC vers PDA
18 Bases de données parallèles et réparties
Plateforme CountrySTAT
AIAC GEET-12 Année : Régulation Industrielle: Programme M.BAHATTI.
LE TRAVAIL EN ÉQUIPE. INTRODUCTION Depuis quelques décennies, il est souvent question de formation, de qualité et productivité. Le contexte dans lequel.
BIOS- OS Environnement logiciel PC / Traitement numérique / Contrôle.
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Introduction aux Technologies de Transmission 5eme Année - IGE Communication Multimédia Mrs Rerbal & Djelti.
La collecte d’informations Présenté par: Boudries. S.
Génie Logiciel DÉFINITION DES BESOINS. Cahier de charges: définition  Le Cahier des Charges (CDC) est un document par lequel la maîtrise d'ouvrage exprime.
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Bienvenue! INF3723: Systèmes d’exploitation Luigi Logrippo
Notions d'architecture client-serveur. Présentation de l'architecture d'un système client/serveur Des machines clientes contactent un serveur qui leur.
Tableau de bord d’un système de recommandation
Eléments de la démarche design
Test de performances. Test de performances:  Un test de performance est un test dont l'objectif est de déterminer la performance d'un système informatique.
Exemples: Séquence : Comment décrire un système pluritechnique?
Sommaire Les réseaux de capteurs sans fils Les réseaux de capteurs sans fils Communication dans Contiki Communication dans Contiki Réalisation Réalisation.
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
UX DESIGN User exprérience en anglais Expérience Utilisateur en français Concevoir, Créer, dessiner UX DESIGN, consiste à penser et concevoir un site web.
Mettre en place un système de Management
Transcription de la présentation:

Introduction aux Systèmes Temps Réels Polytech Marseille et CPPM François TOUCHARD Polytech Marseille et CPPM http://francois.touchard.perso.luminy.univ-amu.fr/ francois.touchard@univ-amu.fr ©GFGPL 2017

Présentation du cours Aperçu des systèmes temps réels Cours INFO4 : qu’est-ce qu’un système temps réel ? comment vérifier a priori le comportement ordonnancement comment implémenter le comportement les outils de programmation dans l'espace utilisateur les outils de programmation dans le noyau (Linux) Cours INFO5 les méthodes et les langages de programmation temps réel Évaluation un examen en fin de module des compte-rendus de TD/TP notés (entre 1/4 et 1/3 de la note finale)

Introduction système temps réel : qui doit fournir un service dans un contexte où le temps intervient évolution du système (système réactif) contraintes de temps (échéances) par opposition aux systèmes interactifs ou transformationnels systèmes embarqués : autonomes, avec un fort couplage entre le matériel et le logiciel utilisation dans un but très précis très souvent des contraintes temporelles souvent inclus dans un système plus vaste ~ 90% du marché des processeurs

Quelques exemples (1) asservissement par contrôle numérique procédé capteur actionneur mesure y(t) résultat u(t) A/D yk Loi de contrôle calcul Loi de contrôle calcul uk D/A rk A/D référence r(t)

Quelques exemples (2) soit e(t) = r(t) – y(t) u(t) va dépendre de 3 termes : un terme proportionnel à e(t) un terme proportionnel à l'intégrale de e(t) un terme proportionnel à la dérivée de e(t) soit T la période d'échantillonnage du signal on approxime l'intégrale par la méthode du trapèze on approxime la dérivée pour l'intervalle [(k-1)T, kT ] par (ek-ek-1) / T alors : uk = uk-1 + α ek + β ek-1 + γ ek-2

Quelques exemples (3) pour programmer la boucle : créer un timer de période T à chaque interruption du timer faire les conversions analogique-numérique de y et r calculer u faire la conversion numérique-analogique de u fin de la boucle le choix de T est important il peut être souhaitable de pouvoir le modifier concepts mis en jeu gestion du temps gestion des interruptions interaction avec l'utilisateur

Quelques exemples (4) contrôleur de vol tous les 1/180 s faire lecture/validation des capteurs sélectionnés chaque 6 cycles (30 Hz) : tâches avionique lecture claviers, sélection mode normalisation des données, transformation des coordonnées mise à jour des références de trajectoire chaque 6 cycles (30 Hz) : calculs loi de contrôle phase 2 pour la dérive loi de contrôle phase 2 du roulis loi de contrôle phase 2 du travers chaque 2 cycles (90 Hz) : en utilidant les résultats de 2 cycles loi de contrôle phase 1 pour la dérive loi de contrôle phase 1 du roulis et coordination des 2 axes calcul de la loi de contrôle globale sortie des commandes pour les actionneurs auto-test

Quelques exemples (5) modèle cyclique facile à implémenter difficile de le faire évoluer très difficile à mettre en œuvre quand le système à contrôler se complexifie un peu

Quelques exemples (6) contrôle d'un groupe d'ascenseurs 4 ascenseurs dans la cage d'escalier d'un même bâtiment, desservant les mêmes étages deux boutons d'appel par palier, pour monter ou descendre 1 bouton par étage dans chaque ascenseur partage optimum des ressources par exemple, un ascenseur en marche s'arrêtera à un étage où l'appel a été demandé si et seulement si il va dans la bonne direction quand il passera à l'étage concerné et si il n'est pas en limite de surcharge recherche de l'équilibrage du service entre les différents ascenseurs contrôle des "périphériques" (portes palières, indicateurs sonores et visuels, etc...)

Quelques exemples (7) le modèle du générateur cyclique ne fonctionne plus contrôleur centralisé avec activation de tâches par événements décentralisation de tâches sur des processeurs annexes système multi-processeur et multi-tâches synchronisation et communication entre les tâches modèle asynchrone

contrôleur de traffic aérien Quelques exemples (8) contrôle aérien hiérarchie des contrôles contrôleur de trafic aérien gestionnaire de vol contrôleur de vol calculs complexes (optimisation) fiabilité respect des échéances temporelles réponses commandes données locales (météo...) contrôleur de traffic aérien calculateur navigation gestionnaire de vol calculateur calculateur contrôleur de vol données locales de vol

Quelques exemples (9) contrôleur de trafic aérien CPU CPU CPU base de données des éléments de vol réseau de communication réseau de communication processeur de surveillance des trajectoires processeur de visualisation

Quelques exemples (10) beaucoup d'autres systèmes ont des contraintes temporelles bases de données contrôle de vols salles de marché multimédia compression/décompression transmission

Qu'est-ce que le temps réel ? non seulement des résultats exacts mais aussi fournis dans un temps donné, compatible avec l'évolution du système l'échelle de temps dépend du système de quelques millisecondes pour un système de navigation aérienne à plusieurs minutes ou heures pour le contrôle d'un réacteur chimique dans un système temps réel, un résultat de calcul mathématiquement exact mais arrivant au delà d'une échéance pré-définie est un résultat faux

Temps réel dur et temps réel mou si un résultat arrivant en retard provoque un accident fatal au système (génération d'une exception) : temps réel dur sinon : temps réel mou, ou lâche la distinction entre les deux est une notion assez floue dans un système donné, des tâches temps réel dures et lâches peuvent cohabiter, éventuellement avec des tâches sans contraintes temporelles critère de respect des contraintes temporelles booléen pour le temps réel dur doit être défini pour chaque tâche dans le cas d'une application temps réel lâche

Caractéristiques importantes (1) Prévisibilité pour déterminer à l'avance si un système va respecter ses contraintes temporelles connaissance des paramètres liés aux calculs des activités temps global de calcul de chaque activité périodicité et gigue préemptivité évaluation des performances dans le pire des cas pour définir le meilleur algorithme d'ordonnancement

Caractéristiques importantes (2) Déterminisme but à atteindre pour prédire le comportement temporel du système temps réel dur : chercher à savoir si toutes les échéances de toutes les activités seront respectées temps réel lâche : par exemple savoir quels seront les retards moyens Fiabilité du matériel tolérance aux fautes systèmes embarqués

Caractéristiques importantes (3) en résumé, le langage et l'environnement de développement doivent permettre de spécifier le moment où une tâche doit démarrer de spécifier le moment où la tâche doit être terminée de gérer les situations où toutes les contraintes temporelles ne peuvent pas être satisfaites de gérer des situations où les contraintes temporelles sont susceptibles d'évoluer dynamiquement

Plan du cours (1) Ordonnancement des tâches tâches indépendantes tâches avec des contraintes de dépendance gestion des situations de surcharge Systèmes d'exploitation pour le temps réel services attendus systèmes existants VxWorks (le système généraliste le plus employé) OSEK/VDX (un système spécialisé) Xenomai (basé sur Linux) aperçu des bus de communication

Plan du cours (2) Programmation système pour le temps réel (POSIX) dans l'espace utilisateur gestion des tâches communication et synchronisation gestion des interruptions gestion du temps Programmation dans le noyau (Linux) modules pilotes de périphériques Xenomai (RTDM)

La norme POSIX Portable Operating System Interface pour aider à produire des codes portables sans trop d'efforts initié par l'IEEE et organisé par l'ISO à partir d'UNIX, pour le C ANSI différents standards pour différents problèmes POSIX.1b (ou POSIX.4) : extensions temps réel POSIX.1c : extensions pour les threads important : l'interface POSIX ne fournit pas un environnement temps réel, mais uniquement des interfaces qui peuvent être utilisées dans le cadre d'un OS Temps Réel

La norme POSIX POSIX a été remplacé récemment par SUSV4 (Single Unix Specification Version 4) SUSV4 inclut les différentes versions de POSIX extensions Temps Réel : option RTS je garderai les références à POSIX.1 et 4 pour bien différencier les extensions temps réel

ORDONNANCEMENT