Una máquina de estados se denomina máquina de estados finitos (FSM por finite state machine) si el conjunto de estados de la máquina es finito, este es el único tipo de máquinas de estados que podemos modelar en un computador en la actualidad; debido a esto se suelen utilizar los terminos máquina de estados y máquina de estados finitos de forma intercambiable. Sin embargo un ejemplo de una máquina de estados infinitos seria un computador cuántico esto es debido a que los Qubit que utilizaría este tipo de computadores toma valores continuos, en contraposición los bits toman valores discretos (0 ó 1). Otro buen ejemplo de una máquina de estados infinitos es una Maquina Universal de Turing la cual se puede definir teóricamente con una "cinta" o memoria infinita.
La representación de una máquina de estados se realiza mediante Diagrama de estados.
DIAGRAMA DE ESTADOS PARA EL SISTEMA DE CAJERO AUTOMÁTICOEn el sistema del Cajero Automático (CA). Hay tres estados en los que podría estar este sistema: Parado, Activo y Mantenimiento (teniendo que actualizar el efectivo almacenado).
Mientras está en Activo, el comportamiento de CA: valida al cliente, selecciona una transacción, la procesa e imprime un recibo. Después de la impresión, el CA vuelve al estado Parado. Pero el usuario tambien puede cancelar la transacción en cualquier momento.
Podríamos representar estos estados de comportamiento como los estados Validando, Seleccionando, Procesando e Imprimiendo.
El estado del CA cambia de Parado a Activo cuando el cliente introduce una tarjeta de crédito en el cajero. Al entrar al estado Activo, se ejecuta la acción: leer tarjeta, que viene especificada dentro de dicho estado y pasa al estado Validando, después al estado Seleccionando y luego al estado Procesando. Después de Procesando, el control puede regresar a Seleccionando (si el usuario ha seleccionado otra transacción) o puede ir a Imprimiendo. Después de Imprimiendo, hay una transición de vuelta, sin evento, al estado Parado. Hay que fijarse que el estado Activo tiene una acción de salida, exit, la cual devuelve la tarjeta de crédito al cliente.
DIAGRAMA DE ESTADOS PARA EL SUBSISTEMA CONTADOR DE BILLETES
En este subsistema hay dos estados básicos en los que podría estar: Parado (esperando una orden de transacción - retiro de efectivo) y Activo.