You are on page 1of 43

Année Universitaire 2014-2015

Ministères de l’enseignement supérieur


Institut Supérieur des Etudes Technologiques de Gabès

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 2 L'ENVIRONNEMENT TEMPS REEL 14


I- Introduction 14
II- Le génie logiciel et le temps réel 14
1- Le génie logiciel (Définition) 14
2- Cycle de vie d'un système 14

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

TAYARI Lassaad Page 2 ISET DE GABES


Cours d’STR Informatique Industrielle Sommaire

Chapitre 4 L'ASPECT INFORMATIONNEL 28


I- Introduction 28
II- La spécification des données composées 29
III- La spécification des données primitives 30

Chapitre 5 L'ASPECT EVENEMENTIEL 31


I- Introduction 31
II- Les composantes de l'aspect évènementiel 31
III- La représentation de l'aspect évènementiel 32
IV- La représentation graphique 33
1-Transformation de contrôle 33
2- Stockage d'évènements 33
3- Les règles de formation d'un schéma de transformation 34
V- Spécification de la logique de contrôle 35
1- Les composants 35
2- Les règles de formation 36
3- Les règles d'interprétation 36
VI- Les composnats d'un modèle essentiel 37
VII- Exemple complet (Commande d'ouverture de porte) 39

Chapitre 6 ETUDE D’UN NOYAU TEMPS REEL 44


I- Présentation graphique 44
II- Liste des primitives du noyau 44
III- Le mode d'ordonnancement 46
IV- Détails des primitives 47

TAYARI Lassaad Page 3 ISET DE GABES


STR Introduction aux systèmes temps réel
Chapitre 1

INTRODUCTION AUX CONCEPTS TEMPS


REEL

I- RAPPEL A LA NOTION DE MULTITACHE:


I-1 Le principe de base
a- Définition de multitâche:
L'objectif principal de la notion de multitâche est d'exploiter le plus efficacement
possible toutes les ressources d'un système informatique.
Le système d'exploitation doit alors mettre en oeuvre les règles de possession et de partage
de ressources. Aussi, il doit définir les compétiteurs (processus) et les contrôler tout au long
de leurs exécutions. Donc, les programmes susceptibles de partager les différentes ressources
doivent être indépendantes les uns des autres. Une telle approche caractérise le multitâche.
b- La notion de processus:
Un processus est une entité dynamique qui met en oeuvre un ou plusieurs
programmes statiques en vue de la réalisation d'une activité donnée par un processeur. Un
processus est fonction du temps, il peut être créé, exécuté ou encore détruit. Un processus
comporte différentes zones, en général trois

Pointeur de Pointeur de
données programme
Zone Zone
données programme

Pointeur de pile

Zone de pile

TAYARI Lassaad Page 4 ISET DE GABES


STR Introduction aux systèmes temps réel
* Zone de programme: Contient les instructions du programme et certaines constantes.
Accessible en lecture seulement.
* Zone de pile: Permet de ranger des informations temporaires (variables locales, adresse de
retour de sous-programme, etc. ...). Accessible en lecture et écriture.
* Zone de données: contient les données variables et les données constantes ou initialisées.
Elle est accessible en écriture et en lecture.
Le contexte d'un processus est caractérisé par les valeurs des registres du microprocesseur, de
l'état des pointeurs des zones mémoire associées au processus (instruction, données, pile) et
des caractéristiques du processus. Parmi ces derniers, on trouve essentiellement:
 le nom du processus.
 La priorité, permettant de quantifier le degré d'urgence du processus. Cette priorité
permet de déterminer l'ordre de l'allocation du processeur lorsque plusieurs processus sont
en attente d'exécution.
 Un droit d'accès, spécifiant les ressources matérielles et logicielles accessibles par le
processus.
 Un identifiant de l'état instantané du processus (actif, en attente, bloqué)?
 Tous ce contexte attaché à un processus est mémorisé par le système dans un ordre fixé et
constitue le descripteur de processus.
C- Les appels systèmes:
Un appel système est un service élémentaire fournis par le système pour accomplir certaines
actions interdites en mode utilisateur.
En ce qui concerne la gestion des tâches, un minimum de cinq primitives sont généralement
mises en oeuvre:
 Créer_processus(): Elle retourne un identificateur de processus, ce qui permet d'identifier
le processus de manière exclusive.
 Détruire_processus(): permet de rendre un processus éligible (prêt) et peut-être même élu
selon sa priorité et celle du processus en cours.
 Désactiver_processus(): Consiste généralement à faire passer un processus à l'état hors-
service (bloqué)
 Terminer_processus(): Permet de s'assurer de la fin cohérente du processus.

TAYARI Lassaad Page 5 ISET DE GABES


STR Introduction aux systèmes temps réel

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é

TAYARI Lassaad Page 6 ISET DE GABES


STR Introduction aux systèmes temps réel
centrale. Ce conflit est levé en accordant à chaque tâche un niveau de priorité. Ainsi celle de
plus grande priorité est exécuté en premier.
3. L'ordonnanceur (scheduler)
L'ordonnanceur d'un environnement temps réel est le responsable de la gestion de l'allocation
du processeur. Chaque fois qu'une modification intervienne sur l'ensemble des tâches
actives, l'ordonnanceur sera invoqué. L'ordonnanceur a donc deux rôles essentiels:
* assurer la gestion des commutations de tâches de l'état bloqué à l'état éligible

?
Processus ELU

SELECTION DEBLOCAGE

(Dispatcher) DES PROCESSUS

Table des Table des Table des


processus processus événements
Eligibles Bloqués associés aux
processus
Bloqués
ROLE DE L'ORDONNENCEUR

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

ETAT DES PROCESSUS ET TRANSITIONS

TAYARI Lassaad Page 7 ISET DE GABES


STR Introduction aux systèmes temps réel
01- Création d'un processus fils par son père
02- Destruction d'un processus
03- Activation d'un processus
04- Désactivation d'un processus
05- Sélection d'un processus par le dispatcher
06- Réquisition d'un processus par le dispatcher
07- Fin d'exécution du processus en cours
08- blocage sur accès à une ressource non disponible
09- Blocage sur attente de fin de délai
10- Blocage sur occurrence d'un événement (asynchrone)
11- Activation d'un processus forcé d'attendre l'écoulement d'un délai
12- Activation d'un processus forcé d'attendre un événement
13- Activation d'un processus forcé d'attendre la libération d'une ressource
14- Activation d'un processus suite à la libération de la ressource attendue
15- Activation d'un processus suite à l'écoulement d'un délai
16- Activation d'un processus à l'occurrence d'un processus

I-2 Les spécificités temps réel:


a- Définition:

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.

TAYARI Lassaad Page 8 ISET DE GABES


STR Introduction aux systèmes temps réel
Un système temps réel est alors un système ayant des états finis et stables.

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.

TAYARI Lassaad Page 9 ISET DE GABES


STR Introduction aux systèmes temps réel
Si T1 = temps d'acquisition
T2 = temps de traitement
T3 = temps mis pour fournir le résultat
et Tlim = le temps limite à respecter.
Il faut donc que T1 + T2 + T3 < Tlim pour que notre système fonctionne en temps réel

Communication
Communication
TACHE2 TACHE3
Interruption TACHE1-TACHE2 TACHE 2
TACHE 1 TACHE 3
périphérique

Acquisition de Traitement de Stockage et


données données affichage de
RESULTAT
Temps =T1 Temps =T2
Temps =T3
Avec [ T1 + T2 + T3 <TEMPS LIMITE ]

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.

Exemple: * Scrutation sur une variable analogique.


* Information à durée de validité aléatoire (comptage des objets) passant
devant un détecteur.

TAYARI Lassaad Page 10 ISET DE GABES


STR Introduction aux systèmes temps réel
d- les contraintes temps réel:
Le fonctionnement en temps réel d'un système impose des contraintes sur le système
d'une manière générale et en particulier sur le matériel et sur les logiciels.
* Sur le système: Les contraintes regroupent tous les problèmes liés à la sécurité et à
la sûreté de fonctionnement et pouvant entraîner sa dégradation.
Il faut donc mémoriser l'effet de défaillance.
Exemple: chaîne de montage d'automobile:
L'arrêt d'une machine ne doit pas arrêter le fonctionnement de toute la chaîne de
production.
* Sur les logiciels:
Les logiciels temps réel, doivent permettre une mise en oeuvre de la gestion des
relations entre les processus par la mise à la disposition de langages adaptés et d'instructions
spécialisées à ces langages.
Donc, le problème des contraintes de temps consistent à pouvoir traiter l'information
suffisamment vite pour que l'action résultante ait un sens, tout en restant dans les limites de
fonctionnement normal de la machine.

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

2- L'urgence et les délais:


a- Définition:
 Le phénomène de délai est associé au temps de réponse.

TAYARI Lassaad Page 11 ISET DE GABES


STR Introduction aux systèmes temps réel
 Le phénomène d'urgence est lié à la rapidité de traitement.
b- Le traitement d'urgence:
L'urgence est le résultat de respecter le temps maximal autorisé pour réaliser un
traitement.
Dans un système temps réel, certains traitements ont besoin d'être effectués avant d'autres
par ce qu'ils sont plus urgents.
c- Le déterminisme = délai:
Le phénomène de délai (déterminisme) impose l'exécution d'un traitement dans un
temps maximal qu'on définit. Ce délai est déterminé en fonction du matériel (processeur)
utilisé et de l'exécutif temps réel (temps de commutation).

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

Donc le matériel est déterministe.


 Du côté exécutif temps réel:
Un exécutif est dit déterministe s'il est indépendant de la charge du système et si l'on
peut répondre le plus vite possible à une requête externe et la traiter dans un temps
maximum indépendant de l'environnement extérieur.
3- La préemption:
a- Définition:
La préemption est la réquisition du processus pour l'exécution d'une tâche et d'une
seule pendant un temps déterminé.
Donc la préemption est le fait de tenir compte du critère d'urgence du traitement.

TAYARI Lassaad Page 12 ISET DE GABES


STR Introduction aux systèmes temps réel
Conséquence: La préemption ne s'applique qu'à la tâche de la plus haute priorité.
t1 Tâche préemptive t1

t2 tn

t3

Multitâche Réquisition du Multitâche


processur pour
une tâche
(unique)

TAYARI Lassaad Page 13 ISET DE GABES


STR L'environnemenent temps réel

Chapitre2

L'ENVIRONNEMENT TEMPS REEL

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

TAYARI Lassaad Page 14 ISET DE GABES


STR L'environnemenent temps réel

informations qui concernent le projet (besoins fonctionnel et exigences de qualité et de


temps de livraison).
 L'étude de faisabilité porte sur les aspects économiques, techniques, normatifs et légaux
mis en jeu pour développer le système.

2. Développement d'un système:


Le développement d'un système comporte les phases de spécification, de conception, de
construction, d'intégration et de validation.
L'ensemble de ces phases porte le nom de cycle de développement d'un système. La
réalisation technologique va de sa conception à son intégration.
 La spécification:
La spécification d'un système est l'expression technique du besoin auquel il doit
répondre. C'est une description standard du comportement et de l'environnement du
système sans faire appel à des considérations informatiques.
Donc, la spécification a pour but de répondre à la question "que faire?"
 La conception:
La conception consiste à proposer une architecture informatique globale et une
façon à suivre pour la construction.
Donc, la conception a pour but de répondre à la question "comment faire?"
On distingue deux phases:
 La conception préliminaire: fournit l'architecture globale du système.
 La conception détaillée: fournit les détails à faire pour la partie logicielle et pour la
partie matérielle.
 La construction:
C'est l'application de la conception détaillée, elle se décompose en phases spécifiques au
logiciel et au matériel:
 Pour le logiciel : codage, tests unitaire et intégration.
 Pour le matériel: fabrication du prototype, test et mesure

 Intégration:
C'est la phase de l'unification du logiciel et du prototype matériel, en présence du processus
à conduire.

TAYARI Lassaad Page 15 ISET DE GABES


STR L'environnemenent temps réel

 La validation:
La validation d'un système consiste à établir qu'il est conforme aux besoins exprimés par le
demandeur.

Cycle de vie d'un système:


"Cycle en v"

Spécification Conception Test et évaluation Fonctionnement


Développement et maintenance t
Besoin Produit

Cahier des charges CERTIFICATION Evaluation et test


opérationnel

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

Cycle de développement en cascade

[PEREZ]

TAYARI Lassaad Page 17 ISET DE GABES


Cours d’STR La spécification

Chapitre3

LA SPECIFICATION

La spécification d'un STR consiste en la modélisation de ses aspects fonctionnels,


informationnel et événementiel.

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.

TAYARI Lassaad Page 18 ISET DE GABES


Cours d’STR La spécification

2- Exemple: (Exploitation de mesures acquises)

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

Diagramme de contexte d’une exploitation de mesure

indicateur de presence fichier d’acquisition

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

compte rendu caractérisiques de l’acquisitiont


CONVERTIR
mesures
5.0 PRODUIRE
n rapport rapport de
sio
demande pres l’acquisition
’im 6.0
ed
a nd
m
de mesures réelles
SAISIR
demande opérateur VISUALISER
courbe
2.0
demande de visualisation 7.0 courbe documentée

DFD préliminaire d’une exploitation de mesures

TAYARI Lassaad Page 19 ISET DE GABES


Cours d’STR La spécification

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

DFD de PRODUIRE rapport

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

DFD de VISUALISER courbe

TAYARI Lassaad Page 20 ISET DE GABES


Cours d’STR La spécification
3- Digrammes de flots de données: DFD
un DFD est un réseau de processus et de stocks de données connectés par des flots
de données.
3.1- Flots de données:
Définition: un flot de donnée indique le chemin suivi par une donnée qui
circule entre des transformations. Il peut être constitué d'une donnée simple, dite primitive,
ou d'un groupement de données.
Représentation: une flèche simple ou double étiquetée avec L'identificateur
de la donnée. L'identificateur de la donnée ne doit impliquer aucun traitement, il ne
comporte que des noms et des adjectifs.
Exemples:

Rapport de boîtier
l'acquisition
indicateur de présence énergie brute

vitesse signal sonore

 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:

mesure brute boîtie


r
CONVERTIR BOUCHER
mesure mesure boîtier boîtier
1.0 réelle 2.1 bouché

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:

seuil de température mesures réelles

3.4- Bord de modèle:


Définition: un bord du modèle représente une entité située dans
l'environnement externe au système, qui constitue la source ou la destination des flots de
données échangés entre le système et son environnement. Il peut être un périphérique, une
partie opérative, une personne ou un autre système.
Représentation: un rectangle entourant L'identificateur du bord.
L'identificateur d'un bord est composé de noms qui indiquent le rôle qu'il joue ou la place
qu'il tient, par rapport au système.
Exemple:

opérateur table
traçante

écran robot

TAYARI Lassaad Page 22 ISET DE GABES


Cours d’STR La spécification
4- LES REGLES DE FORMATION ET D'INTERPRETATION D'UN DFD
4.1- Connexions possibles
de vers processus stockage bord
processus X X X
stockage X
bord X
4.2- La hiérarchisation du modèle fonctionnel
Pour réduire la complexité d'un système en phase de modélisation on
opte à en hiérarchiser le modèle, de façon descendante, par niveaux de détail croissant, et
de complexité suffisamment limité pour pouvoir être facilement assimilable. (Voir exemple ).
Diagramme de contexte: Le diagramme de contexte est le sommet de la
hiérarchie. C'est un diagramme très abstrait qui représente le système à modéliser. Il ne
contient qu'un processus dont le nom traduit la fonction d'usage du système. Il est le seul
diagramme dans lequel sont représentées les interfaces entre le système et l'environnement
(les bords).
Niveaux de décomposition: Un DFD de premier niveau, appelé diagramme
préliminaire, fait la décomposition des systèmes qui correspondent aux fonctions principales
du système et à leurs interfaces.
Chaque sous système est considéré à son tour comme système et il est décomposé
itérativement en sous systèmes.
La décomposition d'un processus s'accompagne de celle du contexte qui lui est associé,
c'est-à-dire des flots des données qui y entrent et qui en sortent.

A
3.2
B

3.1 C
3.3

A
B C
3.1.2

3.1.1
3.1.3

Hiérarchie Abstraction et masquage d’information

TAYARI Lassaad Page 23 ISET DE GABES


Cours d’STR La spécification

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.

4.3- Abstraction et masquage


Le DFD d'un niveau ne contient que les informations nécessaires à la représentation
complète, mais sans surdétail, du processus qu'il décompose.(voir figure)
4.4- Conservation et interface entre niveaux
Chaque diagramme enfant comporte exactement les mêmes flots entrants et
sortants que son processus parent.

5- SPECIFICATION DE PROCESSUS (MINISPECIFICATION)


La décomposition d'un processus s'arrête quand sa présentation par DFD ne peut
plus rendre compte de détails supplémentaires sur la production de flots sortants à partir de
flots entrants. Un processus en fin de décomposition est dit processus primitif. A ce stade il
faut introduire d'autres outils pour introduire des détails supplémentaires.
Il existe plusieurs manières de spécifier un processus, les plus importantes d'entre elles sont
la spécification procédurale, la spécification par précondition/postcondition et la
spécification par équations.
5.1- Spécification procédurale
Ce type de spécification se base sur une approche algorithmique. Chaque processus
primitif sera décrit sous forme de procédure.
Exemple:
La spécification de "OBTENIR données acquisition" peut s'énoncer:
émettre une COMMANDE DE CHARGEMENT de fichier correspondant au NOM DE
L'ACQUISITION.
Si INDICATEUR DE PRESENCE est vrai
alors
mettre COMPTE RENDU à succès
stocker FICHIER D'ACQUISITION comme DONNEES DE L'ACQUISITION
sinon mettre COMPTE RENDU à échec
fournir COMPTE RENDU

TAYARI Lassaad Page 24 ISET DE GABES


Cours d’STR La spécification
5.2- Spécification par précondition/postcondition
Une spécification de processus par précondition et postcondition, revient à mettre en
relation les flots d'entrée (préconditions), et les flots de sortie (postcondition) qui s'en
déduisent, sans entrer dans la façon d'y procéder.
Exemple:
La spécification de "OBTENIR données acquisition" peut s'énoncer:
précondition1 NOM DE L'ACQUISITION est fourni
postcondition1 COMMANDE DE CHARGEMENT du fichier NOM DE L'ACQUISITION
est émise
précondition2 INDICATEUR DE PRESENCE est vrai &
FICHIER D'ACQUISITION est fourni
postcondition2 COMPTE RENDU est mis à succès &
DONNEES DE L'ACQUISITION contient FICHIER D'ACQUISITION
précondition3 INDICATEUR DE PRESENCE est faux
postcondition2 COMPTE RENDU est mis à échec
Une spécification par précondition/postcondition est complète si l'ensemble des
préconditions couvre toutes les combinaisons possibles des valeurs des flots d'entrée.
5.3- spécification par équation (formule)
Ce type de spécification décrit le comportement du processus par une ou plusieurs
équations mathématiques.
Exemple:
soit le processus primitif suivant: température consigne

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

TAYARI Lassaad Page 25 ISET DE GABES


STR L'apspect informationnel

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.

 Le stockage des données.


Pour chaque composant il est nécessaire de connaître les informations suivantes:
 Nom, rôle, signification
 Identificateur
 type
 Nombre d'itérations
 Domaine de validité
 Unité ...etc.
Le dictionnaire des données est donc la base de données d'un système. Il est constitué par
l'ensemble des spécifications des flots des stockages qui figurent dans les DFD et les
spécifications de processus.

TAYARI Lassaad Page 26 ISET DE GABES


STR L'apspect informationnel
II/ LA SPECIFICATION DES DONNEES COMPOSEES
La spécification des données composées utilise la notation de BACUS-NAUR.
Cette notation se base sur un ensemble de symboles définis comme suit:

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

Exemple : Spécification de données composées:


données de l'acquisition = nom de l'acquisition + date acquisition + .....
.....+ fréquence d'échantillonnage
mesure brute = 1{@instant+mesure brute}4096
mesures réelles = *mesure brutes converties en réelles *
1{@instant + mesures réelles}4096
courbe documentée = courbe + cartouche écran
cartouche écran = nom acquisition + environnement acquisition

III/ LA SPECIFICATION DES DONNEES PRIMITIVES


Les données primitives sont spécifiées à l'aide des valeurs de leurs attributs, ou
caractéristiques, comme leurs types, leurs domaines de validité, leurs valeurs par défaut,
leurs unités et leurs précisions.
Exemple : Spécification de données primitives:
date d'acquisition = JJ+MM+AA
JJ = * jour*

TAYARI Lassaad Page 27 ISET DE GABES


STR L'apspect informationnel
* types : entier, intervalle 1-31 *
instant = * temps correspondant à la lecture d'une mesure *
* type : entier, intervalle 1-4096, unité =µs *

IV LE ROLE D'UN DICTIONNAIRE DE DONNEES


 Un dictionnaire de données est la base de données d'un système, il réalise le lien
entre les différents niveaux d'un modèle fonctionnel.

Flots de données Diagramme de flots


Spécification de
processus de données

DFD
données

données Dictionnaire de
données

DD
Relation entre les composants d'un modèle

 Le dictionnaire de données joue un rôle central dans la vérification de cohérence. Il


constitue l'unique référence des données.
 Le dictionnaire des données spécifie les performances d'un STR

TAYARI Lassaad Page 28 ISET DE GABES


STR L'apspect évènementiel
Chapitre5

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.

II- LES COMPOSANTS DE L'ASPECT EVENEMENTIEL


 Les événements:
 Un événement est une information qui survient à un instant précis et qui traduit que
"quelque chose s'est passée". Un événement externe nécessite une réponse préétablie de la
part du système.
 Un événement est représente par une flèche interrompue. (--------->) avec
L'identificateur de l'événement.
 Les actions:
Les actions exercées par les événements sur les transformations de données sont internes
et de type activation/désactivation.
Les événements sont appelés activeurs/désactiveurs de processus.
On distingue trois principaux activeurs/désactiveurs:
 L'autorisation (A): initialise les activités d'une transformation.
 L'inhibition (I): termine les activités d'une transformation
 Le déclenchement (D): lance les activités d'une transformation.
TAYARI Lassaad Page 29 ISET DE GABES
STR L'apspect évènementiel
Les actions réelles sur l'environnement sont à la charge des transformations activées, qui
commandent des préactionneurs et des actionneurs et émettent des signaux.
III- LA REPRESENTATION DE L'ASPECT EVENEMENTIEL
Les extensions de WM (MORD MELLOR) de l'analyse structurée à la modélisation des STR
consiste à représenter les événements qui contrôlent les processus, sous forme de
diagrammes, comme pour les flots de données. Cette extension comporte:
 une représentation graphique propre aux flots événements et à la logique de
contrôle qui les combines afin de distinguer les données des événements et les traitements
de leur contrôle.
 Une hiérarchisation de l'aspect événementiel qui suit celle de l'aspect fonctionnel.
Exemple: Régulation d'amplitude d'un signal sonore. (Voir schéma )

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

VI- REPRESENTATION GRAPHIQUE


1- Transformation de contrôle:
 Définition:
Une transformation de contrôle est une unité de contrôle qui fait
correspondre des flots événements en sortie à des flots événements en entrée. Elle produit
des événements en sortie à partir d'événements en entrée, selon une logique
principalement séquentielle.
 Représentation:
Elle est représentée par un cercle en pointillé entourant l'identificateur de la transformation
et un numéro de référence.

TAYARI Lassaad Page 30 ISET DE GABES


STR L'apspect évènementiel
Exemple:

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

3- Les règles de formation d'un Schéma de Transformation (ST)


La cohabitation des données et des événements, des traitements et des contrôles
impose des règles spécifiques de formation des diagrammes qui s'ajoutent à celle des DFD.
- Une transformation de contrôle n'accepte que des flots événements en entrée et ne
produit que des flots événements en sortie.
- Une transformation de contrôle peut avoir des activeurs/désactiveurs en entrée, c'est à
dire être activée par une autre transformation de contrôle.
- Une transformation de contrôle peut avoir des activeurs/désactveurs en sortie, c'est à
dire activer/désactiver des transformations de données ou de contrôle.

TAYARI Lassaad Page 31 ISET DE GABES


STR L'apspect évènementiel
- Seuls les flots de données et des activeurs/désactiveurs sont acceptés en entrée des
transformations de données primitives, mais elles peuvent produire, en sortie, des flots de
données ou événements.
- Toute transformation primitive de flots de données continus doit être explicitement
activée ou désactivée.
- Une transformation de donnée primitive peut exercer un contrôle sur l'environnement à
l'aide d'un flot événement en sortie.
4- Les connexions possible:
Transformation Transformation Stockage de Stockage Bord
de vers
de données de contrôle données événements

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

connexion autorisée par:


 activeur / désactiveur / inhibeur : A/I/D
 flot événement :
 flot de donnée discret :
 flot de donnée continu :
Connexions possibles entre éléments des ST

V- SPECIFICATION DE LA LOGIQUE DE CONTROLE:


Plusieurs représentations sont possibles pour spécifier la logique de contrôle. On peut citer :
 Les automates à états finis
 Les réseaux de pétri
 Les grafcets
 Les diagrammes à état - transition *

TAYARI Lassaad Page 32 ISET DE GABES


STR L'apspect évènementiel
 La logique combinatoire ... etc.
Dans notre cas on utilisera les diagrammes états - transitions (SART - WM)
1- Les composants:
Un diagramme état - transition est composé de quatre éléments:
 Les états : représentés par des rectangles contenant les noms des différents états
 Les transitions : représentées par des flèches qui représentent le passage d'un état
à un autre, dans le sens indiqué par la flèche.
 Les conditions qui sont les événements qui provoquent une transition
 Les actions qui sont réalisées quand les transitions se produisent.

La représentation est donnée par le schéma suivant:

Etat courant

condition

action

Etat suivant

2- Les règles de formation :


La représentation d'un diagramme état transition obéit à des règles de formation:
 Un des états est désigné comme état de départ, ou état initial. Cet état représente
l'état du système au moment ou il est sollicité. Généralement cet état est désigné par
REPOS.
 Un ou plusieurs états peuvent être terminaux.
 Une transition peut exister entre deux états quelconques du système y compris entre
un état et lui même.
 Il peut y avoir plusieurs transitions en entrée ou en sortie d'un état.
 Plusieurs conditions peuvent être nécessaire à la réalisation d'une transition et
plusieurs actions peuvent y être associées.
 Une condition peut provoquer une transition, sans qu'il y ait d'action associée.

TAYARI Lassaad Page 33 ISET DE GABES


STR L'apspect évènementiel
3- Les règles d'interprétation:
 Lorsqu'une transition boucle sur le même état, cela signifie qu'une condition est
requise pour produire une action, mais n'influence pas l'état courant.
 Le système étant dans un état donné, si une condition est réalisée, mais n'est pas
associée à une transition en sortie de cet état, la condition est donc sans effet.
 Une condition qui provoque une transition sans produire d'action correspond
souvent à la sortie d'un état d'attente.
 Lorsque plusieurs actions indépendantes ont lieu lors du même transition, elles
s'exécutent simultanément, sauf si un ordre de déroulement est explicitement indiqué.

Exemple: régulation d'amplitude d'un signal sonore

REPOS

marche . arrêrt .

<A> SAISIR <I> SAISIR

seuil normal seuil normal

<I>AMPLIFIER MAINTIEN <I> REDUIRE


arrêrt .
arrêrt . seuil mini atteint <I> REDUIRE
seuil maxi atteint
<I>AMPLIFIER <A> AMPLIFIER <I> SAISIR
<A> REDUIRE
<I> SAISIR
AMPLIFICATION REDUCTION

diagr amme d’ét at t r ansit ion

VI/ LES COMPOSANTS D'UN MODELE ESSENTIEL


Un modèle essentiel est composé :
 d'une représentation hiérarchisée de transformations,
 des spécifications des transformations de données et de contrôle,
 de la spécification des données et des événements dans un dictionnaire de
données,

TAYARI Lassaad Page 34 ISET DE GABES


STR L'apspect évènementiel
 de la spécifications des exigences temporelles.
Un modèle essentiel est donc constitué d'un modèle d'environnement et d'un modèle de
comportement. Le modèle d'environnement contient le schéma de contexte du système, et
la liste des événements en provenance de l'environnement auxquels le système doit
répondre. Le modèle de comportement contient les modèles des aspects fonctionnel,
événementiel et informationnel du système.

modèle
d’environnement spécification des liste des
temps de réponce évènements externes

schéma de contexte

Spécifications schéma de Spécifications


des des
transformation flots de transformations flots
d’év.ts transformation
de données données de contrôle
(ST)

données évènements

données dictionnaire de données évènements

modèle de
comportement Relat ions ent r e les composant s du modèle de
spécificat ion

TAYARI Lassaad Page 35 ISET DE GABES


STR L'apspect évènementiel
VI/ EXEMPLE COMPLET (Commande d'ouverture de porte )

COMMANDE D'OUVERTURE DE PORTE

La commande d'ouverture de porte est réalisée à l'aide d'un lecteur de carte


magnétique à passage manuel.

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

événement en entrée événement indirect événement/action en sortie temps de réponse

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

TAYARI Lassaad Page 36 ISET DE GABES


STR L'apspect évènementiel

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

Schéma de cont ext e d’une commande d’ouver t ur e de por t e

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

Schéma pr éliminair e de COMMANDER ouver t ur e de por t e

TAYARI Lassaad Page 37 ISET DE GABES


STR L'apspect évènementiel

SPECIFICATION DES PROCESSUS


2.0 TESTER présence carte
précondition1
le signal CARTE PRESENTE passe de front haut à front bas
postcondition1
CARTE DETECTEE est produit
précondition2
le signal CARTE PRESENTE passe de front bas à front haut
postcondition2
CARTE LIBEREE est produit
3.0 CONSTITUER trame
précondition
aucune
postcondition
bit est rangé dans trame
4.0 VALIDER code
précondition1
TRAME contient MARQUEUR DE FIN & CODE REFERENCE non vide &
CODE extrait de TRAME & CODE dans CODE REFERENCE
postcondition1
CODE VALIDE est produit
précondition2
TRAME contient MARQUEUR DE FIN & CODE REFERENCE non vide &
CODE extrait de TRAME & CODE non dans CODE REFERENCE
postcondition2
CODE ERRONE est produit
précondition3
TRAME contient MARQUEUR DE FIN & CODE REFERENCE vide
postcondition3
CODE ERRONE est produit
5.0 DEBLOQUER gâche

TAYARI Lassaad Page 38 ISET DE GABES


STR L'apspect évènementiel
précondition
aucune
postcondition
émettre COMMANDE DEBLOCAGE
6.0 LIMITER déblocage
remarque : DELAI COURANT variable privée
précondition
DELAI COURANT = DELAI DE GARDE
postcondition
DELAI ECOULE est produit
7.0 EFFACER trame
précondition
aucune
postcondition
TRAME est nulle

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 *

TAYARI Lassaad Page 39 ISET DE GABES


STR L'apspect évènementiel
code = 5{caractère numérique}5
code erroné = * événement produit dans un code n'est pas reconnu *
codes référence = * code autorisés*
{code}
code valide = * événement produit quand un code est reconnu *
commande déblocage = * tension provoquant le déblocage de la gàche*
* type: entier, valeurs:0-12, valeur par défaut 0, pour le blocage, et 12
pour le déblocage, unité : v *
délai de garde = * délai pendant lequel la porte peut être ouverte*
délai écoulé = * événement produit après le déblocage de la gâche, afin de la rebloquer*
impulsion = * impulsion du signal de données lues sur la piste de la carte
magnétique *
marqueur de début = **
*type : caractère, valeur:';', codage:010111*
marqueur de fin = **
*type:caractère, valeur:'?', codage : 11111 *
message = 5{caractère contrôlé}5
top horloge = * signal utilisé pour échantillonner les données lues sur la carte *
* période: de3.4 ms à 226s, pour une densité moyenne de bit de 75 bpi (ou
2.95 bits par mm)*
trame = marqueur de début + message + marqueur de fin

TAYARI Lassaad Page 40 ISET DE GABES


STR L'apspect évènementiel

SPECIFICATION DE CONTROLE

<D> EFFACER trame


<D> TESTER présence carte

départ
carte détecté
<A> CONSTITUER trame

top horloge code erroné


saisie trame <D> EFFACER
trame

carte libérée délai écoulé


<I>CONSTITUER trame <I>DEBLOQUER
<D> VALIDER code gâche

attente

délai écoulé
<D>EFFACER trame
<A> DEBLOQUER gâche
<D> LIMITER déblocage

déblocage gâche

TAYARI Lassaad Page 41 ISET DE GABES


Chapitre6

LE NOYAU TEMPS REEL


RTOS

EN COURS DE PREPARATION
STR L'apspect évènementiel

BIBLIOGRAPHIE

[] Le temps réel en milieu industriel


concepts, environnement, multitâches
A.DORSEUIL & P.PILLOT

[] Les bases de l'informatique industrielle


J.LERAY

[] Le temps réel et ses applications a la commande des processus industriels


ISET de Gabès et IUT de Grenoble
(seminaire de formation à l'ISET de Gabès , les 28 et 29 octobre 1996))

[] méthodologie de spécification et la conception pour les systèmes temps réels


PEREZ

TAYARI Lassaad Page 43 ISET DE GABES