Entorno de Programación Visual para reglas ECA

Entorno de Programación Visual para reglas ECA

Mónica Rivera de la Rosa
 

Texto completo de la Tesis     

 


Resumen

En el proceso de desarrollo de software se han reconocido ampliamente los problemas que se derivan de la falta de integración de la programación con su diseño y documentación. Para ayudar a resolver estos problemas, en esta tesis se propone adoptar a los diagramas UML de secuencia como lenguaje de programación visual que permita diseñar programas autodocumentados.
Con este fin, se construyó el ambiente experimental de programación Moon que usa diagramas UML de secuencia para describir y visualizar las interacciones que tienen lugar en sistemas reactivos. El entorno utiliza ADM, un lenguaje de reglas evento-condición-acción, como lenguaje y modelo de programación que integra capacidades deductivas al ciclo de reconocimiento-actuación que caracteriza a los sistemas basados en reglas. El ambiente de programación permite construir en forma interactiva las reglas que describen el comportamiento de los componentes del sistema y visualizar los efectos que producen cuando estas se ejecutan. Los diagramas UML de secuencia se traducen en las abstracciones del lenguaje ADM que incluye primitivas de comunicación entre componentes por intercambio de documentos XML (como enviar y recibir) y estructuras de control usuales (como secuencial, paralelo y condicional).
Entre las contribuciones de este trabajo se encuentran: (i) la adopción de los diagramas UML de secuencia como lenguaje de programación visual, (ii) la construcción de un entorno de programación que permite editar, compilar, ejecutar y visualizar programas o descritos en forma independiente del lenguaje y de la plataforma operativa, y (iii) la documentación de los aspectos dinámicos de un sistema mediante la visualización de sus interacciones (aún cuando los programas no hayan sido producidos en el entorno). Moon también puede utilizarse en la preparación de materiales educativos para cursos de programación, comunicaciones e ingeniería de software, entre otros.