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

Slides:



Advertisements
Apresentações semelhantes
Procedimento de uso do Token em
Advertisements

SISTEMAS DISTRIBUÍDOS BASEADOS EM COORDENAÇÃO
Sistemas Distribuídos
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
A Interface entre Processadores e Periféricos
Barramentos Introdução.
SISTEMAS DE INFORMAÇÃO
Engenharia de Software
DESIGN PATTERNS FOR DECENTRALISED COORDINATION IN SELF- ORGANISING EMERGENT SYSTEMS Tom De Wolf e Tom Holvoet.
Modelos de Transações para Ambiente de Computação Móvel
Sistemas Operacionais
David Menotti Estruturas de Dados I DECOM – UFOP
QoS para Realidade Virtual
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
Editores Colaborativos
Arquitetura de Computadores
Módulo 4: Gerenciando o acesso aos recursos
SISTEMAS DE INFORMAÇÕES GERENCIAIS Prof. Alex Sandro Souza de Oliveira 26 DE AGOSTO DE 2010 ADMINISTRAÇÃO – 7o Período.
Cristina F. F. Assunção Elderclei R. Reami Marcelo Knörich Zuffo
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Introdução a Programação Orientada a Objetos
Informática 2° Bimestre Luiz Antônio.
Maria Tereza Nagel Junho 2004 Grids de Agentes Processadores para Gerência de Redes de Computadores e Telecomunicações Orientador: Prof. Dr. Carlos Becker.
Um Esquema de Replicação para Suportar Conectividade Fraca em Sistemas de Informação Móveis * Gustavo Fortes Tondello PPGCC – UFSC – 2005 * Original: A.
Aula prática 6 Vetores e Matrizes
Linguagem de Programação IV
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Sistemas Distribuídos
LOGIN Para acessar o sistema, digite em seu browser:
visão global do projeto Professora: Geórgia Fortes
Computação Colaborativa (P2P) - Componente de Comunicação para o Projeto XPeer Recife, 14 de março de 2004 Tarciana Dias da Silva – Judith.
Roteiro Agentes Trabalhando Juntos Coordenação em SMA
Concorrência e Java RMI
Gerenciamento de Redes Utilizando Agentes Móveis
Vânia Maria P. Vidal, José Maria Monteiro, Luís Eufrasio T. Neto
Sistemas Operacionais
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Porque um novo ambiente?. Interação inter-grupos  A maioria das ferramentas existentes provê interação dentro do grupo. Na concepção adotada nessa proposta.
Bruna Rafaella da Costa Moura Silvana dos Santos Lima
SGBD Distribuído Lílian Simão Oliveira.
Sistemas operacionais
Processos.
Sistemas Operacionais
Engenharia de Software
METODOLOGIA, MÉTODOS E FERRAMENTAS
Troca de Mensagens Programação concorrente
1 MAC Computação Móvel Agentes de software para Computação Móvel Aluno: Eduardo Leal Guerra
Google Wave (Arquitetura) Ademir Junior / Felipe Ferreira / Fernando Kakimoto.
Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi.
Integração de Ferramentas CASE
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Tópicos Especiais em Redes de Computadores 6º Semestre Aula 04 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL.
Introdução a Programação Orientada a Objetos
A High Performance Java Middleware with a Real Application HUERT, Fabrice; CAROMEL, Denis; Bal, Henri E. Supercomputing 2004 Trabalho desenvolvido por:
1 Middlewares para Aplicações Peer-to-Peer em Redes Móveis – Projeto Bayou Gustavo Luiz Bastos Baptista.
Trabalho de Persistência para o EPOS. Propostas para a Solução Proposta 1: Usar templates, para que quando o usuário deseje que um objeto seja persistente,
Sistemas de Arquivos- Cap4
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Semana /08/2012 Professor Leomir J. Borba-
Elvia Nunes Ribeiro - CEFET-GO –
Gerenciamento de Configuração de Software
Arquitetura de computadores
RNP/PAL/0200 © 2003 – RNP Serviços Nacionais de TI da RNP Conferência Web Rede Nacional de Ensino e Pesquisa.
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
Sistemas Multimídia Distribuídos
Comunicação Multimídia. Sub-sistema de Aplicação Computação colaborativa = CSCW Dimensões de colaboração –tempo trabalho cooperativo assíncrono trabalho.
Mestrado Profissional em Gestão da Qualidade Total MP 255 Sistemas de Informação e Sistemas da Qualidade UNICAMP – FEM Mestrado Profissional em.
Alunas: Ana Paula/ Beatriz / Gracielle / Márci Alunas: Ana Paula/ Beatriz / Gracielle / Márci a Professor Antônio.
Modelagem de Banco de Dados através do ERwin
Transcrição da apresentação:

CoWS: Uma Abordagem de Escrita Colaborativa Multi-Síncrona usando Espaços de Tuplas para Ambientes Móveis Berthonio Lucena Flávio Rocha Vaninha Vieira Recife – PE – Brasil Fevereiro Disciplina: Sistemas Distribuídos

Introdução

 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.

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.

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 !

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.

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

CoWS

 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

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

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

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

Demonstração

Conclusões

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

CoWS ( Equipe de Desenvolvimento: Berthonio Lucena Flávio Rocha Vaninha Vieira