Documente Academic
Documente Profesional
Documente Cultură
Temario
Introduccin Estado del arte Problemtica general Criterios de diseo Casos tpicos de estudio C t i d t di Un ejemplo de aplicacin Ejercicios propuestos
8 de Mayo de 2010 Ing. Juan Manuel Cruz 2
8 de Mayo de 2010
8 de Mayo de 2010
Qu son?
Modelo de Comportamiento (Behavior), denotan evolucin mediante:
Estados (comportamiento esttico) Transiciones (evolucin entre estados) Excitaciones (que condicionan las transiciones) Acciones (asociadas a las transiciones)
Para qu sirven?
Especificar aspectos formales relacionados con:
Sistemas de Control en Tiempo Real Dominios Reactivos o Autnomos Computacin Reactiva Protocolos Circuitos Elctricos/Electrnicos (Lgica Secuencial) Arquitectura de Software A i d S f Anlisis Lexicogrfico, Gramatical Etc., etc., etc.
8 de Mayo de 2010
Por qu usarlas?
Rigurosa descripcin del comportamiento de la solucin al problema planteado Soluciones muy sofisticadas y ridculamente sencillas. Incluso compuestas por la operacin en paralelo de mltiples mquinas Cdigo i l Cdi ms simple, eficiente y preciso. Ms fcil de depurar, fi i i M f il d d modificar, expandir y mejor organizado Facilitan el anlisis, el diseo y la implementacin
8 de Mayo de 2010 Ing. Juan Manuel Cruz 7
Cmo se formalizan?
Mediante diversos mtodos de representacin:
Funciones matemtica Diagramas / Tablas de Estados y Transiciones Redes de Petri
Recursos
Variables: estado , cuenta Defines: ASCENDENTE, DESCENDENTE, ESTADOmAXIMO, ESTADOiNICIAL, CUENTAiNICIAL, CUENTAfINAL
Ing. Juan Manuel Cruz 10
8 de Mayo de 2010
Contador
RESET / cuenta = CUENTAiNICIAL
Contador
Excitacin
RESET || estado >= ESTADOmAXIMO estado < ESTADOmAXIMO && cuenta < CUENTAfINAL estado < ESTADOmAXIMO && cuenta == CUENTAfINAL estado < ESTADOmAXIMO && cuenta > CUENTAiNICIAL estado < ESTADOmAXIMO && cuenta == CUENTAiNICIAL
Estado Futuro
ESTADOiNICIAL
Accin
cuenta = CUENTAiNICIAL
ASCENDENTE
cuenta++
ASC
cuenta < CUENTAfiNAL / cuenta++ cuenta == CUENTAiNICIAL / cuenta++
DES
cuenta > CUENTAiNICIAL / cuenta --
ASCENDENTE
DESCENDENTE
cuenta--
DESCENDENTE
cuenta--
DESCENDENTE
ASCENDENTE
cuenta++
8 de Mayo de 2010
11
8 de Mayo de 2010
12
Contador
Implementaciones posibles
Implementacin mediante:
Switch (estado) Arrays de punteros a funcin (estado) Mltiples if (estado)
Desarrolladas en esta presentacin
Contador
*/
#define ASCENDENTE #define DESCENDENTE #define ESTADOmAX #define ESTADOiNICIAL #define CUENTAiNICIAL #define CUENTAfINAL
8 de Mayo de 2010
Contador
/*
Contador
switch (estado) { // En funcin del Estado y la Excitacin Actualiza las Variables, Variables las Salidas de Control y retorna case ASCENDENTE: if (cuenta < CUENTAfINAL) cuenta++; } }
8 de Mayo de 2010
15
8 de Mayo de 2010
16
Contador
Contador
if (estado >= ESTADOmAX) { InicializarContador(); return; } } (*ArrayFuncionesEstadoContador [estado]) (); Ing. Juan Manuel Cruz 17
return;
8 de Mayo de 2010
8 de Mayo de 2010
18
Contador
/* Programa */
Contador
} return; } // (estado == DESCENDENTE) else { if (cuenta > CUENTAiNICIAL) cuenta--; else { estado = ASCENDENTE; cuenta++; }
Comparacin de Implementaciones
void Contador (void) { // Si el Estado esta fuera de rango reinicializa la M de E y retorna if (estado >= ESTADOmAX) { InicializarContador(); return; } if (estado == ASCENDENTE) { if (cuenta < CUENTAfINAL) cuenta++; else { estado = DESCENDENTE; cuenta--;
8 de Mayo de 2010
Module Information Code size Contant size XDATA size PDATA size DATA size IDATA size BIT size
19 8 de Mayo de 2010
Switch 59 2 -
Multiples if 55 2 20
Ejercicios propuestos
Detector de Secuencia
Seales luminosas
Referencias
Ingeniera de Software I, DC - FCEyN UBA g , y Software de Tiempo Real - FRBB UTN Sintaxis y Semntica del Lenguaje - FRT - UTN Finite State Machines: Making simple work of complex functions Ingeniera en Controladores - Mquinas de Estado An Introduction to Finite State Machines JOURNAL OF OBJECT TECHNOLOGY: A Typing Scheme for Behavioural Models Teora de Autmatas - Guillermo Morales-Luna Mquinas de Estados Finitos -Jorge Alejandro Gutirrez Orozco Finite State Machines - James Grimbleby Grupo de Inteligencia Artificial y Robtica - FRBA - UTN
8 de Mayo de 2010 Ing. Juan Manuel Cruz 22
Generador de Secuencia Control de Acceso con/sin cupo Ascensor de 2 plantas Escalera Escale a mecnica unidireccional/bidireccional nidi eccional/bidi eccional Puerta corrediza/Portn levadizo Mquinas expendedoras o de autoservicio Maquinaria o procesos industriales
8 de Mayo de 2010 Ing. Juan Manuel Cruz 21
Seguimiento de seales
Referencias
R3CT18: Manejo de Cola en C de 8051 R3CT19: Mquina de Estado (Contador de 8 bits) en C de 8051 R3CT20: Mquina de Estados (Tanque) en C de 8051
Autor: Ing. Juan Manuel Cruz Publicados por CEIT Electrnica FRBA UTN (2002)
Autor: Ing. Juan Manuel Cruz Publicado por CEIT Electrnica FRBA UTN (2004)
Ing. Juan Manuel Cruz 23
8 de Mayo de 2010