Introduction aux Systèmes Temps Réel - STR -...

43
M. Koudil 2005/2006 Asma BENMESSAOUD Université M’hamed Bougara Boumerdes (UMBB) Email: [email protected] Introduction aux Systèmes Temps Réel - STR -

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

Chapitre 1:

Les systèmes temps réels

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

1.Introduction

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

2. Les Systèmes classiques

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

4. Classification

des systèmes

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

5. Notion de temps

dans un système

temps réel

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

6. Classification

des Systèmes

temps réels

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, …