Definición - ¿Qué significa State Machine?
Una máquina de estado es un concepto que se utiliza en el diseño de programas informáticos o lógica digital. Hay dos tipos de máquinas de estados: máquinas de estados finitos e infinitos. El primero se compone de un número finito de estados, transiciones y acciones que se pueden modelar con diagramas de flujo, donde se puede detectar la ruta de la lógica cuando se cumplen las condiciones. Este último no se utiliza prácticamente.
Una máquina de estado es cualquier dispositivo que almacena el estado de algo en un momento dado. El estado cambia según las entradas, proporcionando la salida resultante para los cambios implementados. Una máquina de estados finitos tiene una memoria interna finita. Los símbolos de entrada se leen en una secuencia que produce una función de salida en forma de interfaz de usuario.
Las máquinas de estados se representan mediante diagramas de estados. La salida de una máquina de estado es una función de la entrada y el estado actual. Las máquinas de estado juegan un papel importante en áreas como ingeniería eléctrica, lingüística, informática, filosofía, biología, matemáticas y lógica. Se utilizan mejor en el modelado del comportamiento de las aplicaciones, la ingeniería de software, el diseño de sistemas digitales de hardware, los protocolos de red, los compiladores y el estudio de la computación y los lenguajes.
Techinfo explica State Machine
El funcionamiento de una máquina de estado comienza desde un estado de inicio. En una transición exitosa, termina en un estado de aceptación. La transición se lleva a cabo en función de las entradas proporcionadas. El estado actual depende del estado anterior del sistema. El número de estados formados depende de los estados de memoria disponibles. Una transición se habilita en base a ciertas condiciones e indica un cambio de estado. Una acción describe una actividad realizada en un momento dado. Los diferentes tipos de acciones son acción de transición, acción de entrada, acción de entrada y acción de salida.
Los autómatas deterministas tienen exactamente una transición en cada estado para cada entrada posible. En los autómatas no deterministas, una entrada de estado conduce a una, muchas o ninguna transición. Una máquina de estados con un solo estado se denomina máquina de estados combinatoria y utiliza solo acciones de entrada.
Los dos grupos diferentes de máquinas de estado son aceptores y transductores. Los aceptadores producen una salida binaria, en función de si la entrada es aceptada o rechazada por la máquina. Mientras se procesa la entrada, si el estado actual es aceptable, se acepta la entrada. De lo contrario, se rechaza. Los idiomas aceptados por las máquinas estatales se denominan idiomas regulares. Los estados iniciales están representados por una flecha que apunta desde cualquier lugar, mientras que los estados aceptados se representan mediante círculos dobles. Los transductores abastecen la salida en función de una entrada determinada, mediante acciones. Las máquinas de Moore y Mealy son ejemplos de transductores.
Las máquinas de estado de lenguaje de modelado sin modificar también se utilizan ampliamente, ya que tienen las características de máquina de Moore y Mealy dentro de ellas. Incluyen conceptos adicionales como regiones ortogonales y estados anidados jerárquicamente.