Uma máquina de estados finita ou autômato finito é um modelo matemático usado para representar programas de computadores ou circuitos lógicos.
O conceito é concebido como uma máquina abstrata que deve estar em um de um número finito de estados.
Conceitos
- Um estado descreve um nó de comportamento do sistema em que está à espera de uma condição para executar uma transição.
Em algumas representações de máquinas de estado finitas, também é possível associar ações a um estado:
- Ação de entrada: o que é realizado ao entrar no estado,
- Ação de saída: o que é executado ao sair do estado.
A transição é um conjunto de ações a serem executadas quando uma condição for cumprida ou quando um evento é recebido.
- A máquina está em apenas um estado por vez, este estado é chamado de estado atual.
- Um estado armazena informações sobre o passado, isto é, ele reflete as mudanças desde a entrada num estado, no início do sistema, até o momento presente.
- Uma transição indica uma mudança de estado e é descrita por uma condição que precisa ser realizada para que a transição ocorra.
- Uma ação é a descrição de uma atividade que deve ser realizada num determinado momento.
Exemplo de uma maquina de estado sendo utilizada nas ações (abrir porta, fechar porta)