diagrama de estados - dainf.ct.utfpr.edu.brtacla/uml/0090-diagestados-slides1.pdfdiagrama de estados...
TRANSCRIPT
![Page 1: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/1.jpg)
Diagrama de Estados
Prof. Cesar Augusto Tacla
![Page 2: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/2.jpg)
Diagrama de estados
�Representação do comportamento de uma classe de objetos
�Possui um número de estados finitos�Comportamentos possíveis em cada estado�O que causa as mudanças de estado�Quais mudanças são possíveis
�Modelo dinâmico
![Page 3: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/3.jpg)
Elementos básicos
�Estado�Transição�Evento�Ação
�Nas transições�Nos estados
�Atividade�Condições de guarda
![Page 4: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/4.jpg)
Notação básica
stm Abstrato
estado inicial
Estado Estado 2
Final
transição evento [guarda] /ação
transição
Estado: tempo durante o qual o objeto satisfaz alguma condição.
![Page 5: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/5.jpg)
Exemplo 1: janela
class Estações do ano
Initial
JanelaOriginal
JanelaMinimizada
Final
botão min.pressionado/minimizar
botão rest. pressionado/restaurar
botão fecharpressionado /destruir
transição
ação
evento
Transição automática
![Page 6: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/6.jpg)
Ação nas transiçõesstm Liv ro ações nas transições
Initial
Disponível
Emprestado
Em reparo
Final
comprado/NotificarInteressados
Emprestado
Colocado em reparo
devolvido/NotificarInteressados
reparado/NotificarInteressados
retirado do acervo
Ação: atômica e instantânea
![Page 7: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/7.jpg)
Ação nos estadosstm Livro ações no estado
Initial
Disponív el
+ entry / NotificarInteressados
Emprestado
Em reparo
Final
comprado
emprestado devolvido
retirado do acervo
colocado em reparo
reparado
Toda vez que se alcançao estado Disponível executa-sea ação NotificarInteressados
A palavra-chave exit funcionade forma similar, porém para asaída do estado
![Page 8: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/8.jpg)
Atividade (do)
stm Ativ idade no estado
Initial
Impressora ociosa
Sem papel
+ do / beep(tempo)
Imprimindo
impressão iniciada
fim impressão
falta depapel
papel colocadoimpressão cancelada
impressão cancelada
tempo = 1 minuto: enquanto estiver no estado Sem Papele dentro do 1 minuto, um beep soa.
Atividade pode serinterrompida peloevento papel colocadoou impr. cancelada
![Page 9: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/9.jpg)
Auto-transição
stm Conta letras
Initial
Contando letras
- num: int
+ entry / num++ Final
/num:=-1 enter
letra teclada
![Page 10: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/10.jpg)
Transição interna
stm Conta letras
Initial
Contando letras
- num: int
+ F1 / mostrar help+ entry / num++ Final
/num:=-1 enter
letra teclada
transição interna F1: não provoca saída e reentrada no estadocontando letras
![Page 11: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/11.jpg)
Ordem de execução de ações e atividades
stm Ordem exec
Initial
Estado A
+ entry / A1+ do / A2+ exit / A3
Estado B
+ entry / A5+ do / A6+ ev interno / A7+ exit / A8
Final
/A0
ev AB /AB
ev FIM /A9
ev B /A4
Qual a ordem deexecução das açõesface aos eventos:início,ev AB,ev interno,ev Bev FIM ???
![Page 12: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/12.jpg)
Condição de guarda
Importante: condição de guarda só é avaliada na ocorrênciado evento userInput
![Page 13: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/13.jpg)
Tipos de evento
� Chamada (call)�método
� Sinal (signal)�Recepção de
mensagem
�Evento de interface�Clique�enter
� Temporal (time)�When(12h)�After(45”)
� De Mudança(change)�When(volume>=30)
![Page 14: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/14.jpg)
Evento de chamadastm CtrlConversao ME
Inicial
Aguarda entrada
+ entry / ^IUConversao.solicitarCelsius
fim
Final
[falso]/ConversaoCF(v),^IUConversao.mostrar(f)
[verdadeiro]/writeObject()
v:=valorfornecido
/instanciaHistorico eIUConversao
stm IUConv ersao ME
Initial
Aguarda cmdo controle
Aguarda entrada usuário
final
sol icitarCelsius valor fornecido [numéricoou "fim"]
valor fornecido[~fim & ~numérico]
destroy
mostrar(f)/mostrar(f)
![Page 15: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/15.jpg)
Exemplo: Eventos temporaisSEMÁFORO
![Page 16: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/16.jpg)
Evento de mudança xCondição de guarda
Avaliada somente quando o evento ocorre !
stm Estado
Initial
Aguarda entrada usuário
Final
entrada fornecida [entrada ok]
entrada fornecida [entrada ok] /beep
entrada fornecida[fim] /2x beep
1 2
1
1
![Page 17: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/17.jpg)
Evento de mudança xCondição de guarda
Avaliação contínua
Avaliação associada ao evento
![Page 18: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/18.jpg)
Estados compostos
�Representação�Decomposição (abstração)�Concorrência�submáquinas
![Page 19: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/19.jpg)
Estado composto
Estado composto>>>>>>>>>>>
![Page 20: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/20.jpg)
Estado composto: Recebendo
![Page 21: Diagrama de Estados - dainf.ct.utfpr.edu.brtacla/UML/0090-DiagEstados-slides1.pdfDiagrama de estados Representação do comportamento de uma classe de objetos Possui um número de](https://reader031.vdocuments.site/reader031/viewer/2022022700/5bb944e809d3f2da618b7b44/html5/thumbnails/21.jpg)
Histórico (shallow history)
Transição válida para qualquer evento do estado composto