• Nenhum resultado encontrado

Na arquitetura descrita, toda a análise de alto nível, tanto a realizada pelos sistemas de controle como pelos geradores de contexto, é centralizada em um só ponto que detém o conhe- cimento de tudo que acontece na casa.

Essa abordagem facilita o processo de desenvolvimento dos algoritmos, de maneira geral, uma vez que os dados recebidos dos sensores estão todos disponíveis em um só local, a todo o momento. No entanto, sua principal fraqueza se torna evidente quando a comunicação entre os nós de controle e os demais sistemas é interrompida: a casa fica totalmente inoperante.

Nessa situação, uma solução seria programar o nó para que entre em modo de segurança e mantenha a residência operacional. Como a comunicação é realizada apenas entre os nós de controle, sem troca de dados externa, as operações de cada nó seriam restritas às funcionalidades descritas nas tabelas de gerenciamento, armazenadas em nós especialmente designados para esse fim (nó Coordinator na Figura 7).

O protocolo ZigBee, por exemplo, mantém essas tabelas armazenadas nos nós que exercem a coordenação da rede e que são alimentados continuamente, não por baterias, e, teoricamente,

Figura 7: Estrutura de clusters ZigBee (Munk-Stander M.S. (2005))

sempre estão disponíveis. Ele as utiliza em seu regime normal de operação, pois o protocolo não fica à espera de comandos de sistemas de controle externos, mas o exemplo das tabelas pode ser usado na arquitetura proposta em caso de falha na comunicação com o servidor de aplicação (ZIGBEE, 2008).

Essas tabelas têm o intuito de manter a residência habitável até que a comunicação seja restabelecida, mantendo em operação um conjunto de funções que os moradores podem esco- lher como imprescindíveis ao seu dia a dia como, talvez, a detecção de incêndio, iluminação, controle de portas, etc. Outros equipamentos de uso secundário podem usar o modo seguro para garantir acesso aos seus comandos básicos como ligar, desligar ou alterar o ponto de funciona- mento por meio de uma interface local.

A questão principal que está por trás dessas falhas é o balanço entre uma arquitetura cen- tralizada e distribuída. Os dispositivos devem interagir para prover auxílio às atividades dos moradores, mas ao mesmo tempo eles devem ser capazes de tomar algumas medidas autono- mamente. Locatelli e Vizzari (2007) sugerem um dispositivo que faça parte de um sistema e seja capaz de perceber o contexto local, detectar fontes relevantes de informações, comunicar sua presença e interagir com os demais. Mas, não é trivial delegar aos nós de controle todo o processo de análise de contexto. Uma das principais causas é a restrição imposta pelo hardware. Nos casos em que os nós são alimentados por baterias há a necessidade de um esquema rigoroso de gerenciamento de energia para estender ao máximo a carga disponível, o que, muitas vezes, implica na redução do tempo que o nó se mantém ativo.

Apesar dos crescentes avanços na velocidade de processamento e quantidade de memória, o poder computacional desses nós ainda não é suficiente para suportar a complexidade dos algoritmos geradores de contexto, nem para armazenar toda a informação produzida.

O MICA, por exemplo, é um dos mais famosos nós de controle do mercado, comercializado pela empresa Crossbow Technology (XBOW, 2002). Baseado nos nós desenvolvidos na Uni- versidade da Califórnia em Berkeley (HILL, 2002), eles vêm equipados com um processador de 4 MHz, com 4 kBytes de memória volátil e 128 kBytes de memória não volátil. O JStamp é um modelo mais recente, com um processador de 32 bits, 74MHz e 2MBytes de memória não volátil. Talvez seu maior benefício seja a possibilidade de executar programas diretamente na linguagem Java sem a necessidade de prévia tradução. Seu maior problema é o consumo de energia. Segundo o fabricante, uma bateria comum de 9V consegue manter o JStamp fun- cionando por apenas 24 horas, rodando a um décimo da freqüência máxima, ou seja 7.4 MHz (SYSTRONIX, 2005).

Nas aplicações domésticas, o problema da energia poderia ser compensado conectando-se os nós à rede de distribuição elétrica, considerando que, raramente, um nó que controle a ilu- minação ou uma persiana teria seu local de instalação alterado. Nesse caso, um processador mais potente e maior quantidade de memória poderiam ser empregados. Mas, ainda assim, sem considerar o alto custo dessa solução como um ponto crítico, a própria natureza descentralizada dos eventos é um forte indício da dificuldade em manter todos os nós cientes de todos os proces- sos que ocorrem na residência. Tecnicamente, não é impossível que cada evento gerado em um nó seja replicado para todos os outros. Mas, quaisquer que sejam as ações tomadas nesse nó, elas deverão também ser replicadas. Além de gerar um aumento substancial da atividade da rede de comunicação, é grande a possibilidade de haver discrepâncias entre os estados armazenados em cada nó devido a dados corrompidos.

Uma solução intermediária entre a arquitetura totalmente centralizada e a distribuída é iden- tificar um conjunto de informações elegíveis que pode ser difundido entre os nós, segundo re- gras específicas que gerenciem sua distribuição através dos ambientes (i.e. regras de difusão). A relação de vizinhança entre um nó e outro pode ser obtida pela representação espacial provida pelos sistemas de localização. A mais direta seria através das próprias tabelas de endereçamento de rede que mantém atualizadas as informações sobre vizinhos para a troca de mensagens. A intensidade dessa relação pode ser expressa pela proximidade geográfica dos nós, deduzida da potência do sinal recebido, no caso das redes de sensores sem fio. No entanto, a relação física é apenas um exemplo, podemos criar diferentes tipos de relações entre os objetos baseados na aplicação e no contexto vigente naquele momento.

Bandini, Manzoni e Simone (2002) sugerem três tipos de interações entre agentes situados em nós vizinhos: reação, emissão e disparo. A reação permite que dois agentes alterem seus estados sincronizadamente após estabelecerem um acordo entre si. A emissão é uma forma de um agente enviar e receber informações dos vizinhos. O alcance de cada mensagem pode ser amplificado ou atenuado ao longo da rede de acordo com as regras de difusão. O disparo é a mudança do estado do nó sob a percepção de um específico evento no contexto local. Algumas funções especificam como essas interações podem ser comparadas e compostas para se obter novas informações sobre o meio. Segundo os autores, diferentes tipos de agentes podem ou não ser capazes de reconhecer essas informações e, em caso positivo, podem ter diferentes reações de acordo com suas especificações de comportamento.

A troca dessas mensagens na rede de sensores permite que cada nó possa colaborar com o meio, disponibilizando suas capacidades especializadas, tornando-o reativo e pró-ativo em re- lação aos outros para que não fique totalmente dependente das ordens dos sistemas de controle. A intenção é garantir um grau maior de autonomia e para que seus recursos computacionais não sirvam apenas para a conversão e transmissão de sinais dos sensores e atuadores. Segundo Locatelli e Vizzari (2007), métodos de colaboração têm evoluído nos últimos anos, mas a litera- tura ainda enfatiza a coordenação individual de cada objeto residencial (incluindo dispositivos eletrônicos e computacionais nesse termo).