Um estado é uma condição ou situação no curso da vida de um objeto durante a qual ele satisfaz alguma condição, realiza alguma atividade ou espera por algum evento. Um objeto permanece em um estado por um período limitado de tempo.
Por exemplo, um Aquecedor em uma casa pode estar em qualquer um dos quatro estados: (1) Idle (esperando
por um comando para iniciar o aquecimento da casa), (2) Ativando (seu gás está ligado, mas está esperando chegar
à temperatura ), (3) Ativo (o gás e o ventilador estão ambos ligados) e (4) Desligando (o gás está desligado, mas
o ventilador está ligado, liberando o calor residual do sistema).
Uma transição é um relacionamento entre dois estados indicando que um objeto no primeiro estado
executará certas ações e entrará no segundo estado quando um evento especificado ocorrer e
as condições especificadas forem satisfeitas. Em tal mudança de estado, diz-se que a transição é disparada. Até que a transição
seja acionada, diz-se que o objeto está no estado de origem; depois de disparado, diz-se que está no estado alvo.
Por exemplo, um Aquecedor pode fazer a transição do estado Idle para o estado Ativando quando
ocorre um evento como tooCold (com o parâmetro desejadoTemp).