DISSERTAÇÃO DE MESTRADO



Documentos relacionados
Um Modelo de Componentes de Software com Suporte a Múltiplas Versões

Marcelo Novaes Coutinho. Um Processo de Gerência de Estratégia de Rastreabilidade: Um Caso em Ambiente Oracle. Dissertação de Mestrado

Uma arquitetura baseada em agentes de software para a automação de processos de gerênciadefalhasemredesde telecomunicações

Um Processo Controlável de Desenvolvimento de Software Focado na Gestão da Qualidade em Pequenos Projetos

Uma Análise de Práticas na Aplicação de SCRUM em Projetos de Grande Porte

Ricardo Gomes Clemente. Uma arquitetura para processamento de eventos de log em tempo real. Dissertação de Mestrado

Rafael Jessen Werneck de Almeida Martins. Recomendação de pessoas em redes sociais com base em conexões entre usuários

Distribuição Eletrônica na Hotelaria: Desenvolvimento de Serviços para a Internet

Reflexão e fundamento: a validade universal do juízo de gosto na estética de Kant

Proposta para otimização de processos licitatórios na Companhia Brasileira de Trens Urbanos - CBTU

Elbio Renato Torres Abib. Escalonamento de Tarefas Divisíveis em Redes Estrela MESTRADO. Informática DEPARTAMENTO DE INFORMÁTICA

" Controle de Estoque com a Utilização do Sistema Kanban"

Controle de estoque de peças de reposição: revisão da literatura e um estudo de caso

Geração automática de suíte de teste para GUI a partir de Rede de Petri

Gestão Hospitalar O caso de hospitais privados do Rio de Janeiro

Máquinas de Estados Hierárquicas em Jogos Eletrônicos

Avaliação do Impacto do Sistema de Rastreamento de Veículos na Logística

Análise de Persistência de Participantes em Planos de Previdência

CINEMA BRASILEIRO E SUAS POSSIBILIDADES COMO FORMA DE PENSAMENTO ENSAÍSTICO Um percurso através de São-Bernardo, Vidas secas e Insônia

Aluizio Haendchen Filho. Um Framework do tipo Middleware para Sistemas Multi-Agentes na Internet. Tese de Doutorado

Luiz Fernando Fernandes de Albuquerque. Avaliação de algoritmos online para seleção de links patrocinados. Dissertação de Mestrado

Dimensionamento de Estoque de Segurança de Derivados de Petróleo: Metodologia e um Estudo de Caso

Mensuração do Desempenho do Gerenciamento de Portfólio de Projetos: Proposta de Modelo Conceitual

Terceira Idade: Perfil de uso do cartão de crédito

Processo de Internacionalização na Indústria Calçadista Brasileira: Estudo de Caso da Calçados Azaléia S.A.

Relato de experiência da implantação de boas práticas de Engenharia de Software em um ambiente heterogêneo

Sílvio Glicério Mendonça. O impacto dos Sistemas Integrados de Gestão (ERP) nas instituições de ensino. Dissertação de Mestrado (Opção profissional)

Livia Pires Chaves. Gestão de Estoque na Indústria de Manutenção de Motores Aeronáuticos: Estudo de Caso. Dissertação de Mestrado

Empresas de Gestão Conservadora: Potencial da Previsão de Demanda e Simulação Computacional

Mudança Organizacional em uma Empresa Familiar Brasileira: um estudo de caso

Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica

Técnicas de modelagem do improvement para construção de tábuas geracionais

Comportamento do Consumidor em Relação à Educação a Distância: Abordagem Funcional das Atitudes Aplicada ao Marketing

Análise da Governança Corporativa como Determinante das Despesas de Auditoria e Consultoria no Brasil

Pierre Alexandre Charles Burban. Apreçamento de opções exóticas: Uma abordagem pela simulação de Monte-Carlo. Dissertação de Mestrado

Luiz Marques Afonso. Um Estudo Sobre Contratos em Sistemas de Componentes de Software. Dissertação de Mestrado

Estratégias de TI para a integração eletrônica da informação - um estudo sobre o estado da arte e da prática

Empresas com Fundos de Private Equity Possuem Maior Valor e Remuneram Melhor Seus Executivos? Evidencia do Mercado Brasileiro

Danielle de Rezende Jorge. Frações contínuas: propriedades ergódicas e de. Dissertação de Mestrado

Análise de Sistemas de Planejamento Avançado (APS): conceituação e avaliação

A CONVERSÃO ADJETIVO/SUBSTANTIVO EM FORMAÇÕES DEVERBAIS X-DO NO PORTUGUÊS DO BRASIL

Credit Default Swap: Exemplos de Apreçamento

Tatiana Escovedo. IssueNet: Um Framework para Avaliação Colaborativa de Tarefas. Dissertação de Mestrado

A Retenção de Clientes no Setor de Ensino: Estudo de Caso em um Curso de Inglês

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Heloisa Iara Colchete Provenzano. Personalidade e Risco: Um estudo em Finanças Comportamentais. Dissertação de Mestrado

Análise Probabilística de Semântica Latente aplicada a sistemas de recomendação

Planejamento do sequenciamento de caminhões em um ambiente de produção sob encomenda

A Dinâmica em um Projeto de Tecnologia de Grande Porte

José Benedito Alves Junior

Clubes de futebol com boa governança possuem melhor desempenho? Evidências do mercado brasileiro

Adoção do Serviço de Mensagens de Texto (SMS) pelos usuários de telefonia móvel: Uma proposta baseada no Modelo de Aceitação da Tecnologia

Simulação e Estratégias de Negociação de Ações com Agentes de Software

Terceirização da Operação Logística Estudo de caso sobre a terceirização da Logística de Distribuição de uma Indústria Farmacêutica

A Democracia no Pragmatismo de John Dewey

Nathalia Tavares Barbosa. Gestão da Mudança Organizacional: O Caso da Empresa GAMA. Dissertação de Mestrado

UMA ABORDAGEM PARA GESTÃO DE CONTEÚDOS EDUCACIONAIS

As práticas de marketing de relacionamento das empresas brasileiras: panorama e desempenho

Barbara Jane Necyk. Texto e Imagem: um olhar sobre o livro infantil contemporâneo. Dissertação de Mestrado

Marcos Paulo Garrido Bittencourt de Oliveira. O uso de mídias sociais como ferramentas para criação de novos negócios: Estudo de caso

Helena Kale Pimentel Brazão. Orkut: do Escapismo ao Real Mediado, do Usuário ao Sujeito. Dissertação de Mestrado

DISSERTAÇÃO DE MESTRADO

O celular como instrumento de pagamento e controle financeiro pelas classes de baixa renda na cidade do Rio de Janeiro

Os destinos da tristeza na contemporaneidade

Roberta Franco Terziani. Estratégias de Entrada no Mercado Brasileiro de Telefonia Móvel Estudo de Caso da Oi. Dissertação de Mestrado

Renato Maia Silva. Redes Neurais Artificiais aplicadas à Detecção de Intrusão em Redes TCP/IP. Dissertação de Mestrado

Soluções em Documentação

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Análise da Eficiência de Empresas de Comércio Eletrônico usando Técnicas da Análise Envoltória de Dados

Dealing with Device Data Overflow in the Cloud

Wilson Lins Morgado. Método de classificação de risco aplicado ao mercado de seguros de automóveis. Dissertação de Mestrado

DISSERTAÇÃO DE MESTRADO

Leonardo Pereira Rodrigues dos Santos

Indicadores de Pesquisa, Desenvolvimento e Inovação (P,D&I) em Software e Serviços de TI: o Caso da Lei do Bem (nº /05)

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Gestão do Ciclo de Vida de Contratos em uma grande empresa: Um modelo sob a perspectiva do planejamento adaptativo

Uma arquitetura de software para mediação flexível de Web services

Integração do processo de compra estratégica com as ferramentas de compra eletrônica

Regulamento Complementar do Trabalho de Conclusão de Curso do Curso de Engenharia de Computação UTFPR, campus Pato Branco

Débora Cristina Mota Buere Xavier. A EXTENSÃO DO DIREITO DE VISITA COM BASE NO AFETO: dignidade da pessoa humana e garantia de convivência familiar

Modelagem do Controle de Tensão por Geradores e de Múltiplas Barras Swing na Avaliação das Condições de Estabilidade de Tensão

Maria Alice de Faria Nogueira. Consumo e publicidade: Apropriação localizada e mensagem global. Dissertação de Mestrado

UNIVERSIDADE DE BRASÍLIA

Roberta Costa Caminha. Autismo: Um Transtorno de Natureza Sensorial? Dissertação de Mestrado

Wilson Reis de Souza Neto. O Teorema de Paris-Harrington. Dissertação de Mestrado

Modelo GARCH de Apreçamento de Opções via Simulação Histórica Filtrada: Uma Aplicação para o Mercado Brasileiro

Transcrição:

Otavio Rezende da Silva Uma Arquitetura para Sistemas Multi- Agentes Baseada em Espaços de Tuplas Reflexivos DISSERTAÇÃO DE MESTRADO Programa de Pós-Graduação em Informática Rio de Janeiro, dezembro de 2002

1 Otavio Rezende da Silva Uma Arquitetura para Sistemas Multi-Agentes Baseada em Espaços de Tuplas Reflexivos Orientador: Carlos José Pereira de Lucena Rio de Janeiro Dezembro de 2002

2 Todos os direitos reservados. É proibida a reprodução total ou parcial do trabalho sem autorização da universidade, do autor e do orientador. Otavio Rezende da Silva Otavio Rezende da Silva é Engenheiro de Computação, formado pela PUC-Rio. Realizou parte dos seus estudos de Graduação na Ecole Centrale des Arts et Manufactures, em Paris - França. Trabalhou durante três anos no Laboratório de Engenharia de Software (LES) do Departamento de Informática da PUC-Rio. Desenvolveu trabalhos de pesquisa e desenvolvimento nas áreas de Comércio Eletrônico, Sistemas Multi-Agentes, Informática para a Saúde e Integração de Sistemas. Silva, Otavio Rezende Ficha Catalográfica Uma Arquitetura para Sistemas Multi-Agentes Baseada em Espaços de Tuplas Reflexivos/ Otavio Rezende da Silva; orientador: Carlos José Pereira de Lucena. Rio de Janeiro: PUC, Departamento de Informática, 2002 v. 78 fl.:il. ; 29,7 cm 1. Dissertação (mestrado) Pontifícia Universidade Católica do Rio de Janeiro, Departamento de Informática Incluí referências bibliográficas. 1. Informática Teses. 2. Engenharia de Software. 3. Arquitetura de Software. 3. Sistemas Multi-Agentes. 4. Reflexão Computacional. I. Lucena, Carlos J. P. (Carlos José Pereira). II. Pontifícia Universidade Católica do Rio de Janeiro. III. Título.

3 Para meus pais, Luiz Otávio Campos da Silva e Valeria Rezende da Silva

4 Agradecimentos Ao professor Carlos Lucena, pelos conselhos, ajuda, incentivo e confiança; Ao colega, e amigo, Alessandro Garcia, cuja colaboração foi imprescindível durante a realização desta dissertação; Aos professores Markus Endler e Arndt von Staa pela colaboração e comentários fornecidos desde a defesa da proposta até a conclusão desta dissertação; Aos colegas dos Grupos Soc+Agents e TecComm, pela colaboração, parceria e companheirismo; Aos amigos Chicão, Daniel e Cristiano que sempre estiveram próximos durante todo o trabalho envolvido na elaboração dissertação; À Vera, que sempre esteve disposta a ajudar na resolução de qualquer problema; À Capes e à PUC-Rio, pelos auxílios concedidos durante o Mestrado; Ao professor Julio César Leite, pelo apoio e ensinamentos; À minha família, em especial aos meus avós e meus irmãos, que sempre me incentivaram durante todo o Mestrado; Aos demais colegas e professores do Departamento de Informática da PUC-Rio.

5 Resumo Silva, Otavio Rezende; Lucena, Carlos José. Uma Arquitetura para Sistemas Multi-Agentes Baseada em Espaços de Tuplas Reflexivos. Rio de Janeiro, 2002. 78p. Dissertação de Mestrado - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. A tecnologia de software está passando por uma transição de arquiteturas monolíticas e coesas para arquiteturas compostas por agentes e sistemas multiagentes semi-autônomos e heterogêneos. Estas arquiteturas são marcadas pela existência de propriedades adicionais no nível do sistema, como comunicação, coordenação, mobilidade, adaptabilidade e persistência. No entanto, o gerenciamento e controle destas propriedades e dos diferentes agentes de software não é uma tarefa simples e exige uma abordagem mais sofisticada desde a fase arquitetural deste tipo de sistema. Neste contexto, neste trabalho, propomos a definição de um padrão arquitetural, denominado Reflective Blackboard. Este padrão é o resultado da composição de dois outros padrões arquiteturais bem conhecidos: o padrão Blackboard e o padrão Reflection. Através da utilização do padrão, uma melhor separação de responsabilidades é atingida pelo tratamento separado, por meio de técnicas de reflexão computacional, das diferentes estratégias de controle incorporadas no sistema. De forma complementar à definição do padrão foi desenvolvida uma infra-estrutura para o desenvolvimento de sistemas multi-agentes que utilizam a arquitetura proposta pelo padrão apresentado. Esta infra-estrutura, além de funcionar como uma implementação do padrão Reflective Blackboard, provê suporte a diferentes propriedades do nível do sistema como mobilidade, comunicação, coordenação e persistência. A utilização do padrão e da infraestrutura desenvolvida foi aplicada em uma aplicação de Marketplace com o objetivo de validar os conceitos propostos. Palavras-chave Sistemas multi-agentes; arquitetura de software; padrões arquiteturais; espaços de tuplas; reflexão computacional.

6 Abstract Silva, Otavio Rezende; Lucena, Carlos José. A Reflective Tuplespace- Based Architecture for the development of Multi-Agent Systems. Rio de Janeiro, 2002. 78p. MSc. Dissertation - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. Software technology is undergoing a transition from monolithic architectures, constructed according to a single overall design, into open architectures composed of conglomerates of collaborative, heterogeneous, and independently designed agents and multi-agent systems (MAS). These architectures are driven by additional system-wide properties, such as communication, coordination, adaptability, mobility and persistence. However, controlling these properties and managing different application agents is not an easy task, requiring a more sophisticated software architectural approach. In this context, we propose the Reflective Blackboard architectural pattern, which is the result of the composition of tho other well-known architectural patterns: the Blackboard pattern and the Reflection pattern. The pattern allows a better separation of concerns, supporting the separate handling of control strategies, by means of the computational reflection technique. An infrastructure, which implements the proposed pattern and provides support to multiple system-level properties, such as mobility, communication, coordination and persistence, was also developed. The Reflective Blackboard pattern was applied together with this infrastructure to the development of a Marketplace application in order to validate de concepts proposed in this work. Keywords Muti-agent systems; software architecture; architectural patterns; tuplespaces; computational reflection.

7 Sumário 1 Introdução...10 2 Conceitos Básicos...15 2.1 Agentes de Software...15 2.2 Espaços de Tuplas...19 2.3 Reflexão Computacional...20 3 O Padrão Arquitetural Reflective Blackboard...23 3.1 Exemplo de Motivação...23 3.2 Problema...26 3.3 Solução...28 3.4 Estrutura...29 3.5 Dinâmica...31 3.6 Conseqüências...35 3.7 Usos Conhecidos...36 3.8 Padrões Relacionados...38 3.9 Questões de Implementação...39 4 T-Rex...42 4.1 Visão Geral...42 4.1.1 Mapeamento do Padrão Reflective Blackboard...42 4.1.2 Ambientes de T-Rex...46 4.1.3 Agentes de Software em T-Rex...48 4.2 Tratamento de Propriedades Inter-Agentes...49 4.2.1 Mobilidade...49 4.2.2 Comunicação...52 4.2.3 Persistência...55 4.2.4 Coordenação...56 4.3 Utilizando T-Rex: Um Exemplo...57 4.4 Uma Aplicação de T-Rex: Marketplace...60 4.4.1 Os Agentes da Aplicação...61 4.4.2 Implementando a Aplicação com T-Rex...64 4.5 Trabalhos Relacionados...66 4.5.1 MARS...66 4.5.2 TSpaces...67 4.5.3 Aglets...68 5 Conclusões e Trabalhos Futuros...69 5.1 Conclusões...69 5.2 Contribuições...70 5.3 Trabalhos Futuros...71 6 Referências Bibliográficas...73 Apêndice I Código Fonte das Meta-Tuplas e Reações Presentes no Marketplace Implementado 77

8 Lista de Figuras Figura 1 - Exemplo de motivação ilustrado...24 Figura 2 - A Composição dos Padrões Blackboard e Reflection...26 Figura 3 - Estrutura do padrão Reflective Blackboard...30 Figura 4 - Dinâmica geral do padrão Reflective Blackboard...31 Figura 5 - Dinâmica da estratégia de atualização de ponteiros...33 Figura 6 - Dinâmica da estratégia de encaminhamento de mensagens..34 Figura 7 - Padrões Relacionados...38 Figura 8 - A interface Reaction e algumas de suas implementações...43 Figura 9 - Diagrama de seqüência para a leitura de um dado em T- Rex...45 Figura 10 - Os Ambientes de T-Rex...49 Figura 11 - Gerenciadores de propriedades...41 Figura 12 - Diagrama de seqüência para a transferência de um agente (mobilidade)...52 Figura 13 - Diagrama de seqüência para a persistência de um agente...56 Figura 14 - Diagrama de atividades para o agente comprador...63