• Nenhum resultado encontrado

O WSN-BaSS foi concebido tendo como base o BaSS, núcleo de simulação cujo funcionamento, desenvolvimento e estrutura foram descritos no capítulo 4. Trata-se de uma estrutura de classes que é ao mesmo tempo rígida, no sentido de que as principais funcionalidades de simulação (sincronização), transmissão de dados e registro de ocorrências de eventos já estarem previamente estabelecidas, e suficientemente flexível para que novas funcionalidades possam ser inseridas facilmente.

A forma com que a estrutura das classes de simulação foi desenvolvida permite que, uma vez entendida sua organização e funcionalidades (representação dos nós, mecanismos de trocas de mensagens e registros dos dados de simulação), o nível de detalhamento possa ser determinado pelo desenvolvedor. A quantidade de camadas de redes necessárias, o tamanho e os campos das mensagens trocadas pelos nós e a descrição pormenorizada dos elementos de hardware e software podem ser implementados tendo como base as classes WSN-BaSS. Quanto mais detalhadas as descrições, melhores serão os resultados das simulações, contundo há a penalização de uma quantidade maior de tempo necessário para a execução das mesmas.

Além dessa flexibilidade no detalhamento descritivo e funcional dos nós, outra característica que o WSN-BaSS possui na sua arquitetura organizacional é isolar os conhecimentos da rede. Um dos principais problemas que se pode levantar nos artigos publicados em Redes de Sensores Sem Fio, principalmente naqueles que realizam descrições e testes de protocolos de comunicação, é que em grande parte dos casos não é realizada uma diferenciação do conhecimento da rede e do conhecimento do simulador. Principalmente nos quesitos de informação de posição dos nós, conectividade da rede e quantidade de energia

Capítulo 5 WSN-BaSS – Um simulador para Rede de Sensores Sem Fio disponível por nó, muitas simulações partem do pressuposto que cada nó sabe a sua localização, quais são seus vizinhos, conhece as trajetórias para a entrega das mensagens até as estações rádio base e sabe as condições de energia de todos os nós da rede. Tais informações não estão disponíveis diretamente para os nós da rede, sendo um erro considerá- los de total ou parcial conhecimento dos nós sensores no estudo de desempenho das Redes de Sensores Sem Fio.

Não há impedimento para que os nós tenham todo o conhecimento da rede necessário para executar determinada ação, mas este conhecimento tem que ser enviado até o nó através de mensagens, o que envolve uma série de transmissões, gasto de tempo e de energia dos nós envolvidos nessas transmissões.

Contudo, se por um lado o conhecimento da rede é algo que tem o seu custo e nem sempre é viável ou possível de ser determinado para os nós da rede, o conhecimento do simulador é de extrema importância para a análise do funcionamento, do desempenho da rede e da eficiência dos protocolos de comunicação. É, na verdade, o próprio sentido maior da existência do simulador, isto é, saber o que se passa na rede como um todo, como se um observador externo soubesse a cada instante o que está acontecendo na rede. Em grande parte das aplicações, por exemplo, os nós são lançados no meio sem saber onde estão. Inicialmente, portanto, a informação da localidade de cada nó só deve ser sabida pelo simulador.

A abstração da rede como um grafo é outra informação relevante na análise da estrutura da rede e sua conectividade. É uma característica importante para um simulador de redes, uma vez que toda rede pode ser vista como um grafo, seja ele representando a conectividade entre os nós (arestas), seja ele representando a disponibilidade energética (nós). Grafos de redes também são informações exclusivas do simulador, não pertencendo ao domínio de informações acessível diretamente pelos nós da rede.

Há, portanto, dois “mundos” dentro da própria simulação. O “mundo” das informações pertinentes ao simulador (conhecimento global de tudo) e o “mundo” das informações pertencentes a cada nó (restrito e real). Neste último “mundo”, cada nó só sabe de si mesmo enquanto dispositivo eletrônico; qualquer outra informação que ele possua foi resultado da sua prévia programação ou da troca de mensagens efetuada pela rede de comunicação. Os conhecimentos externos podem ser recebidos pelos nós da rede utilizando a própria rede de comunicação sem fio pertencente à rede ou a partir de outras redes (determinação da posição do nó utilizando a rede GPS, por exemplo). Seja qual for a forma com que a informação for obtida, há um custo de energia associado, o que deve ser contabilizado no tempo de vida nó e da rede como um todo.

Toda a arquitetura do simulador para Redes de Sensores Sem Fio, isto é, a sua estrutura de classes, foi desenvolvida baseado nessa distinção entre os “mundos” de conhecimento (apesar de o programador poder violar essa separação se assim desejar). Além disso, a contabilidade do consumo energético dos nós sensores sempre esteve presente no decorrer do projeto do simulador, uma vez que este tipo de análise é o principal objetivo na realização de simulações para o estudo das Redes de Sensores Sem Fio.

Segue uma relação das principais características do simulador desenvolvido. Na forma com que foi concebido e implementado, o WSN-BaSS difere de todos os simuladores de Redes de Sensores Sem Fio estudados no capítulo 3, apresentando um conjunto de propriedades que auxiliam no desenvolvimento de simulações e na avaliação de seus desempenhos.

(1) Controle automático da sincronização dos objetos simulados;

(2) Representação de diferentes tipos de nós, especificando seus comportamentos tanto no que se refere ao hardware como ao software e ainda permitindo um maior ou menor detalhamento descritivo de acordo com as necessidades do projeto. Diferenciação dos nós como sendo nós sensores ou estações rádio base;

(3) Descrição do funcionamento de diferentes tipos de rádios que operam com frequência, modulação e taxas de transmissão distintas e associá-los aos nós da rede;

(4) Definição de modelos de propagação para as ondas de rádios, fixando para a simulação as regras que determinam quando o rádio de um nó “está no alcance” do rádio de outro nó, isto é, quando há a transmissão entre um par de nós da rede;

(5) Descrição do comportamento de sensores com funcionamentos e naturezas sensoriais distintas;

(6) Descrição do comportamento de diferentes tipos de baterias; (7) Utilização de nós da rede com baterias e sensores diferentes;

(8) Descrição do comportamento de diferentes variáveis ambientais com valores dinâmicos no tempo e espaço, permitindo que os seus valores possam ser registrados pelos sensores dos nós de acordo com a sua posição geográfica, tipo de sensor e momento da leitura;

(9) Descrição do comportamento de sinais de interferência com valores dinâmicos no tempo e espaço de forma a corromper as mensagens transmitidas entre os

Capítulo 5 WSN-BaSS – Um simulador para Rede de Sensores Sem Fio nós;

(10) Inserção de obstáculos no ambiente, cada qual com características de atenuação de sinal particulares;

(11) Movimentação dos nós pelo ambiente;

(12) Registro do gasto energético dos nós, retirando-o da rede automaticamente na sua falência energética;

(13) Registro para cada nó da rede a quantidade de mensagens enviadas, recebidas, corrompidas por interferência ou que sofreram colisão com outras transmissões;

(14) Análise visual da rede como um grafo, cujos valores das arestas e nós podem ser configurados de acordo com as necessidades dos projetos, além de determinar o melhor caminho entre dois nós obedecendo a critérios estabelecidos pelo programador;

(15) Execução de simulações utilizando diferentes topologias de rede (pré- determinadas ou aleatórias);

(16) Utilização de documentos XML para salvar as simulações, permitindo, assim, a repetitividade na execução das simulações e a realização de pequenas alterações para verificar mudanças nos resultados experimentais;

(17) Execução das simulações sem nenhum tipo de visualização (execução mais rápida) ou executando-a em um ambiente computacional gráfico no qual as ações executadas na rede podem ser observadas e analisadas durante o processo de execução da simulação (execução visual e possivelmente interativa);

(18) Criação, utilização e o processamento de diferentes tipos de registros (logs), tanto na forma de arquivos de texto como de elementos visuais na interface gráfica;

(19) Escalabilidade, isto é, utilização de uma quantidade considerável (milhares) de nós do mesmo tipo ou de tipos diferentes na simulação;

Os itens a seguir descrevem a forma com que essas dezenove características foram implementadas no WSN-BaSS. Primeiramente um panorama geral da estrutura de classes será abordado, seguido de um detalhamento de como implementar as funcionalidades dos nós, criação das redes e execução das simulações. Finalmente será abordada a interface gráfica do WSN-BaSS.

5.2

desenvolvido na linguagem de programação Java e suas principais classes estão pacote

a estrutura necessária para o desenvolvimento de uma simulação Sem Fio, apresentando dependência com as classes do pacote responsáveis pela coordenação da simulação.

br.eng.rsalustiano.wsn.graph

grafo utilizado para análise da relação entre os nós de uma Rede de Sensores Sem Fio. O pacote

representação de uma simulação no padrão X

br.eng.rsalustiano.wsn.gui

a visualização da rede, a criação de novas redes de forma gráfica, execução da simulação com acompanhamento visual da rede e dos relatórios (

subpacotes do pacote

funcionalidades às simulações. notação UML (

breve descrição das suas funcionalidades, enquanto que a Figura 5.2 mostra o diagrama de

classes deste pacote (notação UML) e as classes dos subpacotes

5.2 – Estrutura de classes do WSN