Índice:
Definição - O que significa State Machine?
Uma máquina de estado é um conceito usado no design de programas de computador ou lógica digital. Existem dois tipos de máquinas de estados: máquinas de estados finitos e infinitos. O primeiro é composto por um número finito de estados, transições e ações que podem ser modelados com gráficos de fluxo, onde o caminho da lógica pode ser detectado quando as condições são atendidas. Este último não é praticamente utilizado.
Uma máquina de estado é qualquer dispositivo que armazena o status de algo em um determinado momento. O status muda com base nas entradas, fornecendo a saída resultante para as mudanças implementadas. Uma máquina de estados finitos possui memória interna finita. Os símbolos de entrada são lidos em uma sequência que produz um recurso de saída na forma de uma interface do usuário.
Máquinas de estado são representadas usando diagramas de estado. A saída de uma máquina de estados é uma função da entrada e do estado atual. As máquinas de estado desempenham um papel significativo em áreas como engenharia elétrica, linguística, ciência da computação, filosofia, biologia, matemática e lógica. Eles são mais usados na modelagem do comportamento de aplicativos, engenharia de software, design de sistemas digitais de hardware, protocolos de rede, compiladores e no estudo de computação e linguagens.
Techopedia explica State Machine
A operação de uma máquina de estado começa a partir de um estado inicial. Em uma transição bem-sucedida, ele termina em um estado de aceitação. A transição ocorre com base nas entradas fornecidas. O estado atual depende do estado passado do sistema. O número de estados formados depende dos estados de memória disponíveis. Uma transição é ativada com base em determinadas condições e indica uma alteração de estado. Uma ação descreve uma atividade executada no momento determinado. Os diferentes tipos de ações são ação de transição, ação de entrada, ação de entrada e ação de saída.
Autômatos determinísticos têm exatamente uma transição em cada estado para cada entrada possível. Em autômatos não determinísticos, uma entrada de estado leva a uma, muitas ou nenhuma transição. Uma máquina de estado com apenas um estado é chamada de máquina de estado combinatória e usa apenas ações de entrada.
Os dois grupos diferentes de máquinas de estado são aceitadores e transdutores. Os aceitadores produzem uma saída binária, com base em se a entrada é aceita ou rejeitada pela máquina. Durante o processamento da entrada, se o estado atual estiver sendo aceito, a entrada será aceita. Caso contrário, é rejeitado. Os idiomas aceitos pelas máquinas de estado são chamados de idiomas regulares. Os estados iniciais são representados por uma seta apontando para ele de qualquer lugar, enquanto os estados aceitos são representados usando círculos duplos. Os transdutores atendem à saída com base em uma determinada entrada, usando ações. Máquinas Moore e Mealy são exemplos de transdutores.
Máquinas de estado de linguagem de modelagem não modificadas também são amplamente usadas, pois possuem as características de máquina de Moore e Mealy. Eles incluem conceitos adicionais, como regiões ortogonais e estados hierarquicamente aninhados.