Sistemas Colaborativos Distribuidos

Sistemas Colaborativos Distribuidos

Objetivo:

Dar a conocer al alumno los fundamentos teóricos y prácticos del campo de investigación multidisciplinario denominado "Trabajo Cooperativo Asistido por Computadora" (CSCW por sus siglas en inglés), haciendo énfasis en el estudio de los sistemas computacionales (Groupware por su denominación en inglés) que soportan grupos de personas comprometidas en un proyecto común y que proveen una interfaz a un entorno compartido. En particular, se analizan las arquitecturas de distribución fundamentales para permitir a personas físicamente distribuidas comunicar, colaborar y coordinar sus actividades como si estuvieran cara a cara. Asimismo, se estudian los principales mecanismos propuestos para administrar la compartición de la información, tanto a nivel de interfaz de grupo como a nivel de núcleo funcional. Este dominio de investigación ha contribuido a la evolución de diversos dominios de aplicación, entre los que se encuentran los sistemas de mensajes, los editores de grupo, los sistemas de soporte para la toma de decisiones en grupo, las salas de reuniones virtuales, las conferencias por computadora, los agentes inteligentes, los sistemas de coordinación (workflows) y la enseñanza/aprendizaje colaborativo.

Contenido:

  1. Introducción al Trabajo Cooperativo Asistido por Computadora (TCAC)
    • Motivación, historia y objetivos
    • Perspectivas del TCAC
      • Sociológica
      • Sistemas distribuidos y bases de datos
      • Redes de comunicaciones
      • Interacción hombre-máquina
      • Inteligencia artificial
    • Diferencias entre aplicaciones mono-usuario, multi-usuario y colaborativas
    • Modelo conceptual de sistemas colaborativos
      • Espacio de comunicación
      • Espacio de producción
      • Espacio de coordinación
  2. Topologías de sistemas colaborativos
    • Interacciones entre colaboradores
      • Cara a cara
      • Síncronas-remotas
      • Asíncronas
      • Asíncronas-remotas
    • Ejemplos representativos de aplicaciones
  3. Requerimientos de los sistemas colaborativos
    • Sincronía
    • Grano de la información compartida y del tiempo
    • Administración de la información compartida
      • Arquitecturas de distribución
      • Mecanismos de actualización
      • Políticas de control de acceso
      • Estrategias de control de concurrencia
      • Persistencia
    • Infrastructuras (frameworks) vs cajas de herramientas (toolkits)
  4. Problemas en el diseño de sistemas colaborativos
    • Interfaces de grupo
      • Vistas WYSIWIS estrictas y relajadas
      • Foco de atención y distracción
      • Adaptabilidad a la dinámica del grupo
      • Administración del espacio de despliegue
      • Ejemplos de elementos de interfaz de grupo (widgets)
    • Procesos de grupo
      • Acceso secuencial vs. paralelo
      • Protocolos tecnológicos y sociales
      • Operaciones síncronas vs. asíncronas
    • Mecanismos de control de concurrencia
      • Candados explícitos
      • Transacciones
      • Copias maestras/esclavas
      • Candados flexibles
      • Toma de turno
      • Detección de dependencias
      • Ejecución reversible
      • Transformación de operaciones
    • Control de acceso
    • Notificación de eventos
  5. Arquitecturas de software para sistemas colaborativos
    • Presentación-Abstracción-Control (PAC*)
    • Abstracción-Liga-Vista (ALV)
    • Modelo-Vista-Controlador (MVC) para sistemas multi-usuario
  6. Arquitecturas de distribución
    • Centralizada
    • Totalmente replicada
    • Híbrida
    • Semi-replicada
    • Asimétrica
    • Arquitecturas adaptables

Bibliografía:

  • G. Calvary, J, Coutaz, and L. Nigay, From Single-User Architectural Design to PAC*: a Generic Software Architecture Model for CSCW, in Proceedings of the Conference on Human-Computer Interaction (CHI'97), ACM Press, pp. 242-249, Atlanta GA (USA), March 1997.
  • A. Dix, Challenges for Cooperative Work on the Web: An Analytical Approach, Computer Supported Cooperative Work: The Journal of Collaborative Computing, Kluwer Academic Publishers, pp. 135-156, Netherlands, 1997.
  • C. A. Ellis, S. J. Gibbs, and G. L. Rein. Groupware: Some Issues and Experiences, in Communications of the ACM, 34(1): 38-58, 1991.
  • C. Ellis and J. Wainer, A Conceptual Model of Groupware, in Proceedings of the ACM Conference on Computer-Supported Cooperative Work (CSCW'94), ACM Press, pp. 79- 88, Chapel Hill, NC (USA), 1994.
  • S. Greenberg and D. Marwood, Real-Time Groupware as a Distributed System: Concurrency Control and its Effect on the Interface, in Proceedings of the ACM Conference on Computer-Supported Cooperative Work (CSCW'94), ACM Press, pp. 207-218, Chapel Hill, NC (USA), 1994.
  • C. Gutwin and S. Greenberg, A Descriptive Framework of Workspace Awareness for Real-Time Groupware, Computer Supported Cooperative Work 11(3-4): 411-446, 2002.
  • R. D. Hill, The abstraction-link-view paradigm: using constraints to connect user interfaces to applications, in Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, ACM Press, pp. 335 - 342, Monterey, CA (USA), 1992.
  • S. Lukosch, M. Hellweg, and M. Rasel, CSCL, Anywhere and Anytime, In Proceedings of the 12th International Workshop on Groupware (CRIWG'2006), Springer, LNCS 4154, pp. 326-340, Medina del Campo (Spain), 2006.
  • J. Munson and P. Dewan, A concurrency control framework for collaborative systems, in Proceedings of the ACMConference on Computer Supported CooperativeWork (CSCW'96), ACM Press, pp. 278-287, Boston, MA (USA), November 1996.
  • W. G. Phillips, Architectures for Synchronous Groupware, Technical Report 1999-425, Department of Computing and Information Science, Queen's University, Kingston, Ontario (Canada), 1999.
  • M. Romero Salcedo and D. Decouchant, Structured Cooperative Authoring for theWorld Wide Web, Computer Supported Cooperative Work, 6(2/3): 157-174, 1997.
  • J. Tam and S. Greenberg, A framework for asynchronous change awareness in collaborative documents and workspaces, International Journal of Man-Machine Studies 64(7): 583-598, 2006.