Ao longo deste capítulo efectuou-se um levantamento de diversas aplicações/serviços que permitem o estabelecimento de interacções entre múltiplos utilizadores e a defini- ção de formas de organização e estruturação destes e da sua informação.
Foram identificados um conjunto de necessidades e requisitos, que as diversas apli- cações e serviços analisadas necessitam, com o objectivo de identificar os possíveis mo- delos de comunicação existentes que permitem caracterizar os padrões de interacção entre entidades e também estruturar a forma como estas se relacionam. Esses modelos, que são analisados no capítulo 3, permitem dar resposta a algumas das necessidades e requisitos descritos, embora não de uma forma completa, pelo que no capítulo 4 é apresentada a proposta de um modelo cujo objectivo é captar e integrar diversas das funcionalidades referidas de forma a que a construção deste tipo de aplicações se torne mais simples.
3
Modelos de comunicação: grupos,
espaço partilhado e eventos
Conteúdo
3.1 Introdução . . . . 33 3.2 Modelos de comunicação em grupo . . . . 34 3.3 Modelos de espaços partilhados . . . . 41 3.4 Modelos de comunicação baseados em eventos . . . . 45 3.5 Conclusão . . . . 50
Neste capítulo discutem-se modelos de comunicação que oferecem funcionalidades para a interacção entre múltiplas entidades computacionais e a sua estruturação. São referidos, em particular, os modelos de comunicação baseados em grupos, espaços par- tilhados e eventos, sendo analisadas as suas funcionalidades que permitem suportar alguns dos serviços referidos nas aplicações descritas no capítulo anterior.
MODELOS DE COMUNICAÇÃO:GRUPOS,ESPAÇO PARTILHADO E EVENTOS
3.1
Introdução
Das diversas aplicações analisadas ao longo do capítulo anterior, observou-se que estas possuem, de um modo geral, necessidades de estruturação, partilha de informação e estabelecimento de interacções entre as entidade participantes.
As aplicações consideradas exibem na sua maioria um comportamento dinâmico e são constituídas por componentes distribuídas, beneficiando por esse motivo de for- mas de estruturação baseadas em grupos de entidades. Um modelo de organização baseado em grupos de entidades, permite capturar essa característica bem como defi- nir formas de interacção estruturada entre grupos de elementos.
Um problema central na modelação de aplicações interactivas distribuídas é o seu requisito quanto à partilha de informação. Uma dimensão deste problema relaciona- se com o acesso a repositórios ou sistema de informação persistentes, que registam elementos sobre as entidades e os seus atributos/perfis, bem como sobre os conteúdos por elas manipulados. Outra dimensão da partilha de informação ocorre associada às interacções que múltiplas entidades estabelecem durante a execução de uma aplicação, e que permite que estas estabeleçam formas de colaboração e cooperação entre si.
Ao nível da diversidade de modelos de interacção existentes e por forma a capturar a diversidade de interacções entre entidades, que caracterizam as aplicações anterior- mente referidas, podem considerar-se as seguintes principais dimensões:
1. semântica da interacção, que pode ser síncrona ou assíncrona; 2. estabelecimento de interacção, de forma directa ou indirecta; 3. modelo de comunicação, por memória partilhada ou distribuída.
No que diz respeito à semântica das interacções, ambas as semânticas referidas são importantes para as aplicações consideradas. Em particular, dado o caracter reactivo exibido pelas aplicações e a sua natureza dinâmica na resposta a modificações do meio envolvente, as diversas entidades participantes devem ter a capacidade de reagirem a eventos, que lhes são notificados de forma assíncrona.
Quanto à forma como se processa o estabelecimento de interacções, verificam-se tanto necessidades de padrões de interacção directa, em que duas ou mais entidades interagem entre si, existindo nesta situação uma forte ligação entre os intervenientes, como padrões de interacção indirecta, existindo nesta situação mecanismos baseados em difusão e em meios de comunicação intermédios, como por exemplo filas globais de mensagens ou espaços de memória partilhada.
Ao nível dos modelos de comunicação, as duas grandes classes a considerar são a memória partilhada e a memória distribuída. Estas duas formas devem ser contem- pladas, pois elas decorrem naturalmente do carácter das aplicações analisadas. No caso da memória distribuída, as duas principais formas de comunicação baseiam-se
MODELOS DE COMUNICAÇÃO:GRUPOS,ESPAÇO PARTILHADO E EVENTOS
em troca de mensagens ou em invocação de métodos remotos e são adequadas para suportar a interacção entre entidades distribuídas. No caso da memória partilhada, a comunicação entre entidades é efectuada através de uma abstracção de um espaço comum, sobre o qual podem efectuar consultas (leituras) e actualizações (escritas), podendo este espaço suportar, não apenas comunicação e partilha de informação, mas também a coordenação de entidades.
Neste trabalho, desenvolveu-se um modelo que combina diversos mecanismos ca- racterísticos das dimensões acima apontadas. Em particular, consideram-se:
• os grupos de entidades, como unidades de estruturação das interacções;
• um espaço partilhado, confinado a cada grupo, permitindo acesso a informação exclusivamente partilhada pelos membros do grupo e possibilitando também a coordenação entre eles;
• as mensagens, como forma de comunicação directa entre as entidades;
• os eventos, como forma de notificação assíncrona das modificações dinâmicas que ocorrem.
Como objectivo de melhor caracterizar esta problemática, discutem-se de seguida diferentes modelos que apresentam funcionalidades como as acima mencionadas. É inicialmente apresentado o modelo de comunicação em grupo e as suas principais ca- racterísticas e propriedades. De seguida, é apresentado um modelo de espaços par- tilhado, sendo dado especial relevo ao modelo Linda [CG89], que é o trabalho mais representativo desta linha de investigação. Finalmente é analisado o modelo de comu- nicação baseado em eventos, que permite uma forma de interacção assíncrona entre elementos.