Académique Documents
Professionnel Documents
Culture Documents
SA-RT
Structured Analysis for Real-Time
Jean-Philippe Babau
Dpartement Informatique
INSA Lyon
jean-philippe.babau@insa-lyon.fr
jean-philippe.babau@insa-lyon.fr
SA-RT historique
Spcification de systme
Structured Analysis Design Technics
(D.T. Ross 1976)
SADT
SA
SART
SA-RT objectifs
Outil de communication
formalisme graphique
client - concepteur
concepteurs
fonctionnel
vnementiel / ractif
donnes
architecture matrielle
Vrification
cohrence
simulation
jean-philippe.babau@insa-lyon.fr
Principes de SA-RT
Bords
Information changes : donnes et vnements
Aspect fonctionnel
flot de donnes
processus de transformation de donnes
Dcomposition arborescente
Processus composites
Feuille : spcification des processus primitifs
Dictionnaire de donnes
jean-philippe.babau@insa-lyon.fr
Principes de SA-RT
jean-philippe.babau@insa-lyon.fr
Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple
jean-philippe.babau@insa-lyon.fr
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
clavier
caractre
message
Afficher
souris
double-clic
jean-philippe.babau@insa-lyon.fr
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
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
clavier
caractere
message
Afficher
souris
double-clic
jean-philippe.babau@insa-lyon.fr
ecran
Donnes et vnements
Flot de donnes
continu
temprature
login
discret
Flot dvnement
continu
discret
tropChaud
alarme
jean-philippe.babau@insa-lyon.fr
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
Dictionnaire de donnes
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
Informations utiles
Pas daspects protocolaires
B produit d
A utilise d
B envoie d
jean-philippe.babau@insa-lyon.fr
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
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
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
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
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
ABS
vitesseVehicule
message
AfficherVitesse
Tableau
de bord
boutonSpeedAppuye
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
Diagramme de contexte
capteurs
vitessesVehicule
message
AfficherVitesse
cran
boutonSpeed
boutonSpeedAppuye
jean-philippe.babau@insa-lyon.fr
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
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
Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple
jean-philippe.babau@insa-lyon.fr
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
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
Transformation
de donnes (SA)
Partie ractive
(RT)
un processus de contrle
Verbe
numro
d4
nom
c1
jean-philippe.babau@insa-lyon.fr
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
Les donnes
data
data
Dictionnaire de donne
Cf. ci-avant
D2
Regroupement / Dcoupage
Cf. ci-avant
D1
data
d
A produit d
A
A
d
B utilise d
A envoie d
jean-philippe.babau@insa-lyon.fr
valeur
Les constantes
Donnes numriques
Messages utilisateurs
comparer
valeur max
incrmenter
jean-philippe.babau@insa-lyon.fr
type de Processus
Surveiller
Vrifier
Stocker
Compter
Oprations
Conditionner
Filtrer
Analyser
Dcoder
Interprter
Calculer
Evaluer
Formater
Commander
Lisser
Afficher
Gestion d un quipement
Grer Robot, etc.
Processus primitif
jean-philippe.babau@insa-lyon.fr
Processus primitif
Exemple
signalFiltre
max_atteint
Dtecter
dpassement
signal_OK
cSeuil
jean-philippe.babau@insa-lyon.fr
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
Exemple de dcomposition
CodeBarre
LecteurCodeBarre
Message
cran
ControlerDecoupePiece
IdCarte
cmdMoteur
Serveur
PrgDecoupe
jean-philippe.babau@insa-lyon.fr
Exemple de dcomposition
CodeBarre
tableID
Detecter
Message
Informer
IdCarte
IdCarte
EtatCommande
PrgDecoupe
PrgDecoupe
Decouper
cmdMoteur
jean-philippe.babau@insa-lyon.fr
moteur
Exemple de dcomposition
CodeBarre
tableID
Detecter
Message
Informer
IdCarte
EtatCommande
IdCarte
Decouper
PrgDecoupe
cmdMoteur
jean-philippe.babau@insa-lyon.fr
Exemple de dcomposition
CodeBarre
Detecter
Message
IdCarte
Decouper
Message
PrgDecoupe
cmdMoteur
jean-philippe.babau@insa-lyon.fr
Exemple de dcomposition
Message
Informer
IdCarte
EtatCommande
AfficherID
IdCarte
Message
AfficherEtat
EtatCommande
Message
jean-philippe.babau@insa-lyon.fr
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]
Exemple danalyse SA
CoordJoystick
CoordJCF
CoordJC
filtrer
recentrer
ValLimites
ConsigneVitesse
interpreter
Ratio
Intervalle
jean-philippe.babau@insa-lyon.fr
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
vitesseVehicule
message
ecran
AfficherVitesse
boutonSpeed
boutonSpeedAppuye
vitesseVehicule
Conditionner
1
vitesseNum
message
seuil
Formater
2
boutonAppuye
jean-philippe.babau@insa-lyon.fr
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
Rgles de reprsentation
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
Rgles de dcomposition
Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple
jean-philippe.babau@insa-lyon.fr
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
fin
CalculComplexe
Erreur
CalculSimple
Evaluer
1
PositionEstimee
Vitesse
Corriger
2
jean-philippe.babau@insa-lyon.fr
Position
ratio
Informer
Message
mme processus
fabrique
A1
A2
Fabriquer
RAZ
buteeDetectee
Termine
numero
message
Informer
programmeFab
commandes
jean-philippe.babau@insa-lyon.fr
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
Les vnements
signalisation
programmeFab
commandes
fabrique
Fabriquer
RAZ
buteeDetectee
CommandesGobelet
prpare
cafe_moulu
Faire le
caf
CommandesCaf
jean-philippe.babau@insa-lyon.fr
Rgles de reprsentation
idem
jean-philippe.babau@insa-lyon.fr
Association
Sens
DFD
evt1
Etat1
evt1
Traiter
evt2
Etat2
evt2
Traiter
Etat2
evt1
Traiter
jean-philippe.babau@insa-lyon.fr
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
A un instant donn
EtatD
CodeOK
Lire
CodeOK
Lire
Lire
Lecture
Lecture
Lecture
e1
e2
jean-philippe.babau@insa-lyon.fr
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
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
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
Phases
Idle / initialisation / fonctionnement / fin
Mode de fonctionnement
Normal / dgrad / maintenance
Maintenance
Arrete
Dbarquement
Embarquement
Atterrissage
Dcollage
EnVol
jean-philippe.babau@insa-lyon.fr
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
Stratgie de modlisation
Suivre un scnario
A chaque nouvel vnement : un nouvel tat
Principe de modlisation
Top
Start End
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
Principe de modlisation
Top
Start End
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
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
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
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
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
Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple
jean-philippe.babau@insa-lyon.fr
Mthodologie
Diagramme de contexte
Liste des bords
Donnes et vnements changs
Spcification informelle (rle)
Dictionnaire de donnes
au fur et mesure
jean-philippe.babau@insa-lyon.fr
Mthodologie
jean-philippe.babau@insa-lyon.fr
Mthodologie
Diagramme de contexte
Les sorties : prfrer les donnes aux vnements
Analyse descendante
Un processus doit tre self-consistent
Inutile de remonter pour comprendre
jean-philippe.babau@insa-lyon.fr
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
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
Conception
Objectifs
Activits du concepteur
Multitches ou cyclique
Paradigmes
SART
Multitches
Principes informel
jean-philippe.babau@insa-lyon.fr
Ward / Mellor
Hatley / Pirbhai
Ward / Mellor
pression
tropChaud
D/E
T
Faire
6.3.2
Contrler
6.0
processus de contrle
(numro : premier ou dernier)
jean-philippe.babau@insa-lyon.fr
Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple
jean-philippe.babau@insa-lyon.fr
Architecture matrielle
Placement
processus
donnes et vnements
Traitement
Sortie
SonFiltre
Son
autoradio
HP
systme
Maintenance
oprateur
jean-philippe.babau@insa-lyon.fr
Diagramme dinterconnexion
IHM
cran plat
Entre
conv A/D
Traitement
busE/S
bus
machine1
Sortie
CAN
busExt
machine2
HP
Maintenance
PC
Placement
Processus de contrle
module (machine)
Dimensionnement
machines
fonctionnalits + donnes
Besoins en communication
pilotes
quantit de donnes changes
protocoles
jean-philippe.babau@insa-lyon.fr
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
Conclusion
Prciser la spcification
Compltude, correction, cohrence
Stratgie de reprsentation
Clart, lisibilit
jean-philippe.babau@insa-lyon.fr
Plan
Diagramme de contexte
Analyse SA
Analyse RT
Mthodologie
Architecture matrielle
Exemple
jean-philippe.babau@insa-lyon.fr
Diagramme de contexte
BoutonAppuye
Boutons
SignalSon
Contrler
SonHP
lamplitude sonore
Micro
Haut-parleur
Top
Horloge
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
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
Exemple : DFD0
timeout
start
cTempsMaximum
depassement
Comparer
1
stop
top2
compteur
Initialiser
2
Incrmenter
3
jean-philippe.babau@insa-lyon.fr
Arrete
depassement
stop
start
Initialiser
timeout
En-cours
Top2
Incrmenter
Comparer
Dictionnaire de donnes
Nom
SignalSon
Description
SonHP
max_atteint
signal_OK
BoutonAppuye
MarcheAppuye
ArretAppuye
[MarcheAppuye | ArretAppuye ]
* Appui sur le bouton Marche *
* Appui sur le bouton Arret *
signalFiltre
cSeuil
jean-philippe.babau@insa-lyon.fr
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
depassement
compteur
* Nombre de top *
* entier, [0,10] *
jean-philippe.babau@insa-lyon.fr