Definición de dominios, tareas y actos conversacionales en sistemas CSCW: el caso de SPACE-DESIGN Rafael Duque, Crescencio Bravo, Jesús Gallardo, Manuel Ortega Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla – La Mancha Paseo de la Universidad 4, 13071 Ciudad Real (España) {Rafael.Duque, Crescencio.Bravo, Jesus.Gallardo, Manuel.Ortega}@uclm.es Resumen. La mayor parte de las actividades académicas y profesionales actuales requieren de la colaboración entre los miembros de un grupo de trabajo. Por ello los sistemas CSCW (Computer-Supported Cooperative Work) deben ser flexibles y tener capacidad para adaptarse a múltiples tareas y situaciones. Para dar respuesta a estos retos, en este artículo se propone el uso de metamodelos y de lenguajes basados en XML para definir y extraer los aspectos más importantes de un sistema CSCW, como son el dominio de aplicación del sistema, los requisitos de la tarea a realizar, la forma de establecer la comunicación o las normas de regulación del espacio de trabajo compartido. Las ideas propuestas se han llevado a la práctica en el sistema SPACE-DESIGN (SPecification and Automatic construction of Collaborative Environments of DESIGN), un entorno CSCW con soporte para trabajo colaborativo distribuido síncrono que se adapta y configura como consecuencia del procesamiento de la especificación del dominio, de la tarea, de la comunicación y de las normas de trabajo. 1 Introducción La eficacia del trabajo en grupo es un requisito imprescindible para realizar con éxito la mayoría de las actividades profesionales y académicas actuales. Desde la década pasada se vienen formulando diversas propuestas y se han desarrollado multitud de sistemas con objeto de dar soporte al trabajo colaborativo [13]. En este artículo se analizan los diversos mecanismos que se pueden utilizar para definir los aspectos más importantes de un sistema CSCW (Computer-Supported Cooperative Work), como son el dominio de aplicación, la forma de facilitar la comunicación entre usuarios de un mismo grupo de trabajo, las políticas para asignar la utilización de espacios de trabajo compartido y la definición de las tareas a realizar de forma colaborativa. Para validar esta propuesta se ha implementado la herramienta SPACE-DESIGN (SPecification and Automatic construction of Collaborative Environments of DESIGN) [2], un entorno CSCW con soporte para trabajo colaborativo distribuido síncrono que permite a los usuarios elaborar diseños en dominios definidos de manera independiente al sistema. 278 – Duque, R., Bravo, C., Gallardo, J., Ortega, M. CoolModes [15] y ModellingSpace [1] son sistemas de aprendizaje colaborativo que permiten construir modelos de acuerdo a un lenguaje visual previamente definido. Sin embargo, su orientación a ámbitos educativos, la falta de mecanismos explícitos de coordinación y de awareness, y la imposibilidad de especificar la tarea a realizar suponen una limitación. En la siguiente sección se describen las posibilidades que ofrecen los metamodelos para la definición de dominios de forma independiente a los sistemas destinados a soportarlos, se analiza un caso de definición del dominio de los Diagramas de Casos de Uso de UML y se presenta su utilización en SPACE-DESIGN. En la tercera sección se estudia el soporte que ofrece SPACE-DESIGN para definir las tareas que deben ser realizadas por los usuarios. La cuarta sección se centra en el estudio de los mecanismos que se utilizan para definir una comunicación estructurada. La quinta sección analiza cómo SPACE-DESIGN regula el acceso al espacio de trabajo compartido. En la sexta sección se muestra una descripción de las herramientas que integra SPACE-DESIGN para ofrecer soporte colaborativo distribuido síncrono. Para finalizar, la sección séptima muestra las conclusiones que se derivan del análisis de todas las propuestas formuladas y de su puesta en práctica en el entorno SPACEDESIGN; también se esbozan algunas líneas que se pretenden seguir en el futuro para profundizar en las problemáticas abordadas. 2 Modelado de dominios SPACE-DESIGN es independiente del dominio, es decir, proporciona soporte a cualquier dominio que presente ciertas características. Para ello posibilita la especificación del dominio en documentos o estructuras externas al sistema, de las que se puedan extraer las propiedades del dominio. Para conseguir este objetivo, SPACE-DESIGN propone la utilización de tres niveles de definición con diferente grado de abstracción en consonancia con la propuesta de Dourish [7]. Estos niveles tienen una representación en lenguajes basados en XML (ver Fig. 2) con el fin de disponer de un modelo computacional. Estos tres niveles son los siguientes: − Meta-metamodelo: Es un modelo global que define la forma en que se representan todos los modelos. Básicamente marca una sintaxis acerca de cómo se deben definir los elementos del dominio y sus relaciones en los niveles de representación de menor abstracción. − Metamodelo: Es una especificación concreta de un dominio de aplicación que sigue las restricciones sintácticas del meta-metamodelo (un ejemplo serían los diagramas E/R). El uso de estos metamodelos permite representar de forma intuitiva el dominio de aplicación. Partiendo de una separación de aquellos elementos que constituyen las entidades del dominio y de las relaciones entre estas entidades se puede plantear una representación visual de todo el dominio. En la Fig. 1 se muestra un ejemplo de representación gráfica de los elementos que componen un metamodelo del dominio de los Diagramas de Casos de Uso. Definición de dominios, tareas y actos conversacionales en sistemas CSCW: el caso de SPACE-DESIGN – 279 Fig. 1. Metamodelo del dominio de los Diagramas de Casos de Uso de UML. − Modelo: Se construye de acuerdo a lo especificado en el metamodelo (ver Fig. 2) y se hace en respuesta a los requisitos expresados en una tarea de modelado. Disponer de representaciones del dominio independientes del sistema que los soporta abre nuevas posibilidades. Por ejemplo, AToM3 [10] utiliza gramáticas formales para hacer transformaciones con los productos elaborados en un dominio definido por medio de un metamodelo, y WETAS [12], un sistema tutor inteligente, analiza la corrección de las soluciones planteadas a problemas en un dominio especificado a través de una ontología. SPACE-DESIGN tiene la capacidad de procesar la definición de estos metamodelos para dar soporte a la creación de modelos, por parte de los usuarios, que cumplan los requisitos de las tareas planteadas. En la Fig. 2 se aprecia un metamodelo para Diagramas de Casos de Uso. Este metamodelo sigue las restricciones que marca el meta-metamodelo y cumple un documento XML Schema que obliga a respetar cuestiones como la separación de la parte semántica de la representación gráfica. Fig. 2. Fragmento del metamodelo de Diagramas de Casos de Uso utilizando un lenguaje basado en XML. Para comprobar la validez de la utilización de metamodelos para definir dominios de aplicación independientes a un sistema CSCW, Duque & Bravo [8] han 280 – Duque, R., Bravo, C., Gallardo, J., Ortega, M. desarrollado varios metamodelos en el ámbito de Ingeniería del Software. Estas propuestas van encaminadas a dar soporte tanto al modelado de procesos software como al diseño de los diagramas utilizados en las etapas que se presentan más frecuentemente en el ciclo de vida del software. Además, para examinar la versatilidad de este modo de definir dominios de aplicación, otros autores han utilizado metamodelos para definir juegos colaborativos en dispositivos móviles [5] y para especificar dominios en entornos colaborativos de aprendizaje [3]. Este enfoque de especificación de dominios conlleva ventajas evidentes, como la disponibilidad de herramientas reutilizables que se configuran o adaptan a un dominio específico, lo que supone un ahorro de costos para el usuario y de trabajo para los desarrolladores; o como las posibilidades de interoperabilidad con otras herramientas si se utilizan formas estandarizadas de representación de modelos. Además, hay que destacar que adoptar formas de representación de dominios de manera independiente al entorno que se utiliza facilita la especificación de restricciones sintácticas. Por ejemplo, en el diseño de Diagramas de Casos de Uso se impide al usuario la ejecución de operaciones incorrectas, como enlazar objetos Actor mediante relaciones de tipo asociación (ver Fig. 2). 3 Especificación de tareas Una vez que se ha modelado y, por tanto, definido el dominio de aplicación, es imprescindible llevar a cabo una especificación de la tarea que se quiere desarrollar. En SPACE-DESIGN esta especificación se hace utilizando, de nuevo, un lenguaje basado en XML que permite disponer de un modelo computacional con el que crear las restricciones que debe cumplir el modelo de diseño que se va a construir (número de entidades, tiempo máximo, restricciones semánticas, etc.). Por ejemplo, Bravo et al. [2] presentan una descripción de tareas para el dominio de la Dómotica. Hay que destacar el hecho de que si no se dispusiese de un modelo formal que especificase el dominio de aplicación, no sería posible tener una especificación formal en toda su extensión de la tarea a realizar, ya que no podríamos establecer restricciones sobre los distintos componentes que integran el dominio de aplicación. En la Fig. 3 se muestra como se plantea a los usuarios el diseño de un Diagrama de Casos de Uso, indicando el objetivo de la tarea mediante un enunciado detallado que también muestra algunas restricciones que debe cumplir tanto el proceso de construcción como el diseño final. SPACE-DESIGN genera (ver Fig. 3 (a)) una explicación de la tarea que hay que efectuar en lenguaje natural. Esto se logra de forma inmediata como consecuencia de un proceso que extrae los distintos aspectos definidos en el documento (ver Fig. 3 (b)) que formalmente define y restringe las características del producto a diseñar. De esta forma, además de tener una representación formal que el sistema puede manipular, se obtiene una descripción de la tarea más cercana al usuario. Definición de dominios, tareas y actos conversacionales en sistemas CSCW: el caso de SPACE-DESIGN – 281 Fig. 3. Representación en lenguaje natural (a) y formal (b) de la tarea a desarrollar. 4 Comunicación estructurada Un requisito básico para llevar a cabo una colaboración efectiva entre los miembros de un grupo de trabajo es mantener una discusión argumentativa [14] durante la construcción de un diseño. En este caso se propone un soporte de discusión argumentativa para una situación de colaboración distribuida síncrona. Así, cada usuario expone sus propuestas, desencuentros, cuestiones o argumentos en relación con el desarrollo del producto [9]. La discusión argumentativa supone un proceso que favorece tanto la dinámica colaborativa, en la medida en que es una herramienta que da soporte a la comunicación entre todos los usuarios que tratan de alcanzar un objetivo en común [11], como un análisis individualizado de las aportaciones de cada miembro y de sus ideas acerca de las acciones que hay que tomar para fabricar un producto que cumpla los requisitos establecidos. SPACE-DESIGN posibilita la discusión argumentativa mediante un Chat Estructurado. En este sentido, el entorno proporciona soporte para las necesidades particulares de cada tarea y grupo de trabajo definiendo en lenguaje XML [2] aquellas frases, opiniones o comentarios que son usados de forma más habitual. De este modo se pueden definir las frases que formarán la base de la discusión dependiendo de la tarea a desarrollar o del dominio en que se esté trabajando. Esta técnica permite reutilizar estructuras de conversación anteriores o modificar las frases que se están utilizando en la actualidad. El Chat Estructurado extrae las frases a utilizar por los usuarios del documento XML, generando dinámicamente la interfaz de usuario, que propone botones para expresar los actos conversacionales. De esta forma el usuario, haciendo clic en el botón correspondiente, introduce el inicio del argumento (“Pienso que…”, “Veo un error en…”, etc.) en el Chat, teniendo únicamente que escribir el final de la oración. Un punto a tener en cuenta es el grado de restricción que se desea obtener en este tipo de comunicación. Existe la posibilidad de establecer pormenorizadamente cada situación y el tipo de argumentos que se deben utilizar. Así, si un usuario formula una frase interrogativa (“¿Por qué…?”), el destinatario de la pregunta tendría activadas frases encaminadas a responder a la cuestión (“Porque…”), además de poder iniciar otras subconversaciones. El sistema SPACE-DESIGN permite, además de esta 282 – Duque, R., Bravo, C., Gallardo, J., Ortega, M. comunicación estructurada, utilizar el Chat de forma abierta, de manera que cada usuario pueda comunicarse sin utilizar las frases que aparecen predefinidas Otros elementos sobre los que orquestar los argumentos de la discusión son los componentes (objetos y relaciones) del modelo que se está diseñando. Así, si una entidad o relación del modelo en elaboración es objeto de debate por parte de los usuarios implicados en su construcción, cualquier usuario puede incluir en la conversación una referencia el elemento que centra la discusión. Para ello se dispone de una lista desplegable en el Chat Estructurado que permite formular cualquier comentario que se refiera al objeto indicado. En la Fig. 4 se observa cómo puede seleccionarse un elemento contenido en un diseño en construcción. Fig. 4. Discusión argumentativa en torno a un elemento del modelo en desarrollo. 5 Mecanismos de coordinación Para desarrollar un sistema CSCW que dé soporte a las necesidades de un grupo de trabajo es imprescindible tener en cuenta el modo de colaboración que se pretende seguir. Sin embargo, no es posible determinar normas de colaboración que se puedan aplicar a cualquier escenario colaborativo, ya que estas normas varían en función de los roles de los usuarios implicados en una misma tarea, del dominio en el que se esté trabajando y de los hábitos de colaboración adquiridos en experiencias previas. SPACE-DESIGN adopta un enfoque flexible, posibilitando tres modelos de regulación del turno de trabajo: − Trabajo simultáneo. Los usuarios pueden acceder concurrentemente al espacio de trabajo compartido. De este modo varios miembros del grupo de trabajo pueden estar trabajando a la vez en el espacio compartido. El acceso es totalmente libre ya que no se establecen normas de antemano que otorguen preferencia en la utilización del especio compartido a un usuario respecto al compañero. − Turno concedido por acuerdo. El acceso al espacio de trabajo compartido se hace consensuadamente. Aquel usuario que desee hacer una modificación en el espacio de trabajo compartido, debe enviar una propuesta al resto de compañeros solicitando permiso para acceder al espacio común. Una vez que se ha formulado la propuesta, el resto de usuarios llevan a cabo una votación en la que muestran su acuerdo o desacuerdo con el hecho de que el compañero pueda acceder al espacio de trabajo compartido. − Turno asignado por orden de petición. En este caso los permisos para trabajar en el espacio compartido se asignan en igual orden en que se producen las peticiones de Definición de dominios, tareas y actos conversacionales en sistemas CSCW: el caso de SPACE-DESIGN – 283 acceso al mismo. Por tanto, los usuarios manifiestan su petición y posteriormente su liberación del turno. Cuando un usuario formula una solicitud para poder utilizar el espacio común de trabajo, tendrá que esperar a que todos los compañeros, que tramitaron esa misma petición antes finalicen su trabajo en el espacio compartido. Este protocolo sigue una política FIFO (First Input First Output). En SPACE-DESIGN el mecanismo de regulación del espacio compartido se establece en el documento XML en el que se especifica la tarea a desarrollar. En la Fig. 5 se muestra un ejemplo de mecanismo basado en la petición y concesión o denegación del turno de trabajo para acceder al espacio de trabajo compartido. Puede verse como diversos usuarios formulan su solicitud así como la respuesta dada por el resto de miembros del equipo de trabajo. Se observa como cada participante conoce las propuestas y respuestas de cada compañero ya que éstas son públicas, lo que genera un mayor conocimiento de las posiciones de los compañeros. No obstante, dependiendo de las circunstancias del escenario colaborativo se podría optar por mantener en el anonimato las identidades de los participantes mediante una adecuada configuración, evitando así los problemas derivados de la falta de privacidad. Fig. 5. Panel para asignar el control del espacio compartido. 6 Colaboración en SPACE-DESIGN En SPACE-DESIGN el soporte para la colaboración distribuida síncrona se ha implementado haciendo uso de JSDT (Java Shared Data Toolkit)1. Partiendo de este toolkit se ha construido la infraestructura ISSC (Infraestructura de Sincronización de Sistemas Colaborativos) [4] que ofrece un alto nivel de abstracción y facilita la construcción de herramientas de colaboración, dotándolas de funcionalidades como gestión de sesiones de trabajo, definición de equipos de trabajo, etc. En SPACEDESIGN se han integrado las siguientes herramientas (ver Fig. 6), desarrolladas sobre ISSC, con el objetivo de soportar trabajo colaborativo: − Chat Estructurado (ver sección 4): Permite la comunicación textual. 1 java.sun.com/products/java-media/jsdt/ 284 – Duque, R., Bravo, C., Gallardo, J., Ortega, M. − Panel de sesión: Muestra las fotografías de los participantes en la sesión, su nombre y un color que coincidirá con el del telepuntero que tienen asociado. De esta manera se implementa un mecanismo básico de awareness [6] por el que cualquier usuario tiene conocimiento de los demás participantes y de su trabajo. − Pizarra interactiva: Es el espacio de trabajo compartido donde se construyen colaborativamente los distintos modelos que dan respuesta a las tareas planteadas. − Barra de constructores: El usuario puede insertar en el espacio compartido alguna de las entidades del dominio. Para ello sólo tiene que utilizar la barra de constructores, que es generada por SPACE-DESIGN de acuerdo a lo especificado en el metamodelo. − Barra de relaciones: Las relaciones entre las entidades se establecen con la utilización de la barra de relaciones, que es también generada en tiempo real. − Barra de opciones: Incluye algunas funcionalidades útiles, como ver la tarea propuesta, cambiar de grupo de trabajo o modificar la configuración actual. − Primitivas de dibujo: SPACE-DESIGN integra una barra de dibujo para dar soporte al dibujo de figuras, la eliminación de elementos del modelo, la introducción de texto en la pizarra, el coloreado de elementos, etc. − Lista de interacciones: Muestra y describe brevemente las acciones que cada usuario ha efectuado sobre el espacio de trabajo compartido. Así se favorece el seguimiento del trabajo por parte de los demás participantes. La identificación y almacenamiento de estas acciones facilita un análisis del trabajo realizado, ya que estos datos son almacenados en una base de datos o en archivos de log. También se facilita de este modo el estudio de cómo se llevaron a cabo los distintos modelos, constituyendo un mecanismo de ayuda para comprender por parte de usuarios ajenos al grupo de trabajo la elaboración de los diseños. − Panel de coordinación: Sirve para asignar el turno de uso del espacio compartido a los usuarios, dependiendo de las normas de colaboración establecidas (ver sección 5). Definición de dominios, tareas y actos conversacionales en sistemas CSCW: el caso de SPACE-DESIGN – 285 Fig. 6. Construcción de Diagramas de Casos de Uso con SPACE-DESIGN. 7 Conclusiones Las actividades que requieren trabajo colaborativo representan un abanico muy amplio. El desarrollo de entornos informáticos que den soporte a estas actividades debe tener en cuenta la gran disparidad de requisitos que se pueden presentar derivados de las necesidades de utilizar dominios y tareas diversas, así como las distintas formas de establecer la comunicación y colaboración entre los miembros del grupo de trabajo. Estos aspectos son esenciales para un trabajo colaborativo eficaz. Sin embargo, la necesidad de adaptarlos a los requisitos de cada escenario hace necesario idear formas de especificación independientes al entorno CSCW que se utiliza. SPACE-DESIGN responde a estos retos utilizando tanto metamodelos para definir los dominios de aplicación como lenguajes basados en XML para especificar los requisitos de las tareas a desarrollar y los aspectos relacionados con las normas de colaboración. El desarrollo de sistemas de CSCW independientes del dominio y la posibilidad de instanciarlos mediante especificaciones de dominios particulares supone un notable ahorro de trabajo para desarrolladores y autores de entornos colaborativos. De algún modo, nuestras diferentes experiencias en sistemas y dominios para Ingeniería del Software [8], Juegos de Tablero Colaborativos [5] y entornos de diseño colaborativo (de circuitos digitales, instalaciones domóticas, etc.) [2] validan este enfoque y también las especificaciones de dominios construidas. Para validar los mecanismos de descripción de tareas, de la comunicación y de coordinación del uso del espacio de trabajo se están realizando algunos experimentos con SPACE-DESIGN: se han 286 – Duque, R., Bravo, C., Gallardo, J., Ortega, M. constituido dos grupos de usuarios que realizarán una misma tarea de forma colaborativa; el primero de ellos desarrollará su actividad con las herramientas que habitualmente utiliza; el segundo grupo realizará la tarea mediante SPACEDOMAIN. De esta forma, se establecerán estudios comparativos que permitan extraer conclusiones sobre la validez de los mecanismos incorporados en SPACE-DESIGN. En un futuro se pretende aprovechar los modelos computacionales planteados para desarrollar métodos que analicen cómo influye la forma de colaborar en los productos construidos en las tareas propuestas. Este enfoque también es aplicable a entornos de CSCL (Computer-Supported Collaborative Learning) en los que se construyen soluciones a problemas planteados. De este modo se podrán idear formas de ayudar al usuario a alcanzar mejores situaciones si éste se desvía de un correcto proceso de construcción de soluciones. Agradecimientos Este trabajo ha sido financiado por la Junta de Comunidades de Castilla-La Mancha a través del proyecto de investigación PBI-05-006. Referencias 1. 2. 3. 4. 5. 6. 7. 8. Avouris, N., Komis, V., Margaritis, M., Fidas, C.: ModellingSpace: A tool for synchronous collaborative problem solving. In P. Kommers & G. Richards (Eds.), Proceedings of World Conference on Educational Multimedia, Hypermedia and Telecommunications 2004 (pp. 381-386). Chesapeake, VA: AACE Bravo, C., Gallardo, J., García-Minguillan, B., Redondo, M.A.: Using specifications to build domain-independent collaborative design environments. In: Luo, Y. (ed.): Cooperative Design, Visualization and Engineering. Lecture Notes in Computer Science, Vol. 3190. Springer-Verlag (2004) 104-114 Bravo, C., Redondo, M.A., Gallardo, J., Ortega, M., Bravo, J: Organización de Actividades y Especificación de Dominios en un Entorno de Aprendizaje Colaborativo del Diseño Revista Iberoamericana de Inteligencia Artificial, 8 (24), (2004) 97-107 Bravo, C., Redondo, M.A., Mendes, A.J., Ortega, M.: Group Learning of Programming by means of Real-Time Distributed Collaboration Techniques. In: Lorés, J., Navarro, R. (eds.): Invited and reviewed papers from Interacción’2004. Springer-Verlag (2004) Bravo, C., García, J., Gallardo, J.: Juegos de Tablero Colaborativos para PDA: Especificación, Generación Automática y Experiencias. Actas del VI Congreso de Interacción Persona-Ordenador (2005), pp. 119-126, Thomson Carroll, J. M., Neale, D. C., Isenhour, P. L., Rosson, M. B., McCrickard, D. S.: Notification and awareness: synchronizing task-oriented collaborative activity. Int. J. Hum.-Comput. Stud. 58, 5 (2003), 605-632 Dourish, P.: Using metalevel techniques in a flexible toolkit for CSCW applications. ACM Trans. Comput.-Hum. Interact. 5, 2 (1998) 109-155 Duque, R., Bravo, C. (In press): The usefulness of CSCW systems in Process-sensitive Software Engineering Environments. In: Luo, Y. (ed.): Cooperative Design, Visualization and Engineering. Lecture Notes in Computer Science. Springer-Verlag (2006) Definición de dominios, tareas y actos conversacionales en sistemas CSCW: el caso de SPACE-DESIGN – 287 9. 10. 11. 12. 13. 14. 15. Isaacs, W.N.: The process and potential of dialogue in social change, Educational Technology, 2030 (1996) Lara, J. d., Vangheluwe, H.: AToM3: A Tool for Multi-formalism and Meta-modelling. In Proceedings of the 5th international Conference on Fundamental Approaches to Software Engineering. R. Kutsche and H. Weber, Eds. Lecture Notes in Computer Science, vol. 2306. Springer-Verlag, London, (2002) 174-188 Lund, K., Baker, M.J., Baron, M.: Modelling Dialogue and Beliefs as a Basis for Generating Guidance in a CSCL Environment. Proceedings of the International Conference on Intelligent Tutoring Systems (eds. C. Frasson, G. Gauthier & A. Lesgold) (1996) 206-214 Mitrovic, A., Suraweera, P., Martin, B.: The role of domain ontology in knowledge acquisition for ITSs in Proceedings of the Seventh International Conference on Intelligent Tutoring Systems, ITS2004, Maceio, (2004) 207-216 Poltrock, S., Grudin, J.: CSCW, groupware and workflow: experiences, state of art, and future trends. In CHI 98 Conference Summary on Human Factors in Computing Systems CHI '98. ACM Press, New York, NY, (1998) 119-120 Redondo, M.A., Bravo, C., Ortega, M.: Contextualized Argumentative Discussion for Design Learning in Group. Reviewed Selected Papers from the 5th Conference of the Spanish Association for HCI (AIPO) Interación 2004. Springer-Verlag (2004) Wichmann, A., Kuhn, M., and Hoppe, U. 2006. Communication through the artefact by means of synchronous co-construction. In Proceedings of the 7th international Conference on Learning Sciences (Bloomington, Indiana, June 27 - July 01, 2006). International Conference on Learning Sciences. International Society of the Learning Sciences, 825831.