
VIII DIAGRAMA DE ESTADOS
ELEMENTOS BÁSICOS
Casos de uso e cenários são utilizados para descrever o comportamento do sistema.
Um diagrama de estados mostra os eventos que causam as transições de estados e as ações/atividades tomadas em conseqüência da transição.
- Estado é a situação na qual se encontra o objeto. Ao longo da sua vida, um objeto é criado no estado inicial, passa por estados intermediários e morre no estado final.
- Evento (trigger event): é algo que ocorre de forma instantânea no tempo e pode ocasionar uma transição de estado em um objeto.
- Ação: uma ação é algo executado de forma imediata e atômica, ou seja, o tempo de execução é muito pequeno e a ação não pode ser interrompida.
- Atividade: é similar a uma ação, porém pode ser interrompida.
Condição de guarda: expressão lógica que deve ser verdadeira na ocorrência do evento para que a transição ocorra.
Notação básica
Diagrama de estados é um grafo dirigido onde os nodos são os estados e os arcos, transições entre estados como ilustra a figura seguinte.

Ação nos estados (entry e exit)
Ações podem ser representadas nos eventos ou nos estados. Normalmente, a representação nos estados permite simplificar o diagrama.
Atividade nos estados (do)
Uma atividade pode ser interrompida ou terminar por si só. Um atividade está sempre associada a um estado por meio da palavra-chave do (faça).
Auto-transição
É possível que um evento provoque a transição de um estado para ele mesmo. Neste caso, todas as ações associadas ao estado por meio das palavras-chaves entry e exit e as ações associadas à palavra chave do serão executadas.
Transição interna
É possível representar a ocorrência de um evento que não provoca uma mudança de estado, somente a execução de uma ação. Estes eventos são chamados de eventos internos e são representados no interior dos estados. A resposta a um evento interno difere daquela da auto-transição, pois não se deixa o estado para reentrar em seguida. Portanto, as ações associadas às palavras-chaves entry e, exit não são executadas e a atividade porventura em execução não é interrompida.
Condição de guarda
Condição de guarda é uma expressão lógica que deve ser satisfeita na ocorrência de um evento para que a transição correspondente ocorra.
TIPOS DE EVENTOS
De chamada
É um evento síncrono, tipicamente uma chamada de método. Pode-se chamar um método da própria classe ou de outra classe.
De sinal
São eventos assíncronos que, portanto, não bloqueiam o emissor, tal como um sinal enviado pela rede de comunicação de um processo a outro ou vindo da própria interface do usuário.
Temporal
Tipicamente são utilizados eventos nomeados por After(30seg) ou when(data= 1/ 2/2004) para indicar, respectivamente, um intervalo de tempo relativo ou um momento preciso no tempo.
De mudança
É uma condição avaliada continuamente disparando um evento toda vez que se torna verdadeira. É representada frequentemente por meio do evento When. Difere de uma condição de guarda que é avaliada somente uma vez quando o evento ao qual está associada ocorre.
ESTADO COMPOSTO
Um estado composto pode ser decomposto em um conjunto de regiões, cada uma delas com vários subestados.
Histórico
O pseudo-estado histórico denotado por H é utilizado para memorizar o último estado ativo quando se deixou um estado composto. A flecha do H aponta para o estado default, ou seja, o subestado que é ativado na primeira vez em que o estado composto é alcançado.







TOUR