Академический Документы
Профессиональный Документы
Культура Документы
Diagrammes tat-transition
automate
machine tats finie
Mealy
Moore
Automate dterministe
structure (Q,,,q0) o
Q : ensemble des tats
: alphabet
: fonction de transition dfinie sur
QQ
q0 Q : tat initial
peut aussi inclure lensemble F Q des tats
finaux
Automate : reprsentation
graphique
b
q0
q1
q2
Automate : modlisation
on sen sert pour rprsenter les squences
dvnements valides dun systme
un vmenent peut prendre plusieurs formes
une entre, une sortie, un appel de mthode, etc
Exercice 1
Utilisez un automate pour spcifier le
comportement dune bibliothque
Prenez en compte seulement les prts
de livres aux membres
Dcrivez les limitations et les
informations implicites
IGL301 -
Solution 1
q0
crer
supprimer
q1
emprunter
q2
renouveler
retourner
Exercice 2
Ajouter les rservations lexercice
prcdent
Dcrivez les limitations et les
informations implicites
IGL301 -
Solution 2
renouveler
q0
crer
supprimer
q1
emprunter
retourner
q2
annulerRs
rserver
prter
SurRes
q3
annulerRs
rserver
q5
...
rserver
retourner
q4
retourner
prter
SurRes
q6
...
IGL301 -
Exercice 3
Dcomposez votre spcification en
plusieurs diagrammes
Exprimez les liens entre les
diagrammes
IGL301 -
10
Exercice 4
crivez le pseudo-code dun
programme qui traite les vnements
dune bibliothque
soyez le plus prcis possible;
faites rfrence au modle de donnes;
donnez toutes les prconditions et toutes
les mises--jour de chaque vnement
IGL301 -
11
Exercice 4 (suite)
traitez les vnements suivants :
creer <idLivre> <titre> <auteur> <dateAcquisition>
emprunter <idLivre> <idMembre> <dateEmprunt>
renouveler <idLivre> <dateRenouvellement>
retourner <idLivre> <dateRetour>
supprimer <idLivre>
inscrire <idMembre> <nom> <telephone> <limitePret>
dsinscrire <idMembre>
reserver <idReservation> <idLivre> <idMembre>
<dateReservation>
preterSurRes <idReservation> <dateEmprunt>
annulerRes <idReservation>
afficherPrets
IGL301 -
12
Exercice 5
Dcrivez les liens entre vos automates
et votre pseudo-code pour la
bibliothque
indiquez quel tat du systme
correspond un tat de lautomate
indiquez le lien entre les prconditions des
vnements et le pseudo-code
indiquez les forces et les limitations de la
notation dautomate
IGL301 -
13
Solution 5
limitations des automates
les paramtres dentre et de sortie des
vnements ne sont pas explicites
difficile de reprsenter entirement
lespace du systme
difficile de donner toutes les prconditions
ne donne pas les messages derreurs
comment dterminer si un programme
satisfait un automate???
IGL301 -
14
Exercice 6
Spcifiez laide dun automate le
comportement dun systme
tlphonique de base (POTS)
dcrochez
composer un numro
rpondre un appel
15
Exercice 6 (suite)
faire le modle conceptuel de donnes
du POTS
faire le diagramme de classe du POTS
faire les cas dutilisation du POTS
quels liens y a-t-il entre ces
diagrammes
IGL301 -
16
Exercice 7
Dfinissez la notion dquivalence de
deux automates
IGL301 -
17
IGL301 -
18
IGL301 -
19
Machine de Mealy :
convention
transition s1 --- i / o --> s2:
si lentre i est reue alors que le systme est
dans ltat s1, la sortie o est produite et le nouvel
tat du systme est s2
i est aussi appel le dclencheur (trigger)
20
Exercice
Spcifier une pile avec une machine de
Mealy
IGL301 -
21
IGL301 -
22
Caractristiques dune
machine de Mealy
non hirarchique
un tat dnote ltat complet du
systme
le systme est dans un seul tat la
fois
une transition est atomique; elle ne peut
tre dcompose
IGL301 -
23
Squence : dfinitions
S* dnote lensemble de toutes les
squences (incluant la squence vide )
formes partir dlments de S
S+ dnote lensemble de toutes les
squences non vides formes partir
dlments de S
S* = S+ {}
on dnote par t1t2 la concatnation des
squence t1 et t2
IGL301 -
24
Machine de Mealy :
smantique
IGL301 -
25
Diagramme tat-transition
gnralis
plusieurs notations utilises
SDL
Statechart
ROOM
ad hoc (ex: celle du livre)
IGL301 -
26
action
dterminer
good ou
bad?
trigger
tat
IGL301 -
27
IGL301 -
28
SDL
SDL - Specification and Description
Language
norme CCITT
IGL301 -
29
SDL
Message
State
Transition
Trigger
Response
(action with output)
or
or
Action
(no output)
Decision
IGL301 -
30
Card
entry
Display
"Enter PIN"
Await
PIN
Good
PIN
Press
END
Eject card
Bad
PIN
Display
"Enter card"
Retain card
Display
"Enter card"
1st
try
?
Display
"Re-try"
Amount
entered
Dispense
cash
IGL301 -
Display
"select
amount"
Await
amount
31
SDL - Concurrence
un trait
pointill
dnote un
envoi de
message
IGL301 -
32
Timer 1
10 secs
Timer 1
IGL301 -
33
IGL301 -
34
IGL301 -
35
Exercice 8
Spcifier le comportement dun livre
avec SDL
prenez en compte les prts, les
rservations et les retards
IGL301 -
36
Statechart
machine tats hierarchique
concurrence
actions associes aux transitions et aux
tats
condition associe aux transitions
IGL301 -
37
statechart - notation
1
state A
1
await card
entry
2
state B
trigger (guard) /
action
2
await
PIN
card
entered
good PIN
IGL301 -
etc.
38
T5
T2
T3
T4
T2
1.2
IGL301 -
39
Statechart - hirarchisation
1
T4
T4
T3
T3
T4
T2
T2
IGL301 -
40
Statechart - historique
2
T2
1.1
1.2
T3
T4
IGL301 -
41
Statechart - hirarchisation
series
editing
class
editing
race
editing
results
editing
boat
editing
IGL301 -
entry
editing
42
Statechart - hirarchisation
ces deux
notations sont
quivalentes
IGL301 -
43
Statechart - hirarchisation
class-button
class
editing
series-button
series
editing
race-button
race
editing
results-button
boat
editing
results
editing
boat-button
entry
editing
entry-button
IGL301 -
44
Statechart - concurrence
alarm off
await IR
signal
+ve
-ve
await 2nd
IR signal
+ve/
send
alarm
signal
alarm
signal
reset
alarm on
IGL301 -
await smoke
signal
smoke
signal/
send
alarm
signal
smoke
signal time-out
< 10 sec,
await 2nd
smoke signal
45
Exercice 9
Donnez un statechart pour le systme
de guichet bancaire
Donnez un statechart pour le POTS
IGL301 -
46
TP4 - partie I
Spcifiez laide dun statechart un four micro-onde ayant les
caractristiques suivantes
trois niveaux de temprature (low, medium, high)
timer (chronomtre)
defrost (3 tapes de dure gale : la premire high, la deuxime medium
et la dernire low)
programmation jusqu 3 tapes o lutilisateur peut spcifier la temprature
et la dure
dfinissez les touches appropries et ralistes pour permettre lutilisateur
dutiliser ces fonctions
par souci de simplicit, ne spcifiez pas laffichage lcran; spcifiez
seulement les actions de contrle pour llment chauffant et les alarmes
sonores (fin de cuisson ou fin dun timer, par exemple)
dcrivez le traitement des actions sous forme de pseudo-code quand cela est
ncessaire
dclarez les variables dtat que vous utilisez dans les actions
IGL301 -
47
TP4 - partie II
Utilisez un statechart pour spcifier un aspect
de votre projet de session
Dcrivez le problme sous forme textuelle et
donnez le statechart
La taille du problme doit tre similaire celle
du micro-onde
Soyez suffisamment prcis pour quun
observateur externe (comme moi) qui ne
connait pas du tout le problme puisse
interprter votre spcification sans ambigut
IGL301 -
48