Está en la página 1de 3

Maquinas de Estado Finito

Erika Lisbeth Maldonado Pineda


Facultad de Ingeniera
Escuela de Ingeniera Electronica y Telecomunicaciones
Universidad de Cuenca
Cuenca, Ecuador
erika.maldonado1104@ucuenca.ec

Maquina de Mealy: tiene un numero finito de estados y


produce salidas basaandose en una eentrada y su estado
actual.
Maquina de Moore: las salidas estan determinadas u nicamente por el estado actual y no dependen directamente
de la entrada.

ResumenEn este trabajo se presenta una breve descripcion,


deficion, clasificacion, representacion, ventajas y desventajas
sobre las Maquinas de Estado Finito, conocimientos que son
indispensables para estudiantes de electronica o carreras afines
al diseo embebido. Con el fin de dar a conocer al lector
la importancia del uso de las Maquinas de Estado Finito en
de un sistema.
la actualidad para la facilidad del analisis y diseno
De igual manera se expone una forma facil para representar
el comportamiento de los objetos mediante diagramas de estado,
los cuales ayudado por UML permiten implementar un codigo
fuente de dicho modelo.

I.

I NTRODUCCI ON

Maquina de estados se denomida a un modelo de


comportamiento de un sistema que consta de entradas y
salidas, donde las salidas dependen de las entradas actuales
as como de las anteriores.
Un computador es basicamente una maquina de estados y
cada instruccion cambia uno o mas estados de la maquina.
El sistema operativo de un computador es en s un estado y
cada aplicacion que se ejecuta comienza con un estado que
puede cambiar segun se maneje la entrada. Por este motivo
un computador puede tomarse como un conjunto de estados
y cada programa como una maquina de estados.

II-A.

DEFINICION

Se conoce tambien como Automata Finito a la Maquina de


Estado
Finito, la cual se caracteriza por tener:
P
: un alfabeto finito
Q: un conjunto
de estados finitos
P
=Q
Q: una funcion de transicion
q0: un estado inicial
F Q: un conjunto de estados finales.
Finalmente
P se puede definir a un automata finito como una
5-tupla (Q, , q0, , F ).
II-B.

CLASIFICACION

II-B1. Automata Finito Determinista.: Es aquel sistema


que recibe un alfabeto (cadena de smbolos) y cambia de
estado o permanece en el mismo estado por cada smbolo
ledo.

Una Maquina de estados se denomina Maquina de estados


finitos o Finite State Machines (FSM) si el conjunto de
estados de la mquina es finito, siendo e stas el u nico tipo
de maquinas de estado que pueden ser modeladas en un
computador.[1]

II.

M AQUINAS
DE E STADO F INITO .

Las Maquinas de Estado Finito se utilizan para realizar


procesos bien definidos en un tiempo discreto, son una

herramienta para abordar y resolver problemas. Estas


reciben
una entrada, hacen un proceso y entregan una salida, es
decir, son capaces de seguir una secuencia finita de pasos al
introducir un conjunto de datos, donde el numero de pasos
esta dado por el numero de datos a introducir.
Existen dos tipos de Maquinas de Estado Finito:

Figura 1. Diagrama de estados de un Automata Finito Determinista.

II-B2. Automata Finito no Determinista.: A diferencia de


los Automatas Deterministas los cuales poseen un solo estado
inicial, los no Deterministas no cuentan con esto, pero son una
herramienta u til para el diseo de un Automata Determinista.
Puede existir mas de un estado inicial y la funcion de transicion nos entrega un conjunto de posibles estados.

III.

Figura 2. Diagrama de estados de un Automata Finito no Determinista.

II-C.

REPRESENTACION

II-C1. Diagramas de estados: Los Automatas finitos se


pueden respresentar mediante los llamados Diagramas de
estados finitos, donde:
Los estados Q se representan como vertices.
Una transicion desde un estado a otro se representa
mediante una arista dirigida que une a los vertices.
Al estado inicial q0 llega una arista que no proviene de
ningun otro vertice.
Finalmente los estados finales F se representan por vertices
encerrados por otra circunferencia.
Un claro ejemplo de los diagrama de estados se muestra
en la figura 1 y figura 2
II-C2. Tabla de Transiciones: Las tablas de transiciones
o matrices de estados es otra manera de describir el funcionamiento de un automata finito. En la figura 3 se puede observar
la respresentacion de los parametros y el valor que toma cada
ocurrencia de la funcion de transicion.

Figura 3. Tabla de transicion de estados.

II-D.

VENTAJAS Y DESVENTAJAS

II-D1.

Lenguaje Unificado de Modelado (UML) es el lenguaje de


modelado de sistemas de software mas utilizado hoy en da.
Es un lenguaje grafico para visualizar, especificar, construir
y documentar un sistema, es decir, es el lenguaje en el que
esta descrito el modelo.
III-A.

TIPOS DE DIAGRAMAS

UML posee varios tipos de diagramas que muestran


diferentes aspectos de las entidades representadas.
III-A1. Estructura:
Diagrama de clases.
Diagrama de objetos.
Diagrama de componentes.
Diagrama de paquetes.
Diagrama de despliegue.
III-A2. Comportamiento:
Diagrama de casos de uso.
Diagrama de actividades.
Diagrama de estado.
III-A3. Interaccion:
Diagrama de secuencia.
Diagrama de colaboracion UML 1.X.
Diagrama de tiempo.
Diagrama de interaccion.
La informacion que contienen los diagramas de clase
brinda la base para la implementacion de un codigo fuente
de dicho modelo. Los diagramas de estado resultan u tiles
para representar el comportamiento de los objetos, permiten
describir el comportamiento de una clase al recibir eventos
externos y de esta manera extraer detalles claves para la
implementacion de operaciones acordes a eventos de llamadas
en transiciones.[3]
Las Maquinas de Estado Finito permiten representar el
comportamiento de un objeto instancia de una clase a lo largo
de su ciclo vital, es decir, permiten describir las acciones
que un objeto debe realizar como respuesta a un determinado
evento dependiendo del estado en el que se encuentre.

Ventajas:

Faciles de entender.
Uso comun en sistemas de transicion de estados y
protocolos de comunicacion.
Universalmente aplicables.
En programacion ayuda a reducir la cantidad de variables,
aumentando as la confiablididad del sistema.
II-D2.

UML

Desventajas:

No son aplicables a todos los problemas de deseno.


No funcionan bien en sistemas con gran cantidad de
estados (decenas o miles).
Facil de errar y definir demasiados estados, minimizando
la eficiencia, o definir menos estados de los necesarios.

IV.

C ONCLUSIONES

El uso de programacion con Maquinas de Estado Finito


es relativamente pequeo pero cabe recalcar que son una
herramienta ampliamente usada en el a mbito de desarrollo
de sistemas embebidos, ademas es muy recomendado este
patron de programacion ya que brinda una abstraccion facil
de entender, eficiente y segura.
Si aun no lo han utilizado, dejen el temor y haganlo, pues
seguramente sus proyectos se volveran mas simples con la
ayuda de las Maquinas de Estado Finito.

R EFERENCIAS
[1] Reyes,M. J., Maquinas Abstractas de Estados y sus Aplicaciones, Revista
Educacion en Ingeniera, (2012), Vol. 7, N. 13
[2] Gutierrez, O. J., Maquinas de Estados Finitos. Breve Introduccion,
Escuela Superior de Computo IPN., (2008)
[3] Rincon, N. M, Generacion Automatica de Codigo a Partir de Maquinas
de Estado Finito, Universidad de los Andes, Venezuela IPN., (2010)
[4] Wikipedia.org, Automata Finito
[5] Wikipedia.org, Lenguaje Unificado Modelado