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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 4<br />

Descrição das funcionalida<strong>de</strong>s principais<br />

do sist<strong>em</strong>a DOORS<br />

No capítulo anterior apresentou-se o sist<strong>em</strong>a DOORS, <strong>de</strong>talhando o framework <strong>de</strong> componente <strong>de</strong>finido.<br />

Neste capítulo <strong>de</strong>talham-se algumas das funcionalida<strong>de</strong> principais do sist<strong>em</strong>a DOORS, incluindo uma<br />

discussão sobre reconciliação no âmbito do sist<strong>em</strong>a DOORS, o mo<strong>de</strong>lo <strong>de</strong> replicação parcial <strong>de</strong>finido, o<br />

mecanismo <strong>de</strong> invocação cega e o mo<strong>de</strong>lo <strong>de</strong> integração <strong>de</strong> sessões síncronas no âmbito <strong>de</strong> uma activi-<br />

da<strong>de</strong> tipicamente assíncrona.<br />

4.1 Reconciliação<br />

O mecanismo <strong>de</strong> reconciliação é responsável por garantir que a evolução das várias réplicas respeita as<br />

proprieda<strong>de</strong>s <strong>de</strong>sejadas. O componente <strong>de</strong> reconciliação/controlo <strong>de</strong> concorrência <strong>de</strong>s<strong>em</strong>penha um papel<br />

fundamental neste processo, porque <strong>de</strong>ci<strong>de</strong> a or<strong>de</strong>m <strong>de</strong> execução das operações, a qual <strong>de</strong>termina, <strong>em</strong><br />

gran<strong>de</strong> parte, as proprieda<strong>de</strong>s da evolução do coobjecto.<br />

No entanto, <strong>de</strong>ve realçar-se que a or<strong>de</strong>m necessária para alcançar um dado conjunto <strong>de</strong> proprieda<strong>de</strong>s<br />

<strong>de</strong>pen<strong>de</strong> das operações <strong>de</strong>finidas no coobjecto. Adicionalmente, algumas estratégias <strong>de</strong> reconciliação são<br />

impl<strong>em</strong>entadas por outros componentes do coobjecto e não estão directamente relacionadas com a or<strong>de</strong>m<br />

<strong>de</strong> execução das operações. Por ex<strong>em</strong>plo, o subobjecto com múltiplas versões <strong>de</strong>scrito na secção 3.3.9<br />

funciona correctamente <strong>de</strong>s<strong>de</strong> que a or<strong>de</strong>m <strong>de</strong> execução das operações respeite a or<strong>de</strong>m causal.<br />

Algumas das proprieda<strong>de</strong>s possíveis na evolução <strong>de</strong> um coobjecto são as seguintes:<br />

Equivalência final A equivalência final consiste na igualda<strong>de</strong> 1 do estado das várias réplicas <strong>de</strong> um co-<br />

1 A igualda<strong>de</strong> do estado <strong>de</strong> duas réplicas <strong>de</strong> um coobjecto é <strong>de</strong>finida no contexto do tipo <strong>de</strong> <strong>dados</strong> que representam, i.e.,<br />

duas réplicas são idênticas se representam exactamente o mesmo valor do tipo <strong>de</strong> <strong>dados</strong>, não sendo necessária a igualda<strong>de</strong> da<br />

representação interna. Por ex<strong>em</strong>plo, um conjunto representado através dos el<strong>em</strong>entos contidos num vector é igual a outro se o<br />

51

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

Saved successfully!

Ooh no, something went wrong!