A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CoWS: Uma Abordagem de Escrita Colaborativa Multi-Síncrona usando Espaços de Tuplas para Ambientes Móveis Berthonio Lucena Flávio Rocha.

Apresentações semelhantes


Apresentação em tema: "CoWS: Uma Abordagem de Escrita Colaborativa Multi-Síncrona usando Espaços de Tuplas para Ambientes Móveis Berthonio Lucena Flávio Rocha."— Transcrição da apresentação:

1 CoWS: Uma Abordagem de Escrita Colaborativa Multi-Síncrona usando Espaços de Tuplas para Ambientes Móveis Berthonio Lucena (bml@cin.ufpe.br) Flávio Rocha (fgr@cin.ufpe.br) Vaninha Vieira (vvs@cin.ufpe.br) Recife – PE – Brasil Fevereiro - 2005 Disciplina: Sistemas Distribuídos

2 Introdução

3  Avanços tecnológicos proporcionam ferramentas que modificam o modo como as pessoas trabalham em equipe ou colaborativamente. Intensas pesquisas em CSCW (Computer Supported Cooperative Work)  O processo mais estudado de autoria colaborativa é o de produção de textos.  Escrever em equipe ou colaborativamente nunca é fácil ! Aréa de pesquisa chamada Escrita Colaborativa Mediada por Computador (Computer Supported Collaborative Writing) Muitas teorias e ferramentas de escrita colaborativa foram criadas para auxiliar a escrita colaborativa.

4 Introdução Problema: O desenvolvimento de ferramentas colaborativas voltadas para ambientes distribuídos e/ou móveis é bastante complexo! Sistemas Distribuídos apresentam forte acoplamento Sistemas móveis apresentam mudanças constantes na disponibilidade de recursos (dados e elementos computacionais). Uma Possível Solução: Pode-se usar ferramentas (middlewares) baseadas em Espaços de Tuplas !  Processos distintos usam o espaço como meio de comunicação, coordenação e sincronização.

5 Introdução  Espaço de tuplas compartilhado possibilita desenvolvimento de serviços necessários à escrita colaborativa Coordenação das tarefas, percepção, Suporte à comunicação, Memória do Grupo Programador concentra-se na aplicação em vez dos detalhes de comunicação do ambiente (Diminui a complexidade) Baixo acoplamento (Desacoplamento Espacial e Temporal) e modelo de programação simples (escrita e leitura).  Linda foi o primeiro espaço de tuplas implementado e foi baseado no modelo de espaço de tuplas original. Problema: Linda não foi projetado para suportar ambientes móveis e sim ambientes distribuídos !

6 Introdução Solução:  Adaptar Linda para ambientes móveis!  Surgiu o Lime (Linda in a Mobile Environment)  Lime é um middleware projetado para possibilitar o desenvolvimento rápido de aplicações para ambientes móveis.  Em ambiente móveis, mudanças na conectividade são normais.  O engajamento ou desengajamento pode ser realizado de duas formas: sinalização ou distância segura.  O Lime possibitou o desenvolvimento do CoWS (Collaborative Writing through Shared Spaces), ferramenta de edição de texto colaborativa.

7 Introdução Modelo de Coordenação do Lime  Engloba mobilidade física (hosts) e mobilidade lógica (agentes).  Coordenação através de um espaço de tuplas transiente A mobilidade impede a existência de um espaço de tuplas persistente e global

8 CoWS

9  CoWS é um editor de texto colaborativo multi-síncrono voltado para ambientes móveis.  Possibilita trabalho simultâneo/online (síncrono) ou desconectado/offline (assíncrono).  Características Gerais: O CoWS foi implementado em Java. O documento compartilhado em CoWS é um texto composto por parágrafos (granularidade escolhida).  Cada parágrafo é representado e armazenado como uma tupla em um espaço de tuplas compartilhado temporariamente. CoWS

10 Arquitetura totalmente descentralizada.  O texto global está armazenado em diversos hosts e agentes.  Cada agente detém seu espaço de tuplas local, onde suas tuplas são armazenadas. Todos os parágrafos (tuplas) do espaço de tuplas federado são exibidos.  Perspectiva fracamente consistente com o estado global do texto. Percepção (Reação).  Lime estende o espaço de tuplas de Linda com a noção de reação. Em ambientes móveis reagir a mudanças é fundamental. Reação é a execução de um método quando uma tupla correspondente a um template é encontrada no espaço. CoWS

11 Controle de Concorrência:  Quando um parágrafo é criado ele é inserido no espaço de tuplas local do agente que o criou. Agente passa a ser o dono do parágrafo e detém o controle do mesmo. Quando é feita uma conexão ao espaço de tuplas federado os espaços de tuplas dos demais agentes passam a enxergar esse parágrafo, sem no entanto, poder modificá-lo. Caso um outro usuário deseje modificar ou remover o parágrafo bloqueado, ele deverá primeiro selecionar o parágrafo. CoWS

12 Consistência.  A obtenção de um texto final e global produzido de forma assíncrona por diferentes atores não é fácil (garantia de consistência)? Propagação de alterações realizadas no texto quando a conexão é restabelecida. Manutenção da mesma estrutura do texto nos diversos espaços de trabalho de todos os autores após a reconexão. Solução: Elaboração de um algoritmo de ordenação das tuplas baseado em uma estrutura de dados que denominamos lista não encadeada ! Cada elemento da lista tem a posição do elemento anterior e do próximo. O elementos anterior e próximo não necessariamente são os vizinhos imediatos do elemento na lista. CoWS

13 Demonstração

14 Conclusões

15 Desenvolvimento de Ferramentas de edição de texto colaborativa não é trivial. Middleware baseado no modelo de Espaço de Tuplas pode ser utilizado para reduzir a complexidade de desenvolvimento dessas ferramentas. O modelo de coordenação do Linda é interessante mas não suporta ambientes móveis. Lime adaptou o Linda para ambientes móveis. Desenvolvimento do CoWS como forma de provar que o modelo de coordenação do Lime é ideal para o desenvolvimento de Ferramentas de Edição de Texto Colaborativas que suportem ambientes móveis. Conclusões

16 CoWS (http://www.cin.ufpe.br/~vvs/cows) Equipe de Desenvolvimento: Berthonio Lucena (bml@cin.ufpe.br) Flávio Rocha (fgr@cin.ufpe.br) Vaninha Vieira (vvs@cin.ufpe.br)


Carregar ppt "CoWS: Uma Abordagem de Escrita Colaborativa Multi-Síncrona usando Espaços de Tuplas para Ambientes Móveis Berthonio Lucena Flávio Rocha."

Apresentações semelhantes


Anúncios Google