• No se han encontrado resultados

Colaboración síncrona en la coautoría de documentos almacenados sobre servidores de WEB.Synchronous collaboration in the coauthory of documents stored in web serves

N/A
N/A
Protected

Academic year: 2020

Share "Colaboración síncrona en la coautoría de documentos almacenados sobre servidores de WEB.Synchronous collaboration in the coauthory of documents stored in web serves"

Copied!
173
0
0

Texto completo

(1)

-lia._$I:=:-'-.-lux-_4:51?.í'g~ 1.1.

\;|

\

\

í

L

F'

` \ -1

\ 1

~x|ç:*41'_***A4444:;

Centro de Investigación Cientifica y de

Educación Superior de Ensenada

COLABORACION SINCRONA EN LA COAUTORIA

DE DOCUMENTOS ALMACENADOS SOBRE

SERVIDORES DE WE/

Tësis

MAESTRIA EN CIENCIAS

[cmn Anfuno GUERRA G-Ancm

A

ENSENADA B. C., OCTUBRE DEL 2000. _"""**”'{/ 'N

,

\

¡

(2)

Y APROBADA POR EL SIGUIENTE COMITE

Iíi

,I .

/f'

1

M.C. Jose dríguez Jacobo Direct el Comité

Dr. us av lague Caballero

Miembro del Comité _

Dr. Jesús Favela Vara Miembro del Comité

R /:EJ

Dra. ¡ana Tentori Santacruz

Miembro del Comité

fr

M.C. José Luis Briseño Cervantes Dr. Federi raef Ziehl' Jefe del Departamento de Ciencias de Director de Estudios de Posgrado

(3)

División de Física Aplicada

Departamento de Ciencias de la Computación

COLABORACIÓN SÍNCRONA EN LA COAUTORÍA DE

DOCUMENTOS ALMACENADOS SOBRE SERVIDORES DE

WEB

Tesis

que para cubrir parcialmente los requisitos necesarios para Obtener el grado de

MAESTRO EN CIENCIAS presenta:

César Arturo Guerra García

(4)

2000.

COLABORACION SINCRONA EN LA COAUTORIA DE DOCUMENTOS ALMACENADOS SOBRE SERVIDORES DE A, f I

/

(R,

Resumen aprobado por:

M.C. Jose ¡@' odriguez Jacobo 'rector de Tesis

En la última década, en el área de Trabajo Colaborativo Asistida por Computadora ( CSCW ) se han desarrollado nuevos sistemas en el campo de la Escritura Colaborativa. Estos sistemas se enfocan a implantar nuevos mecanismos para facilitar las etapas de edición y revisión en la coautoría de documentos.

Recientemente se han implantado varios sistemas de coautoría de documentos que facilitan la escritura para el usuario; sin embargo algunos de ellos tienen deficiencias importantes, en cuanto a los elementos de commricación entre usuarios, conciencia de colaboración y principalmente en los modos de edición, ya que la mayoria de ellos sólo provee el tipo de edición asíncrona.

Uno de estos sistemas es COARSY, realizado dentro del Departamento de Ciencias Computacionales del CICESE, éste sistema fue tomado como base para realizar un análisis y detectar sus principales limitantes.

En este trabajo de tesis, se diseño e implantó un sistema de escritura colaborativa; cuyoobjetivo principal es proveer facilidades en las etapas de edición y revisión de documentos almacenados en servidores Web, permitiendo la colaboración síncrona entre participantes. Este sistema toma en consideración los aspectos de conciencia de colaboración, comunicación y control de escritura en el acceso a los documentos. Cada uno de estos mecanismos proveen una mayor funcionalidad e interacción entre los usuarios.

(5)

encuentren localizados ni la hora en que se efectúe el acceso.

(6)

SYNCHRONOUS COLLABORATION IN THE COATH9R~Y7F

DOCUMENTS STORED IN WEB SERVE ' .2 I.

P

Abstract approved by: 4 Í

M. Sc. JoseRodríguez Jacobo W- Is Director

During the last decade of the twentieth century, new systems have been developed in the area of collaborative work, specifically in the field of collaborative writing. These systems focus on implementing new techniques to facilitate edition and reviewing of document coauthory.

These systems facilitate the writing process for the user. But some of them have lirnitations conceming the communication element among users, collaboration awareness, and mainly in the edition modes, because they do not provide an asynchronous edition mechanism.

One example of this type of systems is COARSY. It was designed in the Department of Computer Science at CICESE. We took this system as the basis to perform an analysis and detect its main limitations.

In this thesis, We designed and implemented a collaborative writing system. Its main objective is to facilitate the edition and reviewing processes of documents stored on Web servers. These processes allow synchronous collaboration among users. The system considers the awareness collaboration aspect and the communication and writing control when a document is accessed. Each of these mechanisms provides more functionality and interaction among users.

This system uses the XML format to define and structure each datum. It also permits its analysis and validation with an established grammar.

Another advantage of this system is its capacity to store documents. These can be stored in any Web server. So, the documents are widely available and the users have access to them through the Internet, regardless of the place where they are stored or the time the

access is achieved accomplished

(7)

DEDICATORIAS

A Dios,

Por darme la vida y enseñarme a tener fé para realizar cualquier cosa.

A la Virgen,

Por iluminarme y cuidarme en todo momento.

A mis Padres,

Por enseñarme a valorar todas las cosas, por apoyanne y enseñarme a tener conñanza en mí mismo, pero sobretodo, por su amor. Gracias papás.

A mi Hermana,

Por darme la dicha de saber lo que es el cariño a una hennana.Te Quiero Geo.

Al Amor de mi vida, Anabel,

Por su paciencia y apoyo incondicional durante estos años, y en especial por su Amor, Te Amo Flaca.

A mi abuela,

(8)

Agradezco de una manera especial al Dr. Jesús Favela Vara, por apoyarme en todo momento durante el desarrollo de este trabajo de tesis y por todos sus consejos durante mi estancia en CICESE.

A la M.C. Joseñna Rodriguez por su ayuda, especialmente en el último período de este trabajo, así como a los demás miembros de mi comité, Dr. Gustavo Olague y Dra. Diana Tentori.

A los cuates del depa, el Rafa, Toño, Leonel, Felipe, y Domingo.

A los cuates del coolab, Malba, Mireles, Juan, Haydeé, Brenda, Ceci, Yuri, Poli, Francisco por hacerme pasar de mejor manera los dias de trabajo.

A los cuates de la generación Reyes, Manuel, Adrián, Marta, Adán, por su ayuda y compañia.

Al Centro de Investigación Científica y de Educación Superior, CICESE.

(9)

I.l. Antecedentes. ... .. L2. Planteamiento del problema. ... ..

I.3. Objetivo de la tesis. ... _. l.4. Organización de la tesis. ... ..

Capítulo II. Trabajo Cooperativo Asistido por Computadora (CSCW). ... 7

II. 1. Antecedentes y definición ... .. II.2. Groupware. ... .. II.2.1. Definición. ... .. II. 2.2. Clasificación de sistemas Groupware. ... ._ 9 II. 2.3. Sistemas Groupware Síncronos... .. 10

II. 2.4. Sistemas Groupware Asíncronos... ._ 11 II.3. Tópicos centrales en CSCW. ... ._ 12 II.4. Edición y Revisión Colaborativa. ... ._ 14 II.5. Requerimientos de un sistema de Escritura Colaborativa. ... ._ 17 II.6. Proceso de Elaboración de documentos... .. 18

Il.7. Conciencia de Colaboración en CSCW. ... .. 21

II.8. Control de Concurrencia. ... .. 23

O\U\LI\L›J C00O\l Capítulo III. Mecanismos de Colaboración Síncrona implementados en COSCOD. . 31

III. l. Introducción ... ._ 31 IlI.2. Conciencia de Colaboración ... _. 31 111.2. 1. Elementos de espacio de trabajo y comfersación. ... _. 32 III.3. Mecanismo de Comunicación. ... .. 37

III.4. Control de Acceso. ... .. 38

[II.4.1. Control de Escritura al documento... .. 40

III.5. Análisis Comparativo del sistema COSCOD con otros sistemas realizados. ... _. 43 Capítulo IV. Representación y Manejo de los Documentos... 46

IV.l. Introducción. ... .. 46

IV.2. Archivos XML. ... .. 46

IV.3. Acceso y Almacenado de los Documentos. ... .. 46

(10)

XML, Lenguaje de Marcado Extensible... .. 65

A.l Enfoque de XML. ... .. 65

A.2 Ventajas de XML... .. 66

A.3 Aplicaciones para XML ... .. 68

A.4 Beneficios de XML. ... .. 70

A.5 DTD°s y Composición de Documentos ... .. 71

A.6 Especificación de XML. ... .. 75

A.7 Parser py Procesadores. ... _. 77 A.8 Formato DTD utilizado en el sistema COSCOD ... .. 81

Apéndice B... 94

Análisis de Requerimientos del sistema COSCOD. ... .. 94

B. l. Requerimientos del Sistema... .. 94

B. 2. Especificación deRequeritnientos... ._ 99 B. 2.1. Casos de Uso. ... .. 99

B.2..2 Modelo de Objetos... .. 101

B.2..3 Diccionario de Datos... .. 101

B.2..4 Relaciones entre Clases... .. 102

B. 2..5. Diagrama de Objetos... _. 103 B. 2. 6. Modelo Dinámico. ... _. 103 B. 2. 7. Diagramas de Secuencia. ... .. 104

B.2.8. Diagramas de Estados... _. 116 Apéndice C... 118

Diseño del Sistema COSCOD. ... .. 118

C.l. Diseño. ... .. ll8 C.1.1. Arquitectura... _. 118 C.2. Almacenado de la información. ... _. 119 C.3. Almacenado de los Archivos. ... .. 120

C.4. Estructura de Datos. ... _. 120 C. 4.1. Docunzentos. ... .. 120

C. 4. 2. Discusiones... ._ 122 C.5. Diseño de Objetos. ... ._ l24 C.5.1. Clases. ... .. 124

C.5.2. Métodos yAtributos de las Clases. ... .. 127

Apéndice D... .. 136

(11)
(12)

O0¶O\U1-I>›UJl\)›-\ 9 10 ll 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Comunicación directa e indirecta. ... .. 2

Taxonomía de los sistemas groupware ... ._ 9 Proceso de creación de un documento. ... _. 19 Comunicación entre participantes ... .. 38

Comunicación entre clientes y servidor de aplicación... .. 47

Conexión mediante http. ... ._ 49 Modelo para uso ftp. ... .. 51

Conexión del sistema coscod con el servidor web. ... .. 55

Dtd imnerso en un documento xml ... .. 73

Niveles de abstracción para el parseo. ... .. 79

Formato dtd... .. 83

Representación de element discussion dentro de la interfaz. ... .. 86

Datos de los participantes. ... .. 87

Alta de un nuevo documento. ... _. 89 Caracteristicas del nuevo documento. ... _. 90 Representación del documento. ... ._ 91 Casos de uso del sistema... .. 99

Diagrama de objetos. ... ._ 103 Diagrama de secuencia para alta de un proyecto. ... ._ 105 Diagrama de secuencia para inicio de sesión... ._ 106 Diagrama de secuencia para almacenado de documento ... .. 108

Diagrama de secuencia para el control de acceso a sesiones... .. 110

Diagrama de secuencia para agregar contribución. ... _. 1 11 Diagrama de secuencia para realizar consultas ... .. 112

Diagrama de secuencia para agregar una nueva contribución a una contribución existente. ... _. 113 Diagrama de secuencia para identificación de conciencia de colaboración. ... _. 115 Diagrama de estados al iniciar un proyecto. .... ..; ... .. 116

Diagrama de estados al abrir una sesión. ... .. 117

Arquitectura del sistema ... _. 119 Estructura de árbol dentro de un documento. ... ._ 121 Representación de un conjunto de contribuciones... .. 123

Modelo de objetos de clases y métodos. ... .. 127

Ventana de inicio del sistema coscod. ... ._ 137 Ventana para crear un nuevo proyecto. ... ._ 139 Ventana para selección de características del proyecto. ... _. 140 Ventana para seleccionar alta de autores y revisores ... ._ 141 Ventana para proporcionar nombre y password del nuevo participante... .. 142

Ventana para dar inicio a una sesión. ... .. 143

(13)
(14)

I II III IV V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX XXI XXII XXIII XXIV XXV XXVI XXVII XXVIII XXIX XXX XXXI

Elementos de espacio de trabajo y de conversación. ... ._ 32 Sistemas síncronos de edición colaborativa... _. 34

Sistemas asíncronos de edición colaborativa... .. 35

Elementos proporcionados por coscod. ... .. 36

Características principales de los sistemas. ... .. 44

Clases principales del sistema... .. 101

Definición de métodos y atributos para la clase docserver... .. 128

Definición de métodos y atributos para la clase dochandler. ... _. 128 Definición de métodos y atributos para la clase coscodwrapper. ... ._ 128 Definición de métodos y atributos para la clase mydochandler. ... _. 129 Definición de métodos y atributos para la clase chathandler... _. 129 Definición de métodos y atributos para la clase ftp ... _. 129 Definición de métodos y atributos para la clase coscod. ... .. 130

Definición de métodos y atributos para la clase project. ... ._ 130 Definición de métodos y atributos para la clase charactproj ect... .. 130

Definición de métodos y atributos para la clase chatclient... .. 131

Definición de métodos y atributos para la clase squarecanvas. ... ._ 131 Definición de métodos y atributos para la clase document. ... .. 131

Definición de métodos y atributos para la clase element... .. 132

Definición de métodos y atributos para la clase elementattr. ... ._ 132 Definición de métodos y atributos para la clase participantslist... _. 132 Definición de métodos y atributos para la clase participant. ... .. 133

Definición de métodos y atributos para la clase htmlparser. ... .. 133

Definición de métodos y atributos para la clase discusion. ... .. 133

Definición de métodos y atributos para la clase contribution... .. 133

Definición de métodos y atributos para la clase frase. ... .. 134

Definición de métodos y atributos para la clase fraseattr. ... .. 134

Definición de métodos y atributos para la clase line. ... .. 134

Definición de métodos y atributos para la clase lineattr. ... .. 134

(15)

El término colaboración se refiere a un grupo de personas que elaboran un producto o un servicio [ Bannon y Schmidt, 1991 ]. Un punto crucial para la colaboración eficaz es la relación del trabajo individual con el de grupo, dado que las personas toman decisiones autónomas cuando trabajan de manera aislada. En la mayoría de los casos, estas decisiones se toman bajo condiciones cambiantes e impredecibles que el grupo no puede preveer o planear. Por tal motivo, los integrantes de un grupo deben coordinarse entre sí para colaborar en forma efectiva [ Malone y Crowston, 1994 ]. Tal es el caso de una teleconferencia, donde los participantes se encuentran localizados en diversos lugares, pero todos se encuentran colaborando sobre el mismo ambiente de trabajo, ya sea en la toma de decisiones o simplemente como aportador de ideas o soluciones. _

La colaboración entre las personas que se comprometen en una tarea común requiere de la coordinación de las actividades relacionadas con la tarea y de los recursos utilizados durante su ejecución. La coordinación a nivel humano [ Schlichter, 1997 ] con frecuencia se apoya en sistemas de software distribuidos, cuyos componentes negocian entre si a nivel aplicación para facilitar la coordinación deseada. Esto significa que debe existir de preferencia una jerarquía entre cada uno de los usuarios, que regirá ciertos componentes, recursos o actividades a realizar dentro de un sistema colaborativo.

(16)

La comunicación ha sido uno de los factores primordiales dentro de los sistemas colaborativos, ya que pennite una relación estrecha entre los participantes. Con la unión de estos elementos es posible lograr un intercambio de información de una manera rápida y confiable. Esta comunicación puede llevarse a cabo de forma síncrona, mediante distintos tipos de herramientas; por ejemplo, el intercambio de mensajes síncronos ( chats ), o de forma asíncrona, por ejemplo, correo electrónico .

A nivel de datos, el intercambio de información entre los integrantes de un grupo puede llevarse a cabo utilizando dos habilidades humanas fundamentales [ Beaudouin, 1994 ]: la comunicación directa entre ellos, y la comunicación indirecta mediante la manipulación de objetos compartidos. En ambos tipos de comunicación, las dependencias de coordinación no se encuentran totalmente definidas. En consecuencia, la coordinación sólo puede asistirse a través de un aspecto: “ el intercambio de información ”, que permite conocer el progreso realizado por cada una de las personas y la situación actual del trabajo que está siendo realizado por un grupo de personas. En la figura l se muestran de manera gráfica los dos tipos de interacciones de comunicación.

Objeto Compartido

I' "\

' Comunicación Indirecta \

'II \" i

I' `\

I, `\

I \`

Participante 1 Participante 2

Comunicación Directa

(17)

El siguiente aspecto de la comunicación, se refiere al nivel de relación que existe entre los participantes inmiscuidos dentro de un ambiente colaborativo, que se centra principalmente en la coordinación de las actividades que cada mio realiza. En este contexto, la comunicación se lleva a cabo mediante transiciones dentro de los estados del trabajo colaborativo. Las dependencias de coordinación están bien definidas y especificadas en forma explícita y clara. Una vez lograda esta comunicación, se puede llevar a cabo cualquier actividad por parte de las personas dentro de un ambiente de grupo.

Este aspecto se puede ver perfectamente dentro de un ambiente de escritura colaborativa, en el que los participantes tienen perfectamente definido su rol y las actividades que pueden llevar a cabo, que elimina un posible conflicto en cualquiera de los tres factores de interacción: colaboración, comunicación o coordinación.

1.1. Antecedentes.

Uno de los principales aspectos en los que se centra el trabajo colaborativo, se refiere al proceso de elaboración y revisión de documentos realizados por varias personas, que trabajan de manera conjunta y localizadas geográficamente en distintos lugares.

A este proceso de elaboración de documentos se le conoce como “Escritura Colaborativa“. Tammaro [ 1997 ] define a la escritura colaborativa como: “ el proceso en que dos o más personas trabajan juntas para crear un documento

De acuerdo a un estudio realizado, aproximadamente el 85% de todos los documentos de negocios y académicos son creados por dos o más personas [ Baecker, 1994 ]. En la mayoría de los casos, sólo algunos de los participantes se encargan de la edición del documento, mientras que el resto, se encarga de realizar las revisiones.

(18)

estando fisicamente dispersos en diferentes lugares del mundo. Siendo el objetivo principal, permitir a los integrantes crear documentos comunes sobre servidores Web, de una manera segura y consistente.

La mayoría de las aplicaciones enfocadas en la escritura colaborativa, que permiten la coautoría de documentos, sólo se enfocan en la primera fase de la creación del documento, la escritura; mientras que otros sistemas están diseñados para la etapa de revisión. Sin embargo, estos sistemas no proveen un soporte de estructuración para las discusiones y contribuciones generadas durante todo el desarrollo del documento, siendo esto uno de los principales requerimientos a considerar por los desarrolladores de sistemas de este tipo.

Dentro del grupo de desarrollo de sistemas del departamento de Ciencias de la Computación en CICESE, se implementó el sistema llamado COARSY ( Sistema Colaborativo para la Edición y Revisión de Documentos ), el cual fue desarrollado para auxiliar a un grupo de personas que se encuentran distribuidas geográficamente, durante el proceso de revisión de un documento [ Ruíz, 1998 ].

Este sistema contempla principalmente las siguientes funcionalidades:

0 Provee de un editor de documentos HTML, que permite crear un documento a partir de un índice que determina las secciones del mismo, además de permitir la modificación de la estructura del documento, al insertar párrafos o borrar secciones completas del mismo.

(19)

1.2. Planteamiento del Problema.

Aún *cuando el sistema COARSY contempla ambas etapas, edición y revisión de documentos, este sistema tiene importantes deficiencias que limitan su funcionalidad, como son:

- Toda la información asociada a los documentos como contribuciones, datos de participantes y características de cada proyecto, se encuentra almacenada de forma distribuida en una Base de Datos externa al sistema.

- El sistema COARSY, está diseñado sólo para accesar documentos que se encuentran almacenados dentro del servidor de aplicaciones.

- No existe un control de concurrencia en el acceso a los documentos por parte de los participantes, lo que permite en un momento dado una duplicación de infomración.

- Este sistema no permite la interacción síncrona entre los usuarios, es decir, los participantes no pueden comunicarse con otros participantes que se encuentran trabajando en ese momento sobre el mismo documento.

- COARSY no contempla el aspecto de conciencia de colaboración de manera síncrona, es decir, un participante no tiene conocimiento de que existen otros participantes que se encuentran trabajando en ese momento dentro del sistema.

1.3. Objetivo dela tesis.

Realizar una nueva versión del sistema COARSY, mediante el cual se eliminen las deficiencias mencionadas anteriormente y se incorporen nuevos elementos de funcionalidad. Planteando como objetivo de este trabajo de tesis:

(20)

1.4. Organización de la tesis.

El resto del contenido de la tesis se encuentra distribuido en cuatro capitulos y tres apéndices, a continuación se explican brevemente cada uno de ellos:

El capítulo II se enfoca en presentar la definición y los antecedentes principales del área de “ CSCW “, así como una descripción de la clasificación de los sistemas Groupware. De igual manera se presentan los requerimientos principales de la edición y revisión de documentos y su proceso de elaboración.

Enseguida se presenta el concepto de conciencia de colaboración, su taxonomía y algunos de los aspectos necesarios para asistir de manera apropiada a la interacción entre las personas. A1 final, se analiza el problema de control de acceso en escritura colaborativa y se presentan alternativas para su solución.

En el capítulo III se describen los mecanismos de colaboración síncrona implementados en el sistema COSCOD, así como un análisis comparativo de las características funcionales proporcionadas por el sistema.

En el capítulo IV se muestra una descripción y análisis de los mecanismos de acceso y almacenado de los documentos, a través de dos protocolos de transferencia de archivos.

El capítulo V presenta las conclusiones de este trabajo de tesis, las aportaciones realizadas y algunas sugerencias de mejoramiento para este tipo de sistemas.

(21)

Capítulo II. Trabajo Cooperativo Asistido por Computadora

(CSCW).

II. I. Antecedentes y Definición.

Irene Greif [ 1988, citado en Bamron, 1991 ] una de las originarias del término “Trabajo Cooperativo Asistido por Computadora“ ( CSCW, por sus siglas en inglés) junto con Paul Caslnnan, comentó que ellos introdujeron esta frase refiriéndose a la ayuda en la realización de distintas actividades y tareas, en el trabajo de múltiples individuos con sistemas de cómputo.

Existen otras tecnologías y disciplinas que pueden ser involucradas, tales como, ciencias de la computación, inteligencia artificial, sociología, psicología, teoría organizacional; las cuales podrían contribuir desde una perspectiva y metodología diferente en el conocimiento sobre grupos de personas, y sugerir cómo el trabajo en equipo debería ser apoyado [Greenberg, 1991].

Actualmente, el término CSCW se puede ver como un área de investigación coherente que emerge de una descripción abierta. _

El punto principal es que CSCW intenta integrar la investigación del trabajo cooperativo y teoria organizacional no sólo desde el punto de vista de la tecnología, sino también desde la perspectiva de otras disciplinas [ Khoshafian, 1995 ].

(22)

II. 2. Groupware.

II.2.1. De_flnicí0'n.

Algunos de los productos comerciales enfocados en asistir el trabajo en grupo, son comúmnente referenciados como ejemplos de groupware. Este término es frecuentemente usado casi como sinónimo de CSCW [ Johansen, 1988, citado en Ellis, l99l ]. Sin embargo, otros definen a groupware como software enfocado a grupos pequeños y estrechamente relacionados, pero no para asistir a grandes organizaciones [ Grudin, 1988, citado en Ellis, 1991 ].

Otra de las definiciones actuales es la que propuso Ellis et al. [ 1991 ], ellos sugieren que groupware sea visto como la clase de aplicaciones, para pequeños grupos y para organizaciones, que están ernergiendo de la unión de computadoras con grandes bases de información y tecnología de comunicaciones.

El objetivo principal de groupware es asistir a grupos en la comunicación, colaboración y coordinación de sus actividades. De manera específica, Ellis y Gibbs definen a groupware como: “ sistemas de computadora que apoyan a grupos de personas involucradas en una tarea común y que provee una interfaz en un ambiente compartido

(23)

II.2.2. Clasificación de sistemas Groupware.

Los sistemas groupware se dividen en cuatro categorías [ Johansen, 1988 ]. Esta taxonomía está basada en dos dimensiones, espacio y tiempo, y puede ser representada en una matriz de 2x2 como se muestra en la figura 2.

Los sistemas groupware pueden asistir a usuarios trabajando al mismo tiempo conocidos como síncronos, por ejemplo, al establecer una comunicación en tiempo real entre dos personas como una conversación telefónica, 0 en diferentes tiempos llamados sistemas asíncronos, cuando las personas no se comunican en tiempo real.

El aspecto de espacio se refiere a la localización donde cada persona se encuentra, si las personas que van a interactuar están en el mismo lugar, se encuentran co-localizadas, en cambio, si estas personas se encuentran en distintos lugares, se les llama distribuidas.

En

T mpo

Igual Diferente

Interacción | ua| Interacción co-localizada

g frente a frente asíncrona

.Q

0

su

(0

|-|-| Interacción Interacción

Diferente distribuida distribuida

síncrona asíncrona

(24)

II.2.3. Sistemas Groupware Síncronos.

Este tipo de aplicaciones se caracteriza por asistir a grupos de personas, que se encuentran trabajando juntos al mismo tiempo para llevar a cabo una tarea específica.

A continuación se mencionan algunos de los tipos de sistemas síncronos más utilizados: Sistemas de soporte para la toma de decisiones de grupo y salas de reuniones electrónicas. Los sistemas de soporte a la decisión de grupo ( GDSSS, por sus siglas en inglés ), proveen facilidades para la exploración de problemas no estructurados en un grupo [Kraemer, 1988]. La meta es mejorar la productividad en la toma de decisiones en los encuentros, ya sea agilizando 0 aumentando la velocidad de respuesta en la toma de decisión 0 mejorando la calidad del resultado de la decisión.

Sistemas de conferencia por computadora.

Este tipo de sistemas se enfocan principalmente a facilitar la comunicación de grupos de personas localizadas en distintos lugares, las cuales pueden intercambiar información en una gran variedad de sentidos. Dentro de este tipo de sistemas es posible realizar una distinción en tres enfoques principales: conferencias por computadora en tiempo real, teleconferencias y conferencias de escritorio.

Los sistemas de conferencia en tiempo real permiten a grupos de usuarios, que se encuentran distribuidos fisicamente, interactuar de forma síncrona a través de sus estaciones de trabajo o terminales.

Las teleconferencias asisten principalmente la interacción de grupos. Los ejemplos más comunes son: las llamadas de conferencia y videoconferencia. Sin embargo, este tipo de sistemas tienden a ser complicados, ya que requieren salas especiales y algunas veces operadores entrenados para el manejo del equipo.

(25)

conferencia, pero también corre aplicaciones compartidas por los participantes. Los sistemas de conferencia de escritorio modernos soportan múltiples ventanas de video por estación de trabajo, éstas permiten desplegar vistas dinámicas de información e imágenes de video dinámicas de los participantes [ Watabe, l990 ].

Interacción casual en tiempo real.

El apoyo de la computadora para conferencias remotas y cara a cara provee de un sentido formal y semi-formal a las reuniones. Sin embargo, existen reuniones no planeadas como resultado de los encuentros casuales entre los colaboradores. Kraut y otros autores [ 1988 ] argumentan que muchas de las interacciones de las personas con sus compañeros de trabajo surgen de encuentros no planeados donde el intercambio de información es realizado en un momento inesperado. También afirman que una causa que afecta las interacciones espontáneas es la distancia, el nivel de actividad para establecer reuniones no planeadas decrece en la medida en que los compañeros de trabajo se encuentran más alejados [ Kraut, 1988 ].

II. 2.4. Sistemas Groupware Asíncronos.

Estos sistemas se caracterizan principalmente por apoyar las actividades de un grupo de personas, que interactúan en diferentes tiempos y se encuentran localizadas en distintos lugares.

Algunas de las aplicaciones que entran dentro de este ámbito se mencionan a continuación:

Correo electrónico, mensajes estructurados yflujo de trabajo.

(26)

ejecutan el proceso de trabajo a través de software, de igual manera representan el proceso del flujo de la información.

Editores multiusuario.

Se refiere a que varios miembros de un grupo pueden usar editores multiusuario para en conjunto redactar 0 editar un documento. Algunos de esos editores, tal como ForComment [ Opper, 1988 ], se usan de manera asíncrona, y convenientemente separan el texto provisto por el autor de los comentarios realizados por varios autores. El documento que está siendo editado es usualmente dividido en segmentos, por ejemplo párrafos o secciones. Típicamente, un editor multiusuario permite el acceso a lectura concurrente de algunos segmentos, pero sólo un autor podrá escribir en alguno de ellos. El editor de forma transparente asegura y maneja la sincronización, al acceso de cada segmento por parte de los usuarios. Algunos ejemplos de sistemas son: Sistema de edición colaborativa ( CES, por sus siglas en inglés ) [ Greif, 1986 ] y Quilt [ Leland, 1988 ].

Otros sistemas de edición multiusuario proveen una notificación explícita de las acciones realizadas por otros usuarios, con los cuales se encuentran interactuando. Por ejemplo, Mercury [ Kaiser, 1987 ], un editor proyectado para equipos de programación, el cual infonna a los usuarios cuando su código necesita ser cambiado porque otros usuarios realizaron cambios al programa. El sistema DistEdit [ Knister, 1990 ] provee una herramienta para la construcción y soporte de múltiples editores de grupo.

II.3. Tópicos centrales en CSCW.

(27)

0 Soporte al trabajo cooperativo.

0 Compartición de un espacio de información.

0 Adaptación de la tecnología a la organización, y viceversa.

Soporte al trabajo cooperativo.

Algunos esfirerzos cooperativos involucran un número de tareas secundarias de mediación y control de asociaciones de individuos. Primero, las tareas están siendo asignadas a diferentes miembros, los cuales se están enfocando en trabajar en el qué, dónde y cuándo. Segundo, por asignación de tareas a un trabajador, que está acoplando las tareas acorde a ciertos criterios. Finalmente, en la terminología sugerida por Strauss [ 1985 ], el trabajo cooperativo requiere “ Articulación de trabajo ”; las numerosas tareas y segmentos de trayectorias de tareas necesitan estar engranados. En las palabras de Gerson y Star [ 1986, citado en Bannon 1991 ], articulación consiste de todas las tareas necesarias “a coordinar una tarea particular, incluyendo planeación de subtareas, recuperación de errores y

configuración de recursos”. «

Compartición de un espacio de Información.

El apoyo al espacio de información, es decir, el soporte al manejo y almacenado de la información es uno de los principalesiproblemas para el campo de CSCW. Esto es fundamental en el trabajo cooperativo, ya que los problemas se van agravando cada vez más por el incremento y la intensidad de las relaciones del trabajo cooperativo facilitado por los sistemas de computadora. Surgiendo la necesidad de realizar sistemas de computadora que apoyen la recuperación de infomración realizada por otras personas, para de esta manera mantener la infomración actualizada y disponible para todos los usuarios.

Adaptación de la tecnología a la organización.

(28)

organizacional. Por tal motivo, el diseño de sistemas basados en computadora para trabajo cooperativo es considerado actualmente como una plataforma. Estos tipos de sistemas de infonnación deben estar diseñados a igualar la estructura social de los procesos de trabajo.

Los diseñadores de aplicaciones CSCW, han sido capaces de distinguir analíticamente una multitud de formas de interacción social que juegan algún papel en la formación de organizaciones de trabajo en cualquier parte del mundo, por ej emplo:

I Las fonnas de interacción en las actividades del proceso de trabajo están determinadas por los recursos tecnológicos disponibles.

0 Las formas de control social en el lugar de trabajo. 0 Las formas de asignación de poder y autoridad.

0 El impacto de la función de la campaña en los sistemas socio-econórnicos grandes. 0 El impacto de la estructura y el estado del mercado de trabajo.

Como mencionó Howard [ 1988 ], el campo de CSCW es un pequeño abastecimiento de estudios detallados sobre los efectos de los sistemas actuales de CSCW sobre el carácter de los procesos de trabajo. De esta manera, es necesario desarrollar estudios más detallados, para mejorar los diseños de sistemas existentes y observar sus efectos.

II.4. Edición y Revisión Colaborativa.

La edición colaborativa involucra actividades de escritura y comunicación entre co-autores, que interactúan de manera muy estrecha para la realización de un documento específico. Un ambiente de edición colaborativa está compuesto por tres aspectos o facilidades separadas [ Miles, 1993, citado en Pacull, 1994 ], que deben de ser tomadas en cuenta para cualquier sistema de este tipo que se desee realizar:

(29)

0 Una comunicación directa que facilite el intercambio de información entre los co-autores.

0 Una comunicación basada en objetos que facilite a los usuarios distribuir datos sobre temas específicos, tales como modificaciones realizadas en alguna parte del documento.

Estas facilidades proveen los medios de interacción entre los co-autores, que agiliza el intercambio de información. Cada facilidad puede ser diseñada para proveer tanto interacciones síncronas como asíncronas [ Posner, 1992, citado en Pacull, 1994 ].

Es bien conocido que la escritura de documentos es frecuentemente creada por un grupo de autores, en especial en la edición de documentos grandes. Sumando una complejidad, estos autores se encuentran comúnmente distribuidos en distintos lugares. Actualmente muchos de los sistemas no permiten la adecuada creación distribuida de documentos multiusuario.

Existen algunos requerimientos que un sistema de este tipo debe satisfacer cuando pretende ayudar al trabajo cooperativo. Por otra parte, el soporte de ayuda para la cooperación dentro de sistemas de escritura colaborativa, no debería afectar a un autor en su habilidad para escribir un documento, de manera individual. De esta manera laitransición de escritura individual a escritura cooperativa debe ser asistida de una manera transparente y natural.

Finalmente, el otro punto que los sistemas de escritura colaborativa deben de tomar en cuenta, se refiere a la asistencia de autores distribuidos geográficamente.

(30)

De acuerdo a un estudio realizado por Kraut [ 1992 ], en el 74% de proyectos de escritura colaborativa un solo autor escribe la primeraversión del documento, mientras los otros participantes revisan el documento. Es por eso que es posible decir que la mayoría de la colaboración se lleva a cabo en la fase de revisión, por lo que es en esta fase cuando el apoyo de las herramientas de escritura colaborativa pueden ser más importantes para la construcción de un documento.

En general, es posible decir que el proceso de elaboración de un documento requiere de la participación de dos o más individuos. De esta manera, la elaboración de un documento es una actividad colaborativa, en la que todas las personas participan o colaboran en alguna de las fases del proceso de desarrollo de un documento.

Lay y Karis [ 1991 ], definen a la edición colaborativa como: “ un proceso en el que los autores, con destrezas y responsabilidades diferentes, interactúan durante la invención y revisión de un documento común ”.

La edición colaborativa es una tarea no estructurada, puesto que no se puede contar con un plan de trabajo que muestre la interacción necesaria para la coordinación en ciertos momentos del proceso. Es decir, no existe un flujo de trabajo 0 de información específico con ciertos patrones, por medio de los cuales sea posible realizar un seguimiento de cada una de las actividades. Es aquí donde se origina uno de los principales problemas, por lo que actualmente investigadores trabajan en el diseño de una solución. Considerando que hasta ahora sólo se ha logrado categorizar de alguna manera un conjunto de requerimientos que pudiesen ayudar a disipar el problema. En el punto lI.5 se describen algunos de los principales requerimientos para sistemas de escritura colaborativa.

(31)

Síncrona.

Es la colaboración donde los cambios efectuados por un autor en el documento se propagan a los demás a medida que ocurren.

Asíncrona.

Es la colaboración donde los cambios efectuados por un autor en el documento se propagan a los demás en un tiempo diferido.

II. 5. Requerimientos de un sistema de Escritura Colaborativa.

Los sistemas Groupware enfocados en el proceso de elaboración de un documento, deben cumplir con ciertas características o requerimientos básicos. De acuerdo a los estudios realizados por varios autores [ Tammaro, 1997; Neuwirth, 1990 y Posner, 1993 ], se han propuesto varios requerimientos.

1.- Soporte a las actividades del proceso.

El sistema debe proveer herramientas que permitan a los participantes realizar las actividades de escritura básicas, tales como, exposición de ideas, investigación, escritura, edición y revisión del documento [ Posner, 1993 ]. Estas herramientas debenconsiderar el trabajo de grupo y el trabajo individual [ Tammaro, 1997 ].

2.- Definición de Roles.

(32)

3.- Conciencia de Colaboración.

Este es uno de los puntos más discutidos y de mayor interés para los autores. La conciencia de colaboración provee un sentido de que el trabajo está siendo llevado a cabo por un grupo, esto es, tener un conocimiento de quienes son los participantes, el rol en que cada uno de los participantes está trabajando, y que actividades están llevando a cabo.

4.- Comunicación entre Participantes. i

Este aspecto está enfocado en el medio de comunicación por el cual se compartirá la información. Este tipo de comunicación puede ser expresada por medio de anotaciones a los documentos, interacciones síncronas o mensajes asíncronos. Esta comunicación es la clave en la diferencia entre escritura colaborativa y escritura individual [ Posner, 1993 ]. La comunicación acerca de los problemas que surgen durante el proyecto permite a los participantes redefinir sus metas e incrementar la posibilidad de obtención de un producto que sea agradable a todos [Neuwirth, 1990].

5.- Beneficios para todos.

El sistema debe de ser capaz de proveer las herramientas suficientes para permitir a cada uno de los participantes realizar sus actividades de una manera eficaz y rápida, tanto autores como revisores. Todos los participantes en el proceso deben recibir beneficios del sistema, si es posible en la misma proporción. Los sistemas Groupware fallan cuando existen diferencias entre quienes hacen el trabajo y quienes obtienen los beneficios [Grudin, 1988].

II. 6. Proceso de Elaboración de documentos.

(33)

documento estará basado, por lo que será necesario resolver algunos de estos objetivos como estructura, contenido y desarrollo del documento.

Finalmente, los participantes deben adoptar los procesos que les permitirán terminar el trabajo, de igual manera decidir el flujo o movimiento en que el documento estará circulando entre los participantes. _

Kraut [ 1992 ] encontró evidencia de que las fases del proceso de creación de un documento no son llevadas a cabo de manera secuencial, de manera contraria, las actividades son traslapadas alo largo del proceso y en sentido iterativo.

Sommerville [ 1990 ] identificó cuatro pasos en este proceso ( figura 3 ): 1. creación de un primer borrador

2. revisión de éste

3. incorporación de comentarios de la revisión, y 4. re-escritura del borrador.

Crear Borrador Inicial Revisión del Borrador Incorporar comentarios a revisiones

ÍD

FC?

. J-f"`1,.¡4

_-, \

Edición del Borrador

Figura 3. Proceso de creación de un documento.

(34)

La creación de un documento es el paso inicial del proceso de escritura. Una vez creada la primera versión del documento comienza la revisión y edición del mismo de manera iterativa; el objetivo de esto es lograr claridad en la redacción del documento, y asegurar que el autor ha cumplido con todos los requerimientos propuestos irricialmente.

El siguiente paso es la revisión del documento, cuyo propósito es la búsqueda de errores sintácticos y semánticos, de lógica o presentación. Esta negociación puede ser almacenada a través de discusiones, debates 0 anotaciones, las cuales para una mayor facilidad de acceso y almacenado se recomienda que se encuentren dentro del mismo documento, ya que de esta manera el tiempo de acceso sería menor y se eliminaría cualquier dependencia con otros sistemas o dispositivos de almacenamiento. Siendo éste uno de los principales factores considerados dentro del sistema COSCOD ( ver capítulo IV ).

Una vez iniciado un documento, se prosigue con el proceso de revisión, lo cual se puede llevar a cabo por medio de dos estrategias que pueden ser consideradas. La primera, circulando muchas copias del mismo documento a los distintos revisores, lo cual disminuye el tiempo de revisión, ya que varias personas revisan el documento al mismo tiempo. Sin embargo, este proceso, puede crear conflictos entre dos revisores que difieren en un punto en particular. '

La segunda estrategia, consiste en enviar una sola copia del documento a un solo revisor, lo cual incrementa el tiempo de revisión, pero disminuye los problemas que pudieran surgir entre dos revisores, ya que siempre se tiene una versión actualizada del documento. Esta última estrategia es la más utilizada, ya que es mucho más confiable, aunque tenga un costo con respecto al tiempo de respuesta por parte de los revisores, alargando mucho más el proceso de revisión y término del documento.

(35)

revisado y aceptado por todos los revisores, y de igual forma se han cumplido todos los requerimientos iniciales del documento.

El proceso de incorporación de comentarios se dificulta cuando las contribuciones son separadas del documento, por ejemplo, almacenadas en algún otro dispositivo de almacenamiento como una Base de Datos; debido a esto se pudiera impedir el acceso, búsqueda y asociación de los comentarios con el documento cuando éste sea requerido. Por lo anterior, se recomienda guardar toda la información en un mismo documento, y eliminar alguna dependencia con cualquier otro dispositivo externo.

En este sentido, Sumner [ 1998 ] propuso que el desarrollo de sistemas para el soporte de revisión de documentos debe integrar los documentos junto con las discusiones generadas durante las revisiones.

II. 7. Conciencia de Colaboración en CSCW.

Las investigaciones recientes en CSCW han dejado ver la importancia de la conciencia de grupo o de colaboración en los sistemas colaborativos, como un aspecto importante para que los integrantes de un grupo coordinen su trabajo basándose en el conocimiento de las actividades que realizaron 0 realizan. Durante los últimos años han surgido algunas definiciones de conciencia de grupo en sistemas colaborativos, las cuales tratan de explicar de una manera específica este tipo de conocimiento. A continuación se mencionan algunas de las principales definiciones tratadas por varios autores:

Dourish y Belloti [ 1992 ], definen conciencia de grupo como “ un conocimiento de las actividades de otros que provee un contexto para las actividades propias

Por su parte, Gutvvin [ 1995 ], la define como ” parte de la sinergia que permite a los grupos ser más eficaces que los individuos ".

(36)

observaciones son consideradas como el inicio de los factores a tomar en consideración por los sistemas groupware colaborativos, estos factores se describen a continuación:

Conciencia Informal. ›

Es el conocimiento acerca de quién está alrededor ( pero tal vez fuera del sitio ), con quien se puede llegar a colaborar en un momento dado. Este factor es considerado dentro del sistema COSCOD como uno de los requerimientos principales ( ver sección III.2. ), permitiendo conocer que participantes se encuentran trabajando en ese momento y si se desea iniciar una comunicación entre ellos.

Conciencia de grupo estructural.

Es el conocimiento acerca de los roles y las responsabilidades de los demás, sus ubicaciones en un objeto compartido, sus condiciones y los procesos de grupo [Ellis, 1991]. Este punto es primordial dentro del ámbito de escritura colaborativa, ya que a cada uno de los participantes se le debe asignar un rol específico dentro del proceso de edición y revisión.

Conciencia social.

Es el conocimiento acerca de los demás en un contexto social 0 de conversación. Por ejemplo, saber si están poniendo atención, conocer sus habilidades, sus estados emocionales o sus niveles de interés.

Conciencia de espacio de trabajo. 1

(37)

El principal objetivo de la conciencia es detectar que existen otras personas interactuando dentro del sistema, para de esta manera llegar a tener una colaboración efectiva, la cual es representada a través de distintas actividades que cada persona realiza dentro de su trabajo, esto constituye un aspecto crucial para el éxito de la interacción entre los integrantes de un grupo.

Actualmente, un gran porcentaje de sistemas de software únicamente asisten a la interacción entre r1n usuario y la computadora. Incluso, los sistemas diseñados para ambientes multi-usuario, permiten la conexión de múltiples usuarios conectados, pero en general no proveen de un mecanismo de comunicación entre ellos. Este tipo de interacción y/o comunicación es necesaria, ya que una parte significativa de las actividades de una persona ocurre en un ambiente de grupo en vez de individual.

Debido a que la mayoría de los sistemas que se han realizado no asisten a la colaboración entre participantes, los sistemas actuales están interesados en incrustar nuevos métodos o herramientas de colaboración y comunicación, para de esta manera incrementar las relaciones entre las personas.

Sin embargo, todavía existen algunas limitaciones dentro de la gran mayoría de los sistemas groupware en los aspectos de colaboración y comunicación principalmente. Considerando algunas de estas limitaciones, algunos autores ( Bamion, 1991; Malone, 1994 y Schlichter, 1997 ) han detectado tres de los factores principales para asistir a la interacción entre los integrantes de un grupo: colaboración, comunicación y coordinación.

II.8. Control de Concurrencia.

(38)

manipular ciertos dispositivos, artefactos o documentos a través de un espacio de trabajo compartido.

En particular, los problemas de control de concurrencia surgen cuando el soflware, los datos y las interfaces se encuentran distribuidas sobre varias computadoras. Lo que puede llegar a ocasionar un conflicto en el -manejo de los datos o archivos, que se encuentran dentro del mismo espacio de trabajo. La pérdida y duplicidad de información, son dos de los problemas más importantes que surgen como resultado de realizar operaciones o actividades impropias al mismo tiempo por parte de los usuarios.

El control de concurrencia es uno de los aspectos que ha venido tomando una mayor relevancia dentro de los sistemas colaborativos, tomándose como uno de los requerimientos básicos para el desarrollo de sistemas de este tipo. 1

Como ejemplo de control de concurrencia, podemos mencionar que dentro del ambiente de un sistema de escritura colaborativa en el que varias personas pueden llegar a editar un documento al mismo tiempo, una persona puede borrar cierto fragmento, mientras que otro participante está editando el mismo documento y realizando anotaciones al párrafo que está siendo borrado. Por tal motivo es necesario mantener un control de concurrencia en el acceso a la información, para asegurar la consistencia de los documentos.

A continuación se presentan algunos de los aspectos principales relacionados con la concurrencia enfocados en los sistemas groupware [ Ellis, 1991 ]:

Sensibilidad.

(39)

depende directamente del resultado de la toma de decisión por parte del resto de los participantes, este retraso en la decisión entorpece en gran medida un avance en las actividades, para eliminar esto, puede considerarse que la toma de decisiones se lleve a cabo mediante un método altemo, que no perjudique la actividad de ninguno de los participantes. Es recomendable que las interacciones de grupo y las decisiones hechas sean llevadas de una manera asíncrona.

Interfaz de grupo.

Este tipo de interfases están basadas principalmente en ventanas de grupo, estas ventanas requieren un desplegado muy similar o idéntico para cada uno de los usuarios. De esta manera, si el esquema de control de concurrencia implementado es tal, que las acciones realizadas por un usuario son imnediatamente vistas por los otros usuarios, su efecto sobre la dinámica del grupo debe ser considerado y el esquema se permite sólo si no es destructivo. En este caso los participantes ven la infonnación que en ese momento está siendo modificada por otra persona.

Distribución de área amplia.

Un beneficio primario de los sistemas groupware, es que permiten a las personas trabajar juntas, al mismo tiempo, igual que cuando se encuentran separadas por grandes distancias físicas. Con la tecnología de comunicación actual, los tiempos de transmisión en redes de área amplia tienden a ser bastante cortos, este tiempo debe ser considerado en los tiempos de respuesta de cada uno de los participantes. Esta es una de las muchas ventajas que ofrece la tecnología de comunicaciones a través de las redes, lo que ha sido considerado como recurso primordial en la implementación de algunos mecanismos de control de concurrencia dentro de sistemas groupware.

Replicación de datos.

(40)

Muchas de las operaciones potencialmente altas de prosesado pueden ser desempeñadas localmente, y permitir el flujo de la información mucho más rápida entre los usuarios.

Robustez.

Este aspecto se refiere a la recuperación de circunstancias inusuales, tales como fallas en los componentes o acciones de usuarios impredecibles. Para lo cual es necesario implementar operaciones de recuperación de información o mecanismos para el reinicio de una comunicación.

Una vez analizados los anteriores aspectos, es necesario mencionar algunos de los principales métodos para el control de concurrencia [ Ellis, 1991 ].

0 Asegurado simple.

Este mecanismo garantiza que el acceso de las personas a objetos que se encuentran dentro de espacios de trabajos compartidos, sea de una persona a la vez. El tamaño de un elemento o espacio compartido asegurado determina cuan pequeño o grande es el mecanismo que será manejado por un sistema. En otras palabras, dependiendo de la granularidad de los elementos, se define el mecanismo de asegurado.

Desde la perspectiva de un sistema, un grado de granularidad mayor implica más peticiones de asegurado, pero menor oportunidad de concurrencia, ya que el acceso a los distintos elementos será negado más frecuentemente. Lo contrario significa un menor grado de granularidad y por consecuencia una mayor oportunidad de concurrencia en los elementos. La mejor opción es hacer un balance entre la sobrecarga de asegurado y la cantidad de concurrencia deseada [ Greenberg, 1994 ].

(41)

una colaboración transparente dentro de sistemas que permiten la interacción de varias personas dentro de un mismo ambiente de trabajo, donde sólo se espera la entrada de datos por parte de una persona a la vez. Sin embargo, muchos diseñadores de groupware que contemplan el aspecto de conciencia de colaboración, reconocen que el acceso simultáneo a un espacio compartido es crítico en una interacción natural [ Greenberg, 1992, citado en Greenberg, 1994].

Una de las soluciones más simples para el control de concurrencia, consiste simplemente en asegurar los datos antes de que sean escritos. Esto puede ser prevenido por algunas técnicas usuales, tales como asegurado en dos fases 0 por otros métodos más adaptados a los ambientes interactivos. Por ejemplo, un sistema puede indicar de una manera visual que algunos de los recursos están asegurados y no es posible acceder a ellos, hasta que sean de nuevo liberados.

Existen otros mecanismos flexibles de asegurado que han sido investigados y reportados por varias autores. Tickle Locks [ Greif, 1986 ], pennite el asegurado de un elemento por una petición de una persona al ser liberado después de un período de tiempo inactivo. Sofi Locks [ Ege, 1987 ], permite el asegurado de elementos al romperse explícitamente por medio de comandos especiales.

(42)

El sistema DISTEDIT [ Knister, 1993 ], provee de asegurado de regiones sobre el texto, el cual se puede realizar de una manera explícita por parte del usuario 0 automáticamente por el sistema ( donde trata de asegurar la región mas pequeña posible que está siendo modificada dentro del texto ).

En el editor de texto SASSE, el asegurado de las regiones es especificado por un usuario mediante una sencilla operación de selección del texto [ Baecker, 1993 ].

0 Mecanismos de transacción.

Los mecanismos de transacción permiten un control de concurrencia exitoso para los sistemas groupware que no son en tiempo real, sin embargo, estos mecanismos de control presentan varios problemas para los sistemas síncronos. Los algoritmos de control de concurrencia distribuidos, basados en el procesamiento de transacciones, son dificiles de implementar, incurriendo en un costo en el tiempo de respuesta para el usuario.

Otros métodos pueden causar una desconexión de las acciones de los usuarios. Generalmente, las transacciones largas no son adecuadas para uso interactivo, porque los cambios realizados durante una transacción no son visibles a todos los usuarios al mismo tiempo, hasta que la transacción es realizada.

Algunos ejemplos de estos mecanismos son:

0 Protocolos de toma de tumos.

(43)

0 Control centralizado de las operaciones.

Otra solución al control de concurrencia es introducir un proceso de control centralizado. Asumiendo que los datos son replicados sobre todas las estaciones de trabajo de los usuarios. El controlador recibe las peticiones de los usuarios para realizar operaciones y las transmite a todos los demás usuarios. De esta manera todas las operaciones son mostradas a todos los usuarios de la misma manera y al mismo tiempo. Sin embargo, esta solución introduce el problema asociado a componentes centralizados, por ejemplo, cuello de botella, en donde varias personas pueden tratar de realizar la misma actividad a la vez.

0 Detección de dependencia.

El modelo de detección de dependencia [ Stefik, 1987 ], es otro de los enfoques de control de concurrencia en sistemas multiusuario. La detección de dependencia usa etiquetas de tiempo para detectar conflictos en las operaciones, resolviéndose de forma manual. La gran ventaja de este método, es que no es necesaria la sincronización, las operaciones son desempeñadas inmediatamente después de ser recibidas. Estos mecanismos que envuelven al usuario son generalmente valiosos en aplicaciones groupware, sin embargo, cualquier método que requiera intervención del usuario para asegurar la integridad de los datos, es vulnerable a errores del usuario.

0 Ejecución reversible.

La ejecución reversible [ Sarin, 1985 ], es otro método de control de concurrencia en sistemas groupware. Las operaciones se ejecutan inmediatamente, pero la información se retiene hasta que las operaciones terminen completamente. Muchos mecanismos de control de concurrencia caen dentro de esta categoría. Tales mecanismos definen un tiempo global de ordenamiento para las operaciones. Cuando dos o más operaciones interfieren al ser ejecutadas de forma concurrente, una de esas operaciones es desecha y reejecutada posterionnente en el orden correcto.

(44)

0 Transformación de operación.

Otro de los enfoques de control de concurrencia en sistemas groupware es la transformación de operación. Esta técnica se usa en GROVE [ Ellis, 1991 ], y puede ser vista como una solución a la detección de dependencia, ya que se lleva a cabo de una forma automática en vez de manual. '

(45)

Capítulo

III.

Mecanismos

de

Colaboración

Síncrona

implementados en COSCOD.

III.1. Introducción.

COSCOD ( “Colaboración Síncrona en la Coautoría de Documentos” ), es una versión actualizada del sistema COARSY, que apoya la escritura colaborativa de documentos localizados en servidores de Web. COSCOD también permite la colaboración y comunicación síncrona entre los participantes que se encuentran trabajando en alguna de las fases de la escritura, ya sea en la edición o revisión del documento.

En este capítulo se muestra de una manera detallada, un análisis de las ventajas y desventajas de los mecanismos de colaboración, comunicación y control de acceso, implementados en COSCOD.

El análisis y el diseño de este sistema, se muestra a detalle en los apéndices B y C. En ellos se realiza un desglose tanto de los requerimientos principales del sistema, como de la arquitectura y características de cada una de las clases utilizadas en la implementación

III.2. Conciencia de Colaboración.

(46)

En la tabla l se muestran los elementos del marco conceptual, y algunas de las preguntas principales que los participantes se plantearían para identificar de una manera clara cada uno de los elementos.

T bl I.Ela a ementos de espacio de trabajo y de conversacion.' ` "

Elementos Espacio de Trabajo Conversación

Localización ¿ Dónde están trabajando ? ¿ Dónde está la gente, con quién se está comunicando ?

Presencia ¿ Quién está presente ?

Nivel de actividad ¿ Qué tan activo es su trabajo 'I ¿ Qué tan activa es su comunicación ? Acción/ Cambios ¿ Qué acción están ejecutando o a cual se están refiriendo ? Objetos ¿ Qué objetos están analizando o a cuales se están refiriendo ? Gente ¿ Con quién trabajan o con quién se comunican ?

Intenciones ¿ Qué harán a continuación '? Con quién se comunicarán a continuación ? Expectativas ¿ Qué necesitan de mi para hacer

lo siguiente ?

¿ Quiénes querrán comunicarse conmigo a continuación ? Alcances ¿ Qué pueden ver ? ¿ Qué canales pueden utilizar? Habilidades ¿ Qué pueden hacer ? ¿ Con quién pueden comunicarse '? Influencia ¿ Dónde pueden hacer cambios ? ¿ Dónde pueden ser localizados ?

III.2.1. Elementos de espacio de trabajo y conversación.

A continuación se describen brevemente cada uno de estos elementos:

Localización.

Indica el lugar donde se encuentran trabajando los participantes dentro de un documento, así como las direcciones de correo de cada uno de ellos por medio de las cuales se puedan llegar a comunicar.

Presencia.

(47)

Nivel de Actividad.

Es una medida que muestra la cantidad de actividad realizada dentro del desarrollo del documento, así como el grado de conversación con los demás participantes.

Acción / Cambios.

Se refiere a los cambios realizados dentro del documento y las acciones realizadas por los participantes.

Óbjetos.

Son elementos o partes específicas de un documento, en donde los participantes están o estuvieron trabajando.

Gente. .

Indica la identidad de los participantes que se encuentran trabajando en un documento determinado.

Intenciones.

Son las acciones de edición 0 comunicación que pueden llegar a realizar los participantes al estar trabajando en un documento.

Expectativas.

Detemrina las acciones ue debe realizar el autor,(l ara continuar a la eta a si uiente del roceso, así como la identidad de los artici antes ue uieren comunicarse.f-l

Alcances.

Indica las partes de un documento que los participantes pueden observar, así como los medios internos ( anotaciones, chat ) que proporciona el sistema para incrementar su

(48)

Habilidades.

Habilidades especiales de los autores, para llevar a cabo una actividad.

Influencia.

Atributos o permisos para ciertos participantes, solo los participantes con el rol de autor pueden realizar cambios dentro del documento. También señala direcciones alternativas de correo electrónico donde los participantes pueden ser localizados.

En la última década se han realizado varios sistemas de edición colaborativa, siendo algunos de los más importantes: SASE, SASSE, Calliope, Quilt, PREP y Alliance. Algunos de ellos trabajan de manera asíncrona y otros de forma síncrona. El análisis realizado [Chapa y Romero, 1999] de los sistemas anteriores, tuvo como objetivo detenninar el grado en que estos sistemas proveen los elementos de conciencia identificados.

En las tablas II y III, se muestran los resultados obtenidos de este análisis.

r r i

Tabla II. Sistemas srncronos de edicion colaborativa.

Elemento , SASE 1991 SASSE 1992 Calliope 1996

Espacio de Conversación Espacio de Conversación Espacio de Conversación

Trabajo Trabajo _ Trabajo

Localización «I X \l X «I X Presencia \/ «I «Í «I «Í «I

Nivel de X X X X X X

Actividad ~

Acción / xl N/ *l *Í N/ N/ Cambios

Objetos < ¿_ ¢ 7 -¿_ ¿_

< >< «_ §< 4 <

Gente

Intenciones < >< Q -»` < <

Expectativas >< ><1 < 4 4 < Alcances S 4 >< < 4 41 ¢

Habilidades ><1 ¦>< >< >< ><

< >< < >< <><

Influencia X

(49)

Tabla III. Sistemas asíncronos de edición colaborativa.

Elementos Quilt 1988 PREP 1990 . Alliance 1998

Espacio de Conversación Espacio de Conversación Espacio de Conversación

. Trabajo Trabajo Trabajo

Localización «J X «I X «I X

Presencia

x

X X X X X

Nivel

de

«li

x

X

x

x

x

Actividad

Acción / \/ N/ N/ *Í *Í *Í Cambios

Q ¿_ ¿_ ¢ 4 4

Objetos

Gente ¢ «_ ¢ >< 4 ><1

< 4 < ¢ >< ><

Intenciones

< ¿_ < ¢ ¬¢ ><

Expectativas

Alcances < < >< < 4 >< Habilidades

¢>< ><>< ><>< ><>< <><

><

Influencia X

«I = Provee el elemento X = No provee el elemento

r l

(50)

A Tabla IV. Elementos proporcionados por COSCOD.

COSCOD 2000

Elementos Espacio de Conversación Trabajo

Localización X X Presencia \/ «Í Nivel de Actividad «Í \/ Acción/ Cambios «I «J Objetos \] \Í

Gente «I «I

Intenciones X \l Expectativas X «I Alcances xl «Í

Habilidades

«J

\I

Influencia «I X

COSCOD proporciona estos elementos: Presencia, Nivel de Actividad, Acción/Cambios, Objetos, Gente, Alcances y Habilidades, principalmente. Los elementos de Intención y Expectativas, sólo los provee en el aspecto de Conversación, mientras que el elemento Influencia, aparece sólo en el aspecto de Espacio de Trabajo.

(51)

IIL3. Mecanismo de Comunicación.

La comunicación efectiva es vital en un sistema groupware. Desafortunadamente, las tecnologías de comunicaciones actuales no son capaces de apoyar a los sistemas groupware de una manera efectiva en los aspectos de:

Las comunicaciones de datos no están integradas completamente y los medios de comunicación a través de audio y video no se encuentran disponibles de manera universal. Los desarrolladores de Groupware necesitan protocolos que sean capaces de soportar distintos requerimientos para llevar a cabo una buena comunicación a través de redes locales y en Internet principalmente. Por ejemplo, con audio y video, la pérdida ocasional de datos no es desastrosa, pero en una transmisión corta es un factor crucial.,

Un segundo problema es el apoyo inadecuado para transmisión de comunicaciones a diferentes partes al mismo tiempo [ Sarin, 1985 ]. Las conferencias de computadora en tiempo real frecuentemente requieren que los mensajes sean enviados a un conjunto específico de direcciones ( “broadcast” ), tales restricciones de transmisión son llamadas “multicasts”. Los protocolos actuales, ya sea basados en circuitos virtuales o en datagramas, se ajustan mejor para comunicaciones' entre dos partes que para una transmisión a múltiples partes.

Se requiere de una estandarización en los formatos para el intercambio de datos, lo que es esencial ya que los sistemas groupware están siendo utilizados entre fronteras organizacionales. '

(52)

Las clases situadas en el servidor, se encargan de 'realizar la conexión con los distintos clientes, así como el manejo y transmisión de los mensajes a los demás participantes, mientras que la clase localizada del lado del cliente, se encarga de mandar los mensajes y realizar la conexión al servidor.

De esta manera se logra un intercambio de mensajes de tipo “broadcast” es decir, los mensajes que son transmitidos por un participante, son enviados a todos los demás participantes que se encuentran conectados en ese momento. Este mecanismo de intercambio de infonnación se muestra de forma gráfica en la figura 4.

Participante 2

É/w'

Participante 1

Participante 3

envía mensa'e

5.-5, J › ¿S ›

Servidor de

Aplicacion

¿road

Casi

Participante 4

:tí: mi :ni: mi :iii Eli Gí

Figura 4. Comunicación entre Participantes.

III. 4. Control de Acceso.

(53)

Distributed Authoring and Versioning ), ha propuesto un conjunto de aspectos que pueden ser usados en una amplia variedad de escenarios para aplicaciones que ayudan al trabajo colaborativo en la autorización y manejo de versiones de documentos localizados sobre distintos servidores de Web [ Whitehead, 1997 ]. Estos aspectos pueden ser particionados en cuatro grupos: metadatos, manejo de espacio de nombres, protección de sobre-escritura y versiones de documentos.

Estos aspectos son usados para la edición remota de documentos, facilitando la edición distribuida de distintas aplicaciones como procesadores de palabras y hojas de cálculo, dado que las operaciones HTTP son indepedientes de los recursos y medios de comunicación del Web. Además, esta funcionalidad provee una interfaz simple para el acceso no sólo a recursos sobre servidores Web, sino también a archivos en un documento o sistemas de manejo de configuración.

La autorización distribuida y el manejo de versiones de documentos, también facilita la formación de organizaciones virtuales. Una organización virtual sobre Internet se encuentra formada típicamente por un grupo de personas interesadas en trabajar sobre un proyecto en particular, fonnando una lista de correo electrónico y promoviendo un sitio Web. Este lugar sirve como punto de colección para toda la infonnación relacionada. Desafortunadamente, las organizaciones virtuales actualmente tienen muy pocos recursos para desempeñar un buen trabajo colaborativo sobre Internet.

(54)

Dentro del sistema COSCOD se implementó un mecanismo de control de acceso, por lo que nos enfocaremos principalmente en el aspecto de control de escritura propuesto por el grupo WEBDAV.

III. 4.1. Control de Escritura al documento.

Una vez que dos personas inician una colaboración sobre el mismo documento, el tema de control de escritura toma un enfoque primordial. Si cualquiera de las personas puede escribir sobre el mismo documento, se suscita una duplicidad de versiones del mismo, en consecuencia se perderían los cambios realizados por las demás personas, ya que estarían realizando cambios o contribuciones a una versión del documento no actualizada, a este problema se le conoce como “lost update“ [ Whitehead, 1997 ].

Existen .varias técnicas que pueden ser usadas para aligerar el problema de “lost update". Algunas de las más comunes son:

0 Servicio de Telefonía Tradicional ( “ POTS ” ) 0 control “ over the wall “.

Este esquema es una convención social en que los colaboradores acuerdan comunicarse verbalmente cuando un autor ha terminado su trabajo, guardando el archivo para que otro pueda iniciar. El correo electrónico puede ser usado en la implementación de este esquema de control de escritura.

(55)

0 Seguro Estricto ( “Strict locking”).

En este esquema, un autor indica a la computadora un control de acceso a un documento que intenta modificar, y la computadora responde asegurando el documento. Una vez que el documento está asegurado, éste no puede ser modificado por otra persona. Si otros autores tratan de editar el mismo documento serán rechazados, debido a que el documento se encuentra asegurado por otro autor.

Estos esquemas varían de una protección mínima y más flexibles “ POTS ", hasta una protección mayor y menos flexibles “ strict locking ”.

Actualmente, la estrategia de WEBDAV se basa en proveer facilidades para el asegurado estricto “ strict locking Un seguro de escritura exclusivo previene que dos o más usuarios sobre-escriban en trabajos de otros autores.

WEBDAV también provee un asegurado de escritura compartido ( “shared write lock” ), que pennite a un grupo de colaboradores el trabajar juntos sobre un recurso. Este tipo de seguro trabaja mejor en ambientes en que los colaboradores tienen conciencia de las actividades que realizan los otros participantes, mientras que el asegurado estricto provee un alto grado de evitación de conflictos para colaboradores que no se encuentran en contacto directo, o para períodos grandes durante la realización de un documento [VVhitehead, 1998].

La naturaleza distribuida del Web, hace que el asegurado estricto ( “strict lockíng” ) sea la mejor estrategia para el control de escritura sobre el Web. Dado que los colaboradores pueden estar en diferentes zonas apartadas, el asegurado “POTS'' no funciona muy bien, ya que debe existir un conocimiento necesario para detenninar cuando existe un seguro y quien lo realizó.

Referencias

Documento similar

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

Sanz (Universidad Carlos III-IUNE): &#34;El papel de las fuentes de datos en los ranking nacionales de universidades&#34;.. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

Spanish collaboration / Colaboración española... Web view on small

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

En la parte central de la línea, entre los planes de gobierno o dirección política, en el extremo izquierdo, y los planes reguladores del uso del suelo (urbanísticos y