Ch1 ITR Introduction

download Ch1 ITR Introduction

of 31

Transcript of Ch1 ITR Introduction

  • 8/18/2019 Ch1 ITR Introduction

    1/31

    Faculté Polytechnique

    Chapitre 1 : Introduction à l’ITR

    Informatique Temps-

    Réel

    [email protected] Manneback

  • 8/18/2019 Ch1 ITR Introduction

    2/31

    Université de Mons

    Définition d’un système temps-réel

    Un système temps réel est un système dans lequel

    l'exactitude des applications ne dépend pas seulement

    de l'exactitude des résultats mais aussi du temps

    auquel ce résultat est produit.

    Si les contraintes temporelles de l'application ne sont

    pas respectées, on parle de défaillance du système. Ilest donc essentiel de garantir le respect des contraintes

    temporelles du système.

    2Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    3/31

    Université de Mons

    Systèmes temps-réel (STR)

    En informatique industrielle, on parle d'un système

    temps réel lorsque ce système informatique contrôle

    ou pilote un procédé à une vitesse adaptée à

    l'évolution du procédé contrôlé. Interaction avec l’environnement

    Capteurs, senseurs (acquisition de mesures)

    Actuateurs (régulation, pilotage)

    Système généralement dédicacé (bien souvent

    embarqué), où l’informatique logicielle n’est qu’un

    composant.

    3Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    4/31

    Université de Mons

    Caractéristiques du Temps-Réel

    Un système temps-réel reçoit et émet des signaux de et vers le

    procédé à contrôler. Ces signaux peuvent être périodiques ou

    non.

    Le système doit normalement réagir avant un délai ou une

    date fixée.

    Aucun évènement ne doit en principe être raté par le système.

    Ne pas réagir à temps est considéré comme une défaillance.Un système temps-réel est souvent critique et doit donc être

    fiable à 100% (duplication matérielle, vérifications formelles,

    rigueur dans la conception et le développement, etc).

    4Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    5/31

    Université de Mons

    Systèmes temps-réelLes systèmes temps réel sont très souvent

    embarqués dans un équipement spécialisé, leur

    but étant de contrôler l’équipement et/ou son

    environnement 

    5Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    6/31

    Université de Mons

    Exemple de STR

    Système de contrôle de débit

    6Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    7/31Université de Mons

    STR != Système embarqué

    Un système embarqué est un système électronique,

    piloté par un logiciel, qui est complètement intégré au

    système qu'il contrôle.

    Un système embarqué a des contraintes fortes decoût, taille, poids, consommation énergétique, etc

    Un système embarqué est bien souvent temps-réel

    (mais pas nécessairement).

    Plus de 95% des processeurs produits dans le monde

    sont dédiés aux systèmes embarqués.

    7Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    8/31Université de Mons

    Liens entre systèmes embarqués

    et temps réel

    8Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    9/31Université de Mons

    Quelques exemples de systèmes T.R.

    1. Commande et contrôle de chaînes de production2. Guidage de systèmes mobiles (robotique…)

    3. Systèmes embarqués TR (avionique, ferroviaire, auto, etc)

    4. Surveillance de réactions ou phénomènes physiques

    (nucléaire, chimie,…)5. Contrôle de malades et assistance d'opérations médicales

    6. Systèmes de communication et multimédia

    7. Systèmes de conduite d'expériences scientifiques

    8. Systèmes de traitement du signal

    9Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    10/31Université de Mons

    Les systèmes T.R. par rapport aux

    autres systèmes informatiques

    Système TransformationnelActivité de calcul, qui lit ses données et ses entrées lors de son démarrage,les traite, puis fournit ses sorties et meurt.

    Système Interactif 

    Système en interaction forte avec son environnement. La réaction dusystème est déterminée par les événements reçus et par l'état courant. Lerythme de l'interaction est déterminé par le système et non parl'environnement.

    Système Réactif ou Temps RéelSystème en interaction permanente avec son environnement. La réactiondu système est déterminée par les évènements reçus et par l'état courant.Le rythme de l'interaction est déterminé par l'environnement et non par lesystème.

    10Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    11/31Université de Mons

    Temps réel strict ou souple

    Si une information arrivant en retard peut

    provoquer une erreur fatale au système, on parlerade temps réel strict (hard real time).

    Sinon, on parlera de temps réel souple, ou lâche(soft real time).

    Dans un système donné, des tâches temps réelstrictes et souples peuvent cohabiter,éventuellement avec des tâches sans contraintestemporelles

    Quels sont les STR stricts, souples ou imprécisés, desexemples précédents (slide 9)?

    11Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    12/31Université de Mons

    Principe général d’un STR

    Quelles que soient la nature et la complexité du

    système, on décompose un système temps réel

    en :

    un système contrôlé

    un système de contrôle

    capteurs

    Environne-ment

    actuateurs

    Systèmeinformatique

    Interface

    Interface

    12Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    13/31Université de Mons

    Principe général d’un STR (2)

    Le système contrôlé = environnement équipé d'une instrumentation qui réalise

    l'interface avec le système de contrôle.

    Le système de contrôle = système informatique (hardware et software) dont la

    mission est d'agir sur l’environnement en fonction de son état, de manière à lecontrôler.

    capteurs

    Environnement

    actuateurs

    Système

    informatique

    Interface

    Interface

    Système de contrôle

    Objet de ce cours

    Système contrôlé

    13Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    14/31Université de Mons

    Système

    de contrôle

    Environnementdonnées

    mesures

    évènements

    commandes

    un automate programmable• un système électronique

    • un système informatique (hardware et logiciel)

    Peut être réalisé par

    Le système de contrôle peut être varié, suivant les

    circonstances et nécessités

    Objet de ce cours

    14Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    15/31Université de Mons

    Un STR est un système multitâche

    Une tâche est une activité à réaliser (généralement sous

    contraintes) pour obtenir un sous-résultat du système global :

    mesure, acquisition, calcul, contrôle, etc

    Un STR est une collection de tâches généralement

    interdépendantes s’exécutant concurremment.

    Le code d’une tâche doit correspondre à un bloc modulaire

    d’instructions (programme, fonction, procédure).

    Chaque tâche a normalement son propre flot de contrôle à

    l’exécution (processus ou thread, le thread étant un processus

    léger).

    Chaque tâche peut communiquer et partager des ressources

    avec d’autres tâches du système.

    15Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    16/31Université de Mons

    La partie logicielle d'une application temps réel est un

    ensemble de tâches synchronisées, communicantes et

    partageant des ressources critiques.

    Un rôle essentiel d’un STR est donc de gérer l'enchaînement

    et la concurrence des exécutions des tâches, en optimisant

    l'occupation des unités de traitement: c’est la fonction de

    l’ordonnanceur.

    L’ordonnanceur

    16Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    17/31Université de Mons

    Organisation générale d’un OS TR

    Tâche

    Ordonnanceur

    Services deBase

    Noyau

    Noyau d’un système d’exploitation

    (kernel en anglais, de l'allemand kern):

    partie fondamentale de l’OS qui gère les

    ressources de l’ordinateur et permet aux

    différents composants - matériels et

    logiciels - de communiquer entre eux

    Le noyau fournit des mécanismes

    d’abstraction du matériel, notamment de

    la mémoire, du (ou des) processeur(s), et

    des échanges d’informations entre

    logiciels et périphériques matériels.

    17Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

    Tâches

  • 8/18/2019 Ch1 ITR Introduction

    18/31Université de Mons

    Conception de RTOS(Real Time Operating System)

    2 approches:

    Extension d’OS généraux par des fonctionnalités TR

    (notamment ordonnanceurs adaptés, timers)

    Ex.: Linux-rt , RTX Real-Time Extension for Windows

    OS spécialisés

    Noyaux rapides, petits et adaptés

    Ex.: QNX, VxWORKS

    Avantages pour les 2 approches

    extensions OS: compatibilité avec l’existant, terrain connu

    OS spécialisés: performance, adaptation aux besoins

    18Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

    http://fr.wikipedia.org/wiki/Linux-rthttp://www.qnx.com/http://www.windriver.com/products/vxworks/http://www.windriver.com/products/vxworks/http://www.qnx.com/http://fr.wikipedia.org/wiki/Linux-rt

  • 8/18/2019 Ch1 ITR Introduction

    19/31Université de Mons

    Extensions d’OS généralistes

    Linux-rt

    Hardware

    RT-Task RT-Task

    RT-Linux

    RT-Scheduler 

    Linuxdriver 

    scheduler 

    Task Task Task

    interrupts

    interrupts

    interrupts

    I/O

    19Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    20/31Université de Mons

    RT-OS spécialisés

    Hardware

    RT Kerneldrivers

    POSIX.4 scheduler 

    Task Task Task

    I/O, interrupts

    RT-TaskRT-Task

    20Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    21/31Université de Mons

    Tant que VRAI faire Acquisition des entrées (données capteurs, mesures…) [Read…]

    Calcul des ordres à envoyer [Compute…]

    Émission des ordres [Write…]

    modes de fonctionnement :

    cyclique ou cadencé (time driven) : itération toutes les x sévènementiel (event driven): attente d’un événement en début

    d’itération

    mixte : cyclique pouvant être perturbé par des évènements

    Fonctionnement simplifié des STR: boucle infinie

    22Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    22/31Université de Mons

    Fonctionnement cadencé

    23Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

    scrutation périodique d'une mémoire d'entrée ( polling)

     A chaque top d'horloge faire Lecture de la mémoire des entrées Calcul des ordres à envoyer au procédé Émission des ordres

    Système rigide

    => Oblige à prévoir toutes les réactions du système dans la boucleprincipale

    =>Nécessite souvent d’imbriquer des boucles de fréquences diverses, cequi complique les choses

    - Cadence rythmée sur le traitement le plus lent

    - Convient pour les systèmes de contrôles très simples

    + Pas de noyau temps réel à intégrer

  • 8/18/2019 Ch1 ITR Introduction

    23/31Université de Mons

    Activation du système à chaque événement ( notion

    d'interruption)

     while (1) {

     Attendre les évènements signalés parinterruption

     A chaque interruption faire {

    - Lecture de l'information arrivée

    - Activation du traitement correspondant

    - Émission des ordres issus du traitement}

    }

    Fonctionnement évènementiel

    24Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    24/31

    Université de Mons

    Que faire si une interruption survient alors que le système est en

    train de traiter une interruption précédente ?

    Notion de priorité des interruptions

    Notion de tâche associée à une ou plusieurs interruptions,éventuellement non interruptibles

    Mécanisme de préemption (réquisition du processeur) et de

    reprise de tâche au retour du « vol » du CPU

    Gestion de l'exécution concurrente des tâches (ordonnancement),suivant une stratégie adaptée aux contraintes du STR

    Un système temps réel est un système multitâche conduit par les

    évènements (event driven)

    Fonctionnement évènementiel (2)

    25Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    25/31

    Université de Mons

    Caractéristiques nécessaires à un système T.R.

    Fiabilité (systèmes critiques)

    Prédictibilité (pour garantir le respect des contraintestemporelles)

    Préemptibilité des tâches (nécessaire pour la

    prédictibilité) Gestion évoluée des communications inter-tâches

    Prise en compte du non-déterminisme d’ordred’exécution des tâches. On considère souvent le

    «worst-case » (cas au pire) pour déterminer un tempsmaximal de réaction.

    26Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    26/31

    Université de Mons

    Fiabilité

    Un système T.R. est souvent un système critique (devant êtrevalide à presque 100%)

    approche-qualité par l’utilisation systématique deméthodologies rigoureuses pour la conception, réalisation,validation, évolution et maintenance des systèmes logiciels

    Méthodes de spécification (formelles ou semi-formelles)

    Utilisant des langages comme B, Z

    Méthodes de conception et de développement UML – Marte

    SART – DARTS (chapitre 2)

    27Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    27/31

    Université de Mons

    Prédictibilité

    Prédictibilité : qualité d’un système qui, à partir de la connaissance de son

    état présent, permet d’assurer la connaissance de son comportement dans le

    futur et garantit la maîtrise de son fonctionnement en cas de défaillance

    potentielle

    La prédictibilité doit permettre de déterminer à l'avance si un système va

    respecter ses contraintes temporelles. Elle nécessite La connaissance des

    paramètres liés aux calculs des activités et des défaillances potentielles

    Assurer qu’il n’y aura pas de défaillance

    Pouvoir estimer le temps de réponse au pire (Worst Case Excution Time, WCET )

    28Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    28/31

    Université de Mons

    Préemptibilité

    Préemptibilité: réquisition possible des ressources par une tâche

    Une tâche doit pouvoir être interrompue par une tâche de plus

    haute priorité

    retrait possible des ressources (processeur, mémoire) d’une tâche

    pour les affecter à une autre tâche (reprise ultérieure quand les

    circonstances le permettront)

    29Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    29/31

    Université de Mons

    Communications inter-tâches

    Les tâches concourent à contrôler/commander un

    environnement

    Elles interagissent entre elles (émission/réception designaux de synchronisation + informations)

    Besoin de:

    Prise en compte des délais de communication (latence et

    transfert)

    Assurer l’intégrité et la cohérence des données

    synchroniser

    30Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    30/31

    Université de Mons

    Non-déterminisme

    Le problème du non-déterminisme: imprévisibilité de l’ordre

    d’exécution de tâches dû à des séquences d ’actions

    interrompues par des évènements externes asynchrones,

    arrivant à des instants et dans un ordre imprévisibles.

    Cette imprévisibilité rend complexe la maîtrise du

    comportement du système (et donc le respect des contraintestemporelles).

    Ordonnancer strictement pour réduire le non-déterminisme

    31Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1

  • 8/18/2019 Ch1 ITR Introduction

    31/31

    Conclusion de l’introduction Informatique temps-réel = développement logiciel d’un système de

    contrôle-commande.

    Le STR est un composant d’un système plus complet, comprenantl’environnement à contrôler, et ses capteurs/actuateurs.

    Nécessite l’analyse des besoins (ce que doit faire le STR), et la définitiond’une architecture logicielle (sur base des fonctionnalités) et matérielle (surbase des contraintes).

    Nécessite l’ordonnancement, la synchronisation, la communication entre les

    tâches suivant les exigences temporelles de l’environnement à contrôler

    A la fois des notions d’automatique, d’électronique, d’informatique et dutraitement du signal… Belle matière pour les Elecs, mais aussi pour les IG etInfo!

    Cfr Thalès Alstom Multitel TCTS et d’autres acteurs locaux!