Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master
Fetching contributors…

Cannot retrieve contributors at this time

94 lines (81 sloc) 6.833 kB
\chapter{Conclusões}
\label{chap:concl}
O uso de agentes móveis em redes de sensores sem fio traz flexibilidade à rede, uma vez
que os agentes aumentam o dinamismo da rede permitindo a sua rápida reconfiguração. A reconfiguração
dos dispositivos é necessária principalmente em ambientes onde os requisitos mudam
ao longo do tempo, e então reconfigurar a rede dinamicamente permite que as tarefas
que estão sendo executadas em cada nó acompanhem as necessidades impostas pelo meio ou
pela aplicação.
Neste trabalho foi proposta uma arquitetura reconfigurável com agentes móveis sendo
executados tanto em {\it{softwre}} ou em {\it{hardware}}. Esta arquitetura
suporta a comunicação de agentes implementados em {\it{software}} com agentes
implementados em {\it{hardware}} de forma transparente. A arquitetura suporta ainda a migração
destes agentes de forma que um agente pode estar sendo executado em {\it{software}} em uma
plataforma e passar a ser executado em {\it{hardware}} em outra plataforma após a sua
migração.
A utilização do {\it{framework}} Jade permite a comunicação dos agentes implementados
neste trabalho com qualquer outro agente que siga o padrão normatizado pela FIPA. Com
isso, a arquitetura proposta dispõe de agentes que são capazes de serem inseridos
em outros sistemas multi-agente o que torna o sistema mais flexível uma vez
que ele pode ser facilmente acoplado a outras plataformas. O Jade ainda fornece um ambiente
de fácil implementação de
agentes, abstraindo os conceitos dos agentes às classes Java de seu {\it{framework}}.
Os agentes implementados utilizando o Jade comunicam-se com os agentes em {\it{hardware}}
através de uma camada de abstração criada neste trabalho chamada de Wrapper de agentes.
Este Wrapper é responsável por criar a interface necessária para que os agentes
consigam migrar entre {\it{software}} e {\it{hardware}} e ainda permitir a comunicação
entre eles. O Wrapper também é responsável por manter o sincronismo em baixo nível, garantindo
a exclusão mútua de diversos agentes tentando acessar um mesmo dispositivo
em {\it{hardware}}.
A proposta atual contempla o uso do Wrapper em {\it{software}}, entretanto seus
conceitos são extensíveis ao {\it{hardware}}. A implementação do Wrapper em {\it{hardware}}
demanda a implementação da camada de comunicação fornecida pelo Jade bem como todo o protocolo
ACL dentro do FPGA. Este trabalho está propondo o uso do Wrapper em {\it{software}} somente e a
sua implementação em {\it{hardware}} é uma proposta para trabalhos futuros.
Os agentes em {\it{hardware}} são implementados manualmente e não existe nenhum mecanismo
automático para a geração das duas versões de agentes simultaneamente. Este trabalho
não tem o foco em métodos para a criação dos agentes mas sim na criação do ambiente
que propicia o uso de agentes tanto em {\it{software}} quanto em {\it{hardware}} de
forma transparente.
Os resultados dos casos de uso que foram implementados demonstraram a viabilidade
da criação de agentes tanto em {\it{software}} quanto em {\it{hardware}}. Estes agentes
são capazes de se comunicar uns com os outros independente do seu tipo de implementação. A
arquitetura ainda suporta a migração destes agentes de forma que os agentes são capazes
de decidir internamente sobre onde eles vão estar sendo executados, se em {\it{software}}
ou se em {\it{hardware}}.
Este trabalho traz como principal contribuição o estudo da viabilidade da migração de agentes
entre diferentes plataformas de {\it{software}} e de {\it{hardware}}, e também a possibilidade
de comunicação entre estes agentes de forma transparente. Este estudo serve como base para desenvolvimento
de arquiteturas de redes de sensores sem fio e de sistemas multi-agente que queiram utilizar
recursos de {\it{software}} e de {\it{hardware}} concorrentemente. A arquitetura proposta
também é um resultado importante, uma vez que ela contribui para o estado da arte no desenvolvimento
de arquiteturas de redes de sensores sem fio e de sistemas multi-agente. A utilização da arquitetura
proposta neste trabalho por outros sistemas propiciará o uso dos recursos do FPGA para executar
os agentes em {\it{hardware}} mantendo a transparência necessária aos agentes independentemente
da sua natureza.
Existe ainda a possibilidade de expansão deste trabalho e algumas ideias já são vislumbradas
para o curto e médio prazo. A primeira modificação possível é a utilização da programação parcial
do FPGA, que já foi discutida extensivamente ao longo deste trabalho. Isso não foi implementado
devido aos prazos deste trabalho quando então optou-se por em um primeiro momento criar uma base
teórica e prática da arquitetura para depois possibilitar a sua expansão. A programação parcial
trará consigo uma melhoria nos resultados apresentados visto que o tempo de reconfiguração dos
agentes em {\it{hardware}} deverá diminuir consideravelmente, ficando diretamente proporcional
à complexidade do agente implementado em {\it{hardware}}, visto que isso se refletirá no tamanho
do seu {\it{bitstream}}. Esta abordagem ainda trará a possibilidade de reconfiguração de agentes
de forma independente, ou seja, será possível reconfigurar diferentes agentes em {\it{hardware}} sem
que isso afete a execução de outros agentes que estão no FPGA, o que já é feito por alguns
trabalhos mostrados no Capítulo~{\ref{chap:related}} deste trabalho.
Outra possível melhoria é a eliminação do uso de um processador externo ao FPGA. É possível utilizar-se
tanto soluções com processadores implementados em lógica programável, conhecidos como {\it{soft-cores}}, ou
ainda aproveitar núcleos de processadores que já vem embarcados no FPGA, que é o caso do Virtex4 da Xilinx
que contém um núcleo de um PowerPC. Este tipo de abordagem traz novas possibilidades de implementações. Uma primeira
ideia seria fazer o suporte da máquina virtual Java para estes processadores e continuar utilizando-se da
arquitetura do Jade. Caso isso não seja possível, será necessário um novo estudo de implementações de mais baixo
nível do protocolo da FIPA, o que é possível de ser feito utilizando-se um {\it{framework}} chamado
Mobile-C {\cite{MOBILE_C}}. Este {\it{framework}} implementa o protocolo FIPA em uma linguagem de mais
baixo nível eliminando-se a necessidade de utilização de máquinas virtuais nos processadores embarcados.
A arquitetura poderia ser ainda somente em {\it{hardware}}, o que demandaria a implementação
do protocolo FIPA internamente ao FPGA. Isso demandaria o uso de FPGAs com mais recursos pois isso ocuparia
mais espaço na lógica, o que poderia diminuir o espaço disponível para os agentes e então não seria viável
a sus implementação. Este tipo de abordagem demandaria um tempo maior de estudo de implementação também, o que
pode ser fruto de outros estudos que fogem do escopo deste trabalho.
Jump to Line
Something went wrong with that request. Please try again.