43
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

SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

  • Upload
    vohanh

  • View
    260

  • Download
    7

Embed Size (px)

Citation preview

Page 1: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 2: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 3: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 4: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 5: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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.

Page 6: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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é

Page 7: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 8: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 9: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 10: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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 ]

Page 11: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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.

Page 12: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 13: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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)

Page 14: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 15: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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.

Page 16: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 17: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 18: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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.

Page 19: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 20: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 21: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 22: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 23: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 24: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 25: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 26: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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.

Page 27: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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*

Page 28: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 29: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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.

Page 30: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 31: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 32: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 33: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 34: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 35: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 36: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 37: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 38: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 39: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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 *

Page 40: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 41: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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

Page 42: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

Chapitre6

LE NOYAU TEMPS REEL

RTOS

EN COURS DE PREPARATION

Page 43: SUPPORT DE COURS SYSTEMES TEMPS REELsystemesembarques.e-monsite.com/medias/files/cours-systemes-te… · SUPPORT DE COURS SYSTEMES TEMPS REEL Ministères de l’enseignement supérieur

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