11.04.2013 Views

gestão de dados partilhados em ambientes de computação móvel

gestão de dados partilhados em ambientes de computação móvel

gestão de dados partilhados em ambientes de computação móvel

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.4. INTEGRAÇÃO DE SESSÕES SÍNCRONAS 67<br />

vezes sugerido na literatura [154, 42], seja impossível obter os efeitos <strong>de</strong>sejados utilizando as mesmas<br />

técnicas <strong>de</strong> reconciliação para controlar a interacção síncrona e assíncrona. Por ex<strong>em</strong>plo, consi<strong>de</strong>ra-se<br />

que a transformação <strong>de</strong> operações é a técnica <strong>de</strong> reconciliação mais a<strong>de</strong>quada ao controlo da edição coo-<br />

perativa síncrona <strong>de</strong> um texto [46], <strong>de</strong>finido como uma sequência <strong>de</strong> caracteres. No entanto, a utilização<br />

<strong>de</strong>sta técnica durante a interacção assíncrona não parece capaz <strong>de</strong> produzir resultados apropriados. Um<br />

ex<strong>em</strong>plo simples <strong>de</strong>monstra as limitações existentes. Suponha-se que dois utilizadores modificam a frase<br />

“Tu escreve um livro”. O primeiro corrige o erro produzindo o resultado final “Tu escreves um livro”. O<br />

segundo corrige o erro, mudando o sujeito da frase “Ele escreve um livro”. Após a reconciliação das duas<br />

modificações o resultado final seria “Ele escreves um livro”, ou seja, um resultado que não satisfaz n<strong>em</strong><br />

o primeiro utilizador n<strong>em</strong> o segundo. Os probl<strong>em</strong>as ten<strong>de</strong>m a ser mais graves quando as modificações<br />

são mais significativas, po<strong>de</strong>ndo levar à completa incoerência do texto final. Na edição síncrona, este<br />

facto não coloca probl<strong>em</strong>as porque os vários utilizadores po<strong>de</strong>m coor<strong>de</strong>nar fort<strong>em</strong>ente as modificações<br />

que produz<strong>em</strong>.<br />

Assim, <strong>em</strong>bora seja possível traçar um contínuo entre os dois extr<strong>em</strong>os da cooperação síncrona e<br />

assíncrona, baseado na rapi<strong>de</strong>z com que as contribuições são propagadas entre os utilizadores, parece<br />

existir um ponto a partir do qual é necessário utilizar técnicas <strong>de</strong> <strong>gestão</strong> <strong>de</strong> <strong>dados</strong> diferentes. As observa-<br />

ções anteriores suger<strong>em</strong> a necessida<strong>de</strong> <strong>de</strong> usar diferentes técnicas <strong>de</strong> reconciliação/controlo <strong>de</strong> concor-<br />

rência e operações com diferentes granularida<strong>de</strong>s. Adicionalmente, a <strong>gestão</strong> da informação <strong>de</strong> awareness<br />

também necessita <strong>de</strong> ser adaptada. Na interacção assíncrona, é necessário que um utilizador possa ser<br />

informado das modificações que os outros utilizadores produziram no passado (e, eventualmente, das<br />

previsões <strong>de</strong> modificações a executar no presente/futuro). Pelo contrário, durante as sessões síncronas, a<br />

maior parte da informação <strong>de</strong> awareness resulta da observação imediata das modificações que os outros<br />

utilizadores estão a produzir e <strong>de</strong> outros canais <strong>de</strong> coor<strong>de</strong>nação activos (por ex<strong>em</strong>plo, ferramentas <strong>de</strong><br />

troca interactiva <strong>de</strong> mensagens).<br />

A solução adoptada no sist<strong>em</strong>a DOORS permite que estas diferenças sejam tomadas <strong>em</strong> consi<strong>de</strong>ração<br />

na integração <strong>de</strong> sessões síncronas. Assim, durante a interacção síncrona é possível utilizar as técnicas <strong>de</strong><br />

<strong>gestão</strong> <strong>de</strong> <strong>dados</strong> a<strong>de</strong>quadas a esse tipo <strong>de</strong> interacção. As modificações produzidas nas sessões síncronas<br />

são integradas na evolução global dos <strong>dados</strong> através <strong>de</strong> operações a<strong>de</strong>quadas ao tratamento assíncrono<br />

— a conversão entre as operações po<strong>de</strong> ser efectuada usando uma das duas alternativas apresentadas an-<br />

teriormente. No âmbito da evolução global dos <strong>dados</strong>, estas operações são tratadas <strong>de</strong> forma s<strong>em</strong>elhante<br />

às modificações executadas assincronamente por um único utilizador e processadas <strong>de</strong> acordo com as<br />

técnicas <strong>de</strong> <strong>gestão</strong> <strong>de</strong> <strong>dados</strong> a<strong>de</strong>quadas à interacção assíncrona. Na secção 5.1 apresenta-se um editor<br />

cooperativo multi-síncrono que <strong>de</strong>monstra a utilização da solução do sist<strong>em</strong>a DOORS.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!