Cours Systemes Temps Reel 2015 PDF
Cours Systemes Temps Reel 2015 PDF
Cours Systemes Temps Reel 2015 PDF
E-mail :lassaad.tayari@isetn.rnu.tn
SUPPORT DE COURS
SYSTEMES TEMPS REEL
Elaboré par :
TAYARI LASSAAD
MAITRE TECHNOLOGUE A ISET GABES
E-mail :lassaad.tayari@isetn.rnu.tn
Cours d’STR Informatique Industrielle Sommaire
SOMMAIRE
Sommaire 1
Chapitre 1 INTRODUCTION AUX SYSTEMES TEMPS REEL 3
I- Rappel à la notion de multitâches 3
a- Définition de multitâche 3
b- La notion de processus 3
c- Les appels systèmes 4
d- La communication et la synchronisation 4
II Les spécification temps réel 8
a- Définition 8
b- Système informatique 9
c- Procédé a commander 9
d- Les contraintes temps réel 10
e- Le facteur temps 11
Chapitre 3 LA SPECIFICATION 18
I- Aspect fonctionnel 18
1- Introduction 18
2- Exemple 19
3- Diagramme de flots de données 22
4- Les règles de formation et d'interprétation d'un DFD 24
5- La spécification de processus 26
Pointeur de Pointeur de
données programme
Zone Zone
données programme
Pointeur de pile
Zone de pile
D- La communication et la synchronisation:
En environnement multitâches, les processus coopèrent en vue de la réalisation d'une activité
commune.
On distingue deux sortent de coopérations:
La coopération temporelle: fait intervenir les notions de blocage et de déblocage de
processus. (Synchronisation)
La coopération spatiale: se rapporte à l'échange d'information entre processus.
(Communication)
1. La synchronisation:
La multitâche pose le problème de la gestion des relations entre l'ensemble des processus qui
communiquent avec le système informatique pour obtenir une cohérence maximale des
informations par rapport au temps.
On distingue 4 (quatre) catégories de relations entre les processus:
Les processus indépendants.
Les processus ayant accès à des ressources communes.
Les processus liés.
Les processus à contrainte de temps/ (urgence de traitement).
Dans le cas des processus ayant accès à des ressources communes, on doit prévoir des
mécanismes pour assurer le partage de ses derniers.
Solution:
- les sémaphores
- les événements (signaux)
- les rendez-vous
2. La communication:
Il y a plusieurs méthodes de communication de données entre tâches. Les plus courantes sont
:
- les boîtes à lettres (messages)
- les files d'attentes
E- Ordonnancement des ressources:
Le déroulement des processus temps réel est dépendant des événements externes à
l'ordinateur. Plusieurs tâches peuvent se trouver en concurrence pour l'octroi de l'unité
?
Processus ELU
SELECTION DEBLOCAGE
INEXISTANT
1 HORS
2 SERVICE
14 4 3 7
13
En Attente 11
Eligible
12
de
6 5
15 Ressource
8
En Attente
9
de Délai Elu
16 10
En Attente
événement
Environnement
Action
SYSTEME PROCEDE A
Information
INFORMATIQUE sur état COMMANDER
(événement)
On ne peut parler d'un système temps réel (STR), que si on a un système informatique
et un procédé à commander.
Un système temps réel est composé d'un système informatique et d'un procédé à
commander. Ce système informatique doit répondre dans un temps garanti aux événements
en provenance du procédé. Donc le système informatique est asservi à l'évolution dynamique
du procédé à commander.
ETAT1
événement 1
action 1
ETA2
b- Système informatique :
Généralement le système informatique est un système multitâche. Plusieurs solutions
sont envisageables:
* PC+[ (NTR) ou Carte NTR ]
* UNIX + NTR (Noyau temps réel)
Exemple: NTR ou A6RMTR ou PSOS ou Vxworks
* Système d'exploitation temps réel:
Exemple: OS9
c- Procédés à commander:
* Moteur : Axe d'un robot
* Robot: N Axes à commander
* Four électrique
* Avion
* Militaire (guidage de missile ... etc.)
* Télécommunication (Gestion des engorgements ... etc.)
Exemple:
Soit un système embarqué à bord d'avion, qui a pour but de fournir la position
instantanée de celui-ci, par rapport à un point de référence, en fonction des différents
paramètres d'entrées à partir d'un certain nombre de capteurs.
Le temps de traitement global est le temps mis pour:
- acquérir: toutes les données fournies par les capteurs
- traiter: ces données
- fournir: un résultat.
On peut ainsi décomposer ces trois traitements en trois tâches distinctes et indépendantes.
Communication
Communication
TACHE2 TACHE3
Interruption TACHE1-TACHE2 TACHE 2
TACHE 1 TACHE 3
périphérique
Donc :
La définition d'une application temps réel est caractérisée avant tout par la
synchronisation entre le traitement de l'information et la génération de données issues du
monde extérieur.
Un programme temps réel fonctionne donc sous contrôle des sollicitations du monde
extérieur, par opposition à un programme classique linéaire qui commande les flots de
données en entrée et/ou en sortie.
e- Le facteur temps:
1- La validité des informations dans le temps:
Le domaine de fonctionnement en temps réel des ordinateurs recouvre différentes
applications (commandes de processus ... etc.).
Certaines informations ne sont valables qu’à l’ instant où elles sont fournies, ou durant un
laps de temps déterminé. Ces informations n'ont d'utilité que lorsqu'elles sont vraies et se
dégradent dans le temps. Dans un système temps réel, il faudra les exploiter durant leurs
périodes de validité.
Pour fournir une réponse, un système doit reconnaître, traiter et sortir un résultat. Le temps
de réponse TR est le suivant.
TR = Tcalcul + TE/S
Arrivée d'une
interruption Traitement de
l'interruption
TACHE A TACHE A
DELAI URGENCE
URGENCE ET DELAI
Du côté processeur:
Temps total de traitement = (Temps de chaque instruction) + temps associés aux interruptions
t2 tn
t3
Chapitre2
I/ INTRODUCTION
L'environnement temps réel est tout outil se rattachant à la mise en oeuvre d'une
application temps réel. Ces outils découvrent les différentes étapes par lesquels passe
l'opération de développement d'un système temps réel (ou tout logiciel en général).
En effet on trouve des outils pour la spécification, la conception et le codage.
Ces différentes étapes sont à l'issu des travaux de modélisation du processus de
développement d'application informatique. C'est le génie logiciel.
II/ LE GENIE LOGICIEL ET LE TEMPS REEL
1/ Le génie logiciel (définition)
"Le génie logiciel est l'ensemble de méthodes, outils et techniques, dont l'application
permet un processus de réalisation de produits logiciels et de qualité industrielle. Cette
réalisation doit répondre à des impératifs de délais, coûts, qualité, fiabilité et réutilisabilité
malgré des difficultés inhérentes à la complexité du problème de l'environnement"
A.DORSEUIL et P.PILLOT.
2/ Cycle de vie d'un système:
La vie de tout système informatisé peut être décomposée en trois stades:
L'expression du besoin auquel il doit répondre (cahier des charges).
son développement (spécification, conception, codage, intégration et test).
son exploitation et sa maintenance.
L'ensemble de ces trois stades constitue le cycle de vie d'un système.
1. Expression des besoins:
Cette étape se décompose en deux opérations :
- l'identification des besoins.
- L'étude de faisabilité du système.
L'identification des besoins se manifeste par la forme de dialogue entre un demandeur et
un réalisateur pour fixer un contrat de travail. Dans ce contrat on trouve toutes les
Intégration:
C'est la phase de l'unification du logiciel et du prototype matériel, en présence du processus
à conduire.
La validation:
La validation d'un système consiste à établir qu'il est conforme aux besoins exprimés par le
demandeur.
Spécification
système
VALIDATION Tests d’intégration
système
Spécification
logiciel/performance VALIDATION Tests de
performance
Spécification
Validation
Conception VERIFICATION
préliminaire Tests d’intégration
Conception Réalisation
Conception Tests unitaires
détaillée
Codage
programmation [CALVEZ]
TAYARI Lassaad Page 16 ISET DE GABES
STR L'environnemenent temps réel
"cycle en cascade"
Conception
détaillée du
logiciel
Expression
du besoin
Spécification
Conception système Conception
détaillée du détaillée du
logiciel matériel
Système
final
Validation
système
Construction Construction
du logiciel du matériel
Système intégré
Logiciel de Prototype
référence matériel
Intégration
système
Axe de symétrie
[PEREZ]
Chapitre3
LA SPECIFICATION
I/ ASPECT FONCTIONNEL:
1- Introduction:
L'aspect fonctionnel d'un STR porte sur:
les fonctionnalités que le système doit satisfaire
les informations qu'il doit traiter au niveau logique. Cette étape ne doit pas tenir
compte de la manière de réalisation.
Le modèle fonctionnel prend en considération:
Les données porteuses de traitement
- leur provenance
- leur destination
- leur stockage intermédiaire
Les transformations qu'elles subissent.
Le SA (Structered Analysis ) permet de modéliser, de façon statique, l'activité d'un système
sous forme de flots de données circulant entre les processus.
Un outil de modélisation de l'aspect fonctionnel d'un système doit permettre de:
représenter le travail de transformation que le système opère sur les données
spécifier les processus qui transforment les données.
nom d
e l’acq
uisitio
n
Opérateur dem
and
Imprimante
e
co
mp
te ion
ren ac qu is it
du EXPLOITER el ’
ort d
rapp co
u rb
m ent acquisition ed
arge
e de ch oc
um
d
man en
c om e tée
u rd
e
t ce
d ica sen
Système In pré Ecran
d’acquisition i sitio
n graphique
cqu
d’a
ie r
fich
commande de
chargement données de l’acquisition
OBTENIR
OBTENIR EXTRAIRE
données mesures brutes IDENTIFIER
données
nom de acquisistion acquisition
acquisistion 3.0
l’acquisition
1.0 4.0
1.0
mesures brutes
caractéristiques de demande
l’acquisition d’impression
mesures réelles
IMPRIMER
rapport
6.2
CALCULER
résultats
6.1 rapport de
l’acquisition
resultats
demande de
caractéristiques de visualisation
dimensions écran
l’acquisition
FORMATER
cartouche écran
7.1
cart
ouc
he éc
mesures réelle ran
dimension fenêtre
e
urb courbe
co documentée
PRODUIRE
CALCULER courbe
maximum
7.2
7.3
demande de
mesure réelle maxi visualisation
Rapport de boîtier
l'acquisition
indicateur de présence énergie brute
Une flèche simple indique qu'il s'agit d'un flot de données discrets dans le temps. Ce flot
de données a un nombre de valeurs limitées et il est définis en des points isolés du temps, et
indéfinis en dehors de ses points.
Exemple: le code d'une carte DAB n'est valable que si la carte est insérée dans le lecteur.
Une flèche double indique qu'il s'agit d'un flot de données continu. Ce flot de données a
des valeurs définies en tout point du temps.
Exemple: température livrée par un capteur.
3.2- Processus:
Définition: un processus est une unité d'activité réalisée par le système, qui
change un ou plusieurs flots de données entrants en un ou plusieurs flots de données
sortants. Un processus accepte, stocke et/ou produit des flots de données.
Présentation: un cercle entourant L'identificateur du processus et un numéro
de référence. L'identificateur du processus décrit la transformation opérée à l'aide d'un
verbe d'action à l'infinitif, suivi, éventuellement, d'un complément d'objet direct, qui
concerne la donnée sur laquelle porte la transformation. La référence numérique traduit la
place du processus dans une décomposition hiérarchique.
TAYARI Lassaad Page 21 ISET DE GABES
Cours d’STR La spécification
Exemple:
bouchon
énergie perdue
CONTROLER
énergie énergie énergie de contrôle
brute 3.3
3.3- Stockage de donnée:
Définition: un stockage de donnée est un regroupement de données, ou une
donnée primitive, maintenu disponible et qui peut être utilisé par tout processus. Son
contenu n'est pas changé par un processus qui y lit, il n'est modifié que par un processus qui
y écrit.
Représentation: deux lignes parallèles encadrant l'identificateur de la donnée
stockée. Cet identificateur doit être composé de la même manière que celui d'un flot.
Exemples:
opérateur table
traçante
écran robot
A
3.2
B
3.1 C
3.3
A
B C
3.1.2
3.1.1
3.1.3
Repérage des niveaux et des processus: Chaque niveau porte le nom et le numéro du
processus parent qu'il décompose. Chaque processus du DFD d'un niveau, possède une
référence numérique qui indique sa place dans la hiérarchie.
Processus primitif: Un processus est dit primitif s'il n'est plus décomposable.
MAINTENIR commande de
température
température
vanne
constante
5.4.3.1
Ce processus peut être spécifié de la façon suivante
soit Vv = tension de commande de la vanne
e= température consigne - température courante
pour un temps de réponse de 0.5 s
0 si e > -2
Vv= 3e + 6 si |e| 2
12 si e < 2
Chapitre4
L'ASPECT INFORMATIONNEL
(Dictionnaire de donnees)
I/ INTRODUCTION
L'aspect informationnel contient la spécification de toutes des données du modèle.
On distingue deus types de données:
les flots de données: constitués par des données composées et des données
primitives.
SYMBOLE SIGNIFICATION
= données composées de
+ regroupement sous ordre
[/] ou [!] Sélection, ou exclusif
{} Itération non bornée
n{}p Itération de n à p
n{},{}p Itération d'au moins, d'au plus p
n{}n Itération exacte de n
() Optionnel équivalent à {}1
"" Délimiteur d'expression littérale
** Délimiteur de commentaire
@ Clé d'accès
DFD
données
données Dictionnaire de
données
DD
Relation entre les composants d'un modèle
L'APSPECT EVENEMENTIEL
I- INTRODUCTION
L'aspect événementiel prend en considération :
Les conditions opératoires des processus, c'est à dire les événements qui les activent et
les désactivent.
La façon dont les événements influencent le comportement du système.
L'aspect événementiel est spécifique aux systèmes temps réel.
Un outil de modélisation de l'aspect événementiel d'un STR doit permettre de:
représenter les événements qui conditionnent l'état d'un système.
Spécifier la logique de contrôle qui produit les actions et les événements en
fonction d'événements en entrée et fait changer l'état du système.
AMPLIFIER
amplitude
REDUIRE
amplitude
A/I marche
A/I
SAISIR A/I CONTROLER
signal amplitude
signal signal
sonore seuil mini arrêt
atteint signal
signaux saisis seuils seuil maxi D
normal
atteint
DETECTER signal
seuil
RESTITUER sonore
signal réstitué
Schéma pr éliminair e de Régulat ion d’amplit ude d’un signal sonor e
CONTROLER
Pièce Usinage
présente Présence pièce permis
1.1
2- stockage événement:
Définition:
Un stockage événement est une mémorisation d'un ou plusieurs flots événement.
Représentation:
Il est représenté par deux lignes parallèles en pointillé, encadrant L'identificateur des
événements stockés.
Exemple:
Ticket disponible Etat des postes
Remarque: Un stockage événements peut recevoir directement des flots événements
en provenance de l'environnement sans qu'ils soient produits par des transformations
EXEMPLE:
sup
por
t pr robot libre
ète
Pièces présentes
CONTROLER
assemblage
as
t po sem
t prè ssi bla
p osan ble g e
com
Transformation
de données
Transformation A/I/D interdit interdit
A/I/D
de contrôle
Stockage de interdit interdit interdit interdit
données
Stockage interdit interdit interdit interdit
événements
Bord interdit interdit
Etat courant
condition
action
Etat suivant
REPOS
marche . arrêrt .
modèle
d’environnement spécification des liste des
temps de réponce évènements externes
schéma de contexte
données évènements
modèle de
comportement Relat ions ent r e les composant s du modèle de
spécificat ion
Une gâche électrique est débloquée par envoie d'une tension et se rebloque dès que cette
tension cesse; un certain délai est laissé pour l'ouverture de la porte.
Exigences temporelles
Passage de haut à bas carte détectée début de commande déblocage 1.5 s maxi, pour une
du signal carte vitesse minimale de
présente carte de 10 cm/s
0.57 s mini, pour une
vitesse maximale de
carte de 150 cm/s
délai écoulée fin de commande déblocage 0.5 s maxi
Travail demandé:
1- donnez le diagramme de contexte
2- donnez le schéma préliminaire
3- détaillez la spécification des processus
4- donnez le dictionnaire de données
5- donnez la spécification de contrôle
SOLUTION POSSIBLE:
ente
prés
carte
COMMANDER commande
lecteur de carte top d’horloge
déblocage
ouverture gâche électrique
magnétique
de porte
impu
lsion
impul
sion
commande
CONSTITUER DEBLOQUER déblocage
trame gâche
3.0 5.0
top d’horlage A/I
EFFACER A/I
LIMITER
trame délai écoulé
D CONTROLER déblocage
7.0 ouverture de 6.0
D
D porte
carte
code 1.0 libérée
valide carte
trame
VALIDER détéctée délai de garde
code code D
erroné TESTER
4.0 presence carte
2.0
code référence
carte présente
DICTIONNAIRE DE DONNEES
bit = [0|1]
bit parité = [0|1]
* parité impaire*
caractère contrôle = bit parité + caractère numérique
caractère numérique = 4{bit]4
* type:caractère, intervalle : '0'-'9', codage BCD*
carte détectée = *événement traduisant l'introduction d'une carte dans le lecteur*
carte présente = *signal externe, en provenance du lecteur *
* début: passage d'un front haut à un front bas,
fin : passage de front inverse*
carte retirée = * événement signalant le retrait d'une carte introduite dans le lecteur, déduit
la carte présente *
SPECIFICATION DE CONTROLE
départ
carte détecté
<A> CONSTITUER trame
attente
délai écoulé
<D>EFFACER trame
<A> DEBLOQUER gâche
<D> LIMITER déblocage
déblocage gâche
EN COURS DE PREPARATION
STR L'apspect évènementiel
BIBLIOGRAPHIE