Transcript
7/25/2019 Chapitre 12.6 Diag Etat Trans
1/48
IGL301 - 1
Diagramme tat-transition
(ref : Bray section 12.6 - pages
266 283 et article Desharnais,., !rappier, "., "ili, #.: $tate%ransition Diagrams. &
7/25/2019 Chapitre 12.6 Diag Etat Trans
2/48
IGL301 - 2
Diagrammes tat-transition
' atomate' machine tats finie
) "ealy) "oore
' machine tats ten*e
) $D+) statechart) "
7/25/2019 Chapitre 12.6 Diag Etat Trans
3/48
IGL301 - 3
#tomate *terministe
' strctre (,,,/0& o) : ensemle *es tats
: alphaet : fonction *e transition *finie sr
) /0 : tat initial
) pet assi inclre lensemle !
*es tatsfina4
' latomate est *it dterministepc/ est nefonction plt5t /ne relation
7/25/2019 Chapitre 12.6 Diag Etat Trans
4/48
IGL301 - 4
#tomate : reprsentation
graphi/e
/0 /1 /2a
c
7/0, /1, /2
7a, , c 7(/0,a&/1, (/1,&/1, (/1,c&/2
! 7/2
7/25/2019 Chapitre 12.6 Diag Etat Trans
5/48
IGL301 - 5
#tomate : mo*lisation
' on sen sert por rprsenter les s/ences*9nements 9ali*es *n systme
' n 9menent pet pren*re plsiers formes) ne entre, ne sortie, n appel *e mtho*e, etc' les tats sont so9ent ne astraction *e ltat
* systme
) haitellement impossile *e reprsenter tos lestats * systme a9ec n atomate) fonit n point *e 9e partiel
' *ifficile *e reprsenter le paralllisme
7/25/2019 Chapitre 12.6 Diag Etat Trans
6/48
IGL301 - 6
;4ercice 1
'
7/25/2019 Chapitre 12.6 Diag Etat Trans
7/48
IGL301 - 7
$oltion 1
/0 /1crer emprnter
/2 reno9eler
retorner
information implicite et limitations'point *e 9e *n li9re selement'ne4prime pas les contraintes sr le memre
'limite *e pr?t'nin*i/e pas si n memre pet emprnter plsiers li9res la fois
spprimer
7/25/2019 Chapitre 12.6 Diag Etat Trans
8/48
IGL301 -
;4ercice 2
' #@oter les rser9ations le4erciceprc*ent
' Dcri9e= les limitations et lesinformations implicites
7/25/2019 Chapitre 12.6 Diag Etat Trans
9/48
IGL301 - !
$oltion 2
/0 /1crer emprnter
/2
reno9eler
retorner
/3rser9er
/A
retornerpr?ter
$res
/rser9er
/6
retorner
pr?ter$res
limitations et informations implicites'ne reprsente /e *e4 rser9ations la fois
'impossile *e reprsenter totes les rser9ations'ne4prime pas les contraintes sr le memre :
'lemprnter corant ne pet rser9er son li9re'rser9ations ser9ies *ans lor*re *arri9e, mais annls *ans nimporte/el or*re
rser9er
annlers annlers
"""
"""
spprimer
7/25/2019 Chapitre 12.6 Diag Etat Trans
10/48
IGL301 - 10
;4ercice 3
' Dcompose= 9otre spcification enplsiers *iagrammes
' ;4prime= les liens entre les*iagrammes
7/25/2019 Chapitre 12.6 Diag Etat Trans
11/48
IGL301 - 11
;4ercice A
' Ccri9e= le pse*o-co*e *nprogramme /i traite les 9nements
*ne ilioth/e) soye= le pls prcis possile
) faites rfrence a mo*le *e *onnes
) *onne= totes les prcon*itions et totesles mises--@or *e cha/e 9nement
7/25/2019 Chapitre 12.6 Diag Etat Trans
12/48
IGL301 - 12
;4ercice A (site&
' traite= les 9nements si9ants :creer
emprunter
renouveler
retourner
supprimer
inscrire
dsinscrire
reserver
preterSurRes
annulerRes
afficherPrets
7/25/2019 Chapitre 12.6 Diag Etat Trans
13/48
IGL301 - 13
;4ercice
' Dcri9e= les liens entre 9os atomateset 9otre pse*o-co*e por la
ilioth/e) in*i/e= /el tat * systmecorrespon* n tat *e latomate
) in*i/e= le lien entre les prcon*itions *es
9nements et le pse*o-co*e) in*i/e= les forces et les limitations *e la
notation *atomate
7/25/2019 Chapitre 12.6 Diag Etat Trans
14/48
IGL301 - 14
$oltion
' limitations *es atomates) les paramtres *entre et *e sortie *es
9nements ne sont pas e4plicites) *ifficile *e reprsenter entirement
lespace * systme) *ifficile *e *onner totes les prcon*itions
) ne *onne pas les messages *errers) comment *terminer si n programme
satisfait n atomateEEE
7/25/2019 Chapitre 12.6 Diag Etat Trans
15/48
IGL301 - 15
;4ercice 6
' $pcifie= lai*e *n atomate lecomportement *n systme
tlphoni/e *e ase (>%$&) *croche=
) composer n nmro
) rpon*re n appel' i*entifie= ien les entres et les sorties
7/25/2019 Chapitre 12.6 Diag Etat Trans
16/48
IGL301 - 16
;4ercice 6 (site&
' faire le mo*le conceptel *e *onnes* >%$
' faire le *iagramme *e classe * >%$' faire les cas *tilisation * >%$
' /els liens y a-t-il entre ces*iagrammes
7/25/2019 Chapitre 12.6 Diag Etat Trans
17/48
IGL301 - 17
;4ercice F
' Dfinisse= la notion */i9alence *e*e4 atomates
7/25/2019 Chapitre 12.6 Diag Etat Trans
18/48
IGL301 - 1
"achine tats finie
' propos par "ealy et "oore (sparment&) "ealy : sortie associe ne transition
) "oore : sortie associe n tat' *istinge entre les entres et les sorties) sr rception *ne entre, ne sortie est pro*ite
' *istinction a9ec atomate
) atomate ne *istinge pas entre et sortie) on i*entifie *ans le te4te accompagnant latomate
la natre *n 9nement (entre o sortie&
7/25/2019 Chapitre 12.6 Diag Etat Trans
19/48
IGL301 - 1!
"achine tats *e "ealy
7/25/2019 Chapitre 12.6 Diag Etat Trans
20/48
IGL301 - 20
"achine *e "ealy :
con9ention' transition s1 --- i G o --H s2:
) si lentre i est reIe alors /e le systme est
*ans ltat s1, la sortie o est pro*ite et le no9eltat * systme est s2
) i est assi appel le *clencher (trigger&
: sortie inintressante, o asente
' si ne entre est reIe et /acnetransition nest *finie por cette entre, il nese passe rien (lentre est ignore&
7/25/2019 Chapitre 12.6 Diag Etat Trans
21/48
IGL301 - 21
;4ercice
' $pcifier ne pile a9ec ne machine *e"ealy
" hi " l l
7/25/2019 Chapitre 12.6 Diag Etat Trans
22/48
IGL301 - 22
"achine "ealy : e4emple*ne pile
tat initial
7/25/2019 Chapitre 12.6 Diag Etat Trans
23/48
IGL301 - 23
Jaractristi/es *ne
machine *e "ealy' non hirarchi/e
' n tat *note ltat complet *
systme' le systme est *ans n sel tat la
fois
' ne transition est atomi/e elle ne pet?tre *compose
7/25/2019 Chapitre 12.6 Diag Etat Trans
24/48
IGL301 - 24
$/ence : *finitions
' $K *note lensemle *e totes less/ences (inclant la s/ence 9i*e &formes partir *lments *e $
' $L *note lensemle *e totes less/ences non 9i*es formes partir*lments *e $
' $K $L 7' on *note par t1t2 la concatnation *ess/ence t1 et t2
7/25/2019 Chapitre 12.6 Diag Etat Trans
25/48
IGL301 - 25
"achine *e "ealy :
smanti/e
7/25/2019 Chapitre 12.6 Diag Etat Trans
26/48
IGL301 - 26
Diagramme tat-transition
gnralis' plsiers notations tilises
) $D+
) $tatechart) "
) a* hoc (e4: celle * li9re&
$%D l * i h t
7/25/2019 Chapitre 12.6 Diag Etat Trans
27/48
IGL301 - 27
$%D : e4emple *n gichetancaire comment
*terminergoo* oa*E
el est
ltatinitialE
trigger
action
tat
7/25/2019 Chapitre 12.6 Diag Etat Trans
28/48
IGL301 - 2
$%D : e4emple *ne pile
(
7/25/2019 Chapitre 12.6 Diag Etat Trans
29/48
IGL301 - 2!
$D+
' $D+ - $pecification an* Description+angage
' norme JJM%%
7/25/2019 Chapitre 12.6 Diag Etat Trans
30/48
IGL301 - 30
$D+State
Transition
Trigger
Response(action with output)
Action (no output)
Decision
or
or
Message
7/25/2019 Chapitre 12.6 Diag Etat Trans
31/48
IGL301 - 31
$D+ - Nichet ancaire
Awaitcard
AwaitPIN
Display
"Re-try"
Display
"nter card"
!ect card
Await
aountDispense
cash
Aount
entered
#st
try
$
%N
&ardentry
'oodPIN
(ad
PIN
Press
ND
Display
"nter card"
Retain card
Display"nter PIN"
Display
"select
aount"
7/25/2019 Chapitre 12.6 Diag Etat Trans
32/48
IGL301 - 32
$D+ - Joncrrence
n traitpointill*note nen9oi *emessage
7/25/2019 Chapitre 12.6 Diag Etat Trans
33/48
IGL301 - 33
$D+ - %emporisater (timer&
Ti"er #
# secs
Ti"er #
7/25/2019 Chapitre 12.6 Diag Etat Trans
34/48
IGL301 - 34
$D+ - ;4emple temporisater
$D+ e4emple alarme
7/25/2019 Chapitre 12.6 Diag Etat Trans
35/48
IGL301 - 35
$D+ - e4emple alarmeincen*ie
7/25/2019 Chapitre 12.6 Diag Etat Trans
36/48
IGL301 - 36
;4ercice 8
' $pcifier le comportement *n li9rea9ec $D+
' prene= en compte les pr?ts, lesrser9ations et les retar*s
7/25/2019 Chapitre 12.6 Diag Etat Trans
37/48
IGL301 - 37
$tatechart
' machine tats hierarchi/e
' concrrence
' actions associes a4 transitions et a4tats
' con*ition associe a4 transitions
7/25/2019 Chapitre 12.6 Diag Etat Trans
38/48
IGL301 - 3
statechart - notation
trigger #g$ard% &
action
1
state '
2
state (
)ad *I+ #1stattept%2
aait
*I+
1
aait card
entr.
card
entered
)ad *I+ #2nd attept%&
e/ect cardgood *I+ etc"
7/25/2019 Chapitre 12.6 Diag Etat Trans
39/48
IGL301 - 3!
$tatechart - tat hirarchi/e
1
2
1"2
1"1
1
2
3
4
2
5
7/25/2019 Chapitre 12.6 Diag Etat Trans
40/48
IGL301 - 40
$tatechart - hirarchisation
3
2
1
4
3
4 2
3
2
1
4
3
2
7/25/2019 Chapitre 12.6 Diag Etat Trans
41/48
7/25/2019 Chapitre 12.6 Diag Etat Trans
42/48
IGL301 - 42
$tatechart - hirarchisation
cass
editing
)oat
editing
race
editing
series
editing
entr.
editing
res$ts
editing
7/25/2019 Chapitre 12.6 Diag Etat Trans
43/48
IGL301 - 43
$tatechart - hirarchisation
ces *e4notations sont/i9alentes
7/25/2019 Chapitre 12.6 Diag Etat Trans
44/48
IGL301 - 44
$tatechart - hirarchisation
cass
editing
)oat
editing
race
editing
series
editing
entr.
editingres$ts
editing
cass-)$tton series-)$tton race-)$tton
res$ts-)$tton
)oat-)$tton entr.-)$tton
7/25/2019 Chapitre 12.6 Diag Etat Trans
45/48
IGL301 - 45
$tatechart - concrrence
aait I
signa
aait 2nd
I signa
10 sec,aait 2nd
soe signa
aait soe
signa
aar off
aar on
ve-ve
aar
signa reset
soe
signa tie-o$t
soe
signa&
send
aar
signa
ve&
send
aar
signa
7/25/2019 Chapitre 12.6 Diag Etat Trans
46/48
IGL301 - 46
;4ercice O
' Donne= n statechart por le systme*e gichet ancaire
' Donne= n statechart por le >%$
7/25/2019 Chapitre 12.6 Diag Etat Trans
47/48
IGL301 - 47
%>A - partie M' $pcifie= lai*e *n statechart n for micro-on*e ayant les
caractristi/es si9antes) trois ni9ea4 *e tempratre (loP, me*im, high&) timer (chronomtre&) *efrost (3 tapes *e *re gale : la premire high, la *e4ime me*im
et la *ernire loP&) programmation @s/ 3 tapes o ltilisater pet spcifier la tempratre
et la *re
) *finisse= les toches appropries et ralistes por permettre ltilisater*tiliser ces fonctions) par soci *e simplicit, ne spcifie= pas laffichage lcran spcifie=
selement les actions *e contr5le por llment chaffant et les alarmessonores (fin *e cisson o fin *n timer, par e4emple&
) *cri9e= le traitement *es actions sos forme *e pse*o-co*e /an* cela estncessaire
) *clare= les 9ariales *tat /e 9os tilise= *ans les actions
7/25/2019 Chapitre 12.6 Diag Etat Trans
48/48
%>A - partie MM
'
top related