PDF de programación - Entorno de programación visual para reglas ECA

Imágen de pdf Entorno de programación visual para reglas ECA

Entorno de programación visual para reglas ECAgráfica de visualizaciones

Publicado el 21 de Junio del 2017
1.020 visualizaciones desde el 21 de Junio del 2017
2,0 MB
154 paginas
Creado hace 17a (29/11/2006)
Centro de Investigación y de Estudios Avanzados

del Instituto Politécnico Nacional

Departamento de Ingeniería Eléctrica

Area Computación

Entorno de programación visual para reglas ECA

Tesis que presenta

Mónica Rivera de la Rosa

para obtener el Grado de

Maestra en Ciencias

en la Especialidad de

Ingeniería Eléctrica

Director de la Tesis

Dr. José Oscar Olmedo Aguirre

México, D.F.

Diciembre 2006

ii

Agradecimientos

Agradecimiento especial para mi asesor el Dr. José Oscar Olmedo Aguirre, quien
gracias a su gran ayuda, paciencia y comprensión, me brindó el apoyo necesario para
realizar esta tesis.

A los doctores y el personal administrativo de la Sección de Computación del Depar-
tamento de Ingeniería Eléctrica por sus enseñanzas brindadas en el aula de clases. A Sofi,
por tener siempre la paciencia necesaria para auxiliarme en todo lo que he necesitado
durante mi estancia en el Cinvestav.

A CONACyT por el apoyo económico que me brindó durante el transcurso de la
maestría. A servicios escolares y a la biblioteca de Ingeniería Eléctrica por los servicios
y ayuda que me brindaron.

A los revisores de este trabajo el Dr. Sergio Chapa y el Dr. Pedro Mejía, por darme

el tiempo para la revisión.

Al Centro de Investigación y de Estudios Avanzados del IPN (CINVESTAV-IPN),
Unidad Zacatenco, por ofrecerme las instalaciones necesarias y recursos necesarios para
realizar este trabajo de investigación.

iii

iv

Resumen

En el proceso de desarrollo de software se han reconocido ampliamente los proble-
mas que se derivan de la falta de integración de la programación con su diseño y doc-
umentació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 di-
agramas 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 de-
scriben 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 compo-
nentes 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 diagra-
mas 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
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.

v

vi

Abstract

In the process of software development, it has been widely recognized the problems
that derive from the lack of integration of programming with its design and documenta-
tion. In order to solve these problems, in this thesis its proposed to adopt UML sequence
diagrams as a visual programming language that allows to design self-documented pro-
grams.

With this aim, it was constructed the experimental programming environment Moon
that uses UML sequence diagrams to describe and to visualize the interactions that take
place in reactive systems. The environment use ADM, a language event-condition-action
rule-based, as language and model programming that integrates deductive capabilities to
the cycle of recognition-action that characterizes rule-based systems. The programming
environment allows to the user to construct interactive rules that describe the behavior
of the components of the system and to visualize the effects that it produces when the
components are executed. UML sequence diagrams are translated in the abstractions
of the ADM language that includes communication primitives between components by
exchanging XML documents (like send and receive) and the usual structures of control
(like sequential, parallel and conditional).

Among the contributions of this work they are: (i) the adoption of UML sequence
diagrams as a visual programming language, (ii) the construction of a programming
environment that allows to edit, to compile, to execute and to visualize programs that
are described independently from the language and the operative platform, and (iii) the
documentation of the dynamic aspects of a system by means of the visualization of its
interactions (even when the programs have not been developed in the environment). Moon
also can be used in the preparation of educative materials for courses on programming,
computer communications and software engeneering, among others.

vii

viii

Índice general

Índice de figuras

Índice de tablas

1. Introducción

1.1. Reglas ECA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Programación basada en Reglas ECA . . . . . . . . . . . . . . . . . . . .
1.3. UML y MDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . . . . .
1.5. Propuesta de solución . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6. Contribuciones y perspectiva del trabajo . . . . . . . . . . . . . . . . . .
1.7. Organización de la tesis
. . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Antecedentes

2.1. Herramientas de visualización de algoritmos

2.1.1. Herramientas declarativas
2.1.2. Herramientas imperativas
2.1.3. Herramientas declarativas e imperativas

. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
2.2. Herramientas de visualización de programas concurrentes . . . . . . . . .
2.3. Herramientas CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1. ArgoUML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2. Rational Rose . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3. Magic Draw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4. Unimod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.5. JGrasp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.6. ARTiSAN Real-time Studio (RtS) . . . . . . . . . . . . . . . . . .
2.4. Herramientas para el diseño de aplicaciones multimedia . . . . . . . . . .
2.4.1. Macromedia Flash . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5. UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

XI

XV

1
2
4
5
7
7
8
9

11
11
12
12
13
13
14
14
14
17
17
17
20
22
22
22

ix

x

ÍNDICE GENERAL

2.5.1. Diagrama de Secuencia . . . . . . . . . . . . . . . . . . . . . . . .
2.6. XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7. SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Entorno de Programación Visual Moon

3.1. Componentes del entorno . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Editor de diagramas de secuencia . . . . . . . . . . . . . . . . . . . . . .
3.3. Compilador frontal
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Compilador posterior . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Mediador
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. Visualizador Integrado . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7. Visualizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4. Representación visual y textual del modelo de programación

4.1. Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Casos de Estudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Invocaciones Simples . . . . . . . . . . . . . . . . . . . . . . . . .
Invocaciones Complejas . . . . . . . . . . . . . . . . . . . . . . . .
Invocaciones Recursivas
. . . . . . . . . . . . . . . . . . . . . . .

4.2.1.
4.2.2.
4.2.3.

5. Descripción de ADM

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1. Sintaxis
. . . . . . . . . . . . . . . . . . . . . . . .
5.2. Modelo de Reglas Deductivas
5.3. Modelo de Reglas Activas . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1. Ambito de una regla . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2. Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.3. Ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.4.
Interacción entre Reglas Activas . . . . . . . . . . . . . . . . . . .
5.3.5. Secuencialidad y Concurrencia . . . . . . . . . . . . . . . . . . . .
5.3.6. Comunicación
. . . . . . . . . . . . . . . . . . . . . . . . . . . .

6. Implementación

Interacción entre los módulos

6.1.
. . . . . . . . . . . . . . . . . . . . . . . .
6.2. Módulo del editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
6.2.1. Estructura del archivo entorno.svg
. . . . . . . . . . . . . . . . . .
6.2.2. Estructura del archivo entorno.js
. . . . . . . . . . . . . . . . . .
6.2.3. Estructura del archivo general.js
6.2.4. Estructura de la clase GuardaUsuario . . . . . . . . . . . . . . .
6.3. Módulo del Compilador . . . . . . . . . . . . . . .
  • Links de descarga
http://lwp-l.com/pdf4543

Comentarios de: Entorno de programación visual para reglas ECA (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad