Programación orientada a eventos

Generalmente, los embedded systems se caracterizan por reaccionar continuamente ante estímulos internos y/o externos. Estas reacciones provocan una acción determinada, la cual está en función del contexto del sistema. A estos sistemas suele denominárselos Sistemas Reactivos.

Tradicionalmente el comportamiento reactivo de un sistema, se describe por medio de la combinación de las definiciones de autómatas finitos de Mealy/Moore, representados gráficamente por su correspondiente diagrama de transición de estados. Esto permite describir naturalmente su comportamiento en términos de estados, eventos, como así también transiciones. Este concepto aplicado a la programación podría denominarse programación orientada a estados.

Sin embargo, si el sistema es complejo, dicha representación puede dificultarse, debido al crecimiento exponencial de estados, resultando en un diagrama caótico y no estructurado. Para que el método estado/evento sea útil, debe ser modular, jerárquico y estructurado. Además, de alguna manera debe resolver el problema del crecimiento exponencial de estados relajando el hecho de que todas las combinaciones de estados tiene que estar representadas explícitamente.

Una posible solución al problema anterior es utilizar los conceptos propios del método Statechart, el cual constituye un formalismo visual para describir estados y transiciones de manera modular, permitiendo el agrupamiento y refinamiento de estados, entre otras. Resumiendo, Statechart es una extensión de los diagramas de estados convencionales. La siguiente imagen es un diagrama de ejemplo:



RKH es una herramienta de desarrollo genérica, flexible, modular, altamente transportable, compatible con ANSI-C y de código abierto, para implementar máquinas de estados jerárquicas y “planas”, basada en los conceptos básicos y modernos de máquinas de estados, propuestos primeramente por David Harel en su trabajo Statechart y luego ampliado por UML Statechart.

Ver nota completa

Espero sus observaciones e inquietudes.

Mi contacto en LinkedIn:Mejor leo las Normas de Participación@forosdeelectronica.com
o Gmail:Mejor leo las Normas de Participación@forosdeelectronica.com
 
Última edición por un moderador:
El que tenga un poco de paciencia y tiempo, y quiera probar esta herramienta en algún proyecto, le recomiendo que comience leyendo los enlaces del primer post y luego el manual de referencia de la herramienta RKH.
 
Atrás
Arriba