Home
Relatório Final
Contents
1. rea 13 5 3 Estrutura do Agente MuhdoO sites paaieiaiaioa lotto sasidnaioenaanaarisaSSLE nado dada nie daNinRv Ra 13 5 4 Comunica o entre Agentes aii AD E RO ia lies a 14 6 Detalhes de Implementa o sas snes brnasa id ado fada Td OU A 16 6 1 Detalh doagente BULA ai ae CA E a EE EEE 17 6 2 Detalhes da implementa o do Mundo sssssssssesoseesesossessseesresssossessseeseeessessses 23 6 3 Detalhes da implementa o da interface gr fica re 25 6 4 Detalhes da classe AgenteBehaviour java cs e ereeeerereereeaeeanos 26 6 5 Detalhes da classe MundoBehaviour java sssssssssssesessseseessesereseseeesessessessessessesse 27 6 6 Detalhes de Implementa o das fun es de actualiza o de valores 28 7 Ambiente de desen Vol IMENta asia pess aa dad CU SA ia e 30 EC ONCIUSAO queridas co RR ad Cb a 30 9 Melhoramento Sir elama a a 31 tO Bibliografia Soinin A DR T A 32 ECOS SATO ris ne a a E e a T E E a 32 ANXOS a aaa AE TE E CA O R 33 As Manual do utilizador onoi a e e 33 Janela principali sasa nerea e a Ca 33 Janela d cria o de A gEntes estaca ida ii die e EE E a E ia 34 B Exemplo de uma execu o e senesessesseeosresssessessresrotssisseresossressrossessereseessressess 36 Cria o do grafo de caminhos ssseessssseesesseesesseseeesesressesreesesreesesressessessesseseeesesrees 36 Coloca ao da LOI DII AEE AAEE A E E E T ua dna 36 Coloca o de agente
2. o das ac es consiste em identificar todas as inten es com base nessas identifica es s o seleccionadas as ac es que possibilitam satisfazer as inten es Finalmente para cada uma destas rela es calculado um factor num rico que fica associado a cada ac o No final calcula se a ac o que tem o maior somat rio de factores num ricos e essa a seleccionada Os factores num ricos t m em conta o tipo de inten o a distancia ao motivo da inten o e a idade da cren a que fundamenta a inten o Esse factor num rico tem ainda em conta o valor de aventureirismo de cada agente Ou seja um agente aventureiro arrisca mais em certo tipo de ac es que outros De seguida descrita a estrutura de uma ac o String accao No onde Vector factores accao Determina a ac o poss vel que um determinado agente pode ter Para os tr s tipos de agentes existem dois tipos de ac o ACCAO ANDAR Uma ac o pode ser andar para uma determinada posi o ACCAO PARADO Uma ac o pode ser ficar parado quem Determina a posi o associada ac o Ou seja se for uma ac o de andar diz para onde e se for parado especifica a posi o actual 13 de Dezembro de 2002 Vers o 1 0 22 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI factores Local onde se guardam os factores num ricos que permitem seleccionar a melhor ac o No final o agente e
3. oamento do comportamento dos agentes Existem muitas formas que podiam ser usadas para implementar a intelig ncia do agente nomeadamente recorrendo a m todos de Intelig ncia Artificial Desta forma os melhoramentos mais importantes deveriam estar relacionados com o aperfei oamento dos agentes BDI nomeadamente na forma como este procede selec o da ac o Um melhoramento bvio o da interface gr fica Este n o era o principal objectivo deste trabalho por isso a interface aqui apresentada bastante simples e n o implementa algumas funcionalidades que seriam importantes nomeadamente a possibilidade de o utilizador incluir altera es ao mundo apenas pelo acr scimo de caminhos e agentes ap s o os agentes estarem a executar Este trabalho n o inclui coopera o entre os agentes desta forma seria interessante implement la Essa coopera o seria feita entre agentes do mesmo tipo Por exemplo se existissem v rios agentes bons cada agente que visse um agente monstro comunicaria o aos restantes agentes bons passando esta informa o a fazer parte das cren as do agente que as recebe se Processos semelhantes seriam implementados nos restantes agentes Com uma estrutura deste tipo poderia se complicar o sistema mais um pouco introduzindo um factor de cren a entre os agentes Ou seja um agente que recebe uma informa o de um determinado agente do mesmo tipo avalia se acredita muito ou pouco nesse agente Essa ava
4. M dulo Agentes Este m dulo implementa os agentes BDI logo constitu do por quatro classes AgBom AgEnergia AgMonstro e Agente A classe Agente define propriedades comuns aos tr s tipos de agentes BDI Estas classes ser o detalhadas seguidamente Agente Esta classe especifica um conjunto de funcionalidades e caracter sticas comuns aos tr s tipos de agentes Algumas dessas caracter sticas s o os 13 de Dezembro de 2002 Vers o 1 0 9 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI tipos de Cren as e de Ac es pois estas s o comuns a todos os agentes ainda especificada a escala de Energia que os v rios agentes podem ter As funcionalidades que aqui s o disponibilizadas permitem aos agentes construir e actualizar as suas Cren as permitem ainda manter e actualizar a mem ria do mundo que um Agente j viu relembre se aqui o facto de que um agente tem um raio de ac o que lhe permite ver apenas parcialmente o mundo desta forma progressivamente constru da uma representa o do mundo na mem ria do Agente Outra funcionalidade aqui implementada permite encontrar todos os Caminhos existentes entre duas posi es do mundo podendo assim o agente saber quais todas as hip teses que tem em determinado momento para alcan ar certo objectivo Existe ainda a funcionalidade que permite a um agente saber quais s o todas as ac es que em certa altura pode tomar o AgBom AgEnergia
5. ao agente mundo possibilitando assim visualizar todas as mensagens de interac o com ele No sistema foi introduzido um agente BDI representado na 3 pelo nome agente1 A primeira mensagem 0 do tipo INFORM e representa a indica o que o mundo d ao agente dos seus par metros iniciais Ou seja esta mensagem constitu da por um conceito AgenteConceito que est inclu do na Ontologia Salienta se aqui que o agente mundo quem lan a os restantes agentes e depois lhes manda a esta mensagem com os seus par metros iniciais Seguidamente o agente responde com uma mensagem do tipo QUERY REF esta mensagem representa o pedido por parte do agente das suas percep es Esta mensagem constitu da por um conceito ObtemPrecepcoes inclu do na ontologia A mensagem n mero 2 significa a mensagem de confirma o AGREE que o mundo manda ao agente significa que seguidamente lhe vai passar a informa o pedida 13 de Dezembro de 2002 Vers o 1 0 14 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI Esta informa o o conte do da mensagem n mero 3 que uma percepcao Esta uma mensagem de preformativa INFORM A mensagem n mero 4 de preformativa REQUEST representa o pedido que o agente faz ao mundo para que este actualiza a interface gr fica Este pedido feito ap s o agente ter tomado a decis o sobre a ac o a tomar Seguidamente o mundo manda ao agent
6. deve possibilitar que estes tipos de agentes coabitem O sistema deve disponibilizar uma interface gr fica constru da usando a linguagem Java que possibilite ao utilizador definir o mundo onde os agentes habitaram e onde seja poss vel visualizar as ac es dos agentes Ver gloss rio 13 de Dezembro de 2002 Vers o 1 0 3 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI Deve ser poss vel tamb m atrav s da interface gr fica poder especificar as propriedades e criar agentes 1 4 Estrutura do Documento Este relat rio est dividido em sec es em que a primeira se dedica descri o do problema Seguidamente apresenta se as funcionalidades implementadas O ponto seguinte especifica a divis o em m dulos do programa utilizado sendo aqui descrito cada um dos m dulos implementados 2 Descri o do Problema implementado Este trabalho pretende fazer uma implementa o de agentes definidos segundo a arquitectura BDI Os agentes devem poder deslocar se por um conjunto de caminhos que constituem um grafo Existe tamb m uma fonte que serve como objectivo aos agentes bons O conjunto de caminhos e fonte constitui o mundo este deve ser disponibilizado pelo utilizador Neste sistema existem tr s tipos diferentes de agentes os agentes monstro os agentes energia e os agentes bons De seguida feita a sua descri o Agente monstro Este agente deve detectar a exist ncia de agentes
7. e AgMonstro Estas tr s classes complementam a classe Agente definindo se desta forma as caracter sticas e funcionalidades de cada um dos tipos de agentes Como todos os agentes t m a mesma estrutura as funcionalidades s o as mesmas deferindo na sua implementa o Essas funcionalidades permitem a um Agente obter os seus Desejos e as suas Inten es Permitem tamb m seleccionar uma Ac o e execut la Estas classes definem tamb m as propriedades individuais de cada Agente como os seus Desejos e o tipo de Inten es que lhe est o associados Definem ainda a escala de medo Bom e a escala de c lera Monstro Estas classes implementam ainda as funcionalidades que permitem registar a Ontologia do agente e a linguagem SLO Este registo efectuado no pr prio Agente definindo assim quais as suas caracter sticas ao n vel de vocabul rio conhecido e qual a forma como codifica as mensagens 4 3 M dulo Interface Gr fica Este m dulo implementa a interface do sistema com o utilizador A interface assenta numa janela principal que abre uma vez carregado o m dulo mundo Atrav s desta interface o utilizador pode construir um mundo criando caminhos agentes e colocando uma fonte ou pode carregar a estrutura dum mundo previamente 13 de Dezembro de 2002 Vers o 1 0 10 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI guardado Para a cria o dos agentes existe um componente do m dulo exclusivament
8. o 1 0 37 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI EM Novo Agente p amp Novo Agente Em TheGame E Agente Agente Figura 14 Coloca o dos agentes no mundo Execu o Movimento dos agentes em direc o ao seu objectivo a fonte 13 de Dezembro de 2002 Vers o 1 0 38 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI EM TheGame I x Menu Run Ajuda A Sair salva carrega sel fonte caminho agente A amp amp TheGame Menu Run Ajuda Sair salva carrega sel fonte caminho agente i Pausar Parar A Figura 15 Sequ ncia de execu o do mundo 13 de Dezembro de 2002 Vers o 1 0 39 39
9. o agente deseja fazer algo a exist ncia de um agente energia PORQUE POSSIVEL BOM O motivo pelo qual o agente deseja fazer algo a poss vel exist ncia de um agente bom PORQUE POSSIVEL ENERGIA O motivo pelo qual o agente deseja fazer algo a poss vel exist ncia de um agente energia Agente Energia INTENCAO IR Inten o de ir para uma determinada posi o INTENCAO ALCANCAR Inten o de alcan ar uma determinada posi o INTENCAO ESTAR Inten o de estar numa zona circundante fonte Motivos PORQUE AGENTE O motivo pelo qual o agente deseja tomar certa atitude deve se a exist ncia de um agente bom ou monstro numa determinada posi o 13 de Dezembro de 2002 Vers o 1 0 21 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI PORQUE POSSIVEL AGENTE O motivo pelo qual o agente deseja tomar certa atitude deve se poss vel exist ncia de um agente bom ou monstro numa determinada posi o PORQUE FONTE O motivo que leva um agente a tomar certa atitude a exist ncias da fonte numa de terminada posi o O passo seguinte permite ao agente o seleccionar a ac o que vai executar Para seleccionar a ac o o agente come a por obter todas as ac es que pode realizar estas consistem em deslocar se para um n adjacente ou por ficar parado A selec o da ac o feita tendo em conta um conjunto de factores num ricos Desta forma o processo de selec
10. primeira vez depois de correr a aplica o interrompe a execu o pressionado uma segunda vez resume a execu o 11 Parar termina a execu o n o implementado Janela de cria o de agentes Tipo Agente Bom ai Nome lagente 1 x Propriedades Raio de Vis o 100 Coeficiente 10 Cancelar Ok mig 11 Figura 11 Janela de cria o de agentes 13 de Dezembro de 2002 Vers o 1 0 34 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI Na figura 11 acima est representada a janela que apresentada ao utilizador sempre que um agente colocado no mundo Rc O 10 11 Tipo Nesta caixa de texto define se o tipo de agente que se vai introduzir Nome Nesta caixa de texto insere se o nome do agente a criar Raio de Vis o Valor que define o raio de vis o de um agente Posi o n mero meramente informativo de onde se vai colocar o agente n o implementado Alegria Inicial Valor de alegria inicial do agente que pode variar entre 0 e 100 Medo Inicial Activo apenas no caso do agente ser do tipo Bom este n mero define o valor do medo que o agente ter no in cio Coeficiente Medo Activa apenas no caso do agente ser do tipo Bom esta barra de deslizamento define o valor do coeficiente de medo do agente que pode variar entre 0 e 100 C lera Inicial Activo apenas no caso do agente ser do tipo Mons
11. Engenharia Inform tica e Computa o Faculdade de Engenharia FEUP Agentes e Intelig ncia Artificial Distribu da Sociedade de agentes baseados em arquitecturas BDI Relat rio Final Vers o 1 0 Carlos Figueiredo ei99030 afe up pt Jos Lu s Silva e19901 6 Dfe up pt Vitor Pinto e199036 Dfe up pt Turma 1 13 de Dezembro de 2002 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI ndice Geral E Introdu o 280 Raia RT Ae E oO a ATA a RO SR A O e Ro a A 3 PAL Caio Erro oia TES O SPD PARAR ARDER CR ASR E E RN E 3 EBSZA NAO Hds Toi O PRA PRE RV OR RR RD e E NR 3 ES OBJETIVOS assina REEE craniano OE 3 1 4 Esta do Doce qd dean ua E ET OR E E E E E A 4 2 Descri o do Problema implementado cn e eeeeerereeerereereererereeeento 4 3 Funcionalidade S o Snein nda a GATA E E n 5 4 Estr tura do Programa dn E SR NA 69 AET 6 4 RSS SADO Ontologiderssnnnsemdan e RM MONTE RR S 7 42 MOCOCA CONES cora e bien RATE SEG AP 9 4 3 M dulo Interface Gr fica e senseeseeeseseeeseseesseseessesressessessesstsreesesrresesreesesseeseeseesees 10 AA Modulo Mundo neren e ip E E E O E A EE eEG 11 4 5 Modulo Behaviours reirei eneee eare E a a aa aa e Sa Ee Dad 11 5 Esquemas de Representa o de Conhecimento e Metodologia s ssssssssssessssseseessesee 12 5 1 Estrutura dos Agentes BDP ee iinis di na linaN er e otse a E aE 12 5 2 Estrutura interna do Mundo no Agente BDI
12. NTENCAO IR Inten o de ir para uma determinada posi o INTENCAO FUGIR Inten o de fugir de uma determinada posi o INTENCAO EVITAR Inten o de evitar uma determinada posi o INTENCAO ALCANCAR Inten o de alcan ar uma determinada posi o Motivos PORQUE MONSTRO O motivo pelo qual o agente deseja fazer algo a exist ncia de um agente monstro PORQUE FONTE O motivo pelo qual o agente deseja fazer algo a exist ncia da fonte PORQUE ENERGIA O motivo pelo qual o agente deseja fazer algo a exist ncia de um agente energia PORQUE POSSIVEL MONSTRO O motivo pelo qual o agente deseja fazer algo a poss vel exist ncia de um agente monstro 13 de Dezembro de 2002 Vers o 1 0 20 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI PORQUE POSSIVEL ENERGIA O motivo pelo qual o agente deseja fazer algo a poss vel exist ncia de um agente energia Agente Monstro INTENCAO IR Inten o de ir para uma determinada posi o INTENCAO ALCAN AR Inten o de alcan ar uma determinada posi o INTENCAO ESTAR Inten o de estar numa zona circundante fonte INTENCAO APANHAR Inten o de apanhar um agente bom que se encontra em determinada posi o Motivos PORQUE BOM O motivo pelo qual o agente deseja fazer algo a exist ncia de um agente bom PORQUE FONTE O motivo pelo qual o agente deseja fazer algo a exist ncia da fonte PORQUE ENERGIA O motivo pelo qual
13. Windows 2000 Professional e Intel Pentium 733 MHz com 512 ou 128 Mb de mem ria Tam A plataforma utilizada foi o JADE 8 Conclus o Uma das maiores dificuldades que surgiram durante a realiza o deste projecto prende se com a plataforma Jade nomeadamente por esta n o auxiliar a cria o de agentes BDI desta forma toda a estrutura destes agentes teve de ser desenvolvida Verificou se que um dos behaviours OneShotBehaviour n o funciona de acordo com o descrito na API Esta defici ncia atrasou bastante o desenrolar do trabalho uma vez que s depois de termos a estrutura do behaviourBDI feita que detectamos o problema cuja resolu o passou por alterar a estrutura Do que nos propusemos a fazer ficou por fazer a actualiza o de algumas caracter sticas dos agentes apesar de os m todos estarem implementados n o est o a ser chamados Tivemos dificuldades em registar agentes de diferentes tipos no mesmo mundo Apesar de os agentes serem equivalentes e de conseguirmos ter v rios agentes do mesmo 13 de Dezembro de 2002 Vers o 1 0 30 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI tipo a correr no mundo verificou se que quando inclu amos agentes de diferentes tipos a plataforma bloqueava no registo dos agentes 9 Melhoramentos O tema proposto neste trabalho bastante rico em poss veis melhoramentos pois um tema que permite a utiliza o da imagina o para o aperfei
14. a las Para conseguir isso recorre se a um behaviour disponibilizado na framework JADE denominado ReceiverBehaviour Como este behaviour tem apenas como finalidade esperar por uma mensagem sem usar busy wating foi necess rio usar outro behaviour para tornar c clico o processo de espera de mensagens O behaviour 13 de Dezembro de 2002 Vers o 1 0 27 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI usado est implementado na classe MundoBehaviour java e entende a classe da framework JADE CiclicBehaviour A troca de mensagens envolvendo a consulta das percep es processa se respeitando o protocolo FIPA QUERY 9 A troca de mensagens relativas ao pedido de actualiza o da interface segue o protocolo FIPA REQUEST 9 A plataforma JADE tem behaviours que implementam os protocolos mencionados mas porque n o houve sucesso no uso dessas funcionalidades implementamos esses protocolos nesta classe FIPA Query Protocol FIPA Request Protocol Initiator Participant if Q query ref f refused refused agree agree agreed and agreed and notification necessary notification necessary failure inform t f inform inform done inform query if inform result inform query ref inform result inform Figura 9 Protocolos FIPA REQUEST PROTOCOL e FIPA QUERY PROTOCOL 6 6 Detalhes de Implementa o das fun es de actualiza o de valores 13 de Dezembro de 2002 Ve
15. agente energia num dado ponto exist ncia de uma cren a no monstro com idade zero DESEJO FONTE O agente deseja alcan ar a fonte pois sabe a sua posi o 13 de Dezembro de 2002 Vers o 1 0 18 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI DESEJO EVITAR O agente deseja evitar uma determinada posi o pois sabe que l viu um agente monstro anteriormente exist ncia de uma cren a no monstro com idade superior a zero DESEJO ALCANCAR O agente deseja alcan ar uma determinada posi o pois sabe que l viu um agente energia anteriormente exist ncia de uma cren a no agente energia com idade superior a zero Agente Monstro DESEJO ENERGIA O agente deseja obter energia porque sabe que existe um agente energia num dado ponto exist ncia de uma cren a no monstro com idade zero DESEJO APANHAR O agente deseja apanhar porque conhece a posi o de um agente bom exist ncia de uma cren a no agente bom com idade zero DESEJO ALCANCAR BONS O agente deseja alcan ar uma determinada posi o pois sabe que l viu um agente bom anteriormente exist ncia de uma cren a no agente bom com idade superior a zero DESEJO ESTAR O agente viu a fonte e deseja estar nas suas imedia es pois sabe que a ela tenderam a convergir os agentes bons DESEJO ALCANCAR ENERGIA O agente deseja alcan ar uma determinada posi o pois sabe que l viu um agente energia anteriormente exist ncia de uma
16. aseados em Arquitecturas BDI 6 1 Detalhe do agente BDI O agente inicializa a execu o de um ciclo pedindo ao mundo as percep es Estas representam aquilo que esse agente est a visualizar nesse momento ou seja tudo o que est no seu raio de visualiza o Uma percep o tem a seguinte estrutura Vector agentesBom Vector caminhos Vector agentesEnergia Vector agentesMonstro Fonte fonte Vector caminhos Inclui todos os caminhos que o agente v salienta se aqui que apenas s o inclu dos os caminhos dos quais vis vel a origem e o destino ou seja o caminho em toda a sua exist ncia agentesBom Inclui todos os agentes Bons que est o no raio de vis o do agente agentesEnergia Inclui todos os agentes Energia que est o no raio de vis o do agente agentesMonstro Inclui todos os agentes Monstro que est o no raio de vis o do agente fonte Inclui a posi o da Fonte caso esta seja vis vel pelo agente Seguidamente o agente executa uma das suas funcionalidades que permite gerar as cren as Esta funcionalidade come a por pegar nas cren as antigas e incrementa lhes a idade Existe um valor pr definido que especifica a validade das cren as desta forma cren as que atinjam um valor de idade superior validade deixam de ser consideradas Existe uma excep o ao que foi dito esta prende se com a fonte dado que esta est tica uma cren a na sua exist ncia num determinado sitio sempre v lida Se
17. bons e de agentes energia dentro do seu campo de vis o Este valor pr especificado Este agente deve detectar quais os caminhos mais pr ximos para onde se pode movimentarem A sua movimenta o deve ter em conta a sua localiza o actual orienta o e as ultimas posi es dos agentes bons Existe um valor de c lera que aumenta quando este agente consegue visualizar algum agente bom e decrementa quando este n o se encontra no seu campo de vis o Existe outro valor associado a este agente que a alegria este relaciona se directamente com a dist ncia aos agentes bons O agente tem um valor de energia que decresce quando este se movimenta e aumenta quando v um agente energia O valor de energia reposto quando o agente entra em contacto com um agente energia O objectivo deste agente maximizar a sua alegria e minimizar a sua c lera 13 de Dezembro de 2002 Vers o 1 0 4 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI mantendo sempre valores para a sua energia aceit veis pois caso a sua energia seja negativa o agente morre Agente bom O objectivo principal deste tipo de agentes alcan ar a fonte Dentro do seu campo de vis o este agente capaz de detectar os agentes monstro e os agentes energia para alem da fonte Deve ainda detectar os caminhos mais pr ximos para onde se deve movimentar tendo em considera o a sua posi o actual ori
18. cren a no agente energia com idade superior a zero Agente Energia DESEJO APANHAR O agente deseja alcan ar uma agente bom ou monstro pois eles necessitam de aumentar a sua energia e desta forma o agente energia aumenta a sua alegria exist ncia de uma cren a na exist ncia de agentes com idade igual a zero DESEJO ALCANCAR APANHAR O agente deseja alcan ar uma agente bom ou monstro pois eles necessitam de aumentar a sua energia e desta forma o agente energia aumenta a sua alegria exist ncia de uma cren a na exist ncia de agentes com idade superior a zero DESEJO ESTAR O agente viu a fonte e deseja estar nas suas imedia es pois sabe que a ela tenderam a convergir os agentes bons e monstros 13 de Dezembro de 2002 Vers o 1 0 19 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI Ap s este processo de obten o dos desejos o agente cria as suas inten es Estas s o geradas a partir das cren as e dos desejos String nome String porque Vector parametros nome representa a defini o da inten o porque representa o motivo que leva a que um agente opte por cwerta inten o parametros guarda parametros que ser o necess rio quando se tiver de optar por uma ac o nomeadamente a posi o e a idade da cren a que d o origem inten o Seguidamente apresentam se as v rias inten es poss veis que podem ser geradas para cada agente Agente Bom I
19. des iniciais do agente e ENVIA GET PERC Envia mensagem ao mundo com pedido de consulta das percep es do agente e ESPERA PERC Este estado espera uma resposta ao pedido de consulta das percep es do agente e CICLO BDI Executa o ciclo caracter stico da arquitectura BDI Ver figura 2 e ENVIA ACTUALIZA Envia mensagem ao mundo com pedido de actualiza o da interface gr fica e ESPERA ACTUALIZA Espera por uma resposta ao pedido de actualiza o da interface gr fica e DORMINDO Espera que lhe seja enviada uma mensagem com pedido de Acordar 13 de Dezembro de 2002 Vers o 1 0 26 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI Para uma melhor compreens o da forma como funciona um agente com este comportamento apresenta se em seguida o diagrama de estados Se o mundo respondeu com Failiure Not Understood ou Request Exit Request Pausa Q Inform Ref Ciclo BDI Inform Done Espera Actualiza Se o mundo respondeu com i Failiure Not Understood ou Request Exit Ou o agente atingiu o objectivo Ou o agente ficou sem energia Request Acordar Request Pausa Dormindo Figura 8 diagrama de estados do comportamento dum agente BDI 6 5 Detalhes da classe MundoBehaviour java Esta classe define o comportamento do mundo A fun o principal do comportamento esperar mensagens vindas dos agentes sem usar busy wating e despach
20. e dedicado a obter do utilizador as diversas propriedades do agente No m dulo interface est o tamb m implementados componentes que permitem comunicar com o m dulo mundo criando assim a possibilidade de ordenar uma execu o do mundo pausa la quando for necess rio e visualizar em tempo real a movimenta o dos agentes 4 4 M dulo Mundo Este m dulo o primeiro a ser carregado quando se inicia a aplica o da sua responsabilidade iniciar a plataforma e posteriormente a interface gr fica Sendo este o m dulo central da aplica o tem implementado funcionalidades para comunicar com interface ordenar plataforma que crie agentes e responder a mensagens vindas dos agentes criados A comunica o com a interface tem como objectivo inicial obter uma estrutura para o mundo e posteriormente manter uma visualiza o das altera es do estado do mundo A troca de mensagens uma vez que c clica est implementada num behaviour especial Mais detalhes sobre a comunica o mundo interface mundo plataforma e a forma como o mundo escuta as mensagens dos seus agentes s o descritos na sec o Detalhes da Implementa o 4 5 M dulo Behaviours Este m dulo engloba todos os comportamentos de cada um dos tipos de agentes da aplica o Existem fundamentalmente dois tipos de agentes distintos os agentes com arquitectura BDI e o mundo AgenteBehaviour Imp e que um agente com este tipo de comportamento siga rigorosame
21. e uma mensagem de preformativa AGREE que significa que o mundo vai executar o pedido Esta mensagem seguida pela mensagem n mero 6 de preformativa INFORM que indica ao agente a execu o do pedido A mensagem n mero 7 um novo pedido de percep es esta mensagem d in cio a um novo ciclo semelhante ao definido pelas mensagens 1 a 6 13 de Dezembro de 2002 Vers o 1 0 15 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI sniffer00iDico2018 8888 JADE Sniffer Agent Actions About A SMN feia M AgentPlatforms 01c02018 8888 JADE EM Main Container 6 rmagiDicozo18 46 m i01c02018 84 Ea o 6 d i01c02018 8414 2 ds IE sniffero i01co2l 4 46 sniffero on Main 5 E af agente DIDI 3 E E ORM 15 218 f dpv REF ae Er 11 12 13 14 15 16 17 18 19 INFORM 99 44213 No Message Figura 3 Exemplo de uma execu o da comunica o entre agentes usando a funcionalidade Sniffer 6 Detalhes de Implementa o Toda aplica o assenta na plataforma JADE Esta fornece as bases para a comunica o entre agentes e execu o concorrente de agentes um agente por thread Dentro dum agente a plataforma tamb m se encarrega de executar v rios comportamentos de forma concorrente 5 13 de Dezembro de 2002 Vers o 1 0 16 39 AIAD Relat rio Final Sociedade de Agentes B
22. e viu no seu raio de vis o No ponto seguinte este conceito ser analisado com maior pormenor Desejo Esta classe representa os Desejos que os Agentes podem ter com base naquilo que em certa altura t m nas suas Cren as Tamb m este conceito ser analisado com maior pormenor seguidamente 13 de Dezembro de 2002 Vers o 1 0 8 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI o Fonte Esta classe representa o conceito de fonte basicamente esta representa o apenas feita pelo N onde a fonte se situa Intencao Esta classe representa as Inten es que um determinado Agente pode ter em determinada altura Tamb m este conceito ser detalhado mais frente No Um No representa uma posi o no mundo esta constitu da por um par de coordenadas x y ObtemPrecepcoes Esta classe implementa o conceito de uma fun o que permite ao Agente pedir ao Mundo as percep es que est a ver Basicamente este conceito constitu do por um Agente e por uma Percep o Ontologia Esta classe permite construir a Ontologia de acordo com 4 e registando na ontologia os conceitos que constituem este m dulo Precepcao Esta classe define uma Percep o que representa aquilo que o agente v em determinada altura Posicao Uma posi o uma estrutura de dados usada para a representa o que o agente faz do mundo Numa fase posterior retornaremos a este tema 4 2
23. enta o da interface gr fica A interface gr fica est implementada na classe MundoGUI java Esta classe derivada da classe da Framework JDK JFrame java Tem no entanto um construtor diferente que recebe uma refer ncia para um objecto inst ncia da classe Mundo java Este ser utilizado para enviar eventos ao mundo que est a correr num thread diferente private void iniciarActionPerformed java awt event ActionEvent evt if mundo null 13 de Dezembro de 2002 Vers o 1 0 25 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI if this cmundo getAgentes size gt 0 GuiEvent ev new GuiEvent null mundo INICIA ev addParameter this cmundo mundo postGuiEvent ev Figura 8 m todo iniciarActionPerformed Na figura 8 poss vel ver o m todo que ordena ao mundo que inicie a sua execu o passando lhe como par metro um objecto com a representa o do mundo tal como especificado na ontologia 6 4 Detalhes da classe AgenteBehaviour java Esta classe define o comportamento de todos os agentes com arquitectura BDI A arquitectura BDI bastante complexa e como a plataforma JADE n o a suporta directamente houve necessidade de adaptar um dos behaviours da plataforma o behaviour CyclicBehaviour Um agente com este comportamento est num de seis estados poss veis e INICIAL espera pela mensagem com as proprieda
24. enta o e as ultimas posi es conhecidas do agente monstro Estes agentes t m um valor de medo associado que proporcional dist ncia ao agente monstro Existe tamb m um valor de alegria que varia de forma oposta ao seu medo Este agente tamb m tem um valor de energia que em tudo id ntico ao valor correspondente do agente monstro Este agente deseja maximizar a sua alegria e minimizar o medo Agente energia Este agente t m conhecimento dos ltimos caminhos percorridos e capaz de detectar quais os caminhos mais pr ximos para se movimentar Tem um valor associado de alegria que aumenta quando este consegue incrementar o valor de energia dos outros agentes 3 Funcionalidades A nossa aplica o implementa v rias funcionalidades Sendo uma sociedade de agentes o utilizador que execute a aplica o ter a hip tese de criar agentes e o mundo onde eles se movimentam Em rela o cria o de agentes o utilizador tem sua disposi o tr s tipos de agentes Monstro Bom e Energia Ao criar um agente do tipo Monstro o utilizador poder definir para esse agente caracter sticas comuns a todos os agentes como a posi o que este vai ter no mundo o seu raio de vis o e o valor da sua alegria inicial Al m destas caracter sticas comuns a todos os agentes o agente monstro tem a particularidade de poder ser definido para ele um valor inicial de c l
25. entam os objectivos que o agente pode satisfazer em determinada altura As inten es representam a forma como o agente pode satisfazer cada desejo estas s o geradas de acordo com as cren as e os desejos O passo seguinte possibilita gerar as ac es que uma agente pode efectuar e pela selec o da que melhor se adequa as inten es obtidas Finalmente procede se execu o da ac o Posteriormente voltaremos a detalhar esta estrutura Baseada em acetatos de apoio as aulas de AIAD Prof Eug nio Oliveira 13 de Dezembro de 2002 Vers o 1 0 12 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI Cren as antigas tamb m s o tidas em conta 7 Gera Inten es Acaba a Execu o do Agente Doo y Executa Ac o Figura 2 Estrutura dos Agentes BDI implementados 5 2 Estrutura interna do Mundo no Agente BDI Como j foi dito cada agente guarda internamente a estrutura do mundo Dado que o agente n o conhece o mundo completamente devido ao seu raio de vis o esta estrutura interna tem de ser actualizada em cada itera o do agente com base nas percep es recebidas Desta forma cada agente vai construindo um grafo na sua mem ria Optou se por esta representa o para assim ser poss vel ao agente deslocar se em todas as direc es sem perder informa o sobre aquilo que j viu A implementa o em grafo foi aqui adoptada pois possibilita a ad
26. era e um coeficiente de aventureiro que utilizado para 13 de Dezembro de 2002 Vers o 1 0 5 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI especificar o comportamento do agente face a determinadas situa es de decis o Para este agente pode ser definida a quantidade de energia inicial que ele possui Ao criar um agente do tipo Bom o utilizador poder definir todas as caracter sticas comuns a todos agentes que foram descritas no par grafo acima assim como a caracter stica espec fica dos agentes Bom que o valor do seu medo inicial e um factor de medo que como no agente Monstro influencia a pr xima ac o do agente O valor inicial de energia deste agente pode tamb m ser definida Um agente do tipo Energia apenas tem as caracter sticas b sicas comuns a todos os agentes com a pequena excep o de que a sua energia ilimitada n o podendo ser definido o valor inicial da sua energia Em rela o cria o do mundo o utilizador poder definir caminhos atrav s de n s por onde os agentes se v o movimentar Depois de se ter o grafo constru do o utilizador poder colocar nos n s v rios agentes dos tr s tipos definidos acima sendo ainda obrigado a colocar num dos n s uma e uma s fonte sem a qual o programa n o funcionaria Depois de criado o mundo o utilizador poder ainda salvar o mesmo podendo depois carreg lo noutra ocasi o Tendo
27. gia dos agentes um m todo igual para o agente Bom e Monstro O m todo recebe o agente que vai ser actualizado e uma posi o actual do agente e outra para onde se ir deslocar A dist ncia entre os dois n s calculada formando um peso que utilizado numa fun o para calcular quanta energia gasta nesse movimento ActualizarMedo m todo que actualiza o medo de determinado agente Bom Sendo um valor que varia inversamente em rela o alegria a fun o calculada a mesma mas enquanto a alegria varia directamente com a dist ncia o medo varia inversamente com a dist ncia AcualizarC lera m todo que actualiza a c lera de determinado agente Monstro Sendo um valor que varia inversamente em rela o alegria a fun o 13 de Dezembro de 2002 Vers o 1 0 29 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI calculada a mesma mas enquanto a alegria varia inversamente com a dist ncia a c lera varia directamente com a dist ncia 7 Ambiente de desenvolvimento O nosso projecto foi desenvolvido utilizando a linguagem JAVA usando como IDE o JCreator Pro da Xinox Software e JDK 1 4 como livrarias de suporte linguagem Java O trabalho foi realizado utilizando os recursos inform ticos disponibilizados pela faculdade As caracter sticas dos computadores empregues para o desenvolvimento de todo o c digo da aplica o s o e Sistema Operativo
28. guidamente a este processo s o criadas as novas cren as com idade zero A estrutura de uma cren a a seguinte String quem No onde 13 de Dezembro de 2002 Vers o 1 0 17 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI int quando quem Representa em que se baseia a cren a onde Representa a posi o onde quem existe ou existiu quando Representa a idade da cren a Seguidamente v o ser apresentadas as cren as existentes poss veis no campo quem no programa e que s o comuns a todos os agentes CRENCA AGTBOM Representa uma cren a na exist ncia de um agente bom CRENCA AGTMONSTRO Representa uma cren a na exist ncia de um agente monstro CRENCA AGTENERGIA Representa uma cren a na exist ncia de um determinado agente energia CRENCA FONTE Representa uma cren a que se baseia na exist ncia da fonte Ap s este processo de gera o de cren as os agentes executam a gera o de desejos estes t m como base as cren as que o agente tem Seguidamente apresenta se a estrutura de um desejo String nome nome Representa a descri o do desejo De seguida apresentam se os tipos de desejos que cada agente pode ter Agente Bom DESEJO FUGIR O agente deseja fugir porque conhece a posi o de um agente monstro exist ncia de uma cren a no monstro com idade zero DESEJO ENERGIA O agente deseja obter energia porque sabe que existe um
29. lia o poderia ser feita com base na import ncia da informa o recebida anteriormente desse agente na tomada das decis es Uma funcionalidade interessante seria a hip tese de o utilizador incluir mais do que uma fonte desta forma complicar se ia a decis o do agente 13 de Dezembro de 2002 Vers o 1 0 31 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI 10 Bibliografia 1 www fipa org S tio web da FIPA 2Ihttp www fe up pt eol PLADISMA ARTIGOS FIPA ACL html FIPA 97 Specification Version 2 0 Part 2 Agent Communication Language 3 http sharon cselt it projects jade Esta a p gina oficial da plataforma JADE onde poss vel encontrar muita documenta o incluindo exemplos tutoriais e o javadoc da API 4 JADE TUTORIAL APPLICATION DEFINED CONTENT LANGUAGES AND ONTOLOGIES Giovanni Caire inclu do na documenta o do Jade 5 JADE PROGRAMMER S GUIDE Fabio Bellifemine Giovanni Caire Tiziana Trucco Giovanni Rimassa inclu do na documenta o do Jade 6 Acetatos de apoio s aulas de AIAD Prof Eug nio Oliveira nomeadamente o capitulo 7 acess veis via web a partir de http Awww fe up pt col ALAD aiad0203 html 11 Gloss rio Arquitecturas BDI do ingl s Believes Desires and Intentions este tipo de arquitecturas t m em conta o conjunto definido por objectivos cren as e inten es para definir as ac es que o agente deve
30. nte todos os passos da arquitectura BDI apresentada na figura 2 Permite tamb m ao agente comunicar com o mundo Existe tamb m a possibilidade de primeiramente iniciar a plataforma e a partir desta iniciar o mundo 13 de Dezembro de 2002 Vers o 1 0 11 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI o MundoBehaviour Caracteriza o comportamento do mundo O seu nico objectivo estar constantemente a escutar mensagens vindas dos agentes BDI A troca de mensagens entre o mundo e os agentes BDI feita recorrendo a protocolos especificados pela FIPA 1 conforme descrito na sec o Detalhes da Implementa o 5 Esquemas de Representa o de Conhecimento e Metodologia Esta sec o pretende especificar os esquemas de representa o de conhecimento utilizados E tamb m feita a descri o processos de racioc nio dos agentes e da comunica o entre agentes 5 1 Estrutura dos Agentes BDI Este trabalho implementa agentes baseados na Estrutura BDI Esta estrutura apresenta se na figura 2 e utilizada nos tr s tipos de agentes existentes De seguida feita a descri o da figura Um agente BDI come a por obter as percep es que representam o conjunto de objectos que em determinada altura um agente visualiza no mundo Com base nestas percep es s o constru das as cren as as cren as existentes tamb m s o inclu das Com base nas cren as s o gerados os desejos que repres
31. o mundo e os agentes criados o programa autom tico executando os agentes as suas tarefas O utilizador pode ainda fazer uma pausa na execu o podendo depois esta continuar 4 Estrutura do Programa Esta sec o pretende introduzir a estrutura do trabalho atrav s da descri o dos m dulos que constituem os trabalhos Como vis vel na figura 1 este trabalho constitu do por seis m dulos estes s o Ontologia Agentes GUI Behaviors Mundo que foram desenvolvidos usada a plataforma JADE representada na figura 1 pela classe Jade De seguida feita uma descri o dos m dulos 13 de Dezembro de 2002 Vers o 1 0 6 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI A A man AgenteBehaviour MundoBehaviours ReceverBehaviou Accao AgMonstro D AgenteBom Interface Gr fica AgenteConceito AgenteMonsiro Figura 1 Diagrama de m dulos do programa 4 1 M dulo Ontologia Este m todo pretende implementar um conjunto de conceitos usados pelo programa definindo desta forma uma Ontologia de acordo com 4 Estes termos s o usados pelos restantes m dulos nomeadamente na troca de mensagens De seguida feita uma pequena descri o das classes que constituem este componente sendo dado maior relevo aos termos mais relevantes para o trabalho 13 de Dezembro de 2002 Vers o 1 0 7 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitectu
32. op o de algoritmos j conhecidos para encontrar caminhos entre dois n s nomeadamente o algoritmo de Djikstra 5 3 Estrutura do Agente Mundo 13 de Dezembro de 2002 Vers o 1 0 13 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI O agente mundo tem uma estrutura n o inteligente este limita se apenas a criar os agentes e a responder aos pedidos efectuados por estes Este agente tem uma representa o de si pr prio atrav s do conceito CMundo presente na ontologia Este conceito especifica os caminhos conceito Caminhos existentes a fonte conceito Fonte e os agentes conceito AgenteConceito que est o presentes no mundo Quando um agente toma uma decis o comunica a ao agente mundo para que este possa proceder actualiza o do seu mundo Seguidamente este agente procede actualiza o da interface gr fica 5 4 Comunica o entre Agentes Como j foi referido neste sistema existe comunica o entre os agentes BDI e o agente mundo Esta comunica o permite ao agente obter as suas percep es e no fim permite ao mundo saber qual a ac o que o agente executou para assim poder actualizar a interface gr fica A plataforma Jade disponibiliza uma funcionalidade Sniffer que permite visualizar a troca de mensagens entre os agentes Na figura 3 vis vel um exemplo o qual se passa a explicar Cada mensagem representada por uma linha O Sniffer foi associado
33. ras BDI Accao Representa uma ac o que um Agente pode ter Essa ac o identificada por uma string que a especifica e por um No que representa o local ao qual esta associado a ac o Por exemplo se estivermos perante uma ac o que fa a o agente ficar parado este No representa a posi o actual do Agente Agente Conceito Esta classe especifica as propriedades comuns dos tr s tipos de agentes existentes Algumas dessas propriedades s o o seu Nome A sua Alegria o Mundo ao qual pertencem o seu factor de Aventureiro e o seu raio de vis o Agente Bom Agente Monstro e Agente Energia Estas tr s classes complementam Estendem a classe anterior de forma a especificar as caracter sticas individuais de cada tipo de agente Algumas dessas caracter sticas individuais s o Medo Bom Energia Bom e Monstro e C lera Monstro Caminho Esta classe implementa um caminho desenhado pelo utilizador Ao n vel da sua estrutura um caminho consiste em dois N s origem e destino Esta classe tem ainda um valor de Peso que representa a dist ncia entre os dois N s Esta dist ncia utilizada para c lculos de actualiza o de Energia quando o agente atravessa o caminho Cmundo Esta classe especifica as propriedades de um mundo nomeadamente a posi o da Fonte e os Caminhos que o constituem Crenca Esta classe implementa o conceito de uma Cren a do agente Uma Cren a representa algo que um agent
34. rs o 1 0 28 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI Cada agente tem v rios atributos como a alegria relativo a todos energia Bom e Monstro medo Bom e c lera Monstro Aos valores definidos inicialmente na cria o dos agentes s o aplicados m todos que os actualizam estes m todos aplicam certas regras para decrescer ou aumentar esses valores apesar de implementados apenas o m todo que actualiza a energia est a ser utilizado ActualizaAlegria M todo que actualiza a alegria dos agentes Para o agente Bom o m todo recebe o agente a actualizar e um vector de caminhos que levam a um monstro O m todo calcula de entre aqueles caminhos o mais curto e baseado nessa dist ncia utiliza uma fun o que aumenta se a dist ncia for superior a um determinado valor e decresce se for inferior a esse mesmo valor Para o agente monstro o m todo semelhante diferindo em que o vector o dos caminhos que levam a um agente Bom e que para decrescer a alegria a dist ncia ao agente Bom tem de ser superior a um certo valor e para aumentar essa dist ncia tem de ser inferior a esse mesmo valor Para o agente Energia apenas usado um valor booleano para verificar se numa itera o o agente forneceu ou n o energia a uma agente e se sim a sua alegria aumentada em caso contr rio esta decrescida ActualizarEnergia m todo que actualiza a ener
35. s e defini o de seus atributos sssessssees sesser ii 37 EXECU O ss ena e a aE a A A CELT a E EEA AR UT 38 13 de Dezembro de 2002 Vers o 1 0 2 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI 1 Introdu o Nesta sec o faz se uma introdu o ao trabalho aos seus objectivos ao seu enquadramento no mbito da disciplina e motiva o que levou sua implementa o 1 1 Enquadramento O presente documento desenvolvido no mbito da cadeira de AIAD pretende implementar um sistema multi agente Este um dos temas de maior relevo discutidos nesta disciplina pois trata a cria o e a defini o de agentes para alem disso este trabalho tamb m implica a interac o entre agentes feita ainda a descri o dos esquemas de representa o de conhecimento noutra sec o Os detalhes de implementa o mais importantes s o descritos no m dulo seguinte Em anexo inclu do um manual de utilizador e dado um exemplo de execu o 1 2 Motiva o O maior interesse na realiza o deste trabalho prende se com a cria o de um trabalho multi agente e na possibilidade de implementar mecanismos que os tornem inteligentes 1 3 Objectivos Este trabalho pretende implementar um conjunto de agentes baseados na arquitectura BDI O sistema deve utilizar a plataforma JADE 3 para suporte ao desenvolvimento dos agentes Devem existir tr s tipos de agentes diferentes e o sistema
36. setCaminhos m getCaminhos this mundo setAltura m getAltura this mundo setLargura m getLargura this mundo setNos m getNos for i 0 i lt m getAgentes size 1i ag AgenteConceito m getAgentes elementAt i this registaAgente ag 13 de Dezembro de 2002 Vers o 1 0 24 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI break eet Figura 6 Excerto do m todo onGuiEvent do mundo O ltimo m todo que importa salientar na classe Mundo java o m todo registaAgente AgenteConceito ag Recebendo informa o referente a um agente o m todo cria um agente na plataforma inicia o e envia lhe uma mensagem com as suas propriedades contidas na vari vel ag public void registaAgente AgenteConceito ag 2 if ag instanceof AgenteBom guest container createNewAgent localName theGame agentes AgBom null inicia a execu o do agente num thread separado gquest start CERT ag setMundo mundo ag setId new AID localName AID ISLOCALNAM mundo addAgente ag C msg setPerformative ACLMessage INFORM msg setOntology Ontologia NAME msg setLanguage FIPANames ContentLanguage FIPA SLO msg setContentObject ag msg addReceiver ag getId Ra lt send msg ua Figura 7 Excerto do m todo onGuiEvent do mundo 6 3 Detalhes da implem
37. tomar As cren as representam o estado actual enquanto os objectivos e desejos representam informa o sobre o futuro a atingir 13 de Dezembro de 2002 Vers o 1 0 32 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI Anexos A Manual do utilizador Apresenta se nesta sec o um pequeno manual de utiliza o da plataforma gr fica desenvolvida Janela principal Brno RAF Menu Run Ajuda air salva carrega sel fonte caminho agente Iniciar Pausar Parar Figura 10 Janela principal Na figura 10 acima est representado a janela inicial sempre que executada a aplica o 1 rea de desenho Aqui s o colocados o mundo e os agentes 13 de Dezembro de 2002 Vers o 1 0 33 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI 2 Sair Sai da aplica o 3 Salva Ao pressionar este bot o estando um mundo criado este gravado num ficheiro para futuro uso 4 Carrega Carrega o mundo que foi previamente salvo 5 Bot o de selec o permite a selec o de um agente ou caminho j criados podendo depois alterar as suas caracter sticas n o implementado 6 Fonte Coloca num dos n s uma fonte 7 Caminho cria um caminho atrav s de um n de in cio e de fim na rea de desenho 8 Agente coloca um agente num n j criado nova janela 9 In cio corre a aplica o com o mundo e os agentes criados 10 Pausa Pressionado uma
38. tro este n mero define o valor inicial de c lera que o agente ter Coeficiente C lera Activa apenas no caso do agente ser do tipo Monstro esta barra de deslocamento define o valor do coeficiente de c lera do agente que pode variar entre 0 e 100 Cancela Cancela a coloca o do agente Ok Coloca o agente na rea de desenho no n especificado com os valores iniciais especificados 13 de Dezembro de 2002 Vers o 1 0 35 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI B Exemplo de uma execu o Apresenta se de seguida uma sequ ncia de screenshots durante a uma execu o da aplica o Cria o do grafo de caminhos TheGame Menu Run Ajuda Sair salva carrega sel fonte caminho Figura 12 Cria o de caminhos Atrav s do bot o caminho criam se v rios caminhos formando um grafo por onde os agentes se v o deslocar Coloca o da fonte 13 de Dezembro de 2002 Vers o 1 0 36 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI E TheGame Afel x Menu Run Ajuda A Sair salva carrega sel caminho agente A Iniciar Pausar Parar Figura 13 Inclus o da fonte Atrav s do bot o fonte coloca se a fonte num dos n s dispon veis Coloca o de agentes e defini o de seus atributos Atributos iniciais dos dois agentes colocados e os n s onde foram colocados 13 de Dezembro de 2002 Vers
39. undo 13 de Dezembro de 2002 Vers o 1 0 23 39 AIAD Relat rio Final Sociedade de Agentes Baseados em Arquitecturas BDI Outra fun o importante referida na descri o dos m dulos implementada nesta classe a capacidade de arrancar a plataforma a partir da execu o desta classe Esta funcionalidade assegurada no m todo est tico main public static void main String args EN Profile pMain new ProfileImpl null 8888 null MainContainer mc rt createMainContainer pMain AgentController rma mc createNewAgent rma jade tools rma rma new Object 0 inicia o agente visualizador da plataforma rma start AgentController mundo mc createNewAgent m theGame Mundo null inicia o mundo agente mundo start ERS Figura 5 Excerto do m todo main do mundo O m todo respons vel pela leitura dos eventos enviados pela interface o m todo onGuiEvent GuiEvent ev O argumento ev inst ncia da classe GuiEvent tr s informa o sobre o tipo do evento usado para diferenciar os diferentes comandos vindos da interface gr fica e uma lista de par metros que cada comando requer Em seguida est um extracto da fun o onde recebido um pedido de execu o do mundo protected void onGuiEvent GuiEvent ev switch ev getType case INICIA m CMundo ev getParameter 0 this mundo setFonte m getFonte this mundo
40. xecuta a ac o ou seja se a ac o seleccionada for uma ac o de andar ent o altera a sua posi o se for uma ac o de ficar parado n o faz nada O ciclo de execu o de um agente inicializa se com o pedido ao mundo das percep es No final um agente comunica ao mundo qual a ac o que este proceda actualiza o gr fica 6 2 Detalhes da implementa o do Mundo O mundo implementado na classe Mundo java que uma extens o classe GUIAgent que faz parte da Framework JADE este um agente da plataforma que tem a particularidade de receber eventos vindos duma interface gr fica executando num thread diferente Como todos os agentes JADE tamb m o mundo implementa o m todo setup Este m todo chamado pelo agent container aquando da cria o do agente e faz o registo da ontologia linguagem e dos seus behaviours Ver figura 4 Regista o codec para a linguagem SLO getContentManager registerLanguage new SLCodec FIPANames ContentLanguage FIPA SLO Regista a ontologia usada pela aplica o getContentManager registerOntology Ontologia getInstance lan a a interface gr fica setupGUI comportamento para ler mensagens h ReceiverBehaviour newHandle this addBehaviour new ReceiverBehaviour this h 100000 comportamento para excutar altera es ao estado do mundo this addBehaviour new MundoBehaviour this Figura 4 Excerto do m todo setup do m
Download Pdf Manuals
Related Search
Related Contents
CEADENSoft Visual DataLogger 1.0 Manual del Usuario Manual de Instruções para Instalação do Set Top Box Kawai MP6 Owner`s Manual (Italiano, v1.10) PSM®900 Mots de tête Copyright © All rights reserved.
Failed to retrieve file