7
Uma Abordagem Baseada em Sistemas Multiagente para Aprendizagem de Conceitos de Agentes e Sistemas Multiagente Ricardo dos Santos Câmara 1 , José Francisco de Magalhães Netto 1 1 Departamento 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 69077-000 - 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ção Nos 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, observa-se 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, observa-se que existem dificuldades em assimilar as técnicas da programação de Sistemas Multiagente

Representação de Sistemas Multiagente em Ambientes ... · eficaz, em cursos presenciais ou a distância, para ... apresentado um tutorial de ... virtual de aprendizagem baseado

  • Upload
    ngodang

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Representação de Sistemas Multiagente em Ambientes ... · eficaz, em cursos presenciais ou a distância, para ... apresentado um tutorial de ... virtual de aprendizagem baseado

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 69077­000 ­ 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, observa­se 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,   observa­se   que   existem  dificuldades   em assimilar   as técnicas da programação de Sistemas Multiagente

Page 2: Representação de Sistemas Multiagente em Ambientes ... · eficaz, em cursos presenciais ou a distância, para ... apresentado um tutorial de ... virtual de aprendizagem baseado

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)

Page 3: Representação de Sistemas Multiagente em Ambientes ... · eficaz, em cursos presenciais ou a distância, para ... apresentado um tutorial de ... virtual de aprendizagem baseado

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

Page 4: Representação de Sistemas Multiagente em Ambientes ... · eficaz, em cursos presenciais ou a distância, para ... apresentado um tutorial de ... virtual de aprendizagem baseado

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, constatou­se 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:

Page 5: Representação de Sistemas Multiagente em Ambientes ... · eficaz, em cursos presenciais ou a distância, para ... apresentado um tutorial de ... virtual de aprendizagem baseado

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 ACL­FIPA 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 FIPA­ACL entre dois agentes, executados   de   forma   concorrente,   que   pode   ser   observada   através   do   console.   As 

Page 6: Representação de Sistemas Multiagente em Ambientes ... · eficaz, em cursos presenciais ou a distância, para ... apresentado um tutorial de ... virtual de aprendizagem baseado

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 

Page 7: Representação de Sistemas Multiagente em Ambientes ... · eficaz, em cursos presenciais ou a distância, para ... apresentado um tutorial de ... virtual de aprendizagem baseado

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,   encontra­se  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 multi­agent 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ÍNEZ­MONÉ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), 261­290.

WOOLDRIDGE, M. An Introduction to MultiAgent Systems. Inglaterra: Editora John Wiley&Sons, 2002.