Autoria Colaborativa: Tendências

Adriana Delfino dos Santos

RA 958105

IA368F - FEEC/UNICAMP

Julho/1998

Introdução

Contexto

Autoria Colaborativa Suportada por Computador

Requisitos de Sistemas de Autoria Colaborativa

Sistemas de Autoria Colaborativa

Tendências

Conclusões

Referências Bibliográficas


Introdução

O desenvolvimento de sistemas de computador que dão suporte à atividade de autoria colaborativa é um dos focos de pesquisa da disciplina Computer Supported Cooperative Work - CSCW. A autoria colaborativa envolve tanto os aspectos de escrita como as dinâmicas de grupo e o objetivo deste trabalho foi identificar quais são as tendências tecnológicas no desenvolvimento destes sistemas de forma a atender aos requisitos da melhor forma possível.

A metodologia utilizada neste trabalho envolveu: levantamento dos principais requisitos para sistemas de autoria colaborativa, sob a ótica de funcionalidades; seleção de dois sistemas recentes que se propõem suportar autoria colaborativa; observação das tecnologias utilizadas e quais/como os requisitos estão sendo atendidos; e identificação de tendências tecnológicas nestes sistemas. O requisitos foram identificados de trabalhos existentes nesta área [Sapsomboon, 1997] [Bentley, 1997][CSCW,1995] e as tendências foram comparadas com algumas relatadas por Sampsomboon [Sampsomboon, 1997].

A seções a seguir apresentam o contexto geral de autoria colaborativa, os principais conceitos, os sistemas selecionados, a motivação da escolha e uma visão geral de suas funcionalidades e arquiteturas, as tendências tecnológicas do tema e as conclusões.

Contexto

Suporte a trabalho colaborativo em ciência de computação é algo bem recente. Nos anos 70, houve uma crescente preocupação em aumentar a produtividade das organizações, onde a maior parte do trabalho é feita em grupo. Iniciaram-se então estudos sobre o comportamento dos grupos ao desempenharem uma atividade. Técnicos aliaram-se a profissionais de áreas de humanas, como por exemplo, sociólogos, psicólogos, antropólogos e educadores, buscando o desenvolvimento de tecnologias mais adequadas para suportar o trabalho cooperativo [CSCW, 1995]. A sigla CSCW foi publicamente lançada em 1984 como título do seminário organizado por Paul Cashman e Irene Greif que reuniu pesquisadores das várias disciplinas compreendidas pelo tema [Grudin, 1994].

Fluckiger [Fluckiger, 1995] define CSCW como o campo relativo ao projeto de sistemas baseados em computador para o suporte e melhoria do trabalho em grupo de usuários envolvidos em tarefas ou objetivos comuns, e para o entendimento da utilização de tais sistemas.

Uma das áreas de trabalho colaborativo bastante pesquisada é a autoria de documentos. Segundo Sapsomboon [Sapsomboon, 1997], os aspectos que motivaram as pesquisas nesta área são: existência de documento dentro de uma teia (web) de documentos relatados em termos de conexões formais (e.g.: padrões relatados) e informais (e.g.: notas de mails); os documentos produzidos são geralmente de 200-300 páginas de tamanho; os documentos de padrões são escritos em um longo período de tempo - claramente mais que um ano e possivelmente ao longo de muitos anos; existência de grupos de tamanho médio (10-20) intimamente envolvidos no processo de autoria, e de grupos de tamanho de médio para grande (20-500) envolvidos no processo de comentar e revisar. Como exemplos destes documentos temos padrões nacionais e internacionais, jornais, artigos e documentos de planejamento, entre outros.

A tarefa de escrita é uma tarefa complexa e cíclica, que além da formulação de texto para expressar idéias consiste também da reunião de dados, de gerência de constrangimentos, de formulação de intenções, de planejamento e revisão de metas, e de gerência de atividades simultâneas. O processo de autoria colaborativa inclui a tarefa de escrita e as dinâmicas de grupo. Existem diferentes modelos de estratégias de escrita [Sapsomboon, 1997][Mitchell, 1995], mas todos estão baseados nas seguintes ações: estabelecimento de uma agenda ou meta de esforços de colaboração; identificação de tarefas de escrita e divisão dessas tarefas entre os membros do grupo; registro da geração de idéia individual; definição de regras para gerência de documentos; identificação de funções para membros do grupo; comunicação de idéias; e gerência de conflitos.

Autoria Colaborativa Suportada por Computador

Um sistema que efetivamente suporte autoria colaborativa deve considerar em seu projeto tanto o processo de escrita como o aspecto de colaboração. Segundo Sharples [Sharples, 1992], "A tecnologia deveria suportar a autoria e não controlá-la", ou seja, a tecnologia suporta o processo de escrita se ela adaptar a percepção da tarefa do escritor e auxiliar qualquer que seja a estratégia que escritor escolher adotar.

A engenharia deste tipo de sistemas também precisa reavaliar os processos do usuário para que os mesmos possam ser modificados ou melhorados, ao invés de simplesmente automatizá-los. O resultado desta reengenharia pode requerer novos procedimentos e/ou novas atitudes e habilidades por parte do usuário e o planejamento desta nova tecnologia precisa contemplar todo o processo de reeducação dos usuários nos processos que foram adicionados ou modificados para que seja utilizada com sucesso.

As tecnologias para suporte à colaboração, podem ser classificadas em três categorias [Sapsomboon, 1997]:

Todas estas categorias para serem consideradas completas precisam ter alguma habilidade para customizar a aplicação para um dado conjunto de necessidades do usuário.

Nestas categorias, também pode-se identificar três modelos essenciais [CSCW, 1995]: o modelo de dados, que descreve conceitualmente as informações necessárias para representar a tarefa a ser executada; o modelo de comunicação ou interação, que descreve como, quando e quais informações serão trocadas ou tornadas disponíveis aos membros do grupo; e o modelo de interface, que descreve como as informações serão apresentadas a cada indivíduo. Em alguns casos, a funcionalidade do modelo é limitada pela tecnologia, bem como o seu custo.

Requisitos de Sistemas de Autoria Colaborativa

Os principais requisitos de sistemas de autoria colaborativa relativos ao processo de criação são:

Os requisitos de serviços para sistemas de autoria são e-mail, gerenciador de banco de dados, gerenciador de versões, agenda, conferência, sistema de informação gerencial e serviços de rede.

Sistemas de autoria colaborativa

As ferramentas selecionadas para uma avaliação, considerando-se os requisitos apresentados na seção anterior, são CASCADE (Computer Augmented Support for Collaborative Authoring and Document Editing) e BSCW (Basic Support for Cooperative Work). Ambas suportam colaboração assíncrona e utilizam o sistema gerenciados de base de dados como espaçõ de trabalho compartilhado.

CASCADE

O projeto CASCADE [Cascade, 1998] é coordenado por Michael B. Spring, no Departamento de Ciências e Telecomunicações da Universidade de Pittsburg, EUA. O projeto está atualmente concedido, em partes, para o Laboratório de Tecnologia de Informação do Instituto Nacional de Padrões e Tecnologias dos Estados Unidos. A versão mais recente deste sistema foi liberada em 01 de março de 1998.

CASCADE explora maneiras de melhorar a qualidade de colaboração centrada em documento [Sapsomboon], ou seja aquela em que documentos são o objetivo da colaboração e o principal espaço de informação compartilhado. Estes documentos são altamente estruturados e compartilhados sobre uma rede. A versão atual da ferramenta permite que grupos trabalhem juntos escrevendo, revisando, comentando e discutindo documentos.

O sistema oferece três tipos de suporte à autoria colaborativa:

No CASCADE, o processo de escrita possui um gerente de projeto que cria, remove ou edita um projeto de autoria. Um projeto de autoria é composto por grupos de usuário, especificação semântica de comentário e documentos. Grupos de usuários são definidos pelo gerente e podem ser, entre outros, Revisores, Autores, Co-autores e Gerente de Projeto. Os grupos são compostos de usuários ou membros de grupo. A especificação semântica de comentário define a estrutura de como os comentaristas devem efetuar seus comentários. Um documento possui um nome, tipo (pois ele pode ser importado de outros editores), proteção (leitura, escrita), acesso (quais grupos têm acesso), conteúdo e outros itens. Usuários ou membros de grupo têm acesso a documentos de acordo com o grupo ao qual pertence.

A Figura 1 mostra a tela principal do CASCADE com as suas repectivas áreas. Na área de File/Folder o nome do arquivo é apresentados com seus respectivos atributos: nome, identificador da versão, situação atual, usuário, etc.. Na área Document viewer, faz-se um chaveamento entre conteúdo do documento e comentários. Nesta figura, o chaveamento está em comentário, onde pode-se observar na cor vermelha, o nome do comentarista e logo abaixo o seu comentário. Ao usuário são oferecidos vários recursos de customização de ambiente de trabalho. Como exemplo, o usuário pode configurar a tela principal de maneira que ele possa ver o comentário e a porção do texto no documento que está associado a ele, como também as cores com que isto é apresentado.

Figura 1 - Tela principal do CASCADE

A arquitetura desenhada para o CASCADE é apresentada na Figura 2. Está baseada em clientes CASCADE, rede, servidor CASCADE que contém os documentos controlados pelo servidor, documentos baseados em rede e agentes.

Figura 2 - Arquitetura do sistema CASCADE

Os clientes CASCADE podem ser computadores pessoais (PC) compatíveis com IBM-PC, Mac e X/Server. A aparência da interface com o usuário é a nativa do ambiente.

O servidor CASCADE é uma plataforma Unix, e possui um sistema gerenciador de banco de dados (SGBD)onde estão armazenados os documentos controlados por ele. O protocolo de comunicação cliente/servidor é o Remote Procedure Call (RPC).

Os documentos podem estar no servidor CASCADE ou espalhados pela rede de uma maneira que o SGBD possa localizá-lo.

Os clientes conectam-se ao servidor que mediará o acesso aos componentes do documento - localizados em vários locais diferentes. O servidor fornecerá um acesso transparente à rede e aos componentes do documento e iniciará uma busca inteligente dos documentos remotos e devolve para o cliente os componentes do documento como se fossem um único documento.

Os agentes podem estar presentes tanto no cliente como no servidor.

Esta arquiteruta cliente/servidor objetiva a facilidade de incorporação de funções, ferramentas e agentes, e a redução na carga cognitiva não essencial para o processo de autoria.

CASCADE atende ao requisito de manipulação de documentos, através de recurso de criação, remoção e alteração, e de manipulação de comentários com recursos de criação, remoção, alteração e ligação do comentário com a porção de texto que está associado.

O requisito de manutenção de cadastro de usuários com respectivos privilégios, é atendido por mecanismos de criação de grupos e de usuários que pertençam a grupos, com a definição de seus privilégios.

O mecanismo de tracking e reporting é um requisito atendido através recursos para obter-se gráficos por atividades de usuários, em termos de tipo de atividade, tempo que utilizou para executar a atividade, etc..

O CASCADE oferece recursos para gerência de versões de documentos, a operação que realizada com um documento e o responsável por ela são registradas. Quando uma nova versão de documento é liberada, o sistema avisa automaticamente todos os interessados.

O requisito de controle de acesso é atendido quando se estabelece grupos, usuários e respectivos privilégios.

Para atender ao requisito de navegação, o CASCADE oferece ferramentas de navegação visual onde conjunto de documentos, componentes de documentos e áreas dentro de documento podem ser acessadas rapidamente. Para requisitos de visualização, oferece ferramentas de visualização para melhorar a análise de atividades

Os desenvolvedores deste sistema já estão prevendo uma evolução na arquitetura para utilização de Common Object Request Broker Architecture - CORBA [Raposo, 1998] no software cliente/servidor e a arquitetura de agentes incorporar entidades de software independentes construídas para serem submissas ao CORBA.

BSCW

O projeto Basic Support for Cooperative Work - BSCW [Bentley et al. 1997] é coordenado por Richard Bentley do CSCW Group do Instituto para Tecnologia de Informação Aplicada (GMD FIT) do Centro Nacional Germânico de Pesquisa para Ciência de Computador, Alemanha.

O objetivo inicial do BSCW era atender às necessidades de profissionais que precisavam manter home-pages e estas continham muitas páginas e diferentes autores.

BSCW é um sistema de espaço de trabalho compartilhado que concentra-se na integração de serviços de colaboração com ambientes existentes, suportando grupos de trabalho fisicamente dispersos com diferentes infra-estruturas de computação, rede e software. O sistema é a base para estes serviços e adiciona características para atualização de documentos, gerência de versão e administração de grupos, tudo acessível de plataformas diferentes usando-se browsers Web não-modificados. O sistema é uma extensão de um servidor Web padrão usando a interface de programação Common Gateway Interface - CGI [Santos, 1998] [Bentley, 1997]. A intenção é extender a arquitetura Web básica com mecanismos para suportar cooperação e compartilhamento de informação e oferecer uma plataforma estável em que mais ferramentas poderosas possam ser implementadas.

A versão atual deste sistema é a segunda iteração do BSCW. Seu desenho está amplamente baseado no feedback dado pelos usuários da primeira versão. Esta primeira versão (outubro/1995) foi um protótipo exploratório para investigar possibilidades de extensão da Web como suporte rico à CSCW.

BSCW está baseado na noção de um espaço compartilhado que os membros de um grupo estabelecem para organização e coordenação de seu trabalho. Espaço compartilhado para o BSCW é um repositório para informação compartilhada, acesível para os membros do grupo usando um simples esquema de nome de usuário e senha. Cada servidor BSCW gerencia um número de tais espaços de trabalho para grupos diferentes e usuários podem ser membros de vários espaços de trabalho. Os conteúdos do espaço de trabalho estão representados por objetos de informação arranjados em uma hirarquia de folder (veja Figura 3). A interação com o sistema (requisições de operações sobre o espaço de trabalho) é feita através de links HTML [Bray, 1997] que requisitam operações ao servidor BSCW. Depois de cada operação o servidor retorna uma nova página HTML mostrando o novo espaço de trabalho.

A Figura 3 mostra um exemplo de uma visão de espaço de trabalho. O espaço de trabalho contém um número de diferentes tipos de documentos, um link URL para outra página Web ('BSCW project page'), um objeto artigo representando um item de discussão ('Features of 2.0'), um sub folder contendo a informação do espaço de trabalho e um documento sob controle de versão ('Publications'). A última operação significante executada sobre cada objeto é descrita (em Project plan tem-se 'renamed by bentley, today 13:59 ' ), e uma lista de ícones de eventos selecionáveis fornece informações sobre outras mudanças recentes.

O acesso às funções do espaço de trabalho é feito atrvés de botões no topo da página e de link HTML abaixo de cada objeto.

Figura 3 - Exemplo de uma visão do espaço de trabalho do BSCW

Quanto ao atendimento dos requisitos de sistemas de autoria colaborativa, o BSCW possui mecanismos para manipulação de documentos através de criação, remoção, e alteração; para manutenção de cadastro de usuários com respectivos privilégios; mecanismo de tracking e reporting apresentados no próprio espaço de trabalho com indicação das alterações recentes mais relevantes, de quem as realizou e o horário; gerente de versões de documentos; controlador de acesso; e ferramentas de navegação visual é atendido atraves de hyperlinks.

A Figura 4 mostra a arquitetura do sistema BSCW. O usuário (cliente) faz uma requisição ao servidor BSCW através de um link ou âncora na página HTML que envia uma requisição HTTP ao servidor Web que contém o sistema BSCW.

 

Figura 4 - Arquiteruta do sistema BSCW

O sistema BSCW pode ser decomposto em três camadas de abstração: manipulação da requisição, manipulação da operação e dados persistentes.

Na camada de manipulação da requisição, os detalhes da requisição são formatados como uma representação interna, chamada request object, que é uma abstração sobre o método e o protocolo usados para transmitir a requisição.

O request object é dispachado para o manipulador de operação que implementa a funcionalidade BCSW requerida, como por exemplo adicionar um membro. Manipuladores de operação interagem com o armazém de objeto persistente para processar a requisição, criando, removendo e modificando objetos, conforme requisição, e geram um response object para retornar ao requisitante.

O response object é retornado para a camada de manipulação de requisição que o traduz o formato HTML, reconhecido por um browser Web padrão.

A camada de manipulação da requisição gera e retorna para o servidor Web um cabeçalho de resposta identificando o tipo de dados de resposta (HTML) seguido pelo corpo HTML, que é retornado para o browser do cliente e apresentado ao usuário.

Esta arquiterura de camadas permite uma extensão do sistema de diferentes maneiras. Além de novos manipuladores de requisição para diferentes métodos de acesso, novos manipuladores de operação podem ser adicionados para prover novas funcionalidades. O armazém de dados também pode armazenar novos tipos de objetos sem modificar as suas rotinas de armazenamento.

Tendências

A interação com usuário deve ser realizada através uma interface que seja orientada às tarefas do usuário e às limitações humanas de cognição. Isto inclui ferramentas visuais para navegação, representação de documentos, controle de versões, reporting de atividades e espaços de trabalho compartilhados. Por exemplo, se a colaboração é síncrona, o espaço de trabalho compartilhado pode ser uma janela que contém o documento. Cada parte do documento que está com outro usuário é pintado com uma cor diferente, dada pelo sistema. Se o número de usuários começa a crecer, ficam muitas cores e o ser humano não consegue mais fazer associação usuário-cor.

As tecnologias precisam oferecer recursos para customizar a aplicação para um conjunto de necessidades do usuário, por exemplo, se o usário é iniciante no uso do sistema, ele precisa de todos os itens de menu disponíveis, pois eles expressam uma seqüencia de atividades familiar ao usuário, enquanto que um usuário avançado pode otimizar sua área de trabalho omitindo alguns destes itens, pois ele conhece muito bem a seüência de tarefas e o funcionamento do sistema. Elas também precisam oferecer treinamento ao usuário nos processos de escrita implementados nelas, para que o usuário tenha genho de produtividade usando o sistema.

Os mecanismos de comunicação precisam utilizados pelas tecnologias precisam ser mais eficientes, com recursos hypermídia para suportar reuniões locais e distribuídas, ou colaboração síncrona.

Os recursos para a proteção de idéias e outras contribuições, para que créditos sejam dados a quem é de direito, precisam estar presentes nos sistemas de autoria colaborativa, através de mecanismos que registrem, poe exemplo, resultados de brainstorming, anotações do autor durante a escrita, comentários de co-autor entre outros.

Em autoria colaborativa é muito comum o grupo ser multidisciplinar, por isso as tecnologias preecisam oferecer recursos para garantir consistência na terminologia, abreviações e acrônimos através de processador de palavras.

A atividade de gerência de projeto necessita de ferramentas que a torne dinâmica, por exemplo implementação do método Critical Path Method - CPM, dentro da tecnologia de autoria colaborativa, pois o administrador acompanha o desenvolvimento das atividades e todos os envolvidos podem ter acesso à estas informações.

A flexibilidade das tecnologias para suportar várias estratégias de escrita e organizações de grupos é uma forte tendência, pois desta forma os usuários não são forçados a seguirem uma estratégia imposta pelo sistema, o que desestimula o usuário e faz com que sua produtividade baixe.

As tecnologias existentes e as que estão por vir, requerem novas atitudes e habilidades do usuário com relação a:

Conclusões

O trabalho levantou os principais requisitos de sistemas de autoria colaborativa, selecionou dois sistemas e verificou o atendimento dos requisitos por parte destes sistemas.

Pôde-se observar a existência de várias estratégias (processos) de escrita e que os sistemas de autoria colaborativa deveriam oferecer várias destas estratégias e não impor uma.

As ações básicas de um processo de autoria são brainstorming, espaço de trabalho compartilhado, manipulação de documentos, gerência de versão, comentários e revisões, administração de grupo e plano de trabalho e consciência de grupo. Estas ações podem ser implementadas em sistema de autoria colaborativa e este se enquadrará numa das categorias Tools, Programas Integrados e Ambientes, dependendo de quais requisitos este sistema atenderá e quais recursos tecnológicos oferecerá.

O design de sistemas de autoria colaborativa precisa considerar a reengenharia de processos de escrita para depois automatizá-los. Nesta etapa, o treinamento e a orientação dos envolvidos nos processos novos/modificados não podem ser esquecidos, pois o sucesso do sistema (ganho de produtividade) depende de sua aceitação pelos usuários. Além disso, os desenvolvedores perseguem o objetivo de implementar software fácil de evoluir devido a grande velocidade com que surgem novas tecnologias.

Na área de interface com usuário, as tecnologias disponíveis ainda não atendem aos requisitos desejados e os recursos dos sistemas são limitados por elas.

Com relação a interoperabilidade, os sistemas a têm buscado atavés dos conceitos de objeto, para futura utilização de CORBA.

O uso de agentes inteligentes em sistemas de autoria colaborativa também tem se mostrado bastante promissor.

Referência Bibliográfica

[Bentley, 1997] Bentley, R., Horstmann, T., Trevor, J. The World Wide Web as enabling technology for CSCW: the case of BSCW, http://bscw.gmd.de/Papers/CSCWJ-WWW/CSCW_journal.html, 1997

[Bray, 1997] Bray, T. DeRose, S. Extensible Markup Language (XML): Part 2. Linking, W3C Working Draft, http://www.w3.org/TR/WD-xml-link ,1997

[Cascade, 1998] CASCADE, http://www.sis.pitt.edu/~cascade

[Chin Junior, 1996] Chin Junior, G. Collaboration, http:/ei.cs.vt.edu/~wwwbtb/fall.96/book/chap4/index.html, 1996

[CSCW, 1995] Renata, CSCW, Groupware & Internet, http://www.cos.ufrj.br/~renata/cscw/sumario.html, 1995

[Features, 1997] CASCADE Features, http://www.sis.pitt.edu/~cascaade/CAS_help/gc_menu.htlm

[Fluckiger, 1995] Fluckiger, F. Undertanding networked multimedia, Capitulo 6, p.109-121, Prentice Hall, 1995

[Grudin, 1994] Grudin, J. CSCW: History and Focus, IEEE Computer, 27(5), p.19-26, 1994

[ManipCas, 1997] Introducing to manipulate document in CASCADE, http://www.sis.pitt.edu/~cascade/CAS_help/gc_manip_doc.html, 1997

[Mitchell, 1995] Mitchell, A., Posner, I., Baecker, R. Learning to write together using groupware, http://www.dgp.toronto.edu/people/alex/publications/CHI95.html, 1995

[Raposo, 1998] Raposo, A. B., Delgado, A. L. N. Tecnologias de distribuição: Web e CORBA - Relatório Final, http://www.dca.fee.unicamp.br/~ricarte/Courses/IA368/1s98/CorbaWeb/final.html

[Santos, 1998] Santos, A. D., Schulze, R. S. Programação na Web - relatório final, http://www.dca.fee.unicamp.br/~ricarte/Courses/IA368/1s98/ProgWeb/final.html

[Sapsomboon, 1997] Sapsomboon, B., Andriati, R., Roberts, l., Spring, M.B. Software to aid collaboration: focus on collaborative authoring, http://www.sis.pitt.edu/~spring/cas/cas.html, 1997

[Sharples, 1992] Sharples, M., Pemberton, L. Representing writing: external representation and the writing process, p. 319-336. Kluver Academic Publishers, Oxford, England, 1992

[Tanaka, 1996] Tanaka, H., Ueda, T., Nishida, S. A computer-supported collaborative work environment for power system education and analysis, Power systems computation conference - Proceedings. 12Th, 1996, Zurich, Switzerland. 1996, V.2, p.958-964.