Está en la página 1de 9

Extensiones

Condiciones. Son expresiones booleanas que determinan si una transicin entre


estados se puede realizar. Se escribe entre corchetes.

[expresin booleana]

Asignaciones. Inmediatamente despus de ejecutar una transicin y antes de


arribar al siguiente estado, la mquina ejecuta una asignacin de variables.
Tambin se usa : en lugar de las llaves.

{asignacin;asignacin}

Variables. Variables con valores en un valor nito. Pueden usarse dentro de las
expresiones booleanas y sus valores se cambian mediante asignaciones.

Condiciones de salida de estado. Se pueden colocar condiciones booleanas


dentro de los estados para obligar a salir del mismo. Cuando la condicin se haga
falsa la mquina debe salir de ese estado por algun camino posible. Si no hay
transiciones posibles, la mquina entra en bloqueo.
. p.1/9
Autmatas temporizados

Se usan cuando los disparadores de eventos se inician por el paso del tiempo.
Ejemplo: cambio de luz en los semforos.

Para representarlo se agregan variables temporizadoras o relojes. Se debe denir


la unidad de tiempo de los temporizadores. Ej: segundos.

Las nicas operaciones permitidas con los temporizadores son el reseteo


(mediante asignaciones) y chequear su valor (mediante condiciones).
rociador
apagado
[t < 20]
rociador
encendido
[u < 10]
[t=20]
abrir grifo
u:=0
[u=10]
cerrar grifo
t:=0
. p.2/9
Variantes: autmatas con entradas y salidas

Hay dos variantes de la denicin de autmata: autmata de Moore y autmata de


Mealy

Los autmatas de Moore son autmatas con (estados) salida. Existe una funcin
salida que asigna una salida a cada estado. La salida asociada con un estado se
representa en negrita sobre el estado.

La salida es emitida por el autmata cuando entra al estado. Puede pensarse de las
salidas en el autmata de Moore como una generalizacin del autmata estndar
estudiado, que tiene dos salidas: no marcado y marcado.
Valvula
Cerrada
NO FLUJO
Valvula
parcialmente
abierta
FLUJO PARC.
Valvula
Abierta
FLUJO M

AX.
V alv. abre una vuelta
V alv. cierra una vuelta
V alv. abre una vuelta
V alv. cierra una vuelta
paro de emergencia
. p.3/9
Autmatas con entradas y salidas

Los autmatas de Mealy son autmatas entrada/salida. Las transiciones se


etiquetan por eventos de la forma evento de entrada / evento de salida. Los
eventos de salida, digamos E
out
, no necesariamente son los mismos del conjunto
de eventos de entrada E.

La interpretacin de una transicin e


i
/e
o
desde un estado x a un estado y es como
sigue. Cuando el sistema est en el estado x, si el autmata recibe un evento de
entrada e
i
, har una transicin al estado y y en ese proceso emitir el evento de
salida e
o
.
Enviando paquete
con etiqueta 0
Enviando paquete
con etiqueta 1
Espera 0
Espera 1
obtiene nuevo paquete
/ enva nuevo paquete
recibe ack / espera
recibe ack / enva nuevo paquete
recibe ack / enva nuevo paquete
recibe ack / espera
obtiene nuevo paquete
/ enva nuevo paquete
timeout / reenva paquete
timeout / reenva paquete
. p.4/9
Autmatas con entradas y salidas

Los autmatas de Moore son una buena clase de modelos para sistemas fsicos
donde la salida de un estado es el conjunto de lecturas de todos los sensores
cuando el sistema est en ese estado.

Los autmatas de Mealy son una clase conveniente de modelos para teora de
sistemas y de control ya que permiten modelar el mapeo entrada/salida.

La teora vista hasta ahora con autmatas estndar, se puede aplicar


directamente a autmatas Mealey si se considera al conjunto de eventos E como
el conjunto de todas las etiquetas entrada/salida del autmata Mealey.

Para autmatas Moore, el estado salida puede verse como el evento de salida de
todos los eventos que entran a ese estado. As se puede transformar un autmata
Moore en uno Mealy.
1
01
2
02
3
03
a
c
b
d
1 2
3
a / 02
c / 02
b / 03
d / 01
. p.5/9
Implementacin del autmata

Una vez construido y validado un modelo de un autmata, ste es en s mismo una


descripcin formal para su implementacin en un lenguaje de programacin. Los
detalles de esa implementacin sern dependientes del lenguaje a usar y del
sistema donde se implemente.

Consideremos el caso de la implementacin del autmata usando scripts en


software de ejecucin (ex. matlab/simulink, C++). La estructura de la siguiente
diapositiva permite crear una MEF de forma segura. El cdigo se estructura en la
forma de una declaracin tipo switch o case.

Note que se dene un estado por defecto para cubrir el caso de un valor
desconocido de la variable state ,lo que podra ocurrir si existe un error en el
cdigo. El cdigo por defecto se usa solo para detectar ese error.

Las variables locales oldstate y newstate se usan dentro del cdigo asociado a
cada estado para detectar aquellas condiciones donde se deban ejecutar acciones
de prembulo o de nalizacin del estado, como se muestra en el diagrama de
ujo de la subsiguiente diapositiva.
. p.6/9
Implementacin del autmata
. p.7/9
Implementacin del autmata
. p.8/9
Implementacin del autmata

Los valores de state y oldstate deben conservarse entre ejecuciones sucesivas


del cdigo (no usar localizacin de memoria temporal para estas variables).

La ltima seccin del diagrama es el cdigo de vericacin (opcional), y podra


guardar un registro de cada cambio de estado en un archivo para posterior
vericacin. En un caso de una aplicacin de alta conabilidad, podra incluir una
tabla de transiciones de estado para posterior anlisis.

Finalmente, en otra presentacin se mostrar una metodologa para implementar


MEF en autmatas programables o PLCs, donde se usar la notacin de mquinas
de Mealy para denir las salidas asociadas a cada estado. Para estos propsitos,
puede ser conveniente denir tablas de entradas y salidas asociadas a los estados.
. p.9/9

También podría gustarte