Una Aproximación a los Ambientes Virtuales de Programación Por Luis Raúl Mulato.

1 Una Aproximación a los Ambientes Virtuales de Programac...
Author: Elicia Cardo
0 downloads 2 Views

1 Una Aproximación a los Ambientes Virtuales de Programación Por Luis Raúl Mulato

2 Indice n Introducción n VLP vs TLP u Fortalezas de los VLP u Debilidades de los VLP u Argumentos para notación 3D n Aproximaciones: u Cube u SAM - Solid Agent in Motion u 3D-PP 3D-PP n Trabajos Relacionados n VrPL n Conclusiones

3 Introducción n La Evolución de los lenguajes de programación desde las interfaces de comandos, hasta los VPL han llenado de promesas el futuro de las nuevas interfaces de programación. n Pero cuales son sus verdaderos alcances? n Hacia donde se dirigen? VrPE!

4 VLP vs TLP n Lenguajes de Prog Visual u Programación en la cuál más de una dimensión es utilizada para comunicar semántica (Burnnet). u Lenguaje de programación que utiliza predominantemente notación gráfica (Najork - Cube).

5 VLP vs TLP n Lenguajes de Prog Textual: u Incorporan 2 dimensiones: F X - Cadena lineal F Y - Separación de líneas F Solo la dimensión X lleva semántica. n La principal diferencia con los VLP es la multidimencionalidad con semántica asociada (Burnnet).

6 Fortalezas de los VLP n Los humanos saben procesar imágenes más rápida y fácilmente que texto (Raeder). u Acceso aleatorio vs Secuencial u Rata de Transferencia F (sensores para procesamiento de imágenes en tiempo real) u Expresiónes Multidimencionales F (multidimención y propiedades visuales, cod. Compacta) u Concreto vs Abtracto F (Metaforas cocretas a ideas abstractas)

7 Fortalezas de los VLP n Los programadores utilizan gráficos comúnmente para desarrollar algoritmos y estructuras de datos y para comunicarse entre ellos (Raeder).

8 Debilidades de los VLP n Problema del Espacio en la Pantalla u Abstracción de procedimientos u Colapsando subprogramas a figuras (cajas negras) n Baja velocidad en ejecución. u Código interpretado n Falta de sistemas de tipos estáticos u Chequeo de tipos en run-time. n Semántica conservadora u Paradigma de flujo de datos

9 Argumentos para Notación 3D n Porque apoyamos la programación 3D? n (… si no lo sabemos aún en 2D!) u No reemplazar la prog visual e iconica en 2D. u Ampliar horizontes incluyendo 3D cuando sea apropiado. F Tecnología disponible F Analogía con otras ciencias n Exploración revolucionaria y no evolutiva. (Glinert)

10 Cube n Lenguaje de flujo de datos en 3D n Basado en el Paradigma Lógico n Visualización de predicados como cubos. n Conexión de cubos (predicados) por medio de tubos para flujo de datos. n Sistema de tipos estático y polimorfico

11 Cube n F = 1.8 * C + 32.0 n conv(C,F)

12 Cube - Ejemplo

13 SAM - Solid Agent in Motion* n Lenguaje sincrónico de programación paralela. n Especificación y análisis de comportamiento paralelo reactivo. n Programación Animada -> Inspección Visual. n Reglas de Producción. * Fuente de Imágenes y Contenido : “SAM - An Animated 3D Programming Language” (Geiger, Muller, Rosenbach - C-LAB)

14 SAM- Productor Consumidor

15

16 SAM - Técnicas de Interacción

17 SAM - Resumen n Primera aproximación Visual a un lenguaje de propósito general 3D. n Futuro: u Comportamientos recursivos. u Constructores de ciclos. u Especificación de Agentes inteligentes a través de reglas dinámicas con prioridades.

18 3D-PP* n Problemas: u Small Screen Problem u Scaling Up Problem *Fuente de Imágenes y Contenido: “3D-PP: Visual Programming System with 3D representation” (Oshiba, Tanaka) U. Tsukuba.

19 3D-PP n Ventajas: u Desplegar más en menos espacio (Prog Visuales a gran escala). u Expresión realista de la estructura visual del programa. F Animación tridimensional u Distribución Flexible F Cruces o sobreposición de objetos inevitable en 2D.

20 3D-PP - Descripción n Basado en GHC u (Lenguaje de prog. Lógica concurrente). u Paradigma declarativo u Menos elementos en LPL (Leng de Prog Lógica) que en LP (Leng Procedimentales). n La Programación Visual es declarativa n Ejecución directa sobre el motor GHC

21 3D-PP - Descripción n Clausulas: u predicate(args,…):- guard | body n Elementos: u Atomos, Listas, datos Input/Output, goals, built-in goals.

22 3D-PP - Interacción n Manipulación Directa (DM)* u Las operaciones del programador invocan directamente la reacción del sistema. *Ref: “Direct Manipulation: A Step Beyond Programming Languages” (Shneiderman).

23 3D-PP - Interacción n DaD Extendido: u P1: Falta de información de profundidad

24 3D-PP - Interacción n DaD Extendido: u P2: Un objeto lejano es pequeño

25 3D-PP - Interacción n DaD Extendido:

26 3D-PP - Interacción n DaD Extendido:

27 3D-PP - Interacción n Representación semitransparente n Accesibilidad al interior de la estructura de un programa

28 3D-PP : Ejemplo n Calcular el primo número 1000:

29 3D-PP : Ejecución n Ejecución del calculo del número primo 1000.

30 Trabajo Relacionado n PrologSpace n VisualLinda n SCIRun (3D Windgets) n ToonTalk

31 Lingua Graphica n Provee sintaxis 3D para programas en C++

32 ToonTalk

33 VrPE - Virtual Programming Environments n Basados en Paradigmas Visuales. n Visualización del Mundo en 3D n Técnicas 3D para : u Control u Retroalimentación u Navegación u Acceso

34 Conclusiones n Aun no se alcanza una eficiente interacción 3D en los VPL. n VrPEs para objetivos específicos. n Nuevos “paradigmas visuales” soportarán los VrPEs. n Los VrPEs acercaran los antiguos y nuevos paradigmas textuales hasta el usuario final. n Es necesario Hardware especializado.

35 Conclusiones n Nuevos paradigmas u Programación por Ejemplo u Programación por Demostración u Reglas antes-después (before-after)

36 Palabras Clave n 3D Computer Human Interaction n 3D Visual Programming Environment n Visual Programming Language