Una Revisión De Notaciones Para El Modelado Conceptual De

   EMBED

Share

Preview only show first 6 pages with water mark for full document please download

Transcript

Una revisión de notaciones para el modelado conceptual de sistemas interactivos para el soporte del trabajo en grupo Ana I. Molina Miguel A. Redondo Manuel Ortega Dpto. de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla-La Mancha 13071 Ciudad Real [email protected] Dpto. de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla-La Mancha 13071 Ciudad Real [email protected] Dpto. de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla-La Mancha 13071 Ciudad Real [email protected] Resumen El uso de aplicaciones de trabajo en grupo interactivas es cada vez mayor. Sin embargo, el desarrollo y, en concreto, el diseño de este tipo de aplicaciones es complicado. En los últimos años están cobrando una mayor importancia los desarrollos basados en modelos conceptuales. En este artículo se presenta una revisión de las principales notaciones para el análisis y modelado de la interacción y la colaboración. Su estudio nos ha permitido contrastar que no existen propuestas que aborden ambos aspectos de forma conjunta, lo cual nos ha hecho plantearnos la elaboración de una metodología que incluye notaciones, herramientas y procedimientos que dan un soporte integral al modelado de estas aplicaciones. 1. Introducción El desarrollo de aplicaciones para soporte electrónico a la realización de actividades en grupo es una tarea difícil debido, entre otras razones, a las múltiples disciplinas que confluyen en su proceso de diseño. Existen tres líneas principales para el desarrollo de sistemas encuadrados dentro del paradigma del CSCW (Computer Supported Cooperative Work): (a) El desarrollo ad-hoc, en el que los sistemas se construyen de forma totalmente adaptada a la problemática concreta a la que se pretende dar soporte. Esta ha sido, hasta el momento, la tendencia habitual a la hora de crear sistemas groupware. (b) El uso de toolkits de programación, que facilitan una programación de mayor nivel de abstracción gracias a las funciones y APIs (Application Programmer Interface) proporcionadas. Algunos ejemplos son las APIs JSDT , JMS y JXTA y los toolkits de programación Habanero [1], DreamTeam [2] o Groupkit, entre otros. (c) El desarrollo de Sistemas CSCW basado en componentes, que permite la construcción de sistemas CSCW mediante el uso de bloques de construcción predefinidos que pueden ser reutilizados y combinados de forma diferente. Se han propuesto algunas arquitecturas y componentes, como Cocoware .NET o DISCIPLE [3], entre otros. Otra línea de desarrollo es la que propone basar el proceso de desarrollo en el modelado conceptual de la aplicación colaborativa. Esta aproximación está en la línea de los sistemas de diseño basado en modelos, que están tomando cada vez una mayor importancia en el campo del desarrollo de Interfaces de Usuario (IU) . En este sentido existen propuestas para el modelado conceptual de aplicaciones interactivas monousuario que, sin embargo, no contemplan el modelado de aspectos de trabajo en grupo. Interesa conocer y analizar las alternativas existentes para el modelado de ambos aspectos (de interacción y de colaboración), de cara a identificar las principales características y/o deficiencias que dichas propuestas presentan y así establecer un conjunto sólido de requisitos para nuestra propuesta de solución. Se estudiarán propuestas provenientes de la Interacción PersonaOrdenador (IPO), de la Ingeniería del Software (IS) y de los sistemas CSCW, así como de los sistemas de flujo de trabajo (workflow). Este artículo se centra en la elaboración de una revisión sintética y crítica de las principales técnicas que abordan el modelado conceptual de aplicaciones de trabajo en grupo interactivas. En la sección 2 se trata el modelado de las aplicaciones interactivas. En el apartado 3 se muestran y analizan las principales propuestas para el modelado de aspectos de trabajo en grupo. En el punto 4 se plantea la problemática detectada y se presentan las principales características de nuestra propuesta de solución. Por último se exponen las conclusiones que se extraen como consecuencia de este trabajo. 2. El modelado conceptual de sistemas interactivos Existen varios trabajos que se basan en el uso de modelos declarativos para el diseño y desarrollo de aplicaciones interactivas . El uso de modelos declarativos de IU proporciona tres ventajas principales : (a) Permiten manejar descripciones más abstractas de las IUs. (b) Facilitan la creación de métodos sistemáticos para el diseño e implementación de las IUs, puesto que aportan capacidades tales como el modelado en distintos niveles de abstracción, la posibilidad de un refinamiento incremental de los modelos y la reutilización de especificaciones. (c) Crean el marco necesario para la automatización de los procesos de diseño e implementación de IUs. Entre las desventajas de este tipo de herramientas cabe citar la complejidad en ciertos modelos y notaciones. Ejemplos de notaciones para el modelado de sistemas monousuario son: UAN [4], GOMS [5], HTA [6], CTT y UMLi [7]. Sin embargo, nuestro objetivo es el modelado de aplicaciones de soporte al trabajo en grupo. 3. El modelado conceptual aplicaciones de trabajo en grupo de En el área de investigación del modelado conceptual de sistemas de trabajo en grupo no existe un soporte adecuado para el modelado de procedimientos cooperativos y colaborativos, la utilización de espacios compartidos y la tecnología para la comunicación . Sin embargo, estos aspectos son requisitos fundamentales a contemplar durante el desarrollo de aplicaciones CSCW. Revisando la literatura tanto de Ingeniería del Software como de Interacción Persona-Ordenador (IPO), encontramos que existen algunas propuestas de notaciones para el modelado conceptual de aspectos del trabajo en grupo. En la siguiente sección se muestra una revisión de las más destacadas. 3.1. Notaciones para el Modelado de la Interacción en Aplicaciones Colaborativas En esta sección se presentarán algunas de las principales propuestas existentes para el modelado conceptual de aplicaciones de trabajo en grupo. Estas propuestas provienen de la comunidad IPO, la Ingeniería del Software y los sistemas de CSCW y especialmente de workflow. De entre las aportaciones más relevantes dentro del campo de CHI destacamos la notación ConcurTaskTrees (CTT) creada por Fabio Paternò , el marco del Group Task Analysis (GTA) [8], la notación CUA (Collaborative Usability Analysis) [9] y el método de análisis de tareas MABTA (Multiple Aspect Based Task Analysis) [10]. Dentro del campo de CSCW y de la representación de aplicaciones workflow consideramos la notación APM (Action Port Model) [11], tomada como referencia por otras notaciones más recientes como las notaciones RML, TaskMODL y DiaMODL propuestas por Traetteberg [12] y la representación mediante Proclets [13]. Dentro del campo de la IS encontramos las extensiones de la notación UML: COMO-UML [14] y UML-G [15]. También consideramos la notación i* [16], que permite un modelado orientado a objetivos, y se usa en disciplinas como la ingeniería de requisitos o el modelado de procesos en organizaciones. Cada una de estas notaciones presenta un enfoque distinto al abordar el modelado de sistemas multiusuario. De todas ellas nos interesa estudiar aspectos conceptuales y metodológicos; esto es, si dichas notaciones se encuentran encuadradas o no dentro de un marco metodológico, así como si están o no soportadas por la definición de un marco conceptual (ontología) que permita la reducción de ambigüedades y siente las bases de dichas notaciones y las relaciones existentes entre los elementos que son capaces de modelar. De igual forma, nos interesa conocer qué soporte presentan para el modelado conceptual del trabajo en grupo, además de apuntar si dichas técnicas permiten distinguir entre cooperación y colaboración en los términos apuntados en [17]. Además, nos interesa conocer cuales contemplan el modelado de aspectos puramente interactivos (aspecto que se basa, en la mayoría de los casos, en la distinción entre tareas de usuario y de aplicación), y más aún, si contemplan la generación automática o semiautomática de las Interfaces de Usuario o la derivación de algún tipo de arquitectura software para soportar la aplicación. También reflejamos si dichas propuestas cuentan o no con una herramientas CASE de apoyo. Por último, para cada una de ellas indicaremos cual es la contribución que consideramos más destacable con respecto al resto. En las tablas 1 y 2 presentamos las notaciones para el modelado de Notación CTT GTA CUA Enfoque - Centrado en el Grupo (Modelo Cooperativo) - Centrado en el Usuario (Modelo para cada rol) - Centrado en el Grupo - Centrado en el Proceso - Centrado en el Usuario - Centrado en el Grupo Ontologías Metodología No No Sí Sí (DUTCH) No - Centrado en el Grupo - Centrado en el Usuario MABTA No - Centrado en el Proceso Sí; incluye la definición de un marco conceptual APM RML, - Centrado en el Proceso TaskMODL - Centrado en el Usuario y DiaMODL - Centrado en el Proceso Proclets COMOUML Sí; incluye la definición de un marco conceptual No - Centrado en el Proceso - Centrado en el Grupo Sí; incluye la definición de un marco conceptual - Centrado en el Grupo UML-G No - Centrado en el Grupo Notación i* (modelo SD) y derivados - Centrado en el Usuario (GRL, (modelo SR) TROPOS) Tabla 1. aplicaciones de trabajo en grupo que consideramos más representativas y destacamos sus características principales. En la Tabla 1 se presentan y sintetizan características generales y de carácter fundamental: enfoque, ontología en la que se basa, metodología en la que se encuadra y aportación más destacable. En la Tabla 2 se resumen características relativas principalmente a aspectos relacionados con el modelado. Sí Aportación destacable -Notación ampliamente difundida en la comunidad IPO -Distinción entre Modelo Cooperativo y Modelo Individual (tareas por rol). -El empleo de ontologías para la validación de modelos. - Identifica un conjunto de mecanismos básicos de colaboración. - Se consideran distintos niveles de modelado, en los que interesa considerar distintos aspectos Sí contextuales. - Tipificación de las tareas (de coordinación, de toma de decisión, etc.). - Modela recursos junto con la interacción entre los usuarios. - Modelado de la interacción basada en la teoría No de actos del habla. - Uso de templates o bloques de construcción y clichés o patrones. - Incorpora lenguajes diferenciados para el modelado del dominio, de las tareas y del No diálogo. - Incorpora el uso de Patrones de Interacción. -Instanciación de procesos. -Reutilización de modelos (componentes). No -Aborda explícitamente la interacción entre proclets. -Integración adecuada con aspectos de Ing.SW Sí (notación derivada de UML). (AMENITIES) - Contempla el modelado de aspectos dinámicos. - Identificación clara de requisitos a contemplar en el modelado de sistemas groupware (datos No compartidos). - Hace uso de métodos de extensión de UML para modelar dichos requisitos. - Permite expresar de forma clara los objetivos Sí (TROPOS de los actores y las dependencias entre ellos. - Diferenciación entre elementos intencionales es una metodología) internos y externos. No Características generales y fundamentales de las notaciones para el modelado de aplicaciones de trabajo en grupo Notación CTT GTA CUA MABTA APM Modelado de aspectos interactivos Modelado de aspectos de trabajo en grupo Sí, distinción entre tareas de interacción y de aplicación; así como relación temporal entre ellas Roles, Tareas Cooperativas, Objetos (no se expresan gráficamente) Sí, incorpora especificaciones en notación NUAN Sí, las tareas individuales se pueden representar mediante la notación HTA Roles, Objetos, Agentes, Eventos, Tareas Escenarios, Tareas, Instanciación de tareas (Individuales y Colaborativas), Acciones. Operación, Acción, Actividad, Aspecto Sí. En fases de menor nivel de abstracción hace uso de HTA No Sí. Modela el diálogo y RML, los componentes de TaskMODL interacción y (interactors) DiaMODL Proclets No COMOUML No UML-G Notación i* y derivados (GRL, TROPOS) Tabla 2. No No Acciones, Recursos (Actores, Herramientas u Objetos de Información), Puertos, Flujos Roles, Actores, Grupos, Acciones, Tareas, Objetos, Herramientas, Eventos Procesos (Plocets), Canales, Mensajes (performatives), Puertos, Servicio de nombrado, Actores, Tareas Roles, Tareas Cooperativas, Protocolos de Interacción Datos compartidos, Notificaciones, Actores, Roles, Actividades compartidas Actores (Agentes, Roles y Cargos), Dependencias, Objetivo, Tarea, Recurso, Límites intencionales Distinción Herramienta de entre soporte al colaboración/ modelado cooperación Soporte a la generación automática de código La aplicación TERESA genera código para aplicaciones monousuario, pero no de trabajo en grupo No (Sólo modela cooperación) Sí (CTTE) No (Sólo modela cooperación) Sí (EUTERPE) Sí No No No No No No No No No No, pero la transformación es casi inmediata, ya que maneja niveles cercanos a la presentación No No (Propone hacer uso de Visio) No No No No (Sólo modela cooperación) Sí (COMOTOOL) No No Cualquier herramienta de soporte al modelado UML (Racional Rose, ArgoUML, etc) No No Sí (OME) No Aspectos específicos relacionados con el modelado de las notaciones para descripción de aplicaciones de trabajo en grupo - 3.2. Análisis comparativo Como resultado del estudio comparativo de las principales aportaciones en el campo del modelado del trabajo en grupo obtenemos las siguientes conclusiones relativas a sus características generales: • • • • Los modelos que se basan en notaciones provenientes de la Ingeniería del Software se benefician del amplio uso de dichas técnicas, y de un mejor acoplamiento con ellas, con lo que la conexión con la parte de procesamiento y almacenamiento persistente resulta mucho más natural. Sin embargo, se olvidan de los aspectos puramente interactivos de dichas aplicaciones. Las notaciones provenientes del campo modelado workflow tampoco consideran el modelado de la interacción, a excepción de la propuesta de Trætteberg (notaciones RML, TaskMODL y DiaMODL). Los trabajos que parten del campo de la Interacción Persona-Ordenador presentan mayores dificultades para integrarse dentro de metodologías de Ingeniería del Software y relacionarse de forma natural con sus notaciones y procesos de desarrollo software. En el caso de las propuestas que provienen del campo de IPO, en la mayoría de los casos el soporte de modelado al trabajo en grupo se basa en la ampliación de las notaciones existentes (que soportan el modelado interactivo monousuario) mediante la incorporación de tres conceptos nuevos: El empleo de un nuevo tipo de tarea en los modelos (la tarea cooperativa), que se divide, a su vez, en tareas interactivas individuales desempeñadas por los distintos roles involucrados en el sistema. La posibilidad de indicar qué roles realizan qué tareas. La separación en modelos: cooperativo e individuales (de cada uno de los roles involucrados). Ninguna de las aproximaciones estudiadas soportan la diferenciación entre colaboración y cooperación. En muchos contextos dichos términos se suelen emplear como sinónimos. Dillenbourg [17] aclara la diferencia, algo sutil, aunque importante, que existe entre ambos conceptos: • La cooperación supone la división del trabajo a realizar, de forma que cada persona se responsabiliza de su porción de trabajo. Los integrantes del grupo persiguen las mismas metas, pero actúan independientemente en sus propias tareas, o en la misma tarea pero en partes separadas del contexto compartido. La colaboración supone un compromiso mutuo de los participantes, así como un esfuerzo coordinado por resolver un problema. La colaboración es, por tanto, una actividad superior, en la que además de cooperar se trabaja conjuntamente, en tareas comunes y hacia un resultado común, haciendo derivar este por distintos estados hasta alcanzar el estado de resultado final obtenido por el grupo. En dicho producto final resulta difícil delimitar la aportación de cada uno de los integrantes del grupo. La colaboración supone que los distintos miembros trabajen dentro de un espacio de representación común. Interesa tener en cuenta esta distinción porque cooperación y colaboración implican distintas formas de entender la división de las tareas (lo cual afecta al modelado de tareas), la participación de los distintos roles en la elaboración de las mismas (que afecta al modelo de tareas y roles) y en el producto obtenido como resultado de dicha actividad conjunta (que afecta al modelo de datos). Por otro lado, la cooperación supone la inclusión de tareas especiales de coordinación, al final de la actividad cooperativa que permitan a los integrantes del grupo reunir sus aportaciones individuales en el producto final (de grupo), así como la toma de decisiones o acuerdos en dicho proceso de elaboración. Se habla en este último caso de la existencia de protocolos de interacción y coordinación entre los miembros del grupo. Así pues, estos conceptos deben ser considerados. Solo la notación COMO-UML, que se trata de una ampliación de la notación estándar UML para el modelado de aspectos cooperativos, permite el modelado de aspectos dinámicos en este tipo de sistemas. En concreto aborda el dinamismo que afecta al comportamiento real del grupo (actores que pueden desempeñar distintos roles en distintos momentos, roles que pueden aumentar su responsabilidad • mediante el desempeño de otro rol de forma aditiva, etc). En cuanto a la validación de los modelos, GTA incluye el uso de una ontología para validar la coherencia entre los distintos modelos propuestos para especificar el sistema. Tanto CTT como COMO-UML permiten transformar sus modelos en representaciones formales, haciendo uso de LOTOS y Redes de Petri Coloreadas, respectivamente. Hacer uso de notaciones formales permite simular y validar los modelos creados. En cuanto al tipo de notación empleada para el análisis y modelado de tareas, la mayoría de propuestas comparten las siguientes características, que consideramos requisitos a contemplar en una propuesta que pretenda abordar el modelado de aspectos interativos y de trabajo en grupo: • Descomposición de Tareas. Es el modo habitual de trabajar del ser humano: descomponer las tareas en subtareas de menor dificultad. Existen varios métodos que se basan en esta característica para estructurar y manejar la complejidad de las especificaciones. El uso de una representación en forma de árbol para expresar la descomposición de tareas en tareas más simples es habitual a la hora de especificar sistemas (podemos encontrar ejemplos en las notaciones HTA, CTT, el modelado del trabajo en GTA o en la notación MABTA). Dicha descomposición puede hacerse en forma de árbol o basarse en la creación de modelos que representen especificaciones de menor nivel de abstracción, tal y como ocurre en las notaciones APM y COMO-UML. • Especificación del Flujo de Tareas. Este es otro de los aspectos presente en la mayoría de técnicas de especificación del trabajo en grupo. El flujo de las tareas permite indicar el orden de ejecución de las mismas. El orden de las tareas queda representado en la mayoría de representaciones mediante el uso de operadores temporales. • Modelado de los Objetos. A pesar de que el modelado de los objetos está más próximo al diseño e implementación de la herramienta final, un subconjunto de estos objetos deberá ser mostrado y/o manipulado desde la Interfaz de Usuario, así como modificado por las tareas a desempeñar por la aplicación (sean éstas de naturaleza individual o de trabajo en grupo). A estas características iniciales hay que añadir las propias del trabajo en grupo. En este sentido, destacamos las siguientes: • Modelado de la Organización. Las técnicas de modelado actuales deben incluir características del usuario como integrante de un grupo u organización. Su posición dentro de un grupo podrá estar especificada por medio de las responsabilidades que tiene (esto es, el rol que desempeña), y dentro de la organización por la posición que ocupa en la jerarquía de la misma. La mayoría de notaciones no contemplan el modelado de relaciones de jerarquía en el seno de un grupo. Sin embargo, este tipo de relación vertical afecta al trabajo que debe desempeñar un individuo que le puede ser asignado por mandato o por delegación de competencias. Dicho dinamismo también puede realizarse de forma horizontal entre personas que están a un mismo nivel en la jerarquía. El modelado de estos aspectos dinámicos resulta de gran utilidad a la hora de modelar una organización de la forma más realista posible. • Diferenciación entre roles y actores. Ambos conceptos representan conceptos distintos cuya definición debe quedar clara. Un rol se define como el conjunto de responsabilidades o tareas a desempeñar por uno o varios actores. Un actor es un sujeto, humano o no, que interactúa con el sistema y que puede desempeñar en un determinado momento un rol. De los actores interesa principalmente conocer sus características (por ejemplo, su destreza en el uso de computadores, sus habilidades específicas en una determinada área, su idioma, etc). Los actores no tienen por qué ser necesariamente individuos concretos, pudiendo representar clases de individuos que comparten ciertas características. Los actores realizan tareas pero siempre bajo la forma de un determinado rol. • La adopción de un determinado rol por parte de un actor puede darse por asignación, delegación, mandato o por cualquier otra situación relacionada con el contexto de trabajo. • • La distinción entre roles y actores implica la adopción de sistemas de identificación de usuarios, así como la adaptación de la IU para dar soporte a las tareas asignadas a un determinado rol. Por otro lado, conocer las características que definen a los actores específicos permite adaptar ciertas características del sistema a sus preferencias y/o habilidades. Algunas de las propuestas que tratan el modelado de los aspectos dinámicos de un sistema añaden el concepto de evento, que podrá ser lanzado o que se producirá sin que los usuarios puedan tener control sobre su disparo. Tal y como se apunta en [18] los modelos conceptuales que pretendamos crear deberán contemplar el modelado de restricciones temporales. La información temporal que debería ser tenida en cuenta al analizar y modelar las tareas de los usuarios se puede clasificar en dos categorías: • Información cualitativa. La mayoría de las notaciones consideran una aproximación de naturaleza cualitativa con respecto al modelado del tiempo. En la mayoría de los casos se limita a especificar un ordenamiento parcial entre las actividades a realizar por el sistema. La especificación de las relaciones temporales se realiza mediante el uso de constructores del tipo secuencia, repetición, elección, etc. • Información cuantitativa. Este tipo de información se refiere a los retrasos, fechas y duraciones. Son pocas las notaciones que explícitamente incluyen el modelado de información temporal cuantitativa. En cuanto a las notaciones analizadas, CTT incluye los dos tipos de información. Esta notación incluye un amplio juego de operadores temporales que dan información temporal cualitativa. Por otro lado, aunque gráficamente no quede expresada, esta notación también permite la especificación de información temporal cuantitativa. El editor de modelos CTT (la herramienta CTTE) permite incluir propiedades asociadas a las tareas referentes a su duración (cantidad de tiempo mínima, máxima y media para la ejecución de una tarea). En cuanto a estos aspectos sería deseable incluir información de ambos tipos en una propuesta que aborde el modelado del trabajo en grupo. Esto es, incluir un juego de operadores temporales que expresen orden y, por tanto, un modo de especificar la coordinación, entre tareas (información cualitativa); y, por otro lado, cantidades de tiempo (información cuantitativa). En este segundo sentido consideraremos la representación de lapsos de tiempo, fechas, asociadas al flujo entre tareas y posibles restricciones temporales a nivel de tarea. 3.3. Discusión Teniendo en cuenta las características identificadas en este análisis comparativo, así como las limitaciones de algunas de las propuestas estudiadas, consideramos necesario disponer de un método que guíe a los ingenieros en el proceso de modelado de los aspectos interactivos en aplicaciones de trabajo en grupo. A continuación y a modo de síntesis indicamos las características que consideramos deseables para este método: • Sería deseable que se tratara de una propuesta metodológica mixta que por medio de un conjunto de pasos guíe al diseñador a la hora de abordar el modelado desde distintas perspectivas según la etapa en la que nos encontremos (diseño centrado en el grupo, en el proceso y en el usuario). • Dicha propuesta metodológica estará basada en un marco conceptual bien definido, que sirva de base a la notación utilizada en cada una de sus fases. • La notación deberá dar soporte al modelado diferenciado de la interacción entre los miembros del equipo de trabajo y la interacción individual de cada miembro. • La notación permitirá especificar las peculiaridades que diferencian las tareas cooperativas de las puramente colaborativas. • La notación debe dar soporte al modelado de la descomposición de tareas en subtareas. • Debe permitir especificar el flujo del trabajo. Es decir, es necesario representar el orden en el que se deben desarrollar las subtareas en que divide una tarea. • La notación debe dar soporte al modelado de objetos. Interesa conocer los objetos de • • • • información que son manipulados por las tareas. Soporte al modelado del paso de información. También interesa conocer la información que es transferida entre las tareas. Se contemplará el modelado de información temporal cualitativa y cuantitativa. Se debe contemplar el modelado de la organización y la identificación de roles. Tanto la metodología como sus notaciones deben enmarcarse adecuadamente en el PUD (Proceso Unificado de Desarrollo). diseñador desde el análisis del contexto de trabajo hasta la obtención del modelo de tareas interactivas. Dicho modelo puede servir de entrada a un proceso MBUID (ModelBased User Interface Development) que permita la obtención automática o semiautomática de la IU final [20]. Dicha propuesta se compone de cinco fases principales que guían al diseñador para que cambie de perspectiva de análisis hasta llegar a modelos más cercanos a la especificación de la IU final (figura 1). En cada una de estas fases se hace uso de un conjunto de técnicas de especificación, preferentemente de naturaleza gráfica, a la que hemos llamado CIAN (Collaborative Interactive Applications Notation) [21]. 4. CIAM: Una propuesta metodológica para el desarrollo de la IU en sistemas de trabajo en grupo La revisión de estas técnicas de modelado nos permite detectar que existen deficiencias en cuanto al modelado de aspectos colaborativos, así como carencia de propuestas que permitan aunar aspectos de modelado de aplicaciones de trabajo en grupo con los aspectos interactivos de las mismas. Por tanto, el estado actual del modelado conceptual de aplicaciones de esta naturaleza se caracteriza por las siguientes limitaciones: • Ausencia de modelos teóricos y computacionales que permitan especificar adecuadamente las actividades en grupo soportadas por computador. • Dificultad para abordar el modelado integral de aspectos interactivos y de trabajo en grupo. • Necesidad de la definición de un método sistemático que guíe a los ingenieros en el proceso de creación de interfaces de usuario para aplicaciones CSCW. Estas limitaciones hacen que la semántica de las especificaciones de aplicaciones colaborativas quede incompletas. Con esta perspectiva, nos planteamos la concepción de posibles mejoras que permitan subsanar estas deficiencias. Así, planteamos una propuesta que combina aspectos de modelado y especificación de aspectos interactivos y de trabajo en grupo. Dicha propuesta se compone de cuatro aportaciones principales: • Una propuesta metodológica, a la que hemos llamado CIAM (Collaborative Interactive Applications Methodology) [19] que consta de una serie de fases de modelado que asisten al Figura 1. Etapas de la propuesta metodológica CIAM • La notación CIAN permite la creación de una serie de modelos. Cada uno de ellos representa un aspecto o perspectiva distinta de modelado y debe plasmar, por tanto, un subconjunto específico de conceptos. Para aclarar y concretar el conjunto de conceptos que componen cada una de estas perspectivas o vistas, se ha creado un marco conceptual (u ontología). Las cuatro vistas que componen el marco son la vista organizacional, la vista de inter-acción, la vista de datos y la vista de interacción. Dicho marco hace tres aportaciones significativas y que lo diferencian del resto: Distinción entre los conceptos de interacción e interacción. Distinción entre colaboración y cooperación. A diferencia de otras propuestas existentes en la literatura incluye la vista de interacción, que incluye conceptos para el modelado de la parte más interactiva de las aplicaciones groupware. Para más detalles sobre el marco conceptual de CIAM consultar [21]. En el diagrama de la figura 2 vemos la relación que existe entre el marco conceptual propuesto y el lenguaje de modelado CIAN. Figura 2. Relación entre el marco conceptual propuesto, el producto SW (la IU), el lenguaje de modelado (notación CIAN) y los modelos (adaptado de [22]) • • Un marco de integración de la propuesta CIAM en el proceso de desarrollo software, estableciendo claramente las relaciones entre los tres caminos principales de trabajo en el desarrollo de una aplicación groupware interactiva: la funcionalidad (técnicas y métodos de IS), la capa de interacción (IPO) y el soporte interactivo a la colaboración. Una herramienta CASE (llamada CIAT), que se encuentra actualmente en proceso de desarrollo, que permite la edición de los modelos y guía al diseñador a lo largo de las distintas fases que compone la propuesta metodológica. La herramienta da soporte a la evaluación y verificación de las especificaciones creadas, y en un futuro dará soporte a la simulación de los modelos. 5. Conclusiones El desarrollo de los sistemas de trabajo en grupo no es una tarea trivial. Si pretendemos basar dicho proceso en un diseño basado en modelos conceptuales se deberá contar con una serie de artefactos de especificación adecuados. Existen métodos desarrollados desde los campos de la IS, la IPO y el modelado de sistemas CSCW y workflow, que se aplican para el modelado de tareas colaborativas. En este artículo se ha mostrado un análisis comparativo de las principales notaciones provenientes de estas áreas. El estudio de estas propuestas nos ha permitido detectar que no existe una propuesta que contemple aspectos de interacción y colaboración de una manera conjunta. Esto ha motivado el desarrollo de una metodología dotada de un conjunto de notaciones, herramientas y procedimientos, denominada CIAM, que permite dar solución a esta carencia. CIAM, en última instancia, permite el diseño de IUs en aplicaciones de soporte al trabajo en grupo, y cuenta con un conjunto de notaciones de naturaleza tanto gráfica como textual (CIAN), que permiten expresar una mayor semántica que las propuestas existentes en la actualidad. Referencias [1] Chabert, A., et al., Java Object-Sharing in HABANERO. COMMUNICATIONS OF THE ACM, 1998. June 1998/Vol. 41, No. 6. [2] Roth, J. and C. Unger. "DreamTeam“ - a Synchronous CSCW Environment for Distance Education. in EDMEDIA/EDTELECOM '98. 1998. Freiburg, Germany. [3] Marsic, I., et al., Distributed System for Collaborative Information Processing and Learning (DISCIPLE). 1996. [4] Harstson, R. and P. Gray, Temporal Aspects of Tasks in the User Action Notacion. Human Computer Interaction, 1992. 7: p. 1-45. [5] Card, S., T. Moran, and A. Newell. The Psycology of Human-Computer Interaction. 1983. Hillsdale. [6] Annett, J. and K.D. Duncan, Task Analysis and Training Design. Occupational Psychology, 1967. 41: p. 211-221. [7] Pinheiro da Silva, P. and N.W. Paton, User Interface Modeling in UMLi. 2003a. Vol.20 No. 4, July/August 2003: p. 62-69. [8] van Welie, M. and G.C. van der Veer, Groupware Task Analysis, in Handbook Of Cognitive Task Design, E. Hollnagel, Editor. 2003: LEA., NJ. p. 447-476. [9] Pinelle, D., Improving Groupware Design for Loosely Coupled Groups, in Department of Computer Science. 2004, PhD. thesis, University of Saskatchewan. [10] Lim, Y.-k. Multiple aspect based task analysis (MABTA) for user requirements gathering in highly-contextualized interactive system design. in 3rd annual conference on Task models and diagrams (TAMODIA 2004). 2004. Prague, Czech Republic: ACM International Conference Proceeding Series. [11] Carlsen, S. Action Port Model: A Mixed Paradigm Conceptual Workflow Modeling Language. in 3rd IFCIS International Conference on Cooperative Information Systems. 1998. [12] Trætteberg, H., Model-based User Interface Design, in Dept. of Computer and Information Sciences. 2002, PhD. thesis, Norwegian University of Science and Technology. [13] van der Aalst, W.M.P., et al., Proclets: a framework for lightweight interacting workflow processes. Journal of Cooperative Information Systems, 2001. 10 (4): p. 443482. [14] Garrido, J.L., AMENITIES: Una metodología para el desarrollo de sistemas cooperativos basada en modelos de comportamiento y tareas, in Departamento de Lenguajes y Sistemas Informáticos. 2003, PhD. thesis, Universidad de Granada: Granada. [15] Rubart, J. and P. Dawabi, Shared Data modeling with UML-G. International Journal of Computer Applications in Technology, 2004. 19. [16] Yu, E., Modelling Strategic Relationships for Process Reengineering. 1995, PhD. thesis, University of Toronto. [17] Dillenbourg, P., et al., The Evolution of Research on Collaborative Learning, ed. P. Reimann, Spada, H. Vol. Learning in humans and machines. Towards an interdisciplinary learning science. 1995, London. 189- 211. [18] Lacaze, X. and P. Palanque. Comprehensive Handling of Temporal Issues in Tasks Models: What is needed and How to Support it? in Workshop The Temporal Aspects of Work for HCI (CHI 2004). 2004. Vienna, Austria. [19] Molina, A.I., M.A. Redondo, and M. Ortega. CIAM: Una Aproximación Metodológica para el desarrollo de Interfaces de Usuario en aplicaciones groupware. in VII Congreso Internacional de Interacción PersonaOrdenador (INTERACCION 2006). 2006d. Puertollano (Spain). [20] Molina, A.I., Generación de Interfaces de Usuario a partir de Modelos de Tareas. Aplicación a Herramientas de e-Learning Colaborativas, in Presente y Futuro de la Docencia e Investigación en Interacción Persona-Ordenador, M.A. Redondo, C. Bravo, and J. Lorés, Editors. 2005b: Puertollano. p. 295-303. [21] Molina, A.I., M.A. Redondo, and M. Ortega. A conceptual and methodological framework for modeling interactive groupware applications. in 12th International Workshop on Groupware (CRIWG 2006). 2006c. Valladolid. Spain: Springer-Verlag (LNCS). [22] Guizzardi, G., Ontological Foundations for Structural Conceptual Models, in Centre for Telematics and Information Technology. 2005, University of Twente: The Netherlands.