Introduction à l`informatique temps réel

publicité
Introduction à
l’informatique temps réel
Pierre-Yves Duval (cppm)
Ecole d’informatique temps réel - La Londes les Maures 7-11 Octobre 2002
-Définition et problématique
- Illustration par des exemples
-Automatisme: contrôle, supervision, pilotage
-Médecine
-Navigation aérienne
-Production automatisée
- Traitement du signal
- radar
- Base de données temps réel
- Multimédia
- Télécommunications
-Résumé et terminologie
1
Types de systèmes informatiques
Systèmes transformationnels (calcul scientifique, gestion de BD)
- les données sont disponibles au lancement
- les instants de productions des résultats ne sont pas contraints
Systèmes interactifs (systèmes transactionnels ou outils bureautiques)
- les résultats dépendent de données produites par l’environnement
- les instants de production respectent des valeurs statistiques
Systèmes réactifs ou temps réel
- résultats entièrement conditionnés par l’environnement connecté
- les instants de production dépendent de la dynamique du procédé
Définition
Groupe CNRS sur la problématique temps réel 1988
Le comportement d’un système informatique est qualifié de
« temps réel » lorsqu’il est assujetti à l’évolution d’un procédé qui lui
est connecté et qu’il doit piloter ou suivre en réagissant à tous ses
changements états.
2
Validité d’un programme TR
Outre la correction algorithmique le temps intervient dans la
validité du programme:
-le temps de réaction doit être adapté aux événements externes
-Le programme doit pouvoir fonctionner en continu en maintenant
sa capacité à traiter le flux de données d’entrée
-les temps de calculs sont connus (estimés) et peuvent être utilisés
dans une analyse de réactivité
Valider un système temps réel c’est démontrer rigoureusement que
le système a le comportement spécifié
Exemple: contrôle numérique
Régulation ou asservissement simple
Entrée de
Référence
r(t)
yk, rk sont les valeurs
échantillonnées
k=0,1,2,3 …
à la fréquence T fixe
qui dépend du procédé
et de la loi de contrôle.
A/D
A/D
rk
yk
Loi de contrôle uk
calcul
y(t)
Exemple:
capteur
procédé
Dans un contrôle de moteur
d’automobile on échantillonne
plus fréquemment l’angle de rotation du
vilebrequin toutes les 10-6 sec que la température du moteur toutes les 10 sec
D/A
u(t)
actionneur
3
Exemple: contrôle, supervision et
pilotage de système
interface
opérateurs
Ces systèmes recouvrent une gamme d’applications très large et
variée.
contrôle commande
et
pilotage
(multi-niveau)
Ces systèmes ont une
architecture hiéarchique
avec au moins 2 niveaux:
bas - interface physique
haut - guidage/planification
Interface physique
événements
mesures
commandes
procédé
Exemple: contrôle, supervision
de patients
Niveau bas : contrôle de pression sanguine, rythme respiratoire, taux de glucose …
Niveau haut: système expert qui inter-agit avec le personnel médical et sélectionne
le tableau d’états à lui afficher
niveau
période
Type exécution
bas
milliseconde à seconde
Déterministe (toujours le
même code)
haut
minutes ou heures
Variables (dépend de la
situation)
4
Exemple: Générateur cyclique
Dans le cas de contrôleurs numériques ou pour les couches basses d’un contrôle de
Patient on peut adopter une architecture logicielle très simple de type
générateur cyclique.
Principe:
Le corps du programme est une boucle permanente qui tourne à une fréquence dite
cycle de base et qui active des activités dont la fréquence est un multiple du cycle de base.
On utilise un seul signal attaché à l’horloge et l’application gère à la fois l’activation
des différentes activités et leur ordre exécution.
Architecture très légère facile à implanter sur un micro-contrôleur sans OS.
Exemple: Générateur cyclique
Chaque 1/180 éme de seconde faire
- Lecture/validation des capteurs sélectionnés, si défaut reconfiguration
- Chaque 6 cycles (30 Hz) tâches avionique
- lecture claviers, sélection du mode
- normalisation des données et transformation des coordonnées
- mise à jour des référence pour la trajectoire
- Chaque 6 cycles (30 Hz) calculs
- loi de contrôle phase 1 pour le contrôle de la dérive (glissement plan)
- loi de contrôle phase 1 du roulis (axe horizontal)
- loi de contrôle phase 1 du travers (axe vertical)
- loi de contrôle de coordination des 3 axes
- Chaque 2 cycles (90 Hz) en utilisant les résultats des 2 cycles précédents
- loi de contrôle phase 2 pour le contrôle de la dérive
- loi de contrôle phase 2 du roulis et coordination des 2 axes
- Calcul loi de contrôle globale du travers à partir des résultats du cycle à 90hz
- Sortie des commandes pour les actionneurs
- Faire les auto-tests
Attente du cycle suivant
5
Exemple: navigation aérienne
Interfaces opérateurs
sol
Capteurs à terre
Radars …
Niveau 2
Calculs
d’états
Données de
navigation
Niveau 1
Contrôle de
l’espace aérien
Calculs
d’états
Gestion du vol
Calculs
d’états
Niveau 0
Régulation du
vol
Capteurs
embarqués
avions
actionneurs
Exemple: contrôle de procédés
manufacturiers (usines)
Processus continus
Processus discontinus
modèle fonctionnel NBS
optimisation
supervision
automatisme réflexe
capteurs/actionneurs
National bureau of Standards
général
atelier
cellule
machine
équipement
Gestion des
flux
contrôle/
commande
6
Commande de cellule
Equipements moteurs
Machine 1
Machine 3
Machine 2
Exemple: contrôle de procédés
manufacturier
Planification
groupe
Architecture matérielle type:
Supervision/Gestion
d’atelier
Maintenance
GPAO
WAN
DB
groupe
Réseau local industriel
Contrôleur de
cellule
Réseau local industriel
DB infos
site
Contrôleur de
cellule
Réseau local industriel
Machine 1
Machine 2
Bus de terrain
Machine 3
Bus de terrain
7
Exemple: Traitement du signal
Le traitement du signal est utilisé pour:
- filtrage digital pour extraire l’information pertinente
- vidéo ou son pour compresser/décompresser
- traitement radar
L’application de traitement du signal type produit à chaque période échantillonnage une ou
plusieurs sorties qui sont des sommes pondérées de n entrées:
n
x(k) = ? a(k,i) y(i)
i=1
La complexité du calcul est au minimum en O(n) et est le plus souvent réalisé par des
processeurs spécialisés de type DSP.
Exemple: application radar
Mémoire partagée
Batterie de processeurs
de signaux
Échantillons/bins
trajectoires
Contrôle/états
DSP
Paramètres de
traitements
Processeur de
données
8
Exemple: bases de données
temps réel
Elles sont utilisées dans des domaines tels que:
-cotations financières
-gestion de trajectoires de mobiles
-fichiers temps réel
-gestion des états partagés de systèmes
La différence entre une base de données temps réel et une
base de données conventionnelle tient dans
la nature transitoire des informations qu’elle contient.
Elles sont destinées à contenir des « objets image » qui représentent
les états d’objets très dynamiques du monde réel
Exemple: base de données temps
réel
Définitions:
Cohérence temporelle absolue (absolute temporal consistency)
Un ensemble de données associées à un objet est dit « absolument cohérent en temps »
Si l’âge maximum de toute donnée de l’ensemble est inférieur à un seuil fixe.
Cohérence temporelle relative (relative temporal consistency)
Un ensemble de données associées à un objet est dit « relativement cohérent en temps»
Si la différence d’âge entre les donnée de l’ensemble est inférieur à un seuil fixe
9
Exemple: base de données temps
réel
Modèle de cohérence:
Dans l’implantations des bases de données temps réel on privilégiera
la rapidité sur la sécurité des données
(pas de commit en 2 phases pour sérialiser les mises à jour).
Ceci se justifie aussi par le fait que dans la plupart des cas il y a peu de concurrence en écriture
sur la même donnée.
Pour la lecture il faut faire attention au règles de causalités qui peuvent imposer que tous les
consommateurs aient une même perception dynamique d’évolution des objets
(essentiellement un problème en environnement de base de donnée répartie)
Exemple: base de données temps
réel
Exemple: spécification de quelques bases de données temps réel
(1996)
application
Taille
octets
temps de
réponse
moyen
temps de
réponse
maxi
cohérence
absolue
cohérence
relative
conservatio
n
Contrôle
du trafic
aérien
20000
0,5 ms
5 ms
3 sec
6 sec
12 heures
Mission
aérienne
3000
0,05ms
1 ms
0,05 sec
0,2 sec
4 heures
Mission
spatiale
5000
0,05ms
1 ms
0,20 sec
1 sec
25 ans
0,8ms
5 sec
1 sec
2 sec
24 heures
Contrôle de
procédé en
usine
10
Exemple: multimédia
Le stockage, la transmission et l’affichage de flux
vidéo, audio, image ou graphique ont des contraintes temporelles fortes
Cas de l’image:
Standard vidéo 30 images/sec (TVHD 60 images/sec), téléconférence 10 à 20
MPEG-2 débit en compression selon l’application de 1,5 à 35 Mbit/sec
MPEG-2 est un très gros consommateur de CPU (surtout en compression)
Cas du son:
De 16kbit/sec téléphone à 128kbit/sec son qualité CD
Dans un diffusion son/image la synchronisation des lèvres impose un décalage de moins de
80 msec entre les flux audio et vidéo.
L’oreilles est très sensible aux glitchs ou trous de quelques centaines de millisecondes.
Exemple: multimedia
Les applications multimédia ont donc des spécifications temporelles
fortes, particulièrement sur les applications inter-actives (TV en direct)
ou les compression, transmission et compression des deux flux
doivent respecter des contraintes de:
-délai de bout en bout
-régularité des flux
-synchronisation des flux
11
Résume sur les classes
d’applications temps réel
classe
caractéristiques
illustration
Purement cyclique
Les tâches s’exécutent
périodiquement
Les I/O sont scrutées
périodiquement
Les demandes en ressources
sont stables (varient peu)
Un contrôleur numérique
Un calcul de FFT sur un
échantillon de taille fixe
Majoritairement cyclique
Les tâches s’exécutent
périodiquement
Le système doit répondre à
quelques I/O événements
externes (commandes,
récupération d’erreur …)
Avionique
Contrôle de procédé
classe
caractéristiques
illustration
Asynchrones mais
partiellement prévisible
Les tâches sont non
périodiques
Leur durée exécution est très
variable
Les ressources consommées
sont variables d’une
exécution à l’autre
MAIS
Les variations sont bornées et
on a des informations
statistiques sur les variations
Multimédia
Poursuite dans les traitements
radar
Télécommunications
Acquisition de données HEP
Traitements de flux de
données (data flow)
Asynchrone et imprévisible
Chargée de réagir à des
événements asynchrones
Déclenchement de tâches de
haute complexité
Contrôleur très intelligent
12
Terminologie
Systèmes réactifs ou systèmes synchrones
Systèmes qui réagissent instantanément à des stimulations externes (le temps de la réaction
est négligeable vis-à-vis du rythme de stimulation, exemple jeux vidéo)
Systèmes cycliques
Systèmes dont tout le comportement n’est rythmé que par le temps sur la base d’une horloge.
Systèmes asynchrones
Systèmes dont le comportement est un mélange des deux précédents et dont le temps
D’exécution des tâches peut entraîner des délais dans la prise en compte événements.
Stimulé par des événements externes asynchrones et des horloges.
13
Téléchargement