Escolar Documentos
Profissional Documentos
Cultura Documentos
DE-1
DE-2
DE-3
DE-4
Representa
Representao gr
grfica do comportamento do aut
autmato em termos de
estados,
estados, entradas e transi
transies entre estados.
estados.
pseudo estado
inicial
entradas
estados
DE-5
DE-6
Representa
Representao gr
grfica dos estados poss
possveis, entradas e transi
transies
de estado de uma mquina de venda de chocolates a 50 c,
c, at
at se atingir
uma quantia que permita comprar um chocolate.
chocolate.
Estados
aceit
aceitveis para
continua
continuao do
comportamento
da m
mquina
(ex
(ex comprar)
A necessidade de estrutura e
modularidade bvia
DESENVOLVIMENTO DE SISTEMAS SOFTWARE
DE-7
DE-8
DE-9
DE-10
Diagrama de Estados b
bsico de UML
DE-11
DME: Definies
Transies representam passagens de
um estado a outro pela ocorrncia de um
evento.
Associado ao evento de uma transio
podemos ter parmetros e aces.
H transies que so condicionadas, ou
seja, guardadas por uma condio entre
[ ]. Se true h transio seno
Quando uma mquina est num dado
estado e ocorre um evento, apenas uma
transio de sada pode ser tomada.
Eventos, transies e actividades so
realizados de forma instantnea.
Forma geral:
evento(pars) [guarda] / ac
aco
Qualquer das 3 partes opcional !
DESENVOLVIMENTO DE SISTEMAS SOFTWARE
DE-12
DME: Exemplos
Um simples login
DE-13
DME: Refinamento
Um estado uma situao particular dentro das vrias situaes
possveis no ciclo de vida de um autmato, durante a qual o autmato
possui dadas propriedades (cf. aberto, fechado, feliz, infeliz), satisfaz
alguma condio (cf. transitvel ou no, vlido ou invlido), realiza
alguma actividade (cf. faz soar o alarme, ou faz pisca-pisca), ou ento
apenas espera a ocorrncia de algum evento vlido.
Tal como foi dito antes, os estados relevantes de um DME so aqueles
que respondem de forma diferente aos eventos que podem ocorrer (ver
exemplo seguinte);
Estes autmatos so determinsticos, pelo que, tal como se disse
antes, a especificao apenas estar correcta se, partindo-se de um
qualquer estado actual, apenas 1 estado seguinte seja possvel de atingir
dadas as combinaes de eventos e guardas. Esta propriedade muito
importante e designa-se por determinismo.
DE-14
DME: Exemplo
DE-15
DE-16
Estado Destino
Evento
Guarda
Actividade
pseudo
Fechado
null
true
fechar
Fechado
Aberto
bilhete
true
abrir
Fechado
Aberto
moeda
true
abrir
Fechado
Fraude
passar
true
alarme
Aberto
Fechado
passar
true
fechar
Fraude
Fraude
reset
true
reset alarme
Fraude
Fechado
pronto
true
A implementao em tabelas muito importante quando se pretende representar estes autmatos em Bases de Dados o que muito comum, pois estes
autmatos permitem representar o ciclo de vida de, por exemplo, um
documento, um livro da biblioteca, uma tarefa, um meio complementar de
diagnstico mdico, etc.
DE-17
DME: Exemplo
DE-18
DME: Ramificao
Ramifica
Ramificao condicional em fun
funo
do valor de uma expresso
(pseudoestado de escolha)
escolha)
DE-19
DME: Juno
oferta(valor) [ valor < 100] /
rejeitar
Feliz
Feliz
Venda
Venda
oferta(valor)
(valor >= 100] &
valor <200]) /
vender
Ramifica
Ramificao condicional em fun
funo
do valor de uma expresso
(pseudoestado de jun
juno)
o)
Infeliz
Infeliz
So equivalentes !
DE-20
DME: Exemplos
Mquina ATM
DE-21
de tempo absoluto
Descrio
Sintaxe
after(time)
after(10s)
after(21:00)
when(time)
when(expr_bool)
when(1:00 AM)
when(qt >= 50 ct)
de chamada de operao
de recepo de sinal
Recepo de uma
chamada sncrona
Recepo de uma
comunicao assncrona
op(a:T)
sinal(a:T)
DE-22
Exemplos de utiliza
utilizao dos eventos
especiais when() e after()
DE-23
DME: Eventos
DE-24
Defini
Definio
Ac
Aco executada ao entrar no estado
do / ac
aco
Ac
Aco executada enquanto estado activo
exit / ac
aco
Ac
Aco executada ao sair do estado
event / ac
aco
Ac
Aco instantaneamente executada se evento ocorrer
DE-25
DE-26
DE-27
DE-28
Mquina de Venda II
DE-29
Descrio
Notao
simples
composto sequencial
estado de submquina
estado histria
S
Estado composto
formado por subestados,
dos quais apenas um est
activo quando o estado
composto est activo
s:M
pseudo-estado cuja
activao repe o estado
previamente activo num
estado composto
DE-30
DE-31
DE-32
DE-33
DE-34
O nvel de aninhamento
ilimitado, ou melhor, apenas
limitado pela capacidade de
compreenso e clareza.
DE-35
DME: Memria
O pseudo-estado de memria indica que a actividade da mquina
retomada no exacto ltimo estado completo em que esta se encontrava
aquando da ltima sada (cf. hibernar em PCs).
DE-36
ON
OFF
Ar Condicionado a funcionar
Aquecedor
activado
Aquecedor
aumenta a sua
temperatura
Temperatura
estabiliza
subdiagramas
concorrentes
Aquecimento
Ventoinha
activada
Ventoinha
aumenta
velocidade
Ventoinha mantm
alta velocidade
Ventilao
DE-37
DME: Concorrncia/Regies
DE-38
DME: Sntese
DE-39
Um qualquer estado
de um outro
diagrama a pode
referenciar
nome : tipo
DESENVOLVIMENTO DE SISTEMAS SOFTWARE
DE-40
DE-41
DME: Submquinas
Submquina CheckPIN
DE-42
DME: Exemplo
Especificao dos
passos do
estabelecimento de uma
ligao segura (SSL) a
um servidor bancrio
para realizar
transaces
DE-43
Correspondncia
Um objecto
servidor
Uma FSM
DE-44
P
A
S
S
I
V
O
A
C
T
I
V
O
Semntica de runrun-toto-completion
completion => tratar 1 evento de cada vez
DESENVOLVIMENTO DE SISTEMAS SOFTWARE
DE-45
A
C
T
I
V
O
Eventos so serializados
Elimina concorrncia interna
Minimiza overhead
overhead de mudan
mudana de
contexto
DE-46
DE-47
Estes botes da
IU disparam os
eventos
http://ihcs.irit.fr/bastide/Teaching/UML/StateCharts/
DESENVOLVIMENTO DE SISTEMAS SOFTWARE
DE-48
Estes botes da
IU disparam os
eventos
A m
mquina de estados
transita de estado
mostrando sempre o
estado actual interno.
Na interface
apresentado em cada
momento ou o tempo ou
estado externo do rel
relgio
DE-49
MODELOS
COERENTES
DE-50