Monografia

14
OTAVIO NEVES LARA PROGRAMAÇÃO GENÉTICA APLICADA À GERAÇÃO AUTOMATIZADA DE APLICAÇÕES PARA REDES DE SENSORES SEM FIO LAVRAS – MG 2014 OTAVIO NEVES LARA PROGRAMAÇÃO GENÉTICA APLICADA À GERAÇÃO AUTOMATIZADA DE APLICAÇÕES PARA REDES DE SENSORES SEM FIO

Transcript of Monografia

Page 1: Monografia

OTAVIO NEVES LARA

PROGRAMAÇÃO GENÉTICA APLICADA ÀGERAÇÃO AUTOMATIZADA DE

APLICAÇÕES PARA REDES DE SENSORESSEM FIO

LAVRAS – MG

2014OTAVIO NEVES LARA

PROGRAMAÇÃO GENÉTICA APLICADA À GERAÇÃO AUTOMATIZADA DE

APLICAÇÕES PARA REDES DE SENSORES SEM FIO

Page 2: Monografia

Monografia apresentada ao Colegiado doCurso de Ciência da Computação, para aobtenção de título de Bacharel emCiência da Computação.

PROF. ANDRÉ LUIZ ZAMBALDE

LAVRAS – MG

2014

Page 3: Monografia

SUMÁRIO

1 INTRODUÇÃO ….............................................................................. 061.1 Contextualização e motivação ........................................................... 061.2 Problemas e objetivos …..................................................................... 061.3 Estrutura da Monografia . ................................................................ 062 REFERENCIAL TEÓRICO ............................................................. 082.1 Referencial básico …........................................................................... 082.2 Referencial relacionado....................................................................... 083 METODOLOGIA …........................................................................... 103.1 Tipo de pesquisa .................................................................................. 103.2 Procedimento metodológico ............................................................... 104. RESULTADOS E DISCUSSÕES ….................................................. 124.1 Gerador de instâcias ........................................................................... 124.2 Instâcias de teste ...................... …...................................................... 124.3 Análize de dados.................................................................................. 125 CONCLUSÃO …................................................................................. 136 REFERÊNCIAS ...................................................................................14

Page 4: Monografia

RESUMO

A programação de redes de sensores sem fio (RSSF) é uma tarefacomplexa devido à Programação em Linguagens de baixo nível e à necessidadede uma aplicação distinta para cada sensor. Além disso, sensores sem fiopossuem grandes limitações de hardware, como baixo poder de processamento,pouca memória e limitação energética. Portanto a programação automática deRSSF é desejável, uma vez que pode-se contemplar essas dificuldadesautomaticamente, além de economizar em custos, pois elimina a necessidade dese alocar um Programador para programar a RSSF. A geração automática decódigos-fonte por RSSF utilizando programação genética foi pouco estudada naLiteratura até o momento. A programação genética se mostrou promissora nageração de códigos em diversas áreas de aplicação. Dessa forma, o presenteestudo propõe o desenvolvimento e a aplicação de algoritmos evolutivos paragerar e evoluir códigos-fonte que solucionam problemas de RSSF. O objetivo éque os algoritmos evolutivos desenvolvidos sejam capazes de resolverproblemas distintos de RSSF de forma correta e com uma eficiência satisfatória.Os resultados obtidos mostram que a ferramenta é capaz de solucionar demaneira ótima o problema de Detecção de eventos para RSSF com topologiarandômica me grade e de forma satisfatória para a RSSF topologia randômica.Sendo assim o presente estudo traz contribuições para a área de RSSF, uma vezque a programação automática de RSSF reduz consideravelmente a mão de obrahumana.

ABSTRACT

The wireless sensor networks (WSN) programming is a complex taskdive to the low-level programming languages and the need of a specificapplication for each sensor. Furthemore, wireless sensors have many hardware.Limitations such as slow processing power small memory and energiclimitations. Hence, the automatic Programming of WSNs is desirable since itcom automatically address these difficulties, besides saving costs by eliminatingthe need to alocate a developer to program the WSN. The automatic codegerenation for WSNs using genetic programminghas been poorly studied inliteratures so for the genetic programming has proved to be promising in codegeneration for many application área. This study proposes the development andapplication of evolutinary algorithms to generate source codes that salve WSNsproblems. The developed evolutinary algorithms should be able to solvedifferent problems as WSNs correctly and satsfactory efficiency theobtained results show that the proposed. Framework is able to findoptimal solutions for the event detection. Problem fom WSN with gird to

Page 5: Monografia

find optimal solutions for the event detection problem for WSN grid.Topology and to find satisfactory solutions for WSN with randomizedtopology. Thus, this study brings many contribuitions to the WSN arcosince the automatic programming of WSNs drastically reducestre humanprogramming effort.

Page 6: Monografia

1. Introdução

Aqui falaremos como se organiza o trabalho para produção de RSSF e amotivação para produção dos mesmos incluindo materiais que servem de basepara o assunto tratado.

1.1. Contextualização e motivação

Redes de sensores sem fio (RSSF) são redes compostas por vários nós sensores.Esses nós sensores são compostos por um processador de baixo poder deprocessamento, um rádio de baixa potência e memória de tamanho reduzido.Eles são alimentados por uma bateria e por isso possuem limitações em suautilização. Além disso, existem várias limitações e dificuldades no projeto deuma RSSF, como a programação de baixo nível dos nós sensores, especificidadedo comportamento de cada nó sensor, entre outras questões que afetam sistemasmassivamente distribuídos.

As RSSF são muito versáteis. Além do custo de implantaçãorelativamente reduzido, elas possibilitam o monitoramento e o mapeamento deregiões de alto risco. Pode-se utilizar RSSF para monitoramentos sismográficosem vulcões e monitoramento de temperatura e pressão em plataformaspetrolíferas e de regiões hostis (Yang, 2010).

Apesar da versatilidade das RSSF, a programação da rede é uma tarefacomplexa. A aplicação deve ser desenvolvida e customizada para cada nó sensorda rede, uma vez que o comportamento de cada nó depende de fatoresespecíficos como posição geográfica, estado do nó, função do sensor, entreoutras. Essa heterogeneidade das RSSF torna o processo do desenvolvimento eda programação dos nós uma tarefa árdua.

1.2. Problemas e objetivos

O objetivo geral do presente trabalho é desenvolver um framework capaz degerar, de forma automática, o código fonte de aplicações para RSSF. Esseframework é composto por três camadas: Um simulador de RSSF, ummiddleware que provê uma linguagem script de alto nível paraprogramação de aplicações para RSSF e um método baseado emprogramação genética para gerar automaticamente aplicações para estemiddleware.

1.3. Estrutura da Monografia

O projeto foi divido em algumas partes:

4

Page 7: Monografia

- Desenvolvimento de uma linguagem script que permita a descrição de aplicações para RSSF.- Desenvolver de um middleware que seja capaz de interpretar essa linguagem e possibilite a programação do RSSF em alto nível.- Adaptar o simulador Gruhix (GRUBI, 2013) para realizar simulações de RSSF.- Desenvolver diferentes algoritmos de programação genética para modelar o objetivo geral de uma RSSF e gerar automaticamente aplicações que visam alcançar esse objetivo.

5

Page 8: Monografia

2. Referencial teórico

Nesse capítulo mostrarei s referenciais para pesquisa e explicarei de acordo com alguns autores o motivo de desenvolver algoritmo genético para RSSF.

2.1. Referencial básico

As redes de sensores sem fio (RSSF) são uma tecnologia recente quetem crescido muito nos últimos anos. As RSSF são compostas por dispositivoseletrônicos (nós sensores) independentes que possuem capacidade decomunicação sem fio (wireless). Os nós sensores possuem capacidade deprocessamento computacional, comunicação sem fio, sensores que são capazesde realizar medições no ambiente e atuadores que podem interagir com o meioambiente.

Esses nós sensores são alimentados por bateria, o que torna o consumo de energia uma questão chave nesse tipo de tecnologia. Esse tipo de tecnologia de sistema embarcado tem sido aplicado utilizando como forma de computação ubíqua, sendo aplicada em diversas áreas da vida humana, como agricultura, monitoramento, rastreamento, e até mesmo para controlar componentes doméstico simples, como luzes, cortinas, eletrodomésticos, entre outras. (PARL, WILLIG, 2005)

A computação ubíqua é definida como uma forma onipresente de computação, é um conjunto de aparelhos e dispositivos eletrônicos que realizam computação de forma transparente e imperceptível para os usuários. (HANSHANN, et. al., 2002)

Apesar de cada nó sensor possuir capacidade de processamento esensoriamento de forma individual, em aplicações de RSSF um nó sensor não écapaz de atingir o objetivo da rede individualmente. É necessário que os nóssensores cooperem entre si através de comunicação sem fio, para que consigamalcançar o objetivo da RSSF.

2.2. Referencial relacionado

Devido às características dos RSSF e por serem sistemas massivamentedistribuídos, os experimentos com dispositivos reais são caros e muitodemorados, em alguns casos se tornam impraticáveis. (XVE, et. al.¸ 2007) Essadificuldade trouxe a necessidade de desenvolver simuladores para queprotocolos e arquiteturas desenvolvidas em pesquisas pudessem ser previamentetestadas e avaliadas. Essa necessidade existe porque a implantação e construçãode arquiteturas em nós sensores reais é difícil e consome muito tempo erecursos. Após essa avaliação preliminar com simuladores, esses protocolos e

6

Page 9: Monografia

arquiteturas podem ser implantado e avaliados em RSSF reais, com nós sensoresfísicos.

Existem vários simuladores de redes de computadores (não apenasRSSF) disponíveis atualmente. Muitos desses simuladores suportam a simulaçãode rede sem fio e ab hoc, permitindo que sejam usados para simular RSSF. Essessimuladores são complexos e simulam desde o meio físico de comunicação(cabo, ar, entre outros) até as características de software e hardware dos nós darede, como baterias, rádios de comunicação, sensores e pilhas de protocolos.

Dentre os diversos simuladores de redes disponíveis atualmente pode-sedestacar alguns importantes. O ns3? (CONSORTIUM, 2013) é um simulador deredes escrito em C++ e Python muito popular no meio acadêmico. Ele éprincipalmente utilizado para simulações de rede sem fio, o que contempla ouniverso do RSSF. O ns3 é um software gratuito e de código fonte aberto (OpenSource), o que incentiva a sua utilização em pesquisas.

7

Page 10: Monografia

3. Metodologia

A presente seção detalha a metodologia utilizada na execução desteestudo. Serão apresentados todos os detalhes do framework, contemplando ostrês módulos que compõem a ferramenta.

3.1. Tipos de pesquisa

O framework é um sistema que trabalha inserido no contexto de umaRSSF. A ideia é: uma cópia do middleware proposto é instalado e executado emtodos os nós sensores da RSSF. Este middleware possui uma máquina virtualcapaz de interpretar scripts escritos em uma determinada linguagem. Essesscripts são programas que escrevem em alto nível o ciclo de trabalho dos nóssensores da RSSF. Esse ciclo de trabalho pode variar conforme as característicasindividuais de cada nó sensor, como posicionamento geográfico, variáveis doambiente e variáveis de controle interno do nó sensor.

O middleware deve ser implementado em linguagens de programaçãoespecíficos para programação de nós sensores. Ele deve prover uma máquinavirtual que interpreta a linguagem de script especificada e deve controlar osaspectos de hardware dos nós sensores. Dessa forma o projetista é abstraído dosaspectos específicos de cada nó sensor e pode se preocupar apenas os aspectosglobais da RSSF, mesmo que a rede seja heterogênea em termo de hardware dosnós sensores.

3.2. Procedimento metodológico

O primeiro passo é trabalhar com o problema de detecção de eventos(PDE). Visa comunicar um nó concentrador de informações (nós Sink) aocorrência de um determinado evento em alguma região do RSSF.

Este nó concentrador de informação normalmente é uma central demonitoramento de uma região. Essa central recebe informação da RSSF eprecisa ser notificada caso o evento sobre monitoramento seja detectado.

Nesse tipo de problemas, as RSSF tem algumas caraterística comuns,por exemplo:- A rede fica “parada” (sem enviar informações entre nós) realizando mediçõesperiódicas no ambiente.- Quando um determinado comportamento no ambiente é detectado, um eventoocorre.- A detecção do evento gera uma mensagem que deve ser enviada até o nó Sink,comunicando a ocorrência do evento.

Este é o comportamento padrão de uma aplicação que visa solucionarum problema de detecção de eventos através a RSSF. Existem vários problemas

8

Page 11: Monografia

reais que seguem esse padrão de comportamento de problemas de detecção deeventos.

A detecção de incêndios é um problema clássico desse tipo. Um rede desensores é espalhada por uma região, esses sensores fazem medições constantes,se temperatura e pressão do seus arredores. Quando a temperatura e pressãochegam em valores determinados, é disparado um evento que indicaprovavelmente o que está ocorrendo naquela área. Essa informação deve serencaminhada até o nó sink, que pode ser um computador e/ou uma central demonitoramento na região.

9

Page 12: Monografia

4. Resultados e discussões

Com intuito de avaliar o framework proposto alguns experimentos, foramrealizados para avaliar a capacidade da feramenta de gerar aplicações para RSSFde forma automatica. Para isso foi implementado um gerados de instancias detestes e posteriormente um benchmark de instâncias de testes para realizar osexperimentos.

4.1. Gerador de instâncias

Um gerador de instâncias foi criado para gerar diferentes RSSF que representemo PDE. Este gerador de instâncias recebe uma configuração de parâmetro quededuz quais características as instâncias que serão geradas devem possuir.4.2. Instâcias de teste criadas (Benchmark)

Para avalir o desemprenho da abordagem proposta, oito instâncias de testesforam criadas ultilizando o gerador de instâncias desenvolvido. Esse benchmarkfoi criado pois, não existe na literatura um conjunto de instâncias similare paraque os experimentos fosse realizados. Cada instância de teste representa umaRSSF para solucionar o PDE, onde cada nó sensor da rede possui outrasinformações como qual nó da RSSF é nó sink, quais nós da rede detectará umevento durante a simulação, o alcance de transmissão sem fio dos nós sensores eo número total de nós na rede Dentre estas oito instâncias com dois tipos detopologia, em grade(grid) e topologia randômica.

4.3 Analize de dados

Para avaliar o framework desenvolvido, este foi executado para solucionar asoito instâncias descritas na seção 4.2. O método desenvolido foi executado 10vezes em cada uma das instâncias de teste e os valores médios obtidos sãoconsiderados nas análizes que seguem. A utilização de um valor médio de váriasexecuções nas análizes é essencial, uma vez que a PG é um método estocástico epode fornecer diferentes soluções quando executada mais de uma vez com osmesmos parâmetros. Além disso, a análise de valores médios serve tambémcomo uma análise de estabilidade do método proposto.

Todos os experimentos aqui reportados foram realizados emcomputadores idênticos. Esses computadores possuem cada um deles, umprocessador Core 2 Duo 2,66GHz, 2 GB de memória RAM e executam nosistema operacional Gentoo Linux 64bits.O framework foi implementado utilizando a linguagem de programação C++ ecompilado atravéz do GNU cross compiler (GCC).

10

Page 13: Monografia

5 Conclusão

O presente estudo propõe o desenvolvimento de um framework que seja capazde gerar aplicações para RSSF que seja capaz de gera aplicações para RSSF deforma automatizada. Esta ferramenta foi desenvolvida em três módulos que secomplementam, um simulador de RSSF, um middleware para RSSF que provêuma linguagem de script para descrever aplicações e um módulo deprogramação genética (PG).

O middleware proposto gerencia os recurso de hardware dos nóssensorea de RSSF e fornece funcionalidades pré-programados para os usuários.Ele também possui uma máquina virtual capaz de interpretar scripts de controleescritos em uma linguágem pré-definida.O módulo de simulação é utilizado para realizar a avaliação dos programasgerados de forma automatizada pelo método de PG. A PG utiliza um algorítimoevolutivo para gerar programas descritos nessa linguagem de script.

A junção desses três modulos forma um framework para que projetistasda RSSF possam gera aplicações para diferentes problemas de formaautomatizada basta o projetista definir uma função objetivo que descreva oproblema que ele quer tratar com a RSSF e o framework se encarrega de gerarum script de controle que soluciona este problema com uma boa performace.

11

Page 14: Monografia

REFERÊNCIAS

BAECK, T.; FOGEL, D.; MICHALEWICZ, Z. Handbook ofevolutionary computation. New York: Taylor and Francis, 1997. 1130 p.Dispon ıvel em: <http://books.google.com.br/books?id=n5nuiIZvmpAC>. Acesso em: 10 dez. 2013.

BHONDEKAR, A. P. et al. Genetic algorithm based node placementmethodology for wireless sensor networks. In: INTERNATIONALMULTICCONFERENCE OF ENGINEERS AND COMPUTERSCIENTISTS, 2009, Hong Kong. Proceedings... Hong Kong: IEEE,2009. 1 CD-ROM.

CONSORTIUM, N. The network simulator (ns-3). Dispon ıvel em: <http://www.nsnam.org/>. Acesso em: 20 dez. 2013.

GROSSMANN, J.; SARAIVA, F. J. Graphical Network Simulator(GNS3). Dispon ıvel em: <http://www.gns3.net/>. Acesso em: 20 dez. 2013.

GRUBI. GRUBIX Simulator. Dispon ıvel em: <http://asteroide.dcc.ufla.br/ grubi/grubix/>. Acesso em: 20∼dez. 2012.

GUO, W.; ZHANG, W. A survey on intelligent routing protocols in wirelesssensor networks. Journal of Network and Computer Applications,London, v. 38, p. 185-201, Feb. 2014.

HANSMANN, U. et al. Pervasive computing. New York: Springer,2003. 448 p.

OHTANI, K.; BABA, M. A smart optical position sensor withgenetic programming technique. In: INSTRUMENTATION ANDMEASUREMENT TECHNOLOGY CONFERENCE, 2005, Ottawa.Proceedings... Ottawa: IEEE, 2005. v. 2, p. 1166-1171.

12