Sie sind auf Seite 1von 10

UNIVERSIDADE FEDERAL DE ALAGOAS BACHARELADO EM CINCIA DA COMPUTAO

Francisco Dalton Barbosa Dias Anderson Santos da Silva Anderson Jos de Oliveira

Framework para implementao e simulao de sistema multiagente de cadeia alimentar baseado em componentes

Macei Setembro de 2013

O projeto tem como foco desenvolver uma simulao de um ambiente multiagente que represente uma cadeia alimentar animal. Para isso, foi usado como base o MASON (Multi-Agent Simulator Of Neighborhoods) que uma biblioteca de simulao de agentes em Java. Diversos componentes foram desenvolvidos para funes, tais como: gerao de alimentos, reproduo, coliso, movimentao etc. Por exemplo; cada agente capaz de se reproduzir, seja de forma assexuada ou sexuada. Nessa fase, usado um componente que possui a implementao de algoritmos genticos. Para facilitar o desenvolvimento dos agentes, um pequeno framework, com as caractersticas bsicas do comportamento animal foi desenvolvido, possibilitando assim, que o desenvolvedor foque em apenas introduzir as caractersticas de seus agentes, deixando o comportamento bsico deles a cargo do framework. O desenvolvimento em componentes, juntamente com a utilizao de um pequeno framework, possibilitam um software de alta flexibilidade, com fcil manuteno e evoluo, e ainda, com grande facilidade de implementao, j que um desenvolvedor ter apenas que focar nos hotspots disponveis no framework, tendo assim, um simulador completamente funcional em apenas alguns minutos. O sistema possui funcionamento bem simples. Aps o desenvolvedor implementar o agente, apenas necessrio que o mesmo selecione a classe SmallVilleWithUi e a execute como Java Application. Logo em seguida, duas janelas sero abertas:

Ao apertar no boto de play (circulado em vermelho) ter incio a simulao do ambiente.

As bolinhas pequenas e pretas so alimentos estticos (seriam o equivalente a frutas e vegetais). As bolinhas vermelhas so seres que se alimentam das bolinhas pretas (equivalente a animais herbvoros). As bolas maiores e verdes so seres que se alimentam de outros seres (equivalente animais carnvoros).

O sistema por ser flexvel, no se restringe a apenas essa interpretao do ambiente. Nesse projeto, por exemplo, as instncias recriadas no simulador simulam um microambiente celular, sendo as bolinhas vermelhas representantes de clulas corporais e as bolinhas verdes representam vrus que atacam o sistema.

A arquitetura base do projeto, foi o padro Model-View-Controller (MVC). A seguir, segue uma descrio de alto nvel da arquitetura.

Camada model o SmallVilleModel Classe responsvel por executar a simulao do ambiente e instanciar os agentes. o Agent Pequeno framework onde implementado todo o comportamento base de um animal. Tendo diversos hotspots, permitindo assim uma alta customizao de diferentes agentes. Genetic Components So componentes de uso exclusivo do framework Agent. 1. Chromosome Componente responsvel por realizar o armazenamento e avaliaes referentes a carga gentica do agente. 2. Gene

Componente utilizado para representar individualmente cada caracterstica gentica do agente. Ainda responsvel por realizar as funcionalidades referentes a mutaes genticas do agente. 3. ReproductionController Componente responsvel por realizar todas as funes de procriao dos agentes, ele responsvel por prover reproduo assexuada e sexuada para os agentes. Ainda responsvel por sintetizar cromossomos a partir de genes individuais.

Camada View o SmallVilleModelWithUi Classe responsvel por criar a interface da simulao. Nessa classe possvel criar uma simulao em 2D ou em 3D, dependendo da escolha do desenvolvedor.

Camada Controller o ColisionController Componente responsvel por gerenciar toda a mecnica de colises do ambiente. Tendo ainda a responsabilidade de realizar alguns clculos para os agentes, como por exemplo, clculo de distncia euclidiana entre dois pontos. o FoodController Componente responsvel por gerenciar toda a gerao de alimentos de primeira ordem do ambiente (similar a frutas ou a vegetais). o PopulationController Componente responsvel por gerar populaes inteiras a partir de cromossomos, gerenciar seu posicionamento no mapa e de controlar o envelhecimento dos agentes. o MovementController

Componente responsvel por controlar a movimentao dos agentes no ambiente. Nele so calculadas rotas de movimentao, direo e fuga de predadores dos agentes.

Especificao detalhada do FrameWork Agent O FrameWork Agent possibilita a rpida implementao de novos seres vivos, tais como; animais e clulas. Isso se deve ao fato da classe Agent possuir todo o comportamento bsico de um ser vivo implementado, restando ao desenvolvedor apenas implementar os diversos hotspots presentes na classe, para agregar um alto grau de personalizao a seus novos agentes. Entre os hotspots presentes no framework, esto mtodos para especificar a busca por alimentos, a reproduo, a fuga de predadores e gasto energtico devido a movimentao no ambiente. Na imagem abaixo, possvel notar a grande quantidade de hotspots.

A seguir, segue o diagrama de classes UML referente a todo os componentes necessrios ao framework agente. Nele possvel notar em detalhes as funcionalidades de cada componente.

Figure 1 - Framework Agent

Figure 2 - Implementaes existentes no projeto a partir do FrameWork Agent

Figure 3- Diagrama dos componentes Componentes e Interfaces

Das könnte Ihnen auch gefallen