Um estado pode conter outros estados, normalmente chamados de estados aninhados ou subestados. Se estiver modelando máquinas de estado complexas, utilize estados aninhados para separar o comportamento detalhado em múltiplos níveis. Os estados também podem conter ações que identifiquem as tarefas que podem ocorrer quando um objeto possui um estado específico.
| Tipo de estado | Descrição | Elemento do diagrama |
|---|---|---|
| Simples | Um estado sem regiões | |
| Composto | Um estado com uma região | |
| Ortogonal | Um estado com duas ou mais regiões | ![]() |
| Final | Um estado que é colocado na região de um estado composto para indicar que a atividade na região está concluída | |
| Estado da submáquina | Um estado que faz referência a outra máquina de estado |
Uma transição mostra um caminho entre estados que indica que está ocorrendo uma alteração de estado. Um acionador, uma condição de proteção e um efeito são as três partes de uma transição, todas as quais são opcionais.
| Tipo de evento | Descrição |
|---|---|
| Chamada | Um objeto recebe um pedido para chamar uma operação. A chamada da operação aciona uma transição. |
| Alteração | Uma condição booleana é especifica para acionar uma transição quando a condição for verdadeira. |
| Sinal | Uma mensagem especificada que aciona uma transição quando é recebida por um objeto. |
| Tempo | Um período de tempo especificado que deve decorrer ou um tempo absoluto que aciona uma transição. |