Aula capitulo9 diagrama_estados

  • 509 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
509
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
14
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. DIAGRAMAS DE ESTADOS Edgar Gemo: ergemo@ustm.ac.mz Zeferino Saugene: zsaugene@ustm.ac.mz
  • 2. Diagramas de Estado • Modo de representar as alterações de estado dos objectos do sistema (objectos mudam de estado como resposta a eventos e à passagem de tempo). • Exemplos: – Quando se liga/desliga um interruptor – Depois da passagem de um determinado período de tempo, a máquina de lavar termina o seu programa de lavagem, e inicia o de secagemUm diagrama de estado também é designado por “máquina de estados”
  • 3. Diagrama de Estados• Diagrama de Estados – Ilustrar o comportamento interno de um determinado objecto, sub-sistema ou sistema global. – Representam •Possíveis estados de um objecto •Correspondentes transições entre estados •Eventos que fazem desencadear as transições •Operações (acções e actividades) executadas dentro de um estado ou durante um transição. – Objectos evoluem ao longo do tempo através de um conjunto de estados como resposta a eventos e à passagem do tempo.
  • 4. Diagramas de Estado - Representação X Estado X Estado inicial Estado final transição Nome Visão de um Estado com detalhes Operações Acesa Desligar (off) Ligar (on) Danificada Apagada Exemplo: “lâmpada”
  • 5. Diagramas de EstadoSub-Estados (potencia o mecanismo de abstracção/decomposição) Um estado pode ser melhor descrito por um conjunto (sequencial e/ou concorrente) de outros estados, designados por “sub-estados”. Ou seja, um conjunto de estados podem ser agregados num único estado...
  • 6. Diagramas de EstadoSub-Estados Sub-Estados Concorrentes
  • 7. Estados• Estado: Situação registada por um objecto durante o seu ciclo de vida, durante a qual uma condição é verificada e vai executando alguma actividade, ou simplesmente espera que determinado evento ocorra.
  • 8. Eventos• Elementos – Nome • String que distingue um estado dos outros. Estado sem nome diz-se “estado anónimo”. – Acções de Entrada e Saída • Acções executadas à entrada e saída do estado. – Actividades • Realizadas sobre um objecto quando se encontra nesse estado. Podem não influir sobre o estado do objecto. – Transições internas • Transições que ocorrem mas não mudam o estado do objecto. – Eventos diferidos • Eventos tratados num outro estado que não o corrente, mas que fazem sentido explicitar. – Sub-Estados • Estrutura interna ao estado composta por sub-estados disjuntos ou concorrentes.
  • 9. Transições• Relação entre dois estados que especifica que o objecto pode transitar de um para o outro – Realização de um conjunto de acções. – Desencadeado por um evento e pela verificação de determinadas condições.• Sintaxe Evento [condição de guarda] / acção – Podem existir com ou sem eventos, como ou sem condições de guarda, com ou sem acções.
  • 10. Transições• Componentes de uma transição – Estado de origem e estado de destino. – Evento de gatilho (event trigger) • Evento cuja recepção faz com que se transite para o estado destino, caso a condição de guarda for satisfeita. – Condição de guarda • Expressão lógica avaliada quando a transição é lançada pelo evento de gatilho. Caso se verifique, o objecto transita, senão o estado mantém-se e o evento perde-se. – Acção. • Executada imediatamente aquando da transição.• Transição sem gatilho (triggerless) – Ocorrem apenas porque o estado origem termina a sua actividade normalmente.
  • 11. Transições• Uma transição pode ter multiplos estados-origem e estados-destino, mas não é comum este tipo de utilização.• Transições internas – Eventos que exigem uma resposta do objecto mas não provocam uma mudança de estado.• Auto-Transições ou Transições Reflexivas – Evento que não provoca mudança de estado, mas provoca a interrupção do estado corrente, obrigando à sua reentrada.
  • 12. Exemplos Proposto Discussãoentry / inibe() After (1 dia)registaDB() Comentário favorável / NCP++do / produzListaDiária Comentário desfavorável / NCN++exit / activa() when ( dataRegisto + períodoDiscussão >= dataActual) Aceite [NCP > NCN] / adicionaGlossárioOficial Validação [NCP <= NCN] / Recusado adicionaGlossárioRecusados
  • 13. Eventos• Ocorrência de um estímulo que pode corresponder a uma transição de estado• Quatro tipos de eventos – Sinais • Objecto que é enviado assincronamente por um objecto e recebido por outro (ex: excepções). – Invocação • Lançamento de uma operação, tipicamente de modo síncrono. – Passagem do tempo • O que já se sabe. Usa-se a palavra-chave “after” para o explicitar. – Mudança de estado • Mudança de estado ou satisfação de uma condição. Usa-se “when” seguido da expressão lógica.
  • 14. Acções e Actividades• Acção – Computação atómica – Execução num período de tempo instantâneo e não interrompível. – Podem ser • Invocação de métodos • Criação ou destruição de objectos • Envio de sinal para outro objecto – Num estado • Acções de entrada: entry • Acções de saída : exit • Outras acções internas: evento / acção.
  • 15. Acções e Actividades• Actividade – Computação não atómica – Interrompível por outros eventos – Corresponde a uma operação complexa • Componentes do diagrama de actividades • Podem ser referidas na especificação de uma estado – Através do prefixo “do”. – Sequência de acções : “do / oper1(); oper2();…”
  • 16. Acções e Actividades
  • 17. Ordem da realização de operações• Um estado pode incluir – Acções de entrada, saída, actividades, transições internas e acções deferidas.• Ordem pela qual surgem no diagrama Entry / action, action, … Do / activity, activity, … Exit / action, action, … Internal transition / action, action, … Internal transition / action, action, … … Event / Defer Event / Defer …
  • 18. Ordem da realização de operações• Sequência de execução aquando de um evento de transição 1. Caso exista uma actividade em execução, deverá ser interrompida “graciosamente” 2. Caso existam, executar acções de saída. 3. Caso existam, executar acções definidas na transição de estado. 4. Caso existam, executar as acções de entrada, definida na clausula “entry”, do novo estado. 5. Caso existam, começar a executar as actividades do novo estado.
  • 19. Sub-Estados• Estado definido dentro de outro estado – Abstracção que permite refinar/generalizar o nível de detalhe na descrição de um estado.• Estado “Composto” – Estado composto por sub-estados. – Pode conter • Sub-estados concorrentes. • Sub-estados sequenciais.
  • 20. Sub-Estados : Exemplo• Diagrama de Estados de um PC• Variante 1
  • 21. Sub-Estados : Exemplo• Variante 2
  • 22. Sub-Estados : Exemplo• Variante 3
  • 23. Diagramas de Estados - Outros Aspectos• Distinção entre diferentes tipos de estados – Simples : Sem sub-estados ou regiões – Composto : Com sub-estados ou regiões – Submáquina : reutilizável, referenciada por outras máquinas de estados. – Estado submáquina : contentor para uma sub- máquina, especificando pontos de entrada e saída.• Possibilidade de se definir especialização ou generalização entre estados.• Possibilidade da utilização de pseudo estados – Estado inicial, deep history, shallow history, barra de difusão (fork), barra de junção (join), ponto de junção (junction), ponto de decisão e ponto de entrado (entry point)
  • 24. Diagramas de Estados - Outros Aspectos• Possibilidade de utilização de portos para definição de tipos de serviço suportados por um estado.• Possibilidade da definição de protocolos de máquinas de estados (protocol state machines) genéricos para diferentes tipos de classificadores.
  • 25. TPC1. Desenhe o Diagrama de Estados para as seguintes situações: • Cliente e Cassete do Sistema de Gestão de Videoclube; • Leitor e Publicação no Sistema de Gestão de Biblioteca; • Artigo do Sistema de Gestão de Conferências; • Espectáculo, Bilhete, Sala, Lugar e Reserva do Sistema de gestão de Espectáculos.