Introduction aux Systèmes Temps Réel - STR -...
-
Upload
hoangthien -
Category
Documents
-
view
212 -
download
0
Transcript of Introduction aux Systèmes Temps Réel - STR -...
M. Koudil – 2005/2006
Asma BENMESSAOUD
Université M’hamed BougaraBoumerdes (UMBB)
Email: [email protected]
Introduction aux Systèmes Temps
Réel
- STR -
M. Koudil – Laboratoire MCS – INI - 2005/2006
Plan
Chapitre 1: Les systèmes temps réels
1. Introduction
2. Les Systèmes classiques
3. Classification des systèmes
4. Notion de temps dans un système temps réel
5. Classification des Systèmes temps réels
6. Critères important pour la conception de systèmes temps réels
M. Koudil – Laboratoire MCS – INI - 2005/2006
Introduction
Exemples fournissant une définition intuitive d'un système temps réel:
Exemple 1 [Laplante 2004]:
Un avion utilise une séquence d'impulsions de l'accéléromètre pour déterminer sa position.
Exemple 2 [Laplante 2004]:
Une usine nucléaire exige une réponse rapide à des événements qui se produisent avec des débits irréguliers, tels qu'une faille de surchauffe au cœur du réacteur.
Exemple 3 [Laplante 2004]:
Un passager utilise une réservation sur une ligne aérienne pour prendre son billet pour un certain, qui part dans 5 minutes. L'agent de réservation introduit l'information appropriée dans l'ordinateur et quelques secondes plus tard une carte d'embarquement est produite.
Les trois exemples sont des systèmes temps réels: l’information doit être traitée dans un intervalle spécifique, sinon il y a un risque de défaillance du système [LAP 04].
M. Koudil – Laboratoire MCS – INI - 2005/2006
Les systèmes classiques
Définition d’un système classique:
Superposition d'un ensemble d'entrées sur un ensemble de sorties.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Classification des systèmes
Classification des différents types de systèmes.
Système
Transformationnel Réactif
Interactif Temps-réel
Souple Strict
M. Koudil – Laboratoire MCS – INI - 2005/2006
Classification des systèmes
Système transformationnel: produit des sorties en
fonction d'entrées selon un processus de calcul indépendant
de l'environnement.
Système réactif: produit des sorties en fonction d'entrées
et en réaction à des évènements produits par
l'environnement.
Système Interactif: réagit aux stimuli en entrée, à sa
vitesse propre.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Classification des systèmes
Définitions d’un système temps-réel
Système dont les entrées et les sorties sont soumises
à des contraintes temporelles en plus des contraintes
de correction fonctionnelles classiques.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Evènements synchrones:
Les événements synchrones sont ceux qui se
produisent à des instants prévisibles dans le flux de
contrôle [Laplante 2004].
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Evènements asynchrones:
Les événements asynchrones se produisent à des
points imprévisibles dans le flux de contrôle et sont
habituellement provoqués par des sources
extérieures [Laplante 2004].
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Exemples de contraintes temporelles:
Le programme d'un distributeur automatique de billets:
temps d'attente de quelques secondes acceptable pour que
l'argent soit délivré au client après qu'il ait validé son
opération de retrait.
Le contrôle d'un robot: exécute un programme de
contournement d'objet dans les 500ms qui suivent la
détection d'un obstacle.
Le système de contrôle d'une centrale nucléaire: délai de
2ms pour la prise en compte et le traitement (mise en route
du refroidissement, arrêt de la fission).
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Exemples de contraintes temporelles:
Contrainte minimale ou
maximale de fin
(Echéance ou deadline)
Contrainte entre la
production de deux sorties
Cadence de production des
sorties
Échéance min
Échéance max
E
S
Fenêtre autorisée
max
S1
S2
min
max
S
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Temps de réponse:
Temps séparant l‟arrivée des entrées (stimuli) dans
le système, de l‟instant de génération des sorties
(réponses).
Temps de réponse
Entrée (stimuli) Résultat (réponse)
Calcul (traitement)
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Echéance:
Contrainte de temps à laquelle doit au plus tard se produire un
événement.
Source: Paradinas (CNAM/CEDRIC)
Echéance
Délai (critique)
Tâche
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Comment sont définies les échéances ?
Les échéances sont fixées par les phénomènes
physiques de l‟environnement à contrôler.
Exemple:
En animation, la fréquence d‟affichage est d‟environ
25 images par seconde (vitesse de perception de l‟œil
humain).
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Périodicité des tâches temps réel:
Des événements qui se produisent à des intervalles
(ou périodes) réguliers sont dits périodiques.
Des événements apériodiques qui se produisent très
rarement sont nommés sporadiques.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Périodicité des tâches temps réel:
Cas idéal: une tâche périodique doit être exécutée toutes les m secondes
(son temps d'exécution reste inférieur à m).
Système non temps réel: un temps de latence apparaît avant l'exécution
effective de la tâche périodique.
Il varie fortement au cours du temps en fonction de la charge du système...
Système temps réel: ce temps de latence doit être borné et garanti
inférieur à une valeur fixe et connue à l'avance.
Dans le cas contraire, il y a un défaut de fonctionnement pouvant causer le crash
du système.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Périodicité des tâches temps réel:
temps
temps
temps
m m m
tâche tâche tâche tâche
Idéalement
Système
non
temps réel
Système
temps réel
tâche tâche tâche tâche
tâche tâche tâche tâche
startstart
start startTemps
de latence
start start start start
<n <n <n <n
Correct Correct CorrectIncorrect
start start start start
Source: inconnue
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Notion de système "défaillant" au sens large:
La défaillance au sens général peut être définie comme:
l„ « incapacité du système à s'exécuter selon ses spécifications »
[Laplante 2004].
Les spécifications du système doivent donc comporter:
Les critères de fonctionnement logique du système
Des contraintes temporelles précises.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Notion de système temporellement "défaillant" :
Exemple: dans le cas de la navette spatiale ou d'une usine nucléaire,
il est malheureusement évident lorsqu'une défaillance se produit
[LAP 04].
Pour d‟autres systèmes, la notion de défaillance est moins claire
exemple: distributeur automatique de banque [Laplante 2004].
Définition: Système temporellement défaillant
Un système temporellement défaillant est un système qui ne peut pas
satisfaire une ou plusieurs des contraintes temporelles fixées dans les
spécifications de ce système.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Nouvelles définitions d’un système temps-réel:
Système devant fournir des sorties logiquement correctes
tout en respectant des contraintes temporelles explicites.
Système dont le résultat dépend de l‟exactitude des calculs
ainsi que de l‟instant auquel sont produites les sorties.
Considéré comme défaillant s'il ne respecte pas l‟un des
deux types de contraintes (fonctionnelles ou temporelles).
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Nouvelles définitions d’un système temps-réel:
J. Stankovic (“Misconceptions of Real-Time Computing”,
1988 ): Système dont la validité dépend non seulement du
résultat logique du calcul, mais également du temps auquel
les résultats sont générés".
La validité d‟un résultat dépend de sa pertinence: le moment
où il est délivré.
Une réponse fonctionnellement correcte délivrée après
l'échéance rend le résultat incorrect.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Notion de temps dans un système temps-réel
Remarque sur la notion de temps dans les
systèmes temps réels:
Un système temps réel ne veut pas dire que les temps
de réponses sont plus courts que pour un système
classique ou qu‟il doit être plus rapide - c’est le
respect des contraintes temporelles qui important.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Classification des systèmes temps-réels
Systèmes à contraintes strictes ou critiques (hard,
critical) :
Système dont le non respect d'une contrainte
temporelle cause une erreur de fonctionnement, et
peut entraîner des conséquence catastrophiques sur
l’environnement contrôlé (perte de vies humaines,
destruction de matériel, impact financier important,
...).
M. Koudil – Laboratoire MCS – INI - 2005/2006
Classification des systèmes temps-réels
Exemples de systèmes à contraintes strictes:
Contrôle de processus industriels sensibles (régulation des
centrales nucléaires); systèmes embarqués (utilisés dans
l'automobile - système de freinage, suspension, etc.-
l'aéronautique, l'aérospatiale, les transports ferroviaires); la
bourse; la médecine assistée par ordinateur…
M. Koudil – Laboratoire MCS – INI - 2005/2006
Classification des systèmes temps-réels
Systèmes à contraintes Souples (Soft) :
Système dans lequel une défaillance ou un retard à
respecter des contraintes de temps de réponse entraîne une
dégradation de l'exécution mais n‟entraîne pas de
conséquence catastrophique sur l'environnement contrôlé.
Cette classe de systèmes est moins exigeante quant au
respect absolu de toutes les contraintes temporelles.
Une faible probabilité de ne pas respecter des limites
temporelles peut être tolérée.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Classification des systèmes temps-réels
Exemple de Systèmes à contraintes Souples:
Systèmes multimédia, télécommunications ou vidéo:
pour un système vidéo, si une image est affichée en
retard ou une trame de données transmises sur une
ligne téléphonique est perdue, cela ne remet pas en
cause le fonctionnement correct de l'ensemble du
système ...
M. Koudil – Laboratoire MCS – INI - 2005/2006
Classification des systèmes temps-réels
Systèmes à contraintes fermes (ferm) :
Système dans lequel le non respect d’un petit nombre de
contraintes ne mène pas à une défaillance totale, mais le
non respect de plusieurs contraintes temporelles peut
conduire à une défaillance complète et catastrophique du
système.
Les systèmes en temps réel fermes sont des systèmes avec
des contraintes dures où un certain nombre relativement
petit de contraintes non respectées peut être toléré.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Classification des systèmes temps-réels
Exemples Classification Explication
Guichet automatique Soft
Le non respect de nombreuses contraintes
temporelles ne mène pas à une défaillance
catastrophique, seules les performances sont
dégradées.
Contrôleur embarqué de
navigation pour un robot
autonome d'élimination de
mauvaises herbes
Ferme
Le non respect des contraintes critiques de
navigation rend le robot définitivement hors de
contrôle et endommage les cultures.
Système de mise à feu
d'armes en aéronautique dans
lequel l'appui un bouton met à
feu un missile air-air
Dur
Le non respect d‟une seule contrainte
temporelle (lancement d‟un missile en un
temps contraint après avoir appuyé sur le
bouton) peut conduire à manquer la cible, ce
qui peut provoquer une catastrophe.
Source: Laplante 2004 (Wiley and Sons).
Echantillon de systèmes durs, souples, et fermes
M. Koudil – Laboratoire MCS – INI - 2005/2006
Classification des systèmes temps-réels
Autres exemples de systèmes:
Système strict: système qui commande le mouvement vertical d'un
ascenseur. Le non respect d‟une contrainte pourrait stopper l‟ascenseur
entre deux étages, exigeant des procédures d‟urgence pour secourir les
occupants.
Système intermédiaire (ferme): système de communication qui perd,
de temps en temps, un paquet mais informe l'expéditeur.
Système souple: système qui compte le nombre de véhicules
parcourant un autoroute par unité de temps. Il peut rater une voiture
lors du comptage.
Système souple: système de téléphonie qui échoue parfois à établir une
connexion. L'utilisateur n'a qu'à recomposer le numéro.
Source: Shaw 2001 (Wiley Publishers).
M. Koudil – Laboratoire MCS – INI - 2005/2006
7. Critères importants
pour la conception
de systèmes temps réels
M. Koudil – Laboratoire MCS – INI - 2005/2006
Critères importants pour la conception de systèmes temps réels
Déterminisme logique
Le déterminisme logique : les mêmes entrées appliquées au
système doivent produire les mêmes effets.
Un système est déterministe si, pour chaque état possible et
chaque ensemble d'entrées, un ensemble unique de sorties et
le prochain état du système peuvent être déterminés.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Critères importants pour la conception de systèmes temps réels
Problèmes:
Il est difficile de concevoir des systèmes qui sont totalement
déterministes.
Il est également difficile de concevoir des systèmes qui sont
non déterministe. Raison: difficulté de concevoir des
générateurs de nombres totalement aléatoires.
Exemple de systèmes non déterministes: les jeux
de hasard.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Critères importants pour la conception de systèmes temps réels
Déterminisme temporel:
Une tâche donnée doit obligatoirement être exécutée dans les
délais impartis (échéance).
Si dans un système déterministe le temps de réponse pour
chaque ensemble de sorties est connu, alors, le système
présente un déterminisme temporel [Laplante 2004].
M. Koudil – Laboratoire MCS – INI - 2005/2006
Critères importants pour la conception de systèmes temps réels
Avantage du déterminisme logique:
Un système déterministe garantit qu‟il pourra répondre à tout
moment.
Avantage du déterminisme temporel:
L‟instant de réponse d‟un tel système est également connu.
M. Koudil – Laboratoire MCS – INI - 2005/2006
Critères importants pour la conception de systèmes temps réels
Définition du meilleur ordre pour l’exécution des
tâches:
Ordonnancement des calculs par des approches
d‟ordonnancement automatiques;
Vérification à priori des contraintes de temps:
(analyse) d'ordonnançabilité:
Prendre en compte la charge de travail, la
communication entre tâches, l‟arrivée des entrées, la
durée des traitements, …);
M. Koudil – Laboratoire MCS – INI - 2005/2006
Quelques environnements des systèmes temps réel
Les systèmes embarqués: 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).
Les 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].
M. Koudil – Laboratoire MCS – INI - 2005/2006
Quelques environnements des systèmes temps réel
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 de ressources
- Hétérogénéité (matériel et logiciel)
- Performance
- Peu de problèmes de synchronisation et de cohérence dans le
contexte Temps-Réel (ex: mise au point, e-mail, …)
- Autres: sécurité, maintenance, …