OTAVIO NEVES LARA
PROGRAMAÇÃO GENÉTICAAPLICADA À
GERAÇÃO AUTOMATIZADA DE
APLICAÇÕES PARA REDES DE SENSORES
SEM FIO
LAVRAS ...
Monografia apresentada ao Colegiado do
Curso de Ciência da Computação, para a
obtenção de título de Bacharel em
Ciência da...
SUMÁRIO
1 INTRODUÇÃO ….............................................................................. 06
1.1 Contextualizaç...
RESUMO
A programação de redes de sensores sem fio (RSSF) é uma tarefa
complexa devido à Programação em Linguagens de baixo...
find optimal solutions for the event detection problem for WSN grid.
Topology and to find satisfactory solutions for WSN w...
1. Introdução
Aqui falaremos como se organiza o trabalho para produção de RSSF e a
motivação para produção dos mesmos incl...
- Desenvolvimento de uma linguagem script que permita a descrição de
aplicações para RSSF.
- Desenvolver de um middleware ...
2. Referencial teórico
Nesse capítulo mostrarei s referenciais para pesquisa e explicarei de acordo com
alguns autores o m...
arquiteturas podem ser implantado e avaliados em RSSF reais, com nós sensores
físicos.
Existem vários simuladores de redes...
3. Metodologia
A presente seção detalha a metodologia utilizada na execução deste
estudo. Serão apresentados todos os deta...
reais que seguem esse padrão de comportamento de problemas de detecção de
eventos.
A detecção de incêndios é um problema c...
4. Resultados e discussões
Com intuito de avaliar o framework proposto alguns experimentos, foram
realizados para avaliar ...
5 Conclusão
O presente estudo propõe o desenvolvimento de um framework que seja capaz
de gerar aplicações para RSSF que se...
REFERÊNCIAS
BAECK, T.; FOGEL, D.; MICHALEWICZ, Z. Handbook of
evolutionary computation. New York: Taylor and Francis, 1997...
Próximos SlideShares
Carregando em…5
×

Monografia

245 visualizações

Publicada em

Monografia resumo de disssertação

Publicada em: Ciências
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
245
No SlideShare
0
A partir de incorporações
0
Número de incorporações
71
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Monografia

  1. 1. OTAVIO NEVES LARA PROGRAMAÇÃO GENÉTICAAPLICADA À GERAÇÃO AUTOMATIZADA DE APLICAÇÕES PARA REDES DE SENSORES SEM FIO LAVRAS – MG 2014 OTAVIO NEVES LARA PROGRAMAÇÃO GENÉTICAAPLICADA À GERAÇÃO AUTOMATIZADA DE APLICAÇÕES PARA REDES DE SENSORES SEM FIO
  2. 2. Monografia apresentada ao Colegiado do Curso de Ciência da Computação, para a obtenção de título de Bacharel em Ciência da Computação. PROF. ANDRÉ LUIZ ZAMBALDE LAVRAS – MG 2014
  3. 3. SUMÁRIO 1 INTRODUÇÃO ….............................................................................. 06 1.1 Contextualização e motivação ........................................................... 06 1.2 Problemas e objetivos …..................................................................... 06 1.3 Estrutura da Monografia . ................................................................ 06 2 REFERENCIAL TEÓRICO ............................................................. 08 2.1 Referencial básico …........................................................................... 08 2.2 Referencial relacionado....................................................................... 08 3 METODOLOGIA …........................................................................... 10 3.1 Tipo de pesquisa .................................................................................. 10 3.2 Procedimento metodológico ............................................................... 10 4. RESULTADOS E DISCUSSÕES ….................................................. 12 4.1 Gerador de instâcias ........................................................................... 12 4.2 Instâcias de teste ...................... …...................................................... 12 4.3 Análize de dados.................................................................................. 12 5 CONCLUSÃO …................................................................................. 13 6 REFERÊNCIAS ...................................................................................14
  4. 4. RESUMO A programação de redes de sensores sem fio (RSSF) é uma tarefa complexa devido à Programação em Linguagens de baixo nível e à necessidade de uma aplicação distinta para cada sensor. Além disso, sensores sem fio possuem grandes limitações de hardware, como baixo poder de processamento, pouca memória e limitação energética. Portanto a programação automática de RSSF é desejável, uma vez que pode-se contemplar essas dificuldades automaticamente, além de economizar em custos, pois elimina a necessidade de se alocar um Programador para programar a RSSF. A geração automática de códigos-fonte por RSSF utilizando programação genética foi pouco estudada na Literatura até o momento. A programação genética se mostrou promissora na geração de códigos em diversas áreas de aplicação. Dessa forma, o presente estudo propõe o desenvolvimento e a aplicação de algoritmos evolutivos para gerar e evoluir códigos-fonte que solucionam problemas de RSSF. O objetivo é que os algoritmos evolutivos desenvolvidos sejam capazes de resolver problemas distintos de RSSF de forma correta e com uma eficiência satisfatória. Os resultados obtidos mostram que a ferramenta é capaz de solucionar de maneira ótima o problema de Detecção de eventos para RSSF com topologia randô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 vez que a programação automática de RSSF reduz consideravelmente a mão de obra humana. ABSTRACT The wireless sensor networks (WSN) programming is a complex task dive to the low-level programming languages and the need of a specific application for each sensor. Furthemore, wireless sensors have many hardware. Limitations such as slow processing power small memory and energic limitations. Hence, the automatic Programming of WSNs is desirable since it com automatically address these difficulties, besides saving costs by eliminating the need to alocate a developer to program the WSN. The automatic code gerenation for WSNs using genetic programminghas been poorly studied in literatures so for the genetic programming has proved to be promising in code generation for many application área. This study proposes the development and application of evolutinary algorithms to generate source codes that salve WSNs problems. The developed evolutinary algorithms should be able to solve different problems as WSNs correctly and satsfactory efficiency the obtained results show that the proposed. Framework is able to find optimal solutions for the event detection. Problem fom WSN with gird to
  5. 5. find optimal solutions for the event detection problem for WSN grid. Topology and to find satisfactory solutions for WSN with randomized topology. Thus, this study brings many contribuitions to the WSN arco since the automatic programming of WSNs drastically reducestre human programming effort.
  6. 6. 1. Introdução Aqui falaremos como se organiza o trabalho para produção de RSSF e a motivação para produção dos mesmos incluindo materiais que servem de base para 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 de processamento, 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 sua utilização. Além disso, existem várias limitações e dificuldades no projeto de uma RSSF, como a programação de baixo nível dos nós sensores, especificidade do comportamento de cada nó sensor, entre outras questões que afetam sistemas massivamente distribuídos. As RSSF são muito versáteis. Além do custo de implantação relativamente reduzido, elas possibilitam o monitoramento e o mapeamento de regiões de alto risco. Pode-se utilizar RSSF para monitoramentos sismográficos em vulcões e monitoramento de temperatura e pressão em plataformas petrolíferas e de regiões hostis (Yang, 2010). Apesar da versatilidade das RSSF, a programação da rede é uma tarefa complexa. A aplicação deve ser desenvolvida e customizada para cada nó sensor da rede, uma vez que o comportamento de cada nó depende de fatores específicos como posição geográfica, estado do nó, função do sensor, entre outras. Essa heterogeneidade das RSSF torna o processo do desenvolvimento e da programação dos nós uma tarefa árdua. 1.2. Problemas e objetivos O objetivo geral do presente trabalho é desenvolver um framework capaz de gerar, de forma automática, o código fonte de aplicações para RSSF. Esse framework é composto por três camadas: Um simulador de RSSF, um middleware que provê uma linguagem script de alto nível para programação de aplicações para RSSF e um método baseado em programação genética para gerar automaticamente aplicações para este middleware. 1.3. Estrutura da Monografia O projeto foi divido em algumas partes: 4
  7. 7. - 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
  8. 8. 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 que tem crescido muito nos últimos anos. As RSSF são compostas por dispositivos eletrônicos (nós sensores) independentes que possuem capacidade de comunicação sem fio (wireless). Os nós sensores possuem capacidade de processamento computacional, comunicação sem fio, sensores que são capazes de realizar medições no ambiente e atuadores que podem interagir com o meio ambiente. 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 e sensoriamento 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ós sensores cooperem entre si através de comunicação sem fio, para que consigam alcançar o objetivo da RSSF. 2.2. Referencial relacionado Devido às características dos RSSF e por serem sistemas massivamente distribuídos, os experimentos com dispositivos reais são caros e muito demorados, em alguns casos se tornam impraticáveis. (XVE, et. al.¸ 2007) Essa dificuldade trouxe a necessidade de desenvolver simuladores para que protocolos e arquiteturas desenvolvidas em pesquisas pudessem ser previamente testadas e avaliadas. Essa necessidade existe porque a implantação e construção de arquiteturas em nós sensores reais é difícil e consome muito tempo e recursos. Após essa avaliação preliminar com simuladores, esses protocolos e 6
  9. 9. arquiteturas podem ser implantado e avaliados em RSSF reais, com nós sensores físicos. Existem vários simuladores de redes de computadores (não apenas RSSF) disponíveis atualmente. Muitos desses simuladores suportam a simulação de rede sem fio e ab hoc, permitindo que sejam usados para simular RSSF. Esses simuladores 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 da rede, como baterias, rádios de comunicação, sensores e pilhas de protocolos. Dentre os diversos simuladores de redes disponíveis atualmente pode-se destacar alguns importantes. O ns3? (CONSORTIUM, 2013) é um simulador de redes escrito em C++ e Python muito popular no meio acadêmico. Ele é principalmente utilizado para simulações de rede sem fio, o que contempla o universo do RSSF. O ns3 é um software gratuito e de código fonte aberto (Open Source), o que incentiva a sua utilização em pesquisas. 7
  10. 10. 3. Metodologia A presente seção detalha a metodologia utilizada na execução deste estudo. Serão apresentados todos os detalhes do framework, contemplando os três módulos que compõem a ferramenta. 3.1. Tipos de pesquisa O framework é um sistema que trabalha inserido no contexto de uma RSSF. A ideia é: uma cópia do middleware proposto é instalado e executado em todos os nós sensores da RSSF. Este middleware possui uma máquina virtual capaz de interpretar scripts escritos em uma determinada linguagem. Esses scripts são programas que escrevem em alto nível o ciclo de trabalho dos nós sensores da RSSF. Esse ciclo de trabalho pode variar conforme as características individuais de cada nó sensor, como posicionamento geográfico, variáveis do ambiente e variáveis de controle interno do nó sensor. O middleware deve ser implementado em linguagens de programação específicos para programação de nós sensores. Ele deve prover uma máquina virtual que interpreta a linguagem de script especificada e deve controlar os aspectos de hardware dos nós sensores. Dessa forma o projetista é abstraído dos aspectos específicos de cada nó sensor e pode se preocupar apenas os aspectos globais da RSSF, mesmo que a rede seja heterogênea em termo de hardware dos nó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) a ocorrência de um determinado evento em alguma região do RSSF. Este nó concentrador de informação normalmente é uma central de monitoramento de uma região. Essa central recebe informação da RSSF e precisa 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ções periódicas no ambiente. - Quando um determinado comportamento no ambiente é detectado, um evento ocorre. - 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 solucionar um problema de detecção de eventos através a RSSF. Existem vários problemas 8
  11. 11. reais que seguem esse padrão de comportamento de problemas de detecção de eventos. A detecção de incêndios é um problema clássico desse tipo. Um rede de sensores é espalhada por uma região, esses sensores fazem medições constantes, se temperatura e pressão do seus arredores. Quando a temperatura e pressão chegam em valores determinados, é disparado um evento que indica provavelmente o que está ocorrendo naquela área. Essa informação deve ser encaminhada até o nó sink, que pode ser um computador e/ou uma central de monitoramento na região. 9
  12. 12. 4. Resultados e discussões Com intuito de avaliar o framework proposto alguns experimentos, foram realizados para avaliar a capacidade da feramenta de gerar aplicações para RSSF de forma automatica. Para isso foi implementado um gerados de instancias de testes e posteriormente um benchmark de instâncias de testes para realizar os experimentos. 4.1. Gerador de instâncias Um gerador de instâncias foi criado para gerar diferentes RSSF que representem o PDE. Este gerador de instâncias recebe uma configuração de parâmetro que deduz 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 testes foram criadas ultilizando o gerador de instâncias desenvolvido. Esse benchmark foi criado pois, não existe na literatura um conjunto de instâncias similare para que os experimentos fosse realizados. Cada instância de teste representa uma RSSF para solucionar o PDE, onde cada nó sensor da rede possui outras informações como qual nó da RSSF é nó sink, quais nós da rede detectará um evento durante a simulação, o alcance de transmissão sem fio dos nós sensores e o número total de nós na rede Dentre estas oito instâncias com dois tipos de topologia, em grade(grid) e topologia randômica. 4.3 Analize de dados Para avaliar o framework desenvolvido, este foi executado para solucionar as oito instâncias descritas na seção 4.2. O método desenvolido foi executado 10 vezes em cada uma das instâncias de teste e os valores médios obtidos são considerados nas análizes que seguem. A utilização de um valor médio de várias execuções nas análizes é essencial, uma vez que a PG é um método estocástico e pode fornecer diferentes soluções quando executada mais de uma vez com os mesmos parâmetros. Além disso, a análise de valores médios serve também como uma análise de estabilidade do método proposto. Todos os experimentos aqui reportados foram realizados em computadores idênticos. Esses computadores possuem cada um deles, um processador Core 2 Duo 2,66GHz, 2 GB de memória RAM e executam no sistema operacional Gentoo Linux 64bits. O framework foi implementado utilizando a linguagem de programação C++ e compilado atravéz do GNU cross compiler (GCC). 10
  13. 13. 5 Conclusão O presente estudo propõe o desenvolvimento de um framework que seja capaz de gerar aplicações para RSSF que seja capaz de gera aplicações para RSSF de forma automatizada. Esta ferramenta foi desenvolvida em três módulos que se complementam, um simulador de RSSF, um middleware para RSSF que provê uma linguagem de script para descrever aplicações e um módulo de programação genética (PG). O middleware proposto gerencia os recurso de hardware dos nós sensorea de RSSF e fornece funcionalidades pré-programados para os usuários. Ele também possui uma máquina virtual capaz de interpretar scripts de controle escritos em uma linguágem pré-definida. O módulo de simulação é utilizado para realizar a avaliação dos programas gerados de forma automatizada pelo método de PG. A PG utiliza um algorítimo evolutivo para gerar programas descritos nessa linguagem de script. A junção desses três modulos forma um framework para que projetistas da RSSF possam gera aplicações para diferentes problemas de forma automatizada basta o projetista definir uma função objetivo que descreva o problema que ele quer tratar com a RSSF e o framework se encarrega de gerar um script de controle que soluciona este problema com uma boa performace. 11
  14. 14. REFERÊNCIAS BAECK, T.; FOGEL, D.; MICHALEWICZ, Z. Handbook of evolutionary 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 placement methodology for wireless sensor networks. In: INTERNATIONAL MULTICCONFERENCE OF ENGINEERS AND COMPUTER SCIENTISTS, 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 wireless sensor 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 with genetic programming technique. In: INSTRUMENTATION AND MEASUREMENT TECHNOLOGY CONFERENCE, 2005, Ottawa. Proceedings... Ottawa: IEEE, 2005. v. 2, p. 1166-1171. 12

×