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

Post on 24-Jan-2016

223 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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!

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

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

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)

Fortalezas de los VLP

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

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

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)

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

Cube

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

Cube - Ejemplo

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)

SAM- Productor Consumidor

SAM- Productor Consumidor

SAM - Técnicas de Interacción

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.

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.

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.

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

3D-PP - Descripción

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

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

built-in goals.

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

3D-PP - Interacción DaD Extendido:

P1: Falta de información de profundidad

3D-PP - Interacción

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

3D-PP - Interacción

DaD Extendido:

3D-PP - Interacción

DaD Extendido:

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

un programa

3D-PP :Ejemplo

Calcular el primo

número 1000:

3D-PP : Ejecución

Ejecución del

calculo del número

primo 1000.

Trabajo Relacionado

PrologSpace VisualLinda SCIRun (3D Windgets) ToonTalk

Lingua Graphica

Provee sintaxis 3D para programas en C++

ToonTalk

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

Control Retroalimentación Navegación Acceso

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.

Conclusiones

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

Palabras Clave

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

top related