Home » » Systèmes temps réel

Systèmes temps réel

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 :

  • 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).
=)Système prédictible : on cherche à déterminer a priori si le système
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
=)Contraintes temporelles très contextuelles (type de films, capacité de perception du spectateur).

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.
Fourni par Blogger.
أقسام المدونة :