Vous êtes sur la page 1sur 8

Documentao da Implementao do Exerccio Didtico III

por Adriano Mendes Gil 1. Introduo Este trabalho lida com a comunicao entre agentes em um cenrio representando um semforo de trnsito. O objetivo do trabalho , dada as caractersticas deste tipo de problema, simular a reao de um guarda de trnsito em termos de um sistema multiagente utilizando o protocolo FIPA Contract Net, nas seguintes situaes: O sinal est vermelho para os automveis. Um guarda de trnsito observa um automvel ultrapassar o sinal. O sinal est vermelho para os automveis. Um guarda de trnsito observa um motorista parar o carro em cima da faixa de pedestres. O protocol FIP Contract Net se caracteriza por suportar a interao entre agentes em uma negociao competitiva altamente automatizada atravs do uso de contratos. Alm dessa caracterstica, Uma Contract Net permite uma tarefa ser distribuda entre um grupo de agentes. Este protocolo se encaixa perfeitamente nos requisitos de comunicao deste problema, pois ocorre uma negociao entre o guarda de trnsito e o carro, como resultado desta rede de contratos entre os agentes o carro pode ser multado ou no. Posto que estes agentes simulam aes em um mesmo ambiente, foi implementada uma GUI (Graphics User Interface) feita atravs da API Java swing. Todo o cenrio das aes dos agentes passa a ser representado pela GUI. Assim, quando o carro ultrapassa o sinal vermelho, tambm exibido uma animao em 2D correspondente a esta ao.

2. Ambiente Linux Ubuntu 10.04 JDK 6 Eclipse 3.4.2 JADE 4.0 3. Como executar 3.1 Via linha de comando Se o classpath j estiver configurado, pode-se utilizar os seguintes comandos: Inicia a gui do Remote Monitoring Agent (RMA) do JADE (figura 1)
java jade.Boot -gui

Inicializa o EnvironmentAgent (Agente que representa o Ambiente)


java jade.Boot -container -agents env:agents.EnvironmentAgent

Inicializa o MeterMaidAgent (guarda de trnsito) passando como argumento o nome do agente que representa o Ambiente
java jade.Boot -container -agents police:agents.MeterMaidAgent\(env\)

Inicializa o CarAgent, o agente que representa o Carro que passar pelo sinal, utilizando como seu argumento o nome do agente que representa o Ambiente.
java jade.Boot -container -agents car:agents.CarAgent\(env\)

Figura 1: Remote Management Agent GUI 3.2 Via eJade Uma outra opo para executar esta implementao utilizar o plugin para o ambiente Eclipse: eJade. Este plugin consiste em algumas alteraes na perspectiva Java do Eclipse. Como mostra a figura 2, so adicionadas as seguintes funcionalidades ao Eclipse: Boto start JADE, que inicia a RMA do JADE; Boto shutdown JADE que fecha a gui do RMA do jade; A opo Deploy Agent que permite executar o agente dentro de um novo container da plataforma do JADE. A opo Debug Agent que permite executar o agente dentro de um novo container da plataforma do JADE e visualizar as informaes de debug dessa execuo.

Figura 2: Funcionalidades do plugin eJade.

4. Screenshots:

Figura 3: Guarda Iniciando Ronda

Figura 4: Carro entra em cena e se recusa a sair da faixa.

Figura 5: Mensagem do Carro recusando a proposta de recuar.

Figura 6: Messagem do Guarda reagindo a recusa do carro.

Figura 7: Carro alega problemas tcnicos mas multado da mesma forma.

Figura 8: Guarda aplica a multa ignorando a alegao do Carro.

Figura 9: Automvel parou na faixa.