You are here

Aulas 14 e 15 - Projetos final - Controlando o WorldServer3D com o LIDA

Por sugestão do Prof.Ricardo recebemos como desafio controlar o WorldServer3D utilizando a arquitetura LIDA.

Esta tarefa nos foi sugerida faltando 15 dias para a deadline de apresentação das atividades no dia 14/07/2015. Por se tratar de uma desafio bastante complexo em função da interface não amigável da arquitetura Lida, fiz algumas tentativas de conseguir criar um caminho próprio para a execução desta tarefa, todas estas mal sucedidas. Daí decidi não investir mais tempo tentando caminhar sozinho e seguir a dica dada pelo próprio Prof.Ricardo de que um aluno da turma anterior havia conseguido executar esta tarefa com sucesso. Por isso dou todo crédito para o aluno Eduardo F. Jucá de Castro (RA 124314) autor de todo código java que agora apresento. Meu trabalho foi fazer as devidas adaptações em função das mudanças no WorldServer3D e no WS3DProxy desde a turma de 2013 até agora. Adotei tal procedimento por entender que apesar da programação java ser importante, o interfaceamento com a arquitetura LIDA tem um caráter especial, daí ter focado meus esforços para entender melhor como funciona esta união AgenteWS3D x Lida.

- Código fonte -

  • Arquivo WebStart do WorldServer3D. Link aqui
  • Arquivo com o código fonte do LidaAgentWS3D desenvolvido no Netbeans 8.0.2, JDK 1.8, ambiente Windows, contendo todos os arquivos XML para a interface com a arquitetura LIDA. Link aqui
  • Arquivo com o código fonte do WS3DProxy contendo as alterações necessárias. Link aqui
  • -Algumas considerações acerca da tarefa de controlar o WorldServer3D através da arquitetura LIDA

    Logo inicialmente, depois do projeto devidamente construído no Netbeans, o primeiro a ser destacado acontece: a simulação não se inicia automaticamente! Ao contrário das outras arquiteturas onde automaticamente o agente iniciava sua prospecção, aqui na Lida tudo fica parado esperando que o botão Start/Stop fosse acionado.

    Figura 1: Apresentação inicial depois da construção do projeto

    Para começar a entender este interfaceamento WS3D x Lida é importante o estudo dos arquivos xml, tal como nos foi ensinado nos vários tutoriais. A figura abaixo mostra o arquivo XML onde indicamos para a arquitetura LIDA o local que contém as propriedades do agente.

    Figura 2: Arquivo lidaConfig.properties.xml

    Dentro do arquivo LidaWS3DAgent.xml logo inicialmente é importante destacar a criação dos módulos Environment e SensoryMemory sinalizando que o código que os controle está nas classes java indicadas. Assim começamos a construir a ponte entre a arquitetura e o código java do WorldServer3D.

    Figura 3: Arquivo LidaAgentWS3D.xml - criação dos módulos Environment e SensoryMemory

    Outro ponto importante a ser destacado ainda no arquivo LidaAgentWS3D.xml são os InitialTasks - figura 4 - pois nesta seção são declarados os sensores que irão controlar o agente.

    Figura 4: Arquivo LidaAgentWS3D.xml - criação dos InitialTasks

    Com os InitialTasks devidamente declarados dentro do LidaAgentWS3D.xml, podemos indicar agora aonde está o código java que os controla. Obedecendo a estrutura da arquitetura LIDA, tal declaração é feita como indicado na figura 5 dentro do arquivo factoryData.xml.

    Figura 5: Arquivo factoryData.xml - criação dos Tasks

    Os demais arquivos XML tiveram sua estrutura inalterada, seguindo o padrão proposto pela LIDA.

    - Conclusões finais -

    Na minha opinião, de todas as arquiteturas que tivemos a oportunidade de estudar neste semestre, a LIDA é, sem dúvida, a melhor no que tange sua proximidade com tudo o que já estudei dos processos cognitivos humanos, contudo apresenta como ponto fraco a complexidade de configuração e estrutura dos arquivos XML.

    Nesta tarefa de controlar o WorldServer3D através do LIDA, frustrou-me o fato de não ter conseguido avançar e criar meu próprio caminho na arquitetura em função do curto tempo que dispunha para dedicar-me a uma melhor compreensão e estudo, contudo o interesse ficou aguçado e irei continuar a estudar o tema.

    Por fim, considero um ponto interessante para uma pesquisa futura a criação de uma estrutura onde a facilidade de programação da arquitetura Clarion conseguisse ser mesclada com a complexidade cognitiva da arquitetura LIDA.

    Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer