una aproximación a los ambientes virtuales de programación por luis raúl mulato

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

Upload: elicia-cardo

Post on 24-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

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

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

Por Luis Raúl Mulato

Page 2: 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

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

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!

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

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).

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

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).

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

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)

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

Fortalezas de los VLP

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

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

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

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

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)

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

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

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

Cube

F = 1.8 * C + 32.0 conv(C,F) <= times(C,1.8,X), plus(X,32.0,F)

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

Cube - Ejemplo

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

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)

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

SAM- Productor Consumidor

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

SAM- Productor Consumidor

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

SAM - Técnicas de Interacción

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

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.

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

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.

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

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.

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

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

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

3D-PP - Descripción

Clausulas: predicate(args,…):- guard | body

Elementos: Atomos, Listas, datos Input/Output , goals,

built-in goals.

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

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).

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

3D-PP - Interacción DaD Extendido:

P1: Falta de información de profundidad

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

3D-PP - Interacción

DaD Extendido: P2: Un objeto lejano es pequeño

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

3D-PP - Interacción

DaD Extendido:

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

3D-PP - Interacción

DaD Extendido:

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

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

un programa

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

3D-PP :Ejemplo

Calcular el primo

número 1000:

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

3D-PP : Ejecución

Ejecución del

calculo del número

primo 1000.

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

Trabajo Relacionado

PrologSpace VisualLinda SCIRun (3D Windgets) ToonTalk

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

Lingua Graphica

Provee sintaxis 3D para programas en C++

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

ToonTalk

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

VrPE - Virtual Programming Environments Basados en Paradigmas Visuales. Visualización del Mundo en 3D Técnicas 3D para :

Control Retroalimentación Navegación Acceso

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

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.

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

Conclusiones

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

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

Palabras Clave

3D Computer Human Interaction 3D Visual Programming Environment Visual Programming Language