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.

5.2. AGENDA PARTILHADA 77<br />

Figura 5.6: Aplicação <strong>de</strong> agenda partilhado.<br />

nova marcação. No entanto, como é impossível introduzir duas marcações com horários sobrepostos<br />

é necessário <strong>de</strong>finir um esqu<strong>em</strong>a que garanta a consistência final das várias réplicas da agenda. Este<br />

esqu<strong>em</strong>a <strong>de</strong>ve garantir que existe um momento (tão breve quanto possível) a partir do qual o resultado<br />

<strong>de</strong>finitivo <strong>de</strong> um pedido <strong>de</strong> nova marcação é conhecido. No entanto, para evitar que os utilizadores efec-<br />

tu<strong>em</strong> pedidos <strong>de</strong> marcações com horários sobrepostos a marcações com horário ainda não confirmado, a<br />

agenda <strong>de</strong>ve incluir o resultado provisório das marcações não confirmadas.<br />

Quando efectua um pedido <strong>de</strong> nova marcação um utilizador po<strong>de</strong> indicar vários períodos <strong>de</strong> t<strong>em</strong>po<br />

alternativos, assim reduzindo a probabilida<strong>de</strong> <strong>de</strong> ter o seu pedido recusado. Quando o resultado final <strong>de</strong><br />

um pedido é <strong>de</strong>terminado, <strong>de</strong>ve notificar-se o utilizador do mesmo (caso este o pretenda). Na figura 5.6,<br />

observa-se o pedido <strong>de</strong> uma nova marcação, que inclui a <strong>de</strong>scrição da marcação, a sequência <strong>de</strong> uma<br />

sequência <strong>de</strong> períodos <strong>de</strong> t<strong>em</strong>po alternativos e o en<strong>de</strong>reço para o qual o resultado <strong>de</strong>finitivo <strong>de</strong>ve ser<br />

enviado (o transporte apropriado para o en<strong>de</strong>reço indicado será usado).<br />

Para impl<strong>em</strong>entar esta aplicação no sist<strong>em</strong>a DOORS é necessário criar o coobjecto que mantém a<br />

agenda partilhada. A aplicação que manipula o coobjecto fornece a interface gráfico que permite aos<br />

utilizadores efectuar<strong>em</strong> novos pedidos e observar<strong>em</strong> as marcações efectuadas anteriormente.<br />

5.2.1 Coobjecto agenda<br />

A informação <strong>de</strong> uma agenda é armazenada nos seguintes subobjectos.<br />

Primeiro, um subobjecto agenda s<strong>em</strong>anal, que mantém as marcações <strong>de</strong> uma s<strong>em</strong>ana. Este subobjecto<br />

inclui duas operações <strong>de</strong> modificação para inserir e r<strong>em</strong>over uma marcação num dado horário. Para que<br />

a intenção do utilizador seja respeitada, quando uma operação <strong>de</strong> r<strong>em</strong>oção é executada (r<strong>em</strong>ovendo a

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

Saved successfully!

Ooh no, something went wrong!