Capítulo 1: Introducción
1.1 Objetivos
1.2 Motivación
1.3 Desarrollos propuestos
1.4 Resultados Esperados
1.5 Estructura del trabajo
Capítulo 2: Marco Teórico
2.1 Introducción
2.2 Diagramas de bloques
2.3 Programación visual
2.4 Desventajas de la programación visual
2.5 Programación de flujos de datos
2.6 Diagramas de bloques funcionales
2.7 Microsoft VPL
2.8 Frameworks
2.9 Revisión del objetivo
Capítulo 3: Documentación de Flowgramming Framework
3.1 Introducción
3.2 Requerimientos de software
3.3 Instalación y dependencias del framework
3.4 Primeros pasos con Flowgramming Framework
3.4.1 Integración
3.4.2 Obtener Bloques Disponibles y sus Atributos
3.4.3 Conectar bloques
3.4.4 Persistir Diagramas
3.4.5 Obtener Diagramas persistidos
3.4.6 Enviar datos a Flowgramming
3.4.7 Resumen
3.5 Modos de ejecución en Flowgramming Framework
3.6 Modos de ejecución y condiciones de los bloques
3.7 Ciclos
3.7.1 Tipos de ciclos
3.7.2 Validación de diagramas e identificación de ciclos
3.7.3 Seguimiento de errores en ciclos en tiempo de ejecución
3.8 Configuración del framework
3.8.1 Instanciación del framework
3.8.2 Backends de Persistencia
3.8.3 Backends de Debugging
3.8.4 Backends de logging de errores
3.9 Bloques Provistos por el Framework
3.10 Creación de bloques personalizados
3.10.1 Introducción
3.10.2 Estructura del código de un bloque
3.10.3 Desarrollo de bloques personalizados
3.10.4 Fields
3.10.5 Configuraciones opcionales de los bloques
3.10.6 Bloques para notificación/envío de resultados a sistema general
3.10.7 Interrupción de ejecución de bloques y diagramas
3.10.8 Memorización de estado
3.11 Creación de backends de persistencia
3.12 Creación de backends de debugging
3.13 Creación de backends de logging de errores
Capítulo 4: Notas de implementación de Flowgramming Framework
4.1 Introducción
4.2 Variables de Instancia Declarativas
4.3 Localización de clases
4.4 Ejecución de diagramas
4.5 Validación de diagramas
Capítulo 5: Casos de uso / Casos de ejemplo
5.1 Introducción
5.2 Ejemplo de la propuesta #1: Calibración de un sensor de sonido
5.3 Ejemplo de la propuesta #2: Análisis de Sonido en ciudad eliminando ruidos
5.4 Ejemplo de la propuesta #3: Detección de fallas en maquinaria según vibraciones.
5.5 Manejo seguro de una cinta industrial o de un sistema de aerosillas
5.6 Identificación y conteo de objetos en imágenes
5.7 Identificación y resaltado de objetos en imágenes
Capítulo 6: Conclusiones
Capítulo 7: Trabajos Futuros
7.1 Introducción
7.2 Flowgramming como servicio externo
7.3 Migraciones de modificaciones y eliminación de tipos de bloques y campos
7.4 Evaluación de ejecución de bloques a través de una tabla
7.5 Escalabilidad y paralelismo
7.6 Desarrollo y extensión dirigida por tests automatizados
7.7 Mejoras de Serialización
7.8 Señalización de eventos
7.9 Migración de un backend de persistencia a otro
7.10 Modos de ejecución a nivel bloque
7.11 Modo de pruebas aislado
7.12 Modo de indicar tipos de entrada y salida de un bloque y sus campos
7.13 Mejoras Menores
Tabla de figuras
Referencias bibliográficas