SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
DIAGRAMAS DE ESTADOS

        Edgar Gemo: ergemo@ustm.ac.mz
 Zeferino Saugene: zsaugene@ustm.ac.mz
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 secagem



Um diagrama de estado também é designado por “máquina de estados”
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.
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”
Diagramas de Estado
Sub-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...
Diagramas de Estado
Sub-Estados
    Sub-Estados Concorrentes
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.
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.
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.
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.
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.
Exemplos
        Proposto
                                                           Discussão
entry / 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
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.
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.
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();…”
Acções e Actividades
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
         …
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.
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.
Sub-Estados : Exemplo
• Diagrama de Estados de um PC




• Variante 1
Sub-Estados : Exemplo
• Variante 2
Sub-Estados : Exemplo
• Variante 3
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)
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.
TPC
1.    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.

Más contenido relacionado

La actualidad más candente

Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAlberto Simões
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelJanynne Gomes
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Adriano Tavares
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageCloves da Rocha
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoMaria Alice Jovinski
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosCharles Fortes
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Tipos de Licença de Softwares
Tipos de Licença de SoftwaresTipos de Licença de Softwares
Tipos de Licença de SoftwaresLucas Castejon
 
Javascript Orientado a Objeto
Javascript Orientado a ObjetoJavascript Orientado a Objeto
Javascript Orientado a ObjetoFábio Elísio
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1Carlos Eugenio Torres
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturaisthaisedd
 
Aula 2 - Sistemas operacionais - Windows
Aula 2 - Sistemas operacionais - WindowsAula 2 - Sistemas operacionais - Windows
Aula 2 - Sistemas operacionais - WindowsLucasMansueto
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Sistema operacional windows_10
Sistema operacional windows_10Sistema operacional windows_10
Sistema operacional windows_10Oseas_Lima
 

La actualidad más candente (20)

Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvel
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniao
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Tipos de Licença de Softwares
Tipos de Licença de SoftwaresTipos de Licença de Softwares
Tipos de Licença de Softwares
 
Diagramas de componentes
Diagramas de componentesDiagramas de componentes
Diagramas de componentes
 
Javascript Orientado a Objeto
Javascript Orientado a ObjetoJavascript Orientado a Objeto
Javascript Orientado a Objeto
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturais
 
Aula 2 - Sistemas operacionais - Windows
Aula 2 - Sistemas operacionais - WindowsAula 2 - Sistemas operacionais - Windows
Aula 2 - Sistemas operacionais - Windows
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Sistema operacional windows_10
Sistema operacional windows_10Sistema operacional windows_10
Sistema operacional windows_10
 

Similar a Aula capitulo9 diagrama_estados

Similar a Aula capitulo9 diagrama_estados (9)

Análise de Sistemas Orientado a Objetos - 11 - maquina_estados
Análise de Sistemas Orientado a Objetos - 11 - maquina_estadosAnálise de Sistemas Orientado a Objetos - 11 - maquina_estados
Análise de Sistemas Orientado a Objetos - 11 - maquina_estados
 
Modelagem de Sistemas de Informação 13 maquina_estados
Modelagem de Sistemas de Informação 13 maquina_estadosModelagem de Sistemas de Informação 13 maquina_estados
Modelagem de Sistemas de Informação 13 maquina_estados
 
Diagrama de Estados
Diagrama de EstadosDiagrama de Estados
Diagrama de Estados
 
Statecharts
StatechartsStatecharts
Statecharts
 
Aula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniaoAula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniao
 
Diagrama de estados 1
Diagrama de estados 1Diagrama de estados 1
Diagrama de estados 1
 
Grafcet
GrafcetGrafcet
Grafcet
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de uso
 
Processos
ProcessosProcessos
Processos
 

Más de Portal_do_estudante_ADS (15)

Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 
Diagramas de pacotes
Diagramas de pacotesDiagramas de pacotes
Diagramas de pacotes
 
Diagramas de distribuicao
Diagramas de distribuicaoDiagramas de distribuicao
Diagramas de distribuicao
 
Aula10 diagrama colaboracao
Aula10 diagrama colaboracaoAula10 diagrama colaboracao
Aula10 diagrama colaboracao
 
Aula9 diagrama de_sequencia
Aula9 diagrama de_sequenciaAula9 diagrama de_sequencia
Aula9 diagrama de_sequencia
 
Aula8 diagrama de_objectos
Aula8 diagrama de_objectosAula8 diagrama de_objectos
Aula8 diagrama de_objectos
 
Aula2 paradigmas
Aula2 paradigmasAula2 paradigmas
Aula2 paradigmas
 
Aula1 eng software
Aula1 eng softwareAula1 eng software
Aula1 eng software
 
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
 
Aula 6 -_casos_de_uso
Aula 6 -_casos_de_usoAula 6 -_casos_de_uso
Aula 6 -_casos_de_uso
 
Aula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_umlAula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_uml
 
Aula 4 -_metodologia_e_tecnicas_de_analise_oo
Aula 4 -_metodologia_e_tecnicas_de_analise_ooAula 4 -_metodologia_e_tecnicas_de_analise_oo
Aula 4 -_metodologia_e_tecnicas_de_analise_oo
 
Aula -diagrama_de_actividade
Aula  -diagrama_de_actividadeAula  -diagrama_de_actividade
Aula -diagrama_de_actividade
 
Aula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aooAula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aoo
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 

Aula capitulo9 diagrama_estados

  • 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 secagem Um 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 Estado Sub-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 Estado Sub-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ão entry / 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();…”
  • 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
  • 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. TPC 1. 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.