La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

© 2009 IBM Corporation End User Programming (Naturalmente) Pablo Pedemonte – SW Engineer 16 Sep 2010.

Presentaciones similares


Presentación del tema: "© 2009 IBM Corporation End User Programming (Naturalmente) Pablo Pedemonte – SW Engineer 16 Sep 2010."— Transcripción de la presentación:

1 © 2009 IBM Corporation End User Programming (Naturalmente) Pablo Pedemonte – SW Engineer 16 Sep 2010

2 © 2009 IBM Corporation2 Agenda  Conceptos de End User Programming  CoScripter: Programación por Demostración + lenguaje natural  Más aplicaciones de lenguaje natural  Problemas a resolver  Sumario

3 © 2009 IBM Corporation3 End User Programming (EUP) Acerca (parte de) el poder de la programación a los no programadores Personas sin experiencia en programación pueden modificar o mejorar artefactos de software  Lenguajes de Scripting  Programación Visual  Grabación de Macros  Programación por Demostración

4 © 2009 IBM Corporation4 Lenguajes de Scripting  Son la 1ra materialización del concepto de EUP  Construcciones de dominio específico:  Facilita programar, pero no está diseñado para el usuario común enter(“address”,“221B Baker Street”); vs: var i = document.forms[0].inputAddr; i.value = “221B Baker Street”;

5 © 2009 IBM Corporation5 Programación Visual  Los entornos de programación visual definen metáforas para construir programas de manera gráfica  Algunas de las metáforas típicas: –Flujo de datos entre nodos (el programa es un grafo) –Reglas de reescritura definidas gráficamente –Composición de bloques (Open Blocks)  Ejemplo: Google App Inventor

6 © 2009 IBM Corporation6 Grabación de Macros  Consiste en grabar acciones llevadas a cabo por los usuarios, se pueden reproducir cuando se desee  Limitación principal: –Los macros no analizan el significado de las acciones grabadas –Ejemplos: Borrar la primera palabra de una oración Eliminar comentarios de un fragmento de código C: /*...*/

7 © 2009 IBM Corporation7 Programación por demostración (PPD)  EUP + Inteligencia Artificial  Se graban las acciones del usuario  Pero además, se intenta inferir la intención de dichas acciones  La idea: –Si un usuario es capaz de demostrar cómo llevar a cabo una tarea, un sistema de PPD debería poder producir un programa que la ejecute  Mucho más sencillo que scripting o programación visual  Pero menos poderoso...

8 © 2009 IBM Corporation8 Agenda  Conceptos de End User Programming  CoScripter: Programación por Demostración + lenguaje natural  Más aplicaciones de lenguaje natural  Problemas a resolver  Sumario

9 © 2009 IBM Corporation9 CoScripter: Programación por Demostración + Lenguaje Natural  Usuarios “muestran” cómo llevar a cabo una tarea en un sitio web  CoScripter infiere descripciones en lenguaje natural de los pasos a seguir  Scripts resultantes grabados en una wiki

10 © 2009 IBM Corporation10 CoScripter: ejemplo * Go to http://www.liveatc.net/http://www.liveatc.net/ * Click the “Top 50 LiveATC Feeds” link * Enter “SABE” into the “Find LiveATC Streams” textbox * Click the “Listen to SABE” button

11 © 2009 IBM Corporation11 Por qué utilizar lenguaje natural?  Le da un “toque social” a CoScripter  Contribuye a compartir de modo efectivo el conocimiento sobre cómo llevar a cabo tareas en la web  Los usuarios pueden entender los scripts: –Modificarlos es trivial –Mitiga el temor de ejecutar código desconocido en nuestro browser: “Qué hará este script?”

12 © 2009 IBM Corporation12 Agenda  Conceptos de End User Programming  CoScripter: Programación por Demostración + lenguaje natural  Más aplicaciones de lenguaje natural  Problemas a resolver  Sumario

13 © 2009 IBM Corporation13 Síntesis de Scripts  Es típico encontrar secuencias de instrucciones en manuales de usuario  Podemos identifcar dichas secuencias con técnicas de Machine Learning?  Podemos sintetizar scripts a partir de dichas secuencias?  Ejemplo: –Generar CoScripter a partir de instrucciones sobre cómo adminstrar una aplicación desde una interfaz web

14 © 2009 IBM Corporation14 Casos de Prueba en Lenguaje Natural  Idea: especificar casos de pruebas sobre interfaces gráficas como una secuencia de acciones + pasos de verificación en lenguaje natural  Ejemplo:  End User Programming para testers  Robot basado en CoScripter puede ejecutar suites de tests de modo automático * Enter your name in the “User ID” textfield * Enter your password in the “Password” textfield * Click the “Log In” button * Verify there is a label with text “Welcome”

15 © 2009 IBM Corporation15 Agenda  Conceptos de End User Programming  CoScripter: Programación por Demostración + lenguaje natural  Más aplicaciones de lenguaje natural  Problemas a resolver  Sumario

16 © 2009 IBM Corporation16 Problemas a Resolver End User Programming:  Inferir correctamente la intención del usuario  RIAs complican el proceso: –Ej: Click en un ítem de menú – Click the “Add New Folder” link vs: – Select the “Add New Folder” menu item –Precisamos contexto semántico –Accesibilidad puede ser la solución

17 © 2009 IBM Corporation17 Problemas a Resolver Lenguaje Natural para End User Programming:  Internacionalización  Tratar correctamente con ambigüedades  Velocidad de procesamiento (ej., servicio de autocompletar)

18 © 2009 IBM Corporation18 Agenda  Conceptos de End User Programming  CoScripter: Programación por Demostración + lenguaje natural  Más aplicaciones de lenguaje natural  Problemas a resolver  Sumario

19 © 2009 IBM Corporation19 Sumario  EUP se trata de acercar el poder de la programación al “usuario común”.  No programadores pueden mejorar productos de software, adaptándolos a sus necesidades.  PPD es una forma de EUP: mediante técnicas de IA, un sistema observa las acciones de un usuario e infiere su intención.  El procesamiento de lenguaje natural puede ser una contribución importante para EUP y PPD. Hace falta más investigación en este campo.


Descargar ppt "© 2009 IBM Corporation End User Programming (Naturalmente) Pablo Pedemonte – SW Engineer 16 Sep 2010."

Presentaciones similares


Anuncios Google