Uma Abordagem Baseada em Sistemas Multiagente para Aprendizagem de Conceitos de Agentes e Sistemas
Multiagente
Ricardo dos Santos Câmara1, José Francisco de Magalhães Netto1
1Departamento de Ciência da Computação – Universidade Federal do Amazonas (UFAM)
Av. Gen. Rodrigo Otávio, 3.000 Aleixo Minicampus Universitário Bloco N. CEP 69077000 Manaus, AM, Brasil
[email protected], [email protected]
Abstract. This article proposes the use of virtual learning environments based in Multiagent Systems (SMA) for teaching and learning of concepts and development of agents and SMA's. Through this approach can guide the student through some areas of the teaching learning process, initially within the most relevant concepts and the future, interacting with more active with the scenarios that compose the environment.
Resumo. Este artigo propõe a utilização de ambientes virtuais de aprendizagem baseados em Sistemas Multiagente (SMA) para o ensino e aprendizagem dos conceitos e desenvolvimento de agentes e SMA's. Através desta abordagem é possível guiar o aluno por algumas áreas do processo de ensino aprendizagem, inicialmente, observando os conceitos mais relevantes e, futuramente, interagindo de forma mais ativa com os cenários que compõem o ambiente.
1. IntroduçãoNos dias atuais, a aprendizagem colaborativa com suporte computacional está cada vez mais em foco. Segundo Soller (SOLLER 2005), o número de ferramentas tecnológicas que facilitam o aprendizado colaborativo através do computador vem crescendo consideravelmente nas últimas décadas. Tais ferramentas podem ser utilizadas de forma eficaz, em cursos presenciais ou a distância, para auxiliar no processo de ensino aprendizagem.
Nossa proposta consiste em utilizar ambientes virtuais de aprendizagem (AVA's), construídos sob o paradigma de Sistemas Multiagente (SMA), para possibilitar aos alunos aprender conceitos relativos do desenvolvimento de SMA's, ou seja, a idéia, resumidamente, consiste em utilizar um ambiente virtual povoado por agentes autônomos que ensinam a programação pelo paradigma de SMA.
Analisando as atuais técnicas de desenvolvimento de sistemas, observase que existem fortes tendências, acadêmicas e de mercado, para a utilização da programação orientada a objetos. Netto (NETTO 2006) alerta para o fato de que existe uma falta de hábito na utilização de SMA, já que a atual formação acadêmica e profissional na área computação é bastante influenciada pelo paradigma de orientação a objetos. Corroborando esta afirmativa, observase que existem dificuldades em assimilar as técnicas da programação de Sistemas Multiagente
Motivado por esta dificuldade, nosso artigo propõe um ambiente onde o aluno possa, basicamente, atuar de duas formas:
1. De forma observacional, assimilando os conceitos mais relevantes para o desenvolvimento de SMA's; e
2. Ativamente, onde, após assimilar o paradigma de programação de SMA's, ele seja capaz de interagir com os agentes computacionais, enviando e recebendo mensagens, por exemplo.
No escopo deste artigo, conforme define Wooldridge (WOOLDRIDGE 2002), um agente computacional é caracterizado como um sistema autônomo que busca ou colabora para que metas sejam alcançadas dentro de um ambiente real ou virtual.
O restante do artigo está organizado da seguinte forma: a seção 2 apresenta os trabalhos correlatos; a seção 3, A Proposta. O artigo é finalizado com a seção 4, contendo as conclusões e trabalhos futuros.
2. Trabalhos CorrelatosTendo em vista que até o presente momento não encontramos nenhum trabalho cujo foco seja baseado especificamente em apoiar o aprendizado de Sistemas Multiagente através de ambientes virtuais de aprendizagem construídos sob este paradigma, a busca por trabalhos relacionados foi concentrada na utilização de AVA's que apóiam o ensino e aprendizagem em geral. Neste contexto, os seguintes trabalhos apresentam similaridades com a nossa proposta.
Netto propõe um ambiente virtual de prática e aprendizagem do jogo de xadrez, baseado na tecnologia de Sistemas Multiagente, o qual chama de AVAX (NETTO 2005).
Aqui a comunidade virtual é composta por usuários e agentes heterogêneos, de forma similar a nossa proposta. A principal tecnologia utilizada para implementar o ambiente proposto é o JADE e a comunicação entre os agentes é baseada na FIPA, também de forma similar a este artigo. No AVAX é utilizada uma ontologia para a representação dos conceitos que envolvem o sistema. A Figura 1 ilustra esta ontologia.
Figura 1: Ontologia de domínio da Aprendizagem em Xadrez (NETTO 2005)
Outro trabalho correlato pode ser encontrado na proposta de Lima (LIMA 2004), que explora um sistema tutor inteligente aplicado num ambiente virtual de ensino aprendizagem. Neste ambiente a tutoria consiste em dar suporte e acompanhar o usuário durante um curso a distância, utilizando um agente inteligente que faz uso da técnica de Raciocínio Baseado em Casos.
O objetivo aqui consiste em orientar o aluno no processo de aprendizado, realizando um trabalho de acompanhamento de forma constante, fomentando a troca de experiências entre aluno/tutor e aluno/colegas de turma. A tutoria deve fomentar um processo de aprendizado colaborativo, onde todos os envolvidos contribuem para o crescimento contínuo do grupo como um todo.
Neste trabalho, as FAQ's (perguntas frequentes) são utilizadas como base de conhecimento, podendo ser adaptado a partir do retorno fornecido pelos usuários. A Figura 2 representa este processo.
Figura 2: Acesso e adaptação do modelo de domínio do STI (LIMA 2004)
No que se refere à evolução das pesquisas, dois artigos anteriores merecem destaque. No primeiro, Câmara (CÂMARA 2008a) propõem a utilização do Eclipse, uma IDE para desenvolvimento de sistemas, para programar agentes utilizando as classes que compõem o JADE. Este trabalho consiste, basicamente, em mostrar a integração do Eclipse e JADE.
A Figura 3 mostra esta IDE sendo utilizada para desenvolver e executar agentes.
Figura 3: Utilizando o Eclipse para programar em JADE
Dando continuidade aos experimentos, a proposta seguinte consiste na utilização da linguagem XML para modelar ambientes virtuais que são usados para interações com agentes. Esta abordagem torna possível descrever e gerar ambientes dotados de agentes. O objetivo é que estes cenários sirvam de apoio ao processo de ensino aprendizagem, de diversas formas, podendo, inclusive, ser adotado como técnica para desenvolvimento de Sistemas Multiagente com finalidades didáticas (CÂMARA 2008b). Os modelos XML propostos neste artigo podem ser utilizados para modelar e transformar quaisquer cenários. Na Figura 4 pode ser observado um dos modelos XML abordados no trabalho em questão.
Figura 4: Modelo em XML dos agentes
Após o levantamento de trabalhos relacionados com o tema, constatouse que, embora existam inúmeras propostas de ambientes virtuais aplicados ao ensino das mais diversas áreas, nosso trabalho apresenta uma contribuição na área de Sistemas Multiagente, por se tratar de uma aplicação específica ainda não abordada em outros trabalhos.
3. A PropostaConforme descrito anteriormente, o principal objetivo consiste em utilizar ambientes virtuais dotados de agentes para apoiar o processo de ensino aprendizagem da programação de SMA's.
As principais tecnologias envolvidas neste trabalho são Java e JADE. Obviamente, tecnologias como XML, XSLT, HTML e outras também serão utilizadas, porém, de forma secundária.
O JADE (Java Agent Development Framework) é uma plataforma implementada na linguagem Java que simplifica o desenvolvimento de Sistemas Multiagente (BELLIFEMINE 2007). A Figura 5 apresenta os componentes dessa plataforma:
Figura 5: Relações entre os principais elementos da arquitetura JADE (BELLIFEMINE 2007)
A plataforma é constituída pelo agente, pelo sistema de gestão de agentes (Agent Management System – AMS), pelo pesquisador de diretórios (Directory Facilitator – DF) e pelo sistema de transporte de mensagens (Message Transport System – MTS). O AMS atua como supervisor do acesso e do uso da plataforma e mantém uma lista de identificadores de agentes (AID) e seus estados, disponibilizando, na prática, um serviço de nomes. O DF providencia um serviço semelhante às páginas amarelas, onde um agente pode procurar outros a partir do serviço que eles disponibilizam. O MTS provê a comunicação entre os agentes. Esta comunicação é realizada através da linguagem ACL e pode ser executada por passagem como evento (caso seja entre o mesmo container), RMI (caso seja entre containers da mesma plataforma) ou Protocolo IIOP (caso seja entre plataformas diferentes).
Nossa proposta utiliza ambientes virtuais de aprendizagem para facilitar o entendimento da programação de SMA's, utilizando o JADE como arquitetura para o desenvolvimento dos agentes e ACLFIPA como padrão de comunicação.
Atualmente este ambiente está em desenvolvimento. O aprendizado é fortalecido através da abordagem dos principais conceitos e da interação com os alunos. As seguintes etapas foram concluídas:
1. Inicialmente e de forma opcional, é apresentado um tutorial de configuração local do ambiente. São mostradas as configurações do Java, JADE e é proposta a utilização de um ambiente de desenvolvimento integrado (IDE) para programar os agentes, conforme proposto por Câmara (CÂMARA 2008a). A Figura 3 ilustra esta IDE sendo utilizada para desenvolver e executar agentes.
2. O ambiente possibilita que alguns cenários sejam importados e executados. Estes cenários contém exemplos básicos da programação de SMA, como criação, destruição de agentes e troca de mensagens. As principais tecnologias utilizadas na construção do ambiente são JavaServer Pages (JSP), Applets e Servlets. O primeiro protótipo é executado através de programas escritos em Java.
A Figura 6 representa a troca de mensagens em FIPAACL entre dois agentes, executados de forma concorrente, que pode ser observada através do console. As
mensagens trocadas por ambos podem ser lidas na última linha de cada console abaixo.
Figura 6: Aluno observa troca de mensagens entre agentes
É importante observar que, no caso de aplicações Multiagente reais, os agentes podem estar distribuídos em diferentes máquinas e sistemas operacionais.
3. Após a observação da execução dos cenários, que representa a primeira etapa deste trabalho, o aluno pode passar para a próxima fase e trocar mensagens com os agentes computacionais, por exemplo. Esta evolução indica que foram assimilados os conceitos básicos e entendidos como são trocadas mensagens e construídas ontologias.
As Figuras 7 e 8 ilustram uma mensagem sendo enviada por um aluno e a reação do agente que a recebe, respectivamente.
Figura 7: Envio de mensagem ao agente
Figura 8: Agente reage ao receber mensagem
Através dos conceitos e imagens abordados neste tópico, é possível demonstrar a aplicabilidade de um ambiente virtual de aprendizagem que sirva como apoio para o ensino de programação de Sistemas Multiagente.
4. Conclusões e Trabalhos FuturosA proposta deste trabalho, ainda em desenvolvimento, consiste na utilização de
ambientes virtuais de aprendizagem baseados em Sistemas Multiagente para o ensino do desenvolvimento de Sistemas Multiagente. No ambiente, construído sob o paradigma de SMA, o aluno pode explorar os principais conceitos que envolvem a programação de SMA's, através da observação dos conceitos envolvidos na plataforma e da interação com a comunidade de agentes.
No estágio atual do trabalho, as metas mais relevantes alcançadas foram a criação de um ambiente virtual de aprendizagem baseado em Sistemas Multiagente que facilita o ensino da programação neste paradigma.
Também propomos a modelagem de cenários em XML e a conversão destes modelos para VRML ou X3D, possibilitando, desta forma, que os cenários sejam visualizados de forma gráfica pelos alunos.
Como trabalho futuro, encontrase em fase de pesquisa e implementação de protótipos, um ambiente no qual o usuário possa importar seus próprios cenários na plataforma proposta neste artigo, utilizando a modelagem em XML proposta em trabalho anterior. Ao passar para esta etapa, os principais conceitos de SMA e que envolvem ontologias terão sido explorados.
5. Referências BibliográficasCÂMARA, R.S.; NETTO, J.F.M.. Construindo Agentes Inteligentes com o JADE e
Eclipse. Anais da IV Feira Internacional da Amazônia (IV FIAM), Manaus, 2008a.
CÂMARA, R.S. ; NETTO, J. F. M. ; MAIA, R.J.M . Usando XML para Facilitar o Desenvolvimento de Ambientes de Aprendizagem Baseados em Sistemas Multiagente. In: XIX Simpósio Brasileiro de Informática na Educação, 2008, Fortaleza/CE. XIX SBIE, 2008b.
BELLIFEMINE, Fabio; CAIRE, Giovanni; GREENWOOD, Dominic. Developing multiagent systems with JADE. Editora Wiley, 2007.
LIMA, D. R.; ROSATELLI, M. C.. Um Sistema Tutor Inteligente para um Ambiente Virtual de Aprendizagem. In: WIE, 2004, Florianópolis. WIE, 2004.
NETTO, J.F.M.. Uma Arquitetura para Ambientes Virtuais de Convivência: uma Proposta Baseada em Sistemas Multiagente. Tese de Doutorado, UFES, Vitória, 2006.
NETTO, J. F. M. ; TAVARES, Orivaldo de Lira ; MENEZES, Crediné Silva de . Um Ambiente Virtual para a Aprendizagem de Xadrez. In: Workshop de Jogos Digitais na Educação SBIE 2005, 2005, Juiz de Fora. Anais do XVI Simpósio Brasileiro de Informática na Educação SBIE, 2005.
SOLLER, A., MARTÍNEZMONÉS, A., JERMANN, P., MUEHLENBROCK, M. (2005). From Mirroring to Guiding: A Review of State of the Art Technology for Supporting Collaborative Learning. Journal of Artificial Intelligence in Education, 15 (4), 261290.
WOOLDRIDGE, M. An Introduction to MultiAgent Systems. Inglaterra: Editora John Wiley&Sons, 2002.