UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INTRODUÇÃO AO PROJETO PROPOSTA DE TCC Túlio Cícero Salvaro de Souza Florianópolis, 07 de julho de 2004. Índice Índice ..................................................................................................................................... 2 1. Apresentação ............................................................................................................... 3 1.1. Entidade ................................................................................................................ 3 1.2. Título ...................................................................................................................... 3 1.3. Autor....................................................................................................................... 3 1.4. Coordenador ......................................................................................................... 3 2. Objetivo ......................................................................................................................... 4 2.1. Tema ...................................................................................................................... 4 2.2. Delimitação do tema / Escopo do Estudo ........................................................ 4 2.3. Objetivos Específicos .......................................................................................... 4 2.4. Motivações e Justificativas ................................................................................. 4 3. Objeto ............................................................................................................................ 6 3.1. Problema ............................................................................................................... 6 3.2. Observações sobre: Técnicas e Ferramentas ................................................ 6 3.3. Observações sobre: Composição e Compreensão do Documento ............ 6 3.4. Simbologia, Convenções Notacionais e Glossário de Termos .................... 7 4. Metodologia de Trabalho / Plano de Trabalho ........................................................ 8 5. Orçamento / Recursos Envolvidos ............................................................................ 9 6. Referências Bibliográficas ........................................................................................ 10 2 1. Apresentação 1.1. Entidade Trabalho irá se realizar na Universidade Federal de Santa Catarina (UFSC), mais especificamente no Departamento de Informática e Estatística (INE). 1.2. Título “Agentes Móveis Inteligentes” 1.3. Autor Este trabalho de conclusão de curso será desenvolvido por Túlio Cícero Salvaro de Souza, aluno do curso de Sistemas de Informação. 1.4. Coordenador Como coordenador do projeto foi escolhido o professor João Bosco Sobral e ficando como membros da banca, participa o professor Dr. Olinto José Varela Furtado e o professor Dr. Jovelino Falqueto. 3 2. Objetivo 2.1. Tema Desenvolvimento de uma aplicação baseado no modelo de Agentes Móveis, isto é, Agentes de Software que se movimentam sobre uma plataforma pré-instalada no ambiente utilizado. A arquitetura utilizada no desenvolvimento será de agentes deliberativos, formalizando o uso dos agentes. A utilização de inteligência artificial está dentro do escopo inicial do projeto. A aplicação desenvolvida em cima desta tecnologia, ainda não foi definida. 2.2. Delimitação do tema / Escopo do Estudo Os limites deste trabalho estão no desenvolvimento de agentes somente da arquitetura deliberativa, ficando qualquer outro de fora. 2.3. Objetivos Específicos Desenvolver, utilizando a linguagem JAVA, uma aplicação de agentes móveis inteligentes utilizando uma arquitetura deliberativa. Deseja-se aprender ainda mais da linguagem Java, sobre os interesses e aplicações de agentes móveis e também inteligência artificial. Este projeto irá ter uma parte teórica para conhecimento de todas as tecnologias utilizadas no escopo deste trabalho e uma parte prática que é o desenvolvimento da aplicação proposta neste trabalho utilizando as tecnologias anteriormente citadas. 2.4. Motivações e Justificativas Agentes móveis inteligentes devem ser capazes de lidar com tarefas complexas em alto nível. A decisão de como uma tarefa é mais bem subdividida em tarefas menores, e em qual ordem e de que modo devem ser executadas, deve ser feita pelo próprio agente. 4 Outro ponto importante é a sua autonomia, que nada mais é que a capacidade do agente de perseguir suas metas, independentemente de seu usuário, isto é, sem interações ou comandos do seu ambiente. A utilização de agentes móveis para resolução de problemas tem algumas vantagens. Entre elas, a redução da carga na rede, diminuição da utilização de recursos do cliente, processamento assíncrono, comportamento ativo, estrutura descentralizada. Crescimento acelerado da Internet e das redes corporativas em geral. A mobilidade de código é uma solução promissora para projetar e implementar aplicações distribuídas de larga escala. 5 3. Objeto 3.1. Problema O desenvolvimento de uma aplicação com autonomia, que persegue sua meta independente de interações e máquina. Corre atrás do que lhe é proposto fazer, capaz de resolver problemas de alto nível. 3.2. Observações sobre: Técnicas e Ferramentas Este projeto será desenvolvido em linguagem Java, possibilitando independência de sistema operacional e utilizando o que se tem de mais atual no mercado. A arquitetura de agentes utilizada será a deliberativa, sendo um modelo que possibilite a integração com inteligência artificial, que é um outro ponto que será abordado neste projeto, com o uso de sistemas inteligentes conexionistas. Outro ponto interessante da escolha desta arquitetura é a capacidade de raciocínio lógico como base para tomadas de ações inteligentes, característica que não pode ser observada na arquitetura de agentes reativos. Como ferramenta para desenvolvimento do aplicativo, será utilizado o NetBeans 3.4, programa disponibilizado gratuitamente junto com alguns pacotes de Java. 3.3. Observações sobre: Composição e Compreensão do Documento O projeto estará dividido em três partes básicas: Conceitos e características das tecnologias utilizadas para desenvolvimento, possibilitando a compreensão dos temas abordados; Explicações especificas da abordagem das tecnologias no trabalho; Detalhes e dificuldades da implementação prática do projeto; 6 3.4. Simbologia, Convenções Notacionais e Glossário de Termos Agentes móveis – Programa de software que auxilia o usuário na realização de alguma tarefa ou atividade. Agentes Deliberativos – agentes implementados utilizando uma arquitetura que possuem um modelo simbólico do ambiente e capacidade de raciocínio lógico como base para a tomada de ações inteligentes, seguindo os modelos da IA clássica. SMA – Sistemas Multiagentes KQML – protocolos para comunicação entre agentes Java – Linguagem de programação orientada a objeto de código livre. IA – Inteligência artificial 7 4. Metodologia de Trabalho / Plano de Trabalho Pretende-se com este trabalho usar o que se tem de mais formal na área de desenvolvimento de software e de agentes. Será utilizada programação orientada a objeto para desenvolvimento do modelo proposto. Os agentes vão ser implementados baseados na arquitetura deliberativa, que proporciona resolução de problemas mais complexos, e possibilita a utilização de inteligência artificial, criando agentes móveis inteligentes. Para troca de mensagens entre os agentes, será formalizado utilizando o protocolo KQML, que é apropriado para esse tipo de tarefa. 8 5. Orçamento / Recursos Envolvidos Será utilizado de hardware para desenvolvimento deste projeto um computador e um notebook já possuído. A linguagem para desenvolvimento será Java, uma linguagem gratuita. O material de estudo irá ser adquirido, um pouco tirando xerox e uma outra parte comprando o próprio livro. A Internet também será um grande artifício para maior compreensão do assunto e das características para desenvolvimento do projeto. 9 6. Referências Bibliográficas BRENNER, Walter; ZARNEKOW, Rüdiger; WITTIG, Hartmut. Intelligent Software Agents. Germany: Springer-Verlag Berlin Heidelberg, 1998. 10