1 / 36

Una Aproximación a los Ambientes Virtuales de Programación

Una Aproximación a los Ambientes Virtuales de Programación. Por Luis Raúl Mulato. Indice. Introducción VLP vs TLP Fortalezas de los VLP Debilidades de los VLP Argumentos para notación 3D Aproximaciones: Cube SAM - Solid Agent in Motion 3D-PP Trabajos Relacionados VrPL Conclusiones.

Download Presentation

Una Aproximación a los Ambientes Virtuales de Programación

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Introducció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. • Pero cuales son sus verdaderos alcances? • Hacia donde se dirigen? VrPE!

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

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

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

  7. Fortalezas de los VLP • 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 • Problema del Espacio en la Pantalla • Abstracción de procedimientos • Colapsando subprogramas a figuras (cajas negras) • Baja velocidad en ejecución. • Código interpretado • Falta de sistemas de tipos estáticos • Chequeo de tipos en run-time. • Semántica conservadora • Paradigma de flujo de datos

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

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

  11. Cube • F = 1.8 * C + 32.0 • conv(C,F) <= times(C,1.8,X), plus(X,32.0,F)

  12. Cube - Ejemplo

  13. SAM - Solid Agent in Motion* • Lenguaje sincrónico de programación paralela. • Especificación y análisis de comportamiento paralelo reactivo. • Programación Animada -> Inspección Visual. • 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. SAM- Productor Consumidor

  16. SAM - Técnicas de Interacción

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

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

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

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

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

  22. 3D-PP - Interacción • Manipulación Directa (DM)* • 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 • DaD Extendido: • P1: Falta de información de profundidad

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

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

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

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

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

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

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

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

  32. ToonTalk

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

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

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

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

More Related