Upload
vohanh
View
260
Download
7
Embed Size (px)
Citation preview
SUPPORT DE COURS SYSTEMES TEMPS REEL
Ministères de l’enseignement supérieur Institut Supérieur des Etudes Technologiques de Gabès
Elaboré par :
E-mail :[email protected]
TAYARI LASSAAD
MAITRE TECHNOLOGUE A ISET GABES
E-mail :[email protected]
Année Universitaire 2014-2015
Cours d’STR Informatique Industrielle Sommaire
TAYARI Lassaad Page 2 ISET DE GABES
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
Cours d’STR Informatique Industrielle Sommaire
TAYARI Lassaad Page 3 ISET DE GABES
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
STR Introduction aux systèmes temps réel
TAYARI Lassaad Page 4 ISET DE GABES
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
Zone de pile
Zone
données Zone
programme
Pointeur de
programme
Pointeur de pile
Pointeur de
données
STR Introduction aux systèmes temps réel
TAYARI Lassaad Page 5 ISET DE GABES
* 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.
STR Introduction aux systèmes temps réel
TAYARI Lassaad Page 6 ISET DE GABES
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é
STR Introduction aux systèmes temps réel
TAYARI Lassaad Page 7 ISET DE GABES
?
SELECTION
(Dispatcher)
DEBLOCAGE
DES PROCESSUS
Table des
événements
associés aux
processus
Bloqués
Table des
processus
Bloqués
Table des
processus
Eligibles
Processus ELU
ROLE DE L'ORDONNENCEUR
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
ETAT DES PROCESSUS ET TRANSITIONS
16
15
14 13
12
11
10
9
7
5
4
Elu
En Attente
événement
En Attente
de Délai
En Attente
de
Ressource
1
2
8
6
3
HORS
SERVICE
INEXISTANT
Eligible
STR Introduction aux systèmes temps réel
TAYARI Lassaad Page 8 ISET DE GABES
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:
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.
PROCEDE A
COMMANDER
SYSTEME
INFORMATIQUE
Action
Information
sur état
(événement)
Environnement
STR Introduction aux systèmes temps réel
TAYARI Lassaad Page 9 ISET DE GABES
Un système temps réel est alors un système ayant des états finis et stables.
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.
ETAT1
ETA2
événement 1
action 1
STR Introduction aux systèmes temps réel
TAYARI Lassaad Page 10 ISET DE GABES
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
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.
Communication
TACHE2 TACHE3 Communication
TACHE1-TACHE2 Interruption
périphérique TACHE 3 TACHE 2 TACHE 1
Stockage et
affichage de
RESULTAT
Temps =T3
Traitement de
données
Temps =T2
Acquisition de
données
Temps =T1
Avec [ T1 + T2 + T3 <TEMPS LIMITE ]
STR Introduction aux systèmes temps réel
TAYARI Lassaad Page 11 ISET DE GABES
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.
STR Introduction aux systèmes temps réel
TAYARI Lassaad Page 12 ISET DE GABES
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).
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.
Traitement de
l'interruption
TACHE A TACHE A
DELAI URGENCE
Arrivée d'une
interruption
URGENCE ET DELAI
STR Introduction aux systèmes temps réel
TAYARI Lassaad Page 13 ISET DE GABES
Conséquence: La préemption ne s'applique qu'à la tâche de la plus haute priorité.
Tâche préemptive
tn
t3
t2
t1 t1
Multitâche Multitâche Réquisition du
processur pour
une tâche
(unique)
STR L'environnemenent temps réel
TAYARI Lassaad Page 14 ISET DE GABES
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
STR L'environnemenent temps réel
TAYARI Lassaad Page 15 ISET DE GABES
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.
STR L'environnemenent temps réel
TAYARI Lassaad Page 16 ISET DE GABES
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"
Cahier des charges
Spécification
système
Spécification
logiciel/performance
Conception
préliminaire
Conception
détaillée
Codage
programmation
Tests unitaires
Tests d’intégration
Tests de
performance
Tests d’intégration
système
Evaluation et test
opérationnel
Besoin Produit
CERTIFICATION
VALIDATION
VALIDATION
VERIFICATION
Spécification
Conception
Validation
Réalisation
[CALVEZ]
Spécification Conception
Développement
Test et évaluation Fonctionnement
et maintenancet
STR L'environnemenent temps réel
TAYARI Lassaad Page 17 ISET DE GABES
"cycle en cascade"
[PEREZ]
Conception
détaillée du
logiciel
Conception
détaillée du
logiciel
Conception
détaillée du
matériel
Validation
système
Spécification
système
Intégration
système
Construction
du logiciel
Construction
du matériel
Système
final
Système intégré
Prototype
matériel
Logiciel de
référence
Expression
du besoin
Axe de symétrie
Cycle de développement en cascade
Cours d’STR La spécification
TAYARI Lassaad Page 18 ISET DE GABES
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.
Cours d’STR La spécification
TAYARI Lassaad Page 19 ISET DE GABES
2- Exemple: (Exploitation de mesures acquises)
EXPLOITER
acquisition
Opérateur
Système
d’acquisition
Ecran
graphique
Imprimante
nom de l’acquisition
demande
compte rendu
commande de chargement
Indic
ateu
r de
prése
nce
fichier d’acquisition
rapport de l’acquisition
courbe documentée
Diagramme de contexte d’une exploitation de mesure
OBTENIR
données
acquisistion
1.0
OBTENIR
données
acquisistion
1.0
IDENTIFIER
acquisition
4.0
EXTRAIRE
mesures brutes
3.0
CONVERTIR
mesures
5.0
VISUALISER
courbe
7.0
PRODUIRE
rapport
6.0
SAISIR
demande opérateur
2.0
données de l’acquisition
caractérisiques de l’acquisitiont
mesures réelles
mesures brutes
fichier d’acquisitionindicateur de presence
commande de
chargement
nom de
l’acquisition
compte rendu
demande
demande de visualisation courbe documentée
deman
de d’im
pressio
n rapport de
l’acquisition
DFD préliminaire d’une exploitation de mesures
Cours d’STR La spécification
TAYARI Lassaad Page 20 ISET DE GABES
rapport de
l’acquisition
CALCULER
résultats
6.1
IMPRIMER
rapport
6.2
resultats
caractéristiques de
l’acquisition
demande
d’impression
mesures réelles
DFD de PRODUIRE rapport
CALCULER
maximum
7.3
PRODUIRE
courbe
7.2
FORMATER
cartouche écran
7.1
dimension fenêtre
mesure réelle maxi
dimensions écrancaractéristiques de
l’acquisition
demande de
visualisation
cartouche écran
courb
ecourbe
documentée
demande de
visualisation
mesures réelle
DFD de VISUALISER courbe
Cours d’STR La spécification
TAYARI Lassaad Page 21 ISET DE GABES
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:
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.
Rapport de
l'acquisition
boîtier
énergie brute indicateur de présence
vitesse signal sonore
Cours d’STR La spécification
TAYARI Lassaad Page 22 ISET DE GABES
Exemple:
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:
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:
seuil de température mesures réelles
opérateur table
traçante
robot écran
mesure brute
mesure
réelle
CONVERTIR mesure
1.0
boîtie
r
boîtier
bouché
BOUCHER boîtier
2.1
bouchon
énergie
brute
énergie perdue
énergie de contrôle
CONTROLER énergie
3.3
Cours d’STR La spécification
TAYARI Lassaad Page 23 ISET DE GABES
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
B
C
AB C
3.1 3.3
3.2
3.1.1
3.1.2
3.1.3
Hiérarchie Abstraction et masquage d’information
Cours d’STR La spécification
TAYARI Lassaad Page 24 ISET DE GABES
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
Cours d’STR La spécification
TAYARI Lassaad Page 25 ISET DE GABES
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:
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
MAINTENIR
température
constante
5.4.3.1
température consigne
commande de
vanne température
0 si e > -2
Vv= 3e + 6 si |e| 2
12 si e < 2
STR L'apspect informationnel
TAYARI Lassaad Page 26 ISET DE GABES
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.
STR L'apspect informationnel
TAYARI Lassaad Page 27 ISET DE GABES
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
{}
n{}p
n{},{}p
n{}n
Itération non bornée
Itération de n à p
Itération d'au moins, d'au plus p
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*
STR L'apspect informationnel
TAYARI Lassaad Page 28 ISET DE GABES
* 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.
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
Spécification de
processus
Diagramme de flots
de données
DFD
Dictionnaire de
données
DD
Flots de données
données
données
Relation entre les composants d'un modèle
STR L'apspect évènementiel
TAYARI Lassaad Page 29 ISET DE GABES
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.
STR L'apspect évènementiel
TAYARI Lassaad Page 30 ISET DE GABES
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 )
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.
AMPLIFIER
amplitudeREDUIRE
amplitude
SAISIR
signal
DETECTER
seuilRESTITUER
signal
CONTROLER
amplitude
signal
signaux saisis seuils
marche
arrêt
signal
sonore
réstitué
signal
sonore
A/I
A/I
A/I
seuil mini
atteint signal
normal seuil maxi
atteint
Schéma préliminaire de Régulat ion d’amplitude d’un signal sonore
D
STR L'apspect évènementiel
TAYARI Lassaad Page 31 ISET DE GABES
Exemple:
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:
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:
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.
Pièces présentesCONTROLER
assemblage
support prète
composant prèt
robot libre
assemblage
possible
Ticket disponible Etat des postes
CONTROLER
Présence pièce
1.1
Usinage
permis
Pièce
présente
STR L'apspect évènementiel
TAYARI Lassaad Page 32 ISET DE GABES
- 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
de données
Transformation
de contrôle
Stockage de
données
Stockage
événements
Bord
Transformation
de données
Transformation
de contrôle
interdit interdit
Stockage de
données
interdit interdit interdit interdit
Stockage
événements
interdit interdit interdit interdit
Bord
interdit interdit
connexion autorisée par:
activeur / désactiveur / inhibeur :
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 *
A/I/D
A/I/D A/I/D
de vers
STR L'apspect évènementiel
TAYARI Lassaad Page 33 ISET DE GABES
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:
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.
Etat courant
Etat suivant
condition
action
STR L'apspect évènementiel
TAYARI Lassaad Page 34 ISET DE GABES
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
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,
REPOS
MAINTIEN
AMPLIFICATION REDUCTION
seuil normal
<I> REDUIRE
seuil maxi atteint
<A> REDUIRE
arrêrt .
<I> REDUIRE
<I> SAISIR
seuil mini atteint
<A> AMPLIFIER
seuil normal
<I>AMPLIFIER
arrêrt .
<I>AMPLIFIER
<I> SAISIR
arrêrt .
<I> SAISIR
marche .
<A> SAISIR
diagramme d’état t ransit ion
STR L'apspect évènementiel
TAYARI Lassaad Page 35 ISET DE GABES
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
modèle de
comportement
spécification des
temps de réponce
liste des
évènements externes
Spécifications
des
transformation
de contrôle
Spécifications
des
transformation
de données
dictionnaire de données
flots de
données
flots
d’év.ts
schéma de contexte
schéma de
transformations
(ST)
Relat ions entre les composants du modèle de
spécificat ion
évènementsdonnées
données évènements
STR L'apspect évènementiel
TAYARI Lassaad Page 36 ISET DE GABES
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
du signal carte
présente
carte détectée début de commande déblocage 1.5 s maxi, pour une
vitesse minimale de
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
STR L'apspect évènementiel
TAYARI Lassaad Page 37 ISET DE GABES
SOLUTION POSSIBLE:
lecteur de carte
magnétiquegâche électrique
COMMANDER
ouverture
de porte
carte présente
top d’horloge
impulsion
commande
déblocage
Schéma de contexte d’une commande d’ouverture de porte
trame
code référence
délai de garde
CONTROLER
ouverture de
porte
1.0
CONSTITUER
trame
3.0
TESTER
presence carte
2.0
VALIDER
code
4.0
DEBLOQUER
gâche
5.0
LIMITER
déblocage
6.0
EFFACER
trame
7.0
commande
déblocage
top d’horlage
impulsion
carte présente
A/I
A/I
D
D
DD
délai écoulé
carte
libéréecarte
détéctée
code
erroné
code
valide
Schéma préliminaire de COMMANDER ouverture de porte
STR L'apspect évènementiel
TAYARI Lassaad Page 38 ISET DE GABES
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
STR L'apspect évènementiel
TAYARI Lassaad Page 39 ISET DE GABES
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 *
STR L'apspect évènementiel
TAYARI Lassaad Page 40 ISET DE GABES
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 à 226s, pour une densité moyenne de bit de 75 bpi (ou
2.95 bits par mm)*
trame = marqueur de début + message + marqueur de fin
STR L'apspect évènementiel
TAYARI Lassaad Page 41 ISET DE GABES
SPECIFICATION DE CONTROLE
<D> EFFACER trame
<D> TESTER présence carte
carte détecté
<A> CONSTITUER trame
top horloge code erroné
<D> EFFACER
trame
délai écoulé
<I>DEBLOQUER
gâche
carte libérée
<I>CONSTITUER trame<D> VALIDER code
délai écoulé
<D>EFFACER trame
<A> DEBLOQUER gâche
<D> LIMITER déblocage
déblocage gâche
attente
saisie trame
départ
Chapitre6
LE NOYAU TEMPS REEL
RTOS
EN COURS DE PREPARATION
STR L'apspect évènementiel
TAYARI Lassaad Page 43 ISET DE GABES
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