1. Concepts de base : c’est quoi un système temps réel.
Présentation, définitions
• "En informatique temps réel, le comportement correct d’un système dépend, non seulement des résultats logiques des traitements, mais aussi du temps auquel les résultats sont produits" [STA 88].
• Objectifs :
va répondre aux exigences temporelles.
• Un système temps réel n’est pas un système "qui va vite" mais un système qui satisfait à des contraintes temporelles.
• Classement des systèmes temps réel selon leur environnement.
• Systèmes embarqués, ou Embedded systems, ou systèmes enfouis : systèmes informatiques dans lequel le processeur/calculateur est englobé dans un système plus large et/ou que le logiciel est entièrement dédié à une application donnée. (ex : une sonde spatiale, un téléphone mobile).
• Systèmes répartis : "Un système réparti est un ensemble de machines autonomes connectées par un réseau, et équipées d’un logiciel dédié à la coordination des activités du système ainsi qu’au partage de ses ressources." Coulouris et al. [COU 94].
• Système réparti temps réel pour des raisons de :
Présentation, définitions
• "En informatique temps réel, le comportement correct d’un système dépend, non seulement des résultats logiques des traitements, mais aussi du temps auquel les résultats sont produits" [STA 88].
• Objectifs :
- Déterminisme logique : les mêmes entrées appliquées au système produisent les mêmes résultats.
- Déterminisme temporel : respect des contraintes temporelles (ex : échéance).
- Fiabilité : le système répond à des contraintes de disponibilité (fiabilité du logiciel et du matériel).
va répondre aux exigences temporelles.
• Un système temps réel n’est pas un système "qui va vite" mais un système qui satisfait à des contraintes temporelles.
Exemples de grandeur [DOR 91, DEM 99] :
- La milliseconde pour les systèmes radar.
- La seconde pour les systèmes de visualisation humain.
- Quelques heures pour le contrôle de production impliquant des réactions chimiques.
- 24 heures pour les prévisions météo.
- Plusieurs mois ou années pour les systèmes de navigation de sonde spatiale.
Classement des systèmes temps réel selon le respect des contraintes temporelles :
- Respect des contraintes déterministes, probabilistes ou “best effort”.
- Systèmes temps réel dur ou critique.
- Systèmes temps réel mou ou souple.
- Systèmes temps réel ouvert ou fermé.
• Classement des systèmes temps réel selon leur environnement.
• Systèmes embarqués, ou Embedded systems, ou systèmes enfouis : systèmes informatiques dans lequel le processeur/calculateur est englobé dans un système plus large et/ou que le logiciel est entièrement dédié à une application donnée. (ex : une sonde spatiale, un téléphone mobile).
• Systèmes répartis : "Un système réparti est un ensemble de machines autonomes connectées par un réseau, et équipées d’un logiciel dédié à la coordination des activités du système ainsi qu’au partage de ses ressources." Coulouris et al. [COU 94].
• Système réparti temps réel pour des raisons de :
- Fiabilité (redondance).
- Contraintes physiques.
- Partage des données, périphériques, ...
• Problèmes liés aux systèmes embarqués :
- Intervention humaine directe difficile voire impossible.
• Problèmes liés aux systèmes répartis :
- Localisation des ressources (programmes, périphériques, processeurs, ...).
- Hétérogénéité (matériel et logiciel).
- Performance (recouvrement des communications, prédictibilité).
Exemples de systèmes temps réel
• Préface d’un livre sur le temps réel souple : "This book is about real-world programming ... So real-world programs (and real-world programmers) are all around us. What characterizes all of these real-world applications is a critical dependence on time." [GAL 95]- Transports : métro, aéronautique (avions, satellites, spacial), trains, automobile, ...
- Multimédias : décodeurs numériques openTV, décodeurs TNT, MPEG, jeux vidéo. films d’animation.
- Services téléphoniques : téléphone mobile, auto-commutateur.
- Supervision médicale, écologique.
- Système de production industriel : centrale nucléaire, chaîne de montage, usine chimique.
- Robotique (ex : PathFinder).
- etc...
2. Exemple d’un système temps réel critique : un système automobile.
Exemple de l’automobile
Architecture:- Matériel et logiciel dédiés : ECU = Electronic Control Unit (processeur). CAN = Controller Area Network (réseau). Système d’exploitation OSEK-VDX.
- Système fermé, validé a priori.
- Utilisation de redondance matérielle et logicielle et de matériel dont le coût/fiabilité est élevé (sauf automobile).
Exigences des systèmes temps réel critiques :
- Contraintes temporelles : temps de réponse, échéance, date d’exécution au plus tôt, cadence, etc.
- Dimensionnement au pire cas et réservation des ressources.
Exemple de l’ESP (Electronic Stability Program) :
- Capteurs concernés : volant, roues.
- Actionneurs : injection moteur, frein.
- Contrainte : réaction sur les freins et l’injection suite à un coup de volant brusque en moins de 150 milliseconde =)temps de réponse 150 ms.
• Système d’exploitation : couche logicielle qui gère les périphériques et founit une interface simplifiée avec le matériel [TAN 01].
• Objectif :
- Partager les ressources équitablement.
- Abstraire le matériel et donc faciliter son utilisation.
- Adapté à tous les types d’applications.
• Systèmes d’exploitation pour applications non temps réel : Windows, Linux, Mac-OS.
• Système d’exploitation pour le temps réel :
- Très nombreux systèmes : un système d’exploitation pour un domaine applicatif, voire une application.
- Souvent simple, déterministe, de faible envergure, configurable.
• Compilation croisée :
3. Exemple d’un système temps réel non critique : une application multimédias.
Exemple de Msn sur Internet
• Architecture :
- Plate-forme généraliste. Déterminisme temporel faible à cause du matériel et du logiciel : PC + windows + Internet.
- Application interactive.
- Débits variables et difficiles à estimer hors ligne (codage des informations).
• Exigences pour cette application multimédia (qui est un système temps réel non critique) :
- Contraintes temporelles différentes : synchronisations intra et inter-flux, latence de bout en bout, ...
- Système ouvert, impossible de valider a priori.
- Impossible de réserver les ressources ou d’analyser les besoins : on fait au mieux ("best-effort").
- Besoin en matériel quasi-infini !
• Exemples de contraintes :
1. Contraintes spaciales :
- Audio qualité voie téléphonique : 64 Kbits/s
- Audio qualité CD : 1,4 Mbits/s
- Vidéo MPEG 2 CBR : 2 Mbits/s (cf. TV numérique)
2. Contraintes temporelles :
- Intra-flux vidéo : cadence de 40 ms (Europe, PAL/SECAM) ou 33 ms (USA, NTSC)
- Voix-lèvres (inter-flux) : variation de +/- 80 ms maximum (gigue)
- Téléphonie : délais de bout en bout 250 ms
4. Résumé
Systèmes temps réel : systèmes informatiques contraints par le temps. De très nombreux systèmes informatiques sont temps réel.
Systèmes temps réel critiques et non critiques.
Systèmes temps réel critiques :
- Conséquences tragiques (vies humaines, faillites économiques). en cas de non respect des contraintes temporelles.
- Logiciels, matériels spécifiques.
Systèmes temps réel non critiques :
- Conséquences mineures en cas de non respect des contraintes temporelles (ex: application multimédias).
- Logiciel et matériel généralistes.