You are on page 1of 47

Dpartement Informatique INSA de Lyon

SA-RT
Structured Analysis for Real-Time

Jean-Philippe Babau
Dpartement Informatique
INSA Lyon
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

SA-RT historique
Spcification de systme
Structured Analysis Design Technics
(D.T. Ross 1976)

SADT

Spcification statique de logiciel


Structured Analysis
(Yourdon/Demarco 1979)

SA

Spcification dynamique de logiciel


Structured Analysis for Real Time
(Ward/Mellor, 1985) (Hatley/Pirbhai,1986)

SART

Stratgies de spcification des systmes temps rel : SART


D.J. Hatley, I.A. Pirbhai. Masson.
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

SA-RT objectifs

Document complet et lisible de descriptions des besoins

Outil de communication

formalisme graphique

client - concepteur

concepteurs

Expression des besoins

fonctionnel

vnementiel / ractif

donnes

architecture matrielle

Vrification

cohrence

simulation
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Principes de SA-RT

Description de lenvironnement : diagramme de contexte

Bords
Information changes : donnes et vnements

Spcification des transformations de donnes : analyse SA

Aspect fonctionnel

flot de donnes
processus de transformation de donnes
Dcomposition arborescente
Processus composites
Feuille : spcification des processus primitifs

Description prcise des donnes manipules

Dictionnaire de donnes

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Principes de SA-RT

Description de laspect ractif : analyse RT


mise en vidence des vnements
dfinition de la logique de contrle : processus de contrle
un vnement est associ un changement dtat et une ou plusieurs
actions : diagramme tat-transition

Description de larchitecture matrielle


dfinition des machines et canaux de communication

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte

But
identifier les lments qui communiquent avec le systme
dfinir la liste des entres/sorties du systme

Elments reprsents
bords
donnes et vnements utiles changs entre chaque bord et le systme
un processus de transformation de donne

donne
bord

donne
faire

vnement

bord
vnement

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte : exemple

clavier

caractre

message
Afficher

souris

double-clic

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Type de bords

Dispositif ou priphrique
Lecteur Code Barre, GPS, etc.
Capteur de position, capteur de temprature, etc.
Moteur lectrique, vrin, etc.

lment de lIHM
Clavier, cran, souris, joystick
Boutons

Equipement physique
Bras de robot, convoyeur, ABS, TV, etc.

Machine
serveur, superviseur, console oprateur, etc.

jean-philippe.babau@insa-lyon.fr

ecran

Dpartement Informatique INSA de Lyon

Description des bords

Description prcise de ou des entits modlises

Ne pas dcrire dans un bord


Les donnes/vnements fournies ou reues
Le rle de lapplication
viter les verbes

Ne pas confondre bords et vue du bord au sein du systme

Exemples
Un bouton est un lment de lIHM
Il est caractris par sa couleur, sa forme, son type, son label, sa position
Un bouton nest pas caractris par son utilit, son rle

Un cran
Il est caractris par le nombre de lignes et de colonnes
Il nest pas caractris par ce qui est affich dessus

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte : exemple

clavier

caractere

message
Afficher

souris

double-clic

Description des bords


souris : souris sans fil
clavier : clavier de type azerty
cran : cran plat 14

jean-philippe.babau@insa-lyon.fr

ecran

Dpartement Informatique INSA de Lyon

Donnes et vnements

Flot de donnes
continu

temprature
login

discret

Flot dvnement
continu
discret

tropChaud
alarme

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Description des donnes et des vnements

Donne
Description informelle
Type : numr, rel, entier
Intervalle : [0,10]
Unit

Evnement
Description informelle

Exemples
tensionMoteur : tension de commande du moteur, entier, [0,5], Volt
boutonXAppuy : le bouton X a t appuy

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Dictionnaire de donnes

Description des donnes et des vnements

nom insuffisant
type et unit
intervalle ou valeur
oprateurs de composition

Formalisme
Symbole
=
* .......... *
+
{ ........... }
n { ......... } p
( ........... )
" ........... "
[ ... | ... ]
ALIAS
DONNEES =

Signification
compos de
commentaire
regroupement
itration non borne
itration de n p
optionnel
expression littrale
ou exclusif
quivalent

* description *
* type : ..., valeur ou intervalle : ..., unit : ... *
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Description des donnes et vnements

Informations utiles
Pas daspects protocolaires

B produit d
A utilise d
B envoie d

Liens avec les bords


Donnes de bas niveau
Sorties : interprtables par le bord
Exemple pour un cran LCD
OK :
Erreur :

Entres fournis par le bord


Exemple :pour un bouton
OK
Erreur :

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte : exemple

clavier

caractere

message
Afficher

souris

ecran

double-clic

Dictionnaire de donnes
caractere
code ASCII, char
message
chane de caractres termine par un retour chariot, 1{char}255
double-clic
double clic gauche

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Regroupement des bords

Regrouper les entits physiques ou logiques

Logiques de regroupement
Entres / Sorties
Par dispositif
Rpartition gographique

C1

C2

S1

C3

C4

C5

S2

Ci : capteur

C6

S3

Si : serveur

Capteurs

Serveurs

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Regroupement des donnes et des vnements

Regroupement et

D1

D
D2
D = D1 + D2
D1 : donne
D2 : donne

D1 : donne
D2 : donne

E1

Regroupement ou
E

E2
E1 : vnement
E2 : vnement

E = [ E1 | E2 ]
E1 : vnement
E2 : vnement

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

exemple
Cahier des charges
afficher la vitesse sur lcran du tableau de bord lorsquon appuie sur le
bouton Speed

Speed
vit : 128 km/h

msgBouton
msgVitesseRoues

msgVitesseEcran

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte : exemple

vitesseVehicule

ABS

message
ecran

AfficherVitesse
boutonSpeed
boutonSpeedAppuye
Description des bords

ABS
capteur de vitesse li lABS
boutonSpeed
bouton situ en haut droite sur le tableau de bord, label Speed
ecran
cran LCD 5 lignes (de 0 en haut 4 en bas), 16 colonnes (de 0 15 de
gauche droite)
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte : exemple

ABS

vitesseVehicule
message
AfficherVitesse

Tableau
de bord

boutonSpeedAppuye

Description des bords


ABS
capteur de vitesse li lABS
Tableau de bord
boutonSpeed : bouton situ en haut droite sur le tableau de bord, label Speed
cran : cran LCD 5 lignes (de 0 en haut 4 en bas), 16 colonnes (de 0 15 de
gauche droite)
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte : exemple


vitesseVehicule
ABS
message
cran

AfficherVitesse
boutonSpeed
boutonSpeedAppuye

Dictionnaire de donnes
vitesseVehicule :vitesse du vhicule, type : rel, intervalle : [0.0,200.0], unit : km/h
boutonSpeedAppuy : le bouton Speed est appuy
message : chane de 16 caractres (ncolonne)

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte
capteurs

vitessesVehicule
message
AfficherVitesse

cran

boutonSpeed
boutonSpeedAppuye

Description des bords


Capteurs
ABS de la roue droite et ABS de la roue gauche
Dictionnaire de donnes
vitessesVehicule : VitesseRG + VitesseRD
VitesseRG : vitesse de la roue gauche, type : rel, intervalle : [0.0,200.0], unit : km/h
VitesseRD : vitesse de la roue droite, type : rel, intervalle : [0.0,200.0], unit : km/h

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte
ABSRD

VitesseRD
message

ABSRG
VitesseRG

AfficherVitesse

cran

boutonSpeed
boutonSpeedAppuye
Description des bords
ABSRG
ABS de la roue gauche
ABSRD
ABS de la roue droite
Dictionnaire de donnes
VitesseRG : vitesse de la roue gauche, type : rel, intervalle : [0.0,200.0], unit : km/h
VitesseRD : vitesse de la roue droite, type : rel, intervalle : [0.0,200.0], unit : km/h

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte

Lisibilit
Regroupements
Nommage

Descriptions
concise et prcise
Un bord une donne un vnement une fonction

Choix de reprsentation
Peuvent tre diffrents
Homognit des choix

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de Flot de Donnes (DFD)

Dfinition
associ un processus de transformation de donne
le premier est associ au processus dfini dans le diagramme de contexte

structuration hirarchique
A

DC

DFD 0
D

2
1

C
D

DFD 3.1

DFD 3.2
jean-philippe.babau@insa-lyon.fr

DFD 3

Dpartement Informatique INSA de Lyon

Diagramme de Flot de Donnes (DFD)


Processus de
transformation de
donnes

DFD associ Faire


Vue boite blanche
corps de laction Faire

Vue boite noire


signature de laction Faire
D1
Entres

Analyser
5.1

Sorties

d5

D3
Commander

D1
E1

5.3

Vrifier d4
5.2

D3
Faire
5

D2

c1

err

c2

ok

E2

D2
E2

E1

Verbe
numro

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de Flot de Donnes (DFD)

Transformation
de donnes (SA)

Partie ractive
(RT)

les flots entrants ou sortants


issus du processus de transformation de donne

des processus de transformation de donnes

des flots de donnes

des stocks de donnes

un processus de contrle

des flots dvnements (lis au processus de contrle )

Verbe
numro

d4

nom

c1

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Les processus de transformation de donnes

Reprsentation
symbole graphique
Spcification informelle

Faire
5

Non obligatoire

Verbe
Pour une action, une fonction

numro
0 : diagramme de contexte
1..n : processus

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Les donnes
data

data

Dictionnaire de donne
Cf. ci-avant

D2

Regroupement / Dcoupage
Cf. ci-avant

D1
data

Logique flot de donne


D2

d
A produit d
A

A
d

B utilise d
A envoie d
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Les stock de donnes

valeur

Les constantes
Donnes numriques
Messages utilisateurs

comparer
valeur max

Les informations modifier


Numros, tables, compteurs,

incrmenter

Un stock de donne nest pas


nombrePalettes

une variable de programmation


un flot de donne

Description : idem donnes


Data

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

type de Processus

Traiter des entres

Gestion dune fonctionnalit

Surveiller
Vrifier
Stocker
Compter

Oprations

Conditionner
Filtrer
Analyser
Dcoder
Interprter

Calculer
Evaluer

Formater
Commander
Lisser
Afficher

Gestion d un quipement
Grer Robot, etc.

Traiter des sorties

Processus primitif

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Processus primitif

DFD non ncessaire


le processus est dj spcifi
fonction connue
spcifi dans un autre diagramme
les sorties peuvent tre values en fonction des entres
Pas d information supplmentaire ncessaire
Evaluation simple
Pas dvnement en entre

Exemple

signalFiltre

max_atteint
Dtecter
dpassement

signal_OK

cSeuil

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Processus primitif

spcification procdurale
IN : signalFiltre, cSeuil
OUT : signal_OK ,max_atteint
si (signalFiltre > cSeuil)
alors max_atteint mis
sinon signal_OK mis
fin si

spcification par prcondition/postcondition


prcondition : signalFiltre et cSeuil
postcondition :
signalFiltre > cSeuil et max_atteint mis
signalFiltre cSeuil et signal_OK mis

spcification informelle ( viter)


signal_OK mis lorsque signalFiltre est infrieur cSeuil,
max_atteint sinon
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple de dcomposition

CodeBarre

LecteurCodeBarre

Message

cran

ControlerDecoupePiece
IdCarte
cmdMoteur
Serveur

PrgDecoupe

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple de dcomposition

CodeBarre

tableID

Detecter

Message

Informer

IdCarte
IdCarte

EtatCommande

PrgDecoupe
PrgDecoupe

Decouper

cmdMoteur

jean-philippe.babau@insa-lyon.fr

moteur

Dpartement Informatique INSA de Lyon

Exemple de dcomposition

CodeBarre

tableID

Detecter

Message

Informer

IdCarte
EtatCommande

IdCarte

Decouper

PrgDecoupe
cmdMoteur

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple de dcomposition

CodeBarre
Detecter

Message

IdCarte
Decouper

Message

PrgDecoupe
cmdMoteur

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple de dcomposition
Message

Informer

IdCarte
EtatCommande

AfficherID

IdCarte

Message

AfficherEtat

EtatCommande

Message
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple danalyse SA

Besoins
Production dune consigne de dplacement pour un robot partir dune
position de joystick

100

Fentre dinsensibilit

100

ConsigneVitesse

CoordJoystick
commander

CoordJoystick : XJoystick+YJoystick
XJoystick : position en x, entier, [0,100]
YJoystick : position en y, entier, [0,100]

ConsigneVitesse : vitesseGauche + vitesseDroite


VitesseGauche : vitesse de la roue gauche, entier, [0,10]
VitesseDroite : vitesse de la roue droite, entier, [0,10]
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple danalyse SA
CoordJoystick

CoordJCF

CoordJC
filtrer

recentrer

ValLimites

ConsigneVitesse

interpreter

Ratio

Intervalle

CoordJC : ALIAS CoordJoystick


CoordJCF : ALIAS CoordJoystick
ValLimites : XE + YE
XE : abscisse du point extrme en bas gauche,100
YE : ordonne du point extrme en bas gauche,100
Intervalle : fentre dinsensibilit de 5
Ratio : coefficient de rduction de 5

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple danalyse SA
CoordJoystick

CoordJC

recentrer

ValLimite

CoordJCF
filtrer

ConsigneVitesse

interpreter

Ratio

Intervalle

Processus primitifs
recentrer
CoordJC. XJoystick = CoordJoystick.XJoystick XE /2
CoordJC. YJoystick = YE /2 -CoordJoystick.YJoystick
filtrer
Si CoordJC. XJoystick < Intervalle
alors CoordJCF. XJoystick = 0
sinon CoordJCF. XJoystick = CoordJC. XJoystick
Idem pour CoordJC. YJoystick
Interpreter
: angle dtermin par le point =(CoordJCF. XJoystick , CoordJCF. YJoystick )
VitesseGauche = CoordJCF. XJoystick x (cos(/2)/ Ratio
VitesseDroite = CoordJCF. YJoystick x / (sin(/2)/ Ratio
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

DFD 1er niveau


ABS

vitesseVehicule
message

ecran

AfficherVitesse
boutonSpeed
boutonSpeedAppuye

vitesseVehicule
Conditionner
1

vitesseNum
message

seuil

Formater
2

boutonAppuye

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

DFD 1er niveau


Processus primitifs
Conditionner
si vitesseVehicule seuil VitesseNum = seuil sinon vitesseNum = int(vitesseVehicule )
Formater
message(ligne N1, partir de la position 0) sur 1 4 caractres:
vit   :   VitesseNum sur 3 caractres   km/h
  : un espace; si VitesseNum sur moins de 3 caractres, on ajoute des espaces
avant pour faire 3 caractres

Dictionnaire de donnes
Seuil : vitesse maximale affiche, rel, 150.0 km/h
VitesseNum : vitesse chantillonne sur 2 octets, entier, [0,150], km/h

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Rgles de reprsentation

Egalit des flots entrants et sortants : processus associ / DFD

DFD
processus : les actions et les fonctions du systme
Des stocks de donnes : les constantes, les donnes du
problme
Un seul processus de contrle : la synchronisation des
processus

nom

nom

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Rgles de dcomposition

Trouver les processus


Suivre des scnarios
Associer un processus chaque donne entrante et chaque donne
sortante
Dcomposition (filtrer / analyser) > (Traiter) -> (restituer / formater)
Un processus par entit contrler

Limiter le nombre de processus par niveaux


5/6 au maximum
Regroupement logique
Plus de niveaux si ncessaire

Masquer les stocks de donnes


Reprsenter uniquement les donnes partages un niveau
Constantes proches des processus primitifs

Nommer correctement les processus

Plusieurs stratgies possibles


Rgles informelles
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Processus de contrle
Dcouplage fonctionnel / vnementiel
Gestion centralise par DFD de la synchronisation des processus
Processus de contrle
vnement entrant sur la barre
signalisation dun processus
vnement de lextrieur
Demande

vnements sortant de la barre


activation / dsactivation (non reprsent)
actions faire
signalisation
SignalRadio

fin

CalculComplexe

Erreur
CalculSimple
Evaluer
1
PositionEstimee

Vitesse
Corriger
2

jean-philippe.babau@insa-lyon.fr

Position

Dpartement Informatique INSA de Lyon

Les vnements et le processus de contrle


position

ratio

Activation de processus primitif


activation non reprsente

Informer
Message

un seul processus de contrle

mme processus
fabrique

A1
A2

Fabriquer

RAZ

buteeDetectee

Termine

numero
message
Informer

programmeFab
commandes

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Les vnements
Dcomposition en sous actions
programmeFab

commandes

fabrique
RAZ

Fabriquer

programmeFab

fab_Phase1
fab_Phase2
fab_Phase3

Liste dordres

Stop
Avance
Recule

commandes

Fabriquer

GrerMoteur.
AlimentationMoteur

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Les vnements
signalisation

programmeFab

commandes

fabrique
Fabriquer

RAZ

buteeDetectee

CommandesGobelet
prpare
cafe_moulu

Faire le
caf
CommandesCaf

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Rgles de reprsentation

Egalit des flots entrants et sortants : DFD / processus associ

Un seul processus de contrle


synchronisation des processus
Tout vnement passe par le processus de contrle

idem

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme tat-transition : principes

1 DFD <=> 1 processus de contrle<=> 1 diagramme tat-transition

Association

Sens

tat - vnement - action/signalisation

Il est arriv ceci : evt1


je suis dans un tat : Etat1
je change dtat : Etat2
je peux activer un processus : Traiter
je peux signaler : evt2
Etat1
evt1
evt2

DFD
evt1

Etat1
evt1
Traiter
evt2
Etat2

evt2
Traiter

Etat2
evt1
Traiter

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple
vitesseVehicule
Conditionner
1

vitesseNum
message
Formater
2

seuil

boutonAppuye

pret
boutonAppuye
Conditionner
Formater

arrete
boutonAppuye

arrete
boutonAppuye

en-fonctionnement
boutonAppuye
Conditionner
Formater

en-fonctionnement
boutonAppuye
Conditionner
Formater

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme tat-transition : tats

A un instant donn

Un ou plusieurs tats de dpart

le DFD est dans un tat et un seul

EtatD

CodeOK
Lire

CodeOK
Lire

Lire

Lecture

Lecture

Lecture
e1
e2

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Dmarrage

Dclenchement
Branchement /dmarrage du systme
Reset
Squence particulire

Action dinitialisation
RAZ, configurations,

Inactif
MiseSousTension
RAZ
B0Appuye
IncrDate
AfficherDate

Inactif

reglage
B0Appuye
B1Appuye
B2Appuye

MiseSousTension
B0Appuye
TournerMoteur

prt

prt

Tous
ResetAppuye

prt
jean-philippe.babau@insa-lyon.fr

B1Appuye
ArreterMoteur

Dpartement Informatique INSA de Lyon

Diagramme tat-transition : transitions

Transitions
revenir dans le mme tat
plusieurs transitions sortent du mme tat
plusieurs transitions entre deux tats

Lire
Lecture
Lu

ErrLecture
Lire

Controler

LectureImp

Reconnaissance
Erreur
OK
Traiter

Afficher

Afficher

Fin
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme tat-transition : activations

Activations
un mme vnement ne dclenche pas toujours la mme action
plusieurs actions actives
Arrete
NllePiece
Fabriquer
Fabrication
FinFab

NllePiece

AfficherOK

AfficherErr

Lecture
Lu
CalculerCommandes
Commander
Commande
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Cycle de vie de systmes

Phases
Idle / initialisation / fonctionnement / fin

Mode de fonctionnement
Normal / dgrad / maintenance

Maintenance

Arrete

Dbarquement

Embarquement

Atterrissage

Dcollage
EnVol
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Cycle de vie de priphrique

Phases
Idle / initialisation / fonctionnement / fin

Mode de fonctionnement
Normal / dgrad / maintenance
HS

tous

On
On
Calibre Calibre
arretee

Probleme
InformerErreur

Arret
Pause
Calibrage
demande
Imprime
OK
InformeImprime
InformerReady
Utilisation

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Stratgie de modlisation

Identifier les modes de fonctionnement


Marche, maintenance,
Relier les tats

Dcrire le cycle de vie


Prt -> initialis -> enFonctionnement -> RAZ > initialis

Suivre un scnario
A chaque nouvel vnement : un nouvel tat

Se baser sur les tats minimaux


Moins dtat mais perte dinformation
Un tat nest utile au sens du comportement que
si pour 2 vnements distincts, il dclenche des vnements distincts

Plusieurs stratgies possibles


Nommage des tats
Compromis exhaustivit / lisibilit
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Principe de modlisation

Top

Start End

Dans chaque tat


Dcrire la raction tout vnement possible

Un vnement non attendu


Est perdu : vnement discret (start)
Est sauvegard : vnement continu (trop chaud)

Filtrer

D
Rafraichir

Start
Filtrer

Start
Filtrer
en_marche
End
Start

Top
rafraichir

en_marche
End
Start

Top
rafraichir

Filtrer

Filtrer
arrete

Start
Filtrer

Top
rafraichir

arrete

Top
rafraichir

End

jean-philippe.babau@insa-lyon.fr

Msg

Dpartement Informatique INSA de Lyon

Principe de modlisation

Top

Start End

Dans chaque tat


Dcrire la raction tout vnement possible

Un vnement non attendu

Est perdu : vnement discret (start)


Est sauvegard : vnement continu (trop chaud)

Filtrer

D
Rafraichir

Start
Filtrer

Start
Filtrer

Start
Filtrer
Top
rafraichir

idle

Start
Filtrer

en_marche
End
Start

End

Top
rafraichir

Filtrer
arrete
End

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme tat-transition : tats

Diagramme trop compliqu


reprendre le dcoupage des DFD
regroupement dtats

ET11
e1
A1
ET12
f1

ET1
f1
A2

e1
A1

ET2
ET1 : ET11 ou ET12
e1 < f1

A2
ET2
Tous
TOP
Afficher

jean-philippe.babau@insa-lyon.fr

Msg

Dpartement Informatique INSA de Lyon

Diagramme tat-transition : tats


a

d
b
A2
A2

A1

E3

E2

E4

c
B1

d
B2

B2

B1

d
B2
c
B1

E13
a
A1

b
A2

E1
a
A1

E23

E14
a
A1
E24

c
B1
d
B2

b
A2

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Rduction des automates

DFD de A

Dcomposer

a1
a

a1

b1 c1

b1

d1

E1
a1
A1

b1
A2

E2

A2

A1

DFD de B
c1

c
c1
a
a1

d1
E3
c1
B1

b
b1
B1

B2

d
d1
jean-philippe.babau@insa-lyon.fr

E4

d1
B2

Dpartement Informatique INSA de Lyon

Rgles de modlisation
tout vnement entrant dans le processus de contrle
- dclenche au moins une transition
- ne peux pas tre gnr par le diagramme tat-transition
tout vnement sortant de la barre de contrle
-est au moins gnr une fois dans le diagramme tat-transition
-Ne peut pas dclencher de transition
un vnement entrant et sortant de la barre de contrle ne peuvent pas avoir le mme
nom
chaque processus primitif PP est activ au moins une fois dans le diagramme tattransition

e3

e1

e4
A2

PP

e2

e4
e3

e1
e2
PP

e2
e1

A1

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Mthodologie

Diagramme de contexte
Liste des bords
Donnes et vnements changs
Spcification informelle (rle)

Pour chaque DFD

reprsenter les donnes entrantes et sortantes


Spcification informelle
Trouver les processus
Expliciter les donnes changes
Dcrire les stocks ncessaires
Constantes, donnes modifies

Dictionnaire de donnes
au fur et mesure

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Mthodologie

Faire une analyse SA


dcoupage en sous actions
spcification informelle
donnes interne au DFD

Faire une analyse RT


actions / sous-actions
besoins de synchronisation
diagramme tat-transition en parallle
Les tats du systme puis les transitions
Modlisation de scnarios puis compltude des vnements

Spcification des processus primitifs


Les sorties sont calculables en fonction des entres

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Mthodologie

Produire un document lisible


Choix des noms
Dcoupage en lments simples
Processus primitif : UN algorithme

Dcomposition guide par la prsentation


Plusieurs niveaux si ncessaire

Produire un document complet et cohrent


Dictionnaire de donnes
Vrifier les flux entrants et sortants (DFD et processus de contrle)

Ne pas multiplier les descriptions

Choisir la bonne entit


Bord : lment qui communique avec le systme de contrle
vnement : il sest pass quelque chose
Donnes : information sur laquelle on peut faire des calculs
Processus : la structuration / dcomposition
Processus primitifs : les oprations sur les donnes
Raction aux vnements : diagramme tat/transition
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Quelques lments pour la modlisation

Diagramme de contexte
Les sorties : prfrer les donnes aux vnements

Le nommage : suivre un guide style


Toutes les constantes commencent par c

Analyse descendante
Un processus doit tre self-consistent
Inutile de remonter pour comprendre

viter les vnements en sortie de processus


Uniquement des signalisations

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Hirarchiser le niveau dabstraction

DFD de A

DFD
a

a1

c1
fA1
c1

a1

b1

c1

c2

A1

E1
a1
A1
E2

fA1

A
C

DFD de B
b1

c2

c1
C
a
a1

b
b1

E3
b1
B1
fB1

B1

fB1
c2

E4

c2
C
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Rutilisation

DFD de A

DFD
a

a1

fA1
C
a1

fA1

b1
A

A1

E1
a1
A1
E2

B
DFD de B

a
a1

b1

b
b1

B1

fB1

E3
b1
B1
E4

C
jean-philippe.babau@insa-lyon.fr

fB1
C

Dpartement Informatique INSA de Lyon

Conception

Objectifs

Excution des actions selon les besoins exprims

Activits du concepteur

Choix ou adaptation une architecture matrielle


Mise en place des pilotes

Choix dun OS et dfinition du modle dexcution

Multitches ou cyclique

Paradigmes

SART

Multitches

Echanges de donnes et protocoles de communication


SART : spcification de la couche application

un vnement => une squence dactions


Tches (priorits), protection et partage des donnes
Protocole dexcution des actions

Un processus une tche, un processus primitif une fonction


Un vnement un smaphore boolen, une donne SART mbx ou variable globale

Mthode CODARTS pour le multitches

Principes informel

un vnement extrieur : une tche


vnements de mme frquence : une mme tche

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Ward / Mellor

Hatley / Pirbhai

Ward / Mellor
pression
tropChaud
D/E
T

Faire
6.3.2

Contrler
6.0

flot de donne continue


flot de contrle continu
activation/ dsactivation
dclenchement
processus de transformation
numro 2 du DFD 6.3

processus de contrle
(numro : premier ou dernier)
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Architecture matrielle

Dfinition de larchitecture matrielle


machines (unit de traitement)
interfaces matrielles
canaux de communication

Placement
processus
donnes et vnements

Dimensionnement des machines

Dimensionnement des rseaux

Spcification des logiciels de communication


jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme de contexte darchitecture


IHM
utilisateur
Entre

Traitement

Sortie
SonFiltre

Son

autoradio

HP

systme

Maintenance
oprateur

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Diagramme dinterconnexion
IHM
cran plat
Entre
conv A/D

Traitement
busE/S
bus
machine1

Sortie

CAN
busExt

machine2
HP
Maintenance
PC

Types de lien de communication


bus
rseau
lien optique
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Placement

Processus de transformation de donne (DFD)


module (machine)

Processus de contrle
module (machine)

Donnes et vnements entre deux modules


canal de communication

Dimensionnement
machines
fonctionnalits + donnes

Besoins en communication
pilotes
quantit de donnes changes
protocoles
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Contraintes temporelles

Diagramme de contexte
vnements entrants et sortants

Contraintes dactivation
vnement en entre priodique (priode)
vnement en entre sporadique (dmin)

Contraintes de rgularit
vnement en sortie priodique (priode)
vnement en sortie sporadique (dmin)

Contraintes de dlai
dlai maximal de prise en compte dun changement
Entre une entre et une sortie

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Conclusion

Spcification des besoins


Fonctionnels
Ractifs
Matriels
Temps rel

Exprimer des choix

Un document incomplet et difficile lire : document inutilisable

Prciser la spcification
Compltude, correction, cohrence

Stratgie de reprsentation
Clart, lisibilit

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple : diagramme de contexte

Cahier des charges


le logiciel scrute le son en provenance dun micro afin de lenvoyer vers un
haut-parleur. Il coupe les sons trop forts. Le logiciel possde une
commande marche/arrt.

Diagramme de contexte
BoutonAppuye

Boutons

SignalSon

Contrler
SonHP
lamplitude sonore

Micro

Haut-parleur

Top
Horloge

Boutons : bouton de label Marche et bouton de label arret


Micro : microphone de marque XX
Horloge : base de temps du systme
Haut-parleur : Haut Parleur situ sur le tableau de bord
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple : DFD0
Top
cSeuil

BoutonAppuye
signalFiltre
Analyser
son
1

SignalSon

Dtecter
Dpassement
3

max_Atteint

signal_OK

signalFiltre

timeout
Timer
2

SonHP

start
stop

Restituer
signal
4

cTempsMaximum

top2

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple : diagramme tat-transition

Top
top2

Tous

ArretAppuy
stop

Repos
MarcheAppuy
start
Attente
timeout
AnalyserSon
Dtecter dpassement
Vrification

signal_OK
Restituer signal
start

max_atteint
start

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple : DFD0
timeout
start
cTempsMaximum

depassement
Comparer
1

stop
top2

compteur

Initialiser
2

Incrmenter
3

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Exemple : diagramme tat-transition

Arrete

depassement

stop

start
Initialiser

timeout

En-cours
Top2
Incrmenter
Comparer

Exemple : spec des processus primitifs


Initialiser : compteur = 0
Incrmenter : compteur = compteur +1
Comparer : si compteur > cTempsMaximum signaler depassement
jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Dictionnaire de donnes

Nom
SignalSon

Description

SonHP
max_atteint
signal_OK

* Signal analogique du son enregistr*


* type : rel, intervalle : 0-300, unit : mVolt *
* son chantillonn *
8 { bit } 8
* valeur maximale fixe pour le son *
* type : entier, valeur : 250 mVolt *
ALIAS signalFiltre
* niveau de son trop lev *
* niveau de son correct *

BoutonAppuye
MarcheAppuye
ArretAppuye

[MarcheAppuye | ArretAppuye ]
* Appui sur le bouton Marche *
* Appui sur le bouton Arret *

signalFiltre
cSeuil

jean-philippe.babau@insa-lyon.fr

Dpartement Informatique INSA de Lyon

Dictionnaire de donnes

Nom
Top

Description
* Tick dhorloge *
* Frquence : 1 ms *

top2

ALIAS Top

start

* Active le timer 0*

stop

* Arrt du timer *

timeout

* temps dpass *

cTempsMaximum

* Temps dattente maximal : 10 ms *

depassement

* Valeur suprieure au seuil *

compteur

* Nombre de top *
* entier, [0,10] *

jean-philippe.babau@insa-lyon.fr

You might also like