2. Diagrama de estados
Cuando se requiere de realizar un autómata secuencial finito es
indispensable diseñar un diagrama de estados, este además de
ser un paso necesario para el diseño del autómata, facilita
entender el funcionamiento del autómata con mayor rapidez.
3. Definiciones
Definiciones básica de los diagrama de transición de estado:
Estado –Circulo con el nombre de estado y el estado (bit’s).
Estado inicial –Circulo con flecha corta sin origen que apunta al estado.
Estado final –Estado con doble circunferencia o estado sombrado.
Estado inicial y final –Flecha sin origen que apunta estado
sombreado o apunta estado con doble circunferencia.
4. Reglas
Existe una serie de reglas que deben respetarse para el correcto diseño de un
diagrama de estados, estas son básicas y son derivadas de las siguientes:
Transición –Arco con origen en el estado presente apuntando al estado
siguiente. Condicionado con la entrada x. La transición al siguiente
estado se realizara hasta que se cumpla la condición x=N.
Transición vacía –Arco con origen en el estado presente apuntando al
estado siguiente. Sin condición. La transición al siguiente estado se
realizara inmediatamente sin importar los estados de las entradas.
Transición múltiple –Doble arco con mismo origen (estado presente)
apuntando a dos estados siguientes diferentes, condicionado con
diferentes estados de condición de la entrada (puede ser la misma
entrada x pero con estados diferentes 1/0) .
5. Reglas
Las reglas para el diseño de un diagrama de transición de estados finitos:
Lazo –Arco circular con origen y destino es el mismo estado.
Condicionado con diferentes entradas.
Transición múltiple –Múltiples arcos con diferente origen apuntando al
mismo estado siguiente. Con o sin condición. Con la misma o diferentes
entradas. Si el estado de destino no tiene una transición siguiente entonces
este estado se convierte en un estado final. No hay manera de salir de el.
Transición múltiple –Múltiples arcos con diferente destino (estado siguiente)
Con condición de estados de entrada diferente. Cada estado de salida debe ser
diferente.
6. Condiciones especiales
Existen algunas situaciones especiales en diagramas de estados que
pueden o no ser validas siempre y cuando se respeten las reglas
básicas.
Transición múltiple –Múltiples arcos con mismo origen apuntando al mismo
estado siguiente con diferentes condición de transición. Es posible siempre y
cuando cada condición de transición sea diferente.
7. Transiciones no permitidas
Transición múltiple:
Transición múltiple no permitida –Doble o múltiples arcos con mismo origen
(estado presente) apuntando a dos estados siguientes diferentes, si una de los
arcos no esta condicionada. No es posible ir a dos estados diferentes en el
mismo estado. Recordar que el arco no condicionado pasa directamente al
siguiente sin importar las entradas.
Transición múltiple no permitida –Doble o múltiples arcos con mismo origen
(estado presente) apuntando a dos estados siguientes diferentes,
condicionado con la misma entrada y mismo valor. No es posible ir a dos
estados siguientes diferentes en el mismo estado con la misma condición
X=0 y X=0
8. Diseño del diagrama de transición de estados
del autómata
A partir de esta hoja, a modo de ejemplo se propone un problema de
un autómata secuencial finito.
9. Problema propuesto
para construir el autómata
Se desea un autómata que cuente de manera ascendente en binario una
serie de pulsos (botón A) mientras que mantiene presionado un botón B
(estado alto). Cuando el botón B deje de ser presionado (estado bajo) el
autómata cuente de manera descendente.
• El contador debe ser de 0 a 7 y viceversa.
• En modo ascendente, al alcanzar el máximo estado regresara al principio
0 -> 7 -> 0.
• En modo descendente, al alcanzar el mínimo estado regresara al máximo
7 -> 0 -> 7.
• La visualización del conteo se observara mediante indicadores luminoso
en binario (0/1).
Considere que su autómata deber estar perfectamente definido y delimitado.
10. Pasos para el diseño
del diagrama de estados
Paso 1: Define el número total de los estados que requiere el
autómata.
Según el problema se requiere de contar de 0 a 7 en binario por lo que se
necesitan 8 estados, un estado para cada número.
11. Paso 1: Define el número total de los estados
que requiere el autómata.
Cada estado requiere de un nombre y un estado en binario
(independientemente de que sea un contador).
12. Pasos para el diseño
del diagrama de estados
Paso 2: Define el estado inicial y el estado final.
Según el problema, existen dos inicios y dos finales, pues bien en modo ascendente el
inicio es el estado 0 y el final es el estado 7 mientras que en modo descendente el
inicio es el estado 7 y el final es el estado 0.
Para cuestiones de diseño se define el
estado inicial y el estado final como el
mismo, que será el estado a que
representa el 000.
13. Pasos para el diseño
del diagrama de estados
Paso 3: Define todas las transiciones posibles de cada estado.
Cada estado tiene una o múltiples transiciones para ir al siguiente
estado con uno o múltiples entradas.
En nuestro ejemplo iniciaremos con el estado inicial a(000) y
determinaremos sus posibles transiciones.
En el estado a (000), puede tomar dos estados:
Cuando Botón B (x) esta presionado (1) va hacia el estado b (001)
Cuando Botón B (x) esta suelto (0) va hacia el estado h (111)
14. Paso 3: Define todas las transiciones posibles
de cada estado.
Las transiciones de cada estado se realiza de acuerdo al problema (autómata)
Basados en el problema considerar que:
El botón B presionado representa ascendente representado en el
diagrama de estado como una entrada (x = 1)
El botón B suelto representa descendente representado en el
diagrama de estado como una entrada (x = 1)
En el caso del estado b (001), puede tomar dos estados:
Cuando Botón B (x) esta presionado (1) va hacia el estado c (010)
Cuando Botón B (x) esta suelto (0) va hacia el estado a (000)
15. Paso 3: Define todas las transiciones posibles
de cada estado.
Las transiciones de cada estado se realiza de acuerdo al problema (autómata)
Basados en el problema considerar que:
Dado a que el Botón B es el mismo en todos los estados, se considera siempre el mismo símbolo, es decir un símbolo
para cada entrada, si hubiese más entradas se definen con otros símbolos.
En el caso del estado c (010), puede tomar dos estados:
Cuando el Botón B (x) esta presionado (1) va hacia el estado d (011)
Cuando el Botón B (x) esta suelto (0) va hacia el estado b (001)
16. Paso 3: Define todas las transiciones posibles
de cada estado.
Las transiciones de cada estado se realiza de acuerdo al problema (autómata)
y para cada estado.
En el caso del estado h (111), puede tomar dos estados:
Cuando el Botón B (x) esta presionado (1) va hacia el estado a (000)
Cuando el Botón B (x) esta suelto (0) va hacia el estado g (110)
Hasta este momento del diseño
puedo observar que solo se ha
estado estableciendo hacia donde
se dirigen las transiciones con su
respectiva condición.
17. Paso 3: Define todas las transiciones posibles
de cada estado.
Las transiciones de cada estado se realiza de acuerdo al problema (autómata)
y para cada estado.
En el caso del estado g (110), puede tomar dos estados:
Cuando el Botón B (x) esta presionado (1) va hacia el estado h (111)
Cuando el Botón B (x) esta suelto (0) va hacia el estado f (101)
En cada estado hay dos
transiciones de salida hacia
diferentes estados, así como le
llegan dos transiciones de
diferentes estados.
18. Paso 3: Define todas las transiciones posibles
de cada estado.
Las transiciones de cada estado se realiza de acuerdo al problema (autómata)
y para cada estado.
En el caso del estado d (011),
puede tomar dos estados:
Cuando el Botón B (x) esta
presionado (1) va hacia el estado e
(100)
Cuando el Botón B (x) esta suelto
(0) va hacia el estado d (011)
En cada estado hay dos transiciones de salida a diferentes
estados con la misma entrada pero con diferente estado de
la entrada.
19. Paso 3: Define todas las transiciones posibles
de cada estado.
Las transiciones de cada estado se realiza de acuerdo al problema (autómata)
y para cada estado.
En el caso del estado f (101),
puede tomar dos estados:
Cuando el Botón B (x) esta
presionado (1) va hacia el
estado g (110)
Cuando el Botón B (x) esta
suelto (0) va hacia el estado e
(100)
En cada estado hay dos transiciones de
entrada, que vienen de dos estados diferente.
20. Paso 3: Define todas las transiciones posibles
de cada estado.
Las transiciones de cada estado se realiza de acuerdo al problema (autómata)
y para cada estado.
En el caso del estado e (100),
puede tomar dos estados:
Cuando el Botón B (x) esta
presionado (1) va hacia el estado
f (101)
Cuando el Botón B (x) esta suelto
(0) va hacia el estado d (011)
21. Pasos para el diseño
del diagrama de estados
Paso 4: Terminar todos las transiciones del autómata.
Termina de establecer todas las
transiciones posibles y necesarias
para cumplir con el objetivo
planteado del autómata.
Basado en el problema
plantado. Se ha concluido las
transiciones necesarias.
22. Pasos para el diseño
del diagrama de estados
Paso 5: Revisar, verificar y corregir todas las transiciones empleadas.
Verificar que todas las reglas se
cumplan.
En el caso de faltar a una regla
corregir por una regla válida.
23. Diagrama de estados
Diagrama de transición de estado finalizada.
En este diagrama no se
considero el Botón A
(Pulso a contar).
Esto debido a que la
transición entre cada
estado se realiza
mediante un pulso de
reloj (siempre existe en
todos los autómatas).
Se aprovechara este
pulso para usarlo como
pulso de conteo.