A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução à Engenharia de Software dos Sistemas Multi-Agentes

Apresentações semelhantes


Apresentação em tema: "Introdução à Engenharia de Software dos Sistemas Multi-Agentes"— Transcrição da apresentação:

1 Introdução à Engenharia de Software dos Sistemas Multi-Agentes
Carlos J. P de Lucena Maio de 2006

2 Paradigmas da Engenharia de Software
Guia da Apresentação Paradigmas da Engenharia de Software Novas características dos sistemas de software Agentes Sistemas Multi-Agentes (SMA) Exemplo de SMA Roadmap dos SMA Tópicos de pesquisa em SMA A pesquisa no LES da PUC-Rio Laboratório de Engenharia de Software (LES) – PUC-Rio

3 A Engenharia de Software
Sistemas de software estão cada vez mais complexos (frameworks, PLAs etc) A ES é uma disciplina que se preocupa com todos os aspectos do desenvolvimento de software Existe a necessidade de se modelar e analisar Processos de desenvolvimento de software Métodos controlados, bem documentados e replicáveis para produção de software Software Bem definido, com qualidade (dependable), manutenível e reutilizável A escolha de boas abstrações é uma questão central em ES Laboratório de Engenharia de Software (LES) – PUC-Rio

4 Abstrações da Engenharia de Software
Software lida com entidades “abstratas”, que possuem um espelho no mundo real Números, pessoas, documentos, etc Como se deve modelar tais entidades, i.e. quais são as abstrações que devem ser usadas para se desenvolver um software? Dados, funções, objetos, etc As abstrações devem ser independentes de uma tecnologia específica, p. ex. arquiteturas e linguagens de programação Laboratório de Engenharia de Software (LES) – PUC-Rio

5 Evolução dos Paradigmas de ES
Linguagens Assembler Abstração Funcional Programação Estruturada Orientação a Objetos Padrões de Projeto Componentes ... Agentes de Software Abstrações influenciadas pela arquitetura da máquina Tempo Abstrações influenciadas pelo domínio do problema Laboratório de Engenharia de Software (LES) – PUC-Rio

6 Os sistemas de software deverão estar
O Cenário Atual Com os avanços do desenvolvimento de aplicações distribuídas na Internet, a introdução de componentes de software com algum tipo de auto-controle está se tornando usual Os sistemas de software deverão estar Em todo o lugar Sempre conectados (disponíveis) Sempre ativos para executar requisições de usuários Laboratório de Engenharia de Software (LES) – PUC-Rio

7 Novas Características dos Sistemas de Software
Situados Componentes executarão no contexto de um ambiente e poderão influenciar e serem influenciados por ele Abertos Sistemas terão controle descentralizado e poderão mudar dinamicamente a sua estrutura Autônomos (controle local) Componentes representarão um ponto (local) autônomo pró-ativo de controle Interatividade local Componentes irão interagir de acordo com padrões ou contratos estabelecidos localmente Laboratório de Engenharia de Software (LES) – PUC-Rio

8 O paradigma de agentes oferece
Uma abstração para o desenvolvimento de software baseado no domínio do problema para sistemas com as características descritas anteriormente Um modelo de decomposição para o desenvolvimento modular de software Laboratório de Engenharia de Software (LES) – PUC-Rio

9 O que é Agente de Software
Uma questão controversa Não existe um consenso sobre o que é um agente Histórico e definições Dois pontos de vista Inteligência Artificial Um agente é pró-ativo, inteligente, e deve ser altamente interativo (P2P) em vez de participar de uma arquitetura cliente-servidor Engenharia de Software Um agente é um componente de software com threads internas de execução (tanto pró-ativo quanto reativo) e que pode participar de protocolos de interação complexos e com estado Laboratório de Engenharia de Software (LES) – PUC-Rio

10 Propriedades de Agentes em ES
Autonomia * Capacidade de agir sem intervenção externa Pró-atividade Atuam não somente em resposta ao ambiente – são orientados a objetivos Situação Atuam em um ambiente Interatividade * Se comunicam com outros agentes e com o ambiente Laboratório de Engenharia de Software (LES) – PUC-Rio

11 Características de Agentes ES
Adaptação * São capazes de modificar, em algum grau, o seu comportamento devido à mudanças do ambiente e de outros agentes (autonomic computing) Aprendizado São capazes de modificar o seu comportamento baseados em sua experiência Racionalidade São capazes de selecionar suas ações baseados em seus objetivos Mobilidade São capazes de se mover de um ambiente para outro Laboratório de Engenharia de Software (LES) – PUC-Rio

12 O que são Sistemas Multi-Agentes?
No ponto de vista de IA Um sistema multi-agente é uma sociedade de agentes (agentes IA) individuais, que interagem por meio da troca de conhecimento e da negociação para alcançar um objetivo local ou global No ponto de vista de ES Um sistema multi-agente é um sistema de software composto por diversos loci de controle (agentes ES) encapsulados e independentes, que interagem no contexto específico de uma aplicação Laboratório de Engenharia de Software (LES) – PUC-Rio

13 A Abordagem Orientada a Agentes
O desenvolvimento de SMA deve explorar conceitos coerentes com as caracterizações acima Agentes: entidades autônomas, com controle local, situados em um ambiente e interativos Controle local: objetivos, ações e planejamento Ambientes: lugar onde estão os recursos usados pelos agentes Protocolos de interação: regras para a interação entre agentes Laboratório de Engenharia de Software (LES) – PUC-Rio

14 Trading Agent Competition (TAC)
Um Exemplo de SMA Trading Agent Competition (TAC) Fórum internacional produzido para promover a pesquisa em SMA, mais especificamente para o problema de agentes de negociação Explora um cenário de um “agente de viagens” baseado em procurement de leilões múltiplos simultâneos Sistema aberto Laboratório de Engenharia de Software (LES) – PUC-Rio

15 O TAC Cada agente (que pode entrar e sair quando quiser de uma rodada da competição, i.e. sistema aberto) é um agente de viagens Busca montar pacotes de viagens (que duram 5 dias) Cada agente representa 8 clientes Cada cliente tem suas preferências para os diversos aspectos da viagem Objetivo: maximizar a satisfação dos clientes Laboratório de Engenharia de Software (LES) – PUC-Rio

16 O TAC O pacote de viagens Passagens aéreas de ida e volta
Reservas em hotéis Entradas para eventos Ex.: Parque de diversões Museus Laboratório de Engenharia de Software (LES) – PUC-Rio

17 O TAC Laboratório de Engenharia de Software (LES) – PUC-Rio

18 Desenvolvido no LEARN / LES A engenharia
O Sistema LearnAgents Desenvolvido no LEARN / LES A engenharia Processo de desenvolvimento Ad-hoc, goal-oriented-like (guiado pela definição de objetivos) Documentação Linguagem de modelagem ANote Plataforma de implementação MAS Framework Interface (protocolo de interação) dada pela competição 3° lugar Laboratório de Engenharia de Software (LES) – PUC-Rio

19 Outros Exemplos da Aplicação de Agentes no LES
AulaNet Learning Management System 2BuyNet e-Business (B2C) VBroker e-Business (B2C) VMarket e-Business (C2C) iDeal e-Business (B2B) CommercePipe e-Business (C2B) PortalWare Knowledge Management SkillO Skill Management WebClipper Web Crawling Laboratório de Engenharia de Software (LES) – PUC-Rio

20 O Estado da Arte da ES para SMA
A ES para SMA se encontra em estado inicial Existem diversas propostas, mas pouco consenso AAMAS/AOSE -> JAAMAS ICSE/SELMAS -> IJAOSE OMG->FIPA->IEEE Desenvolvimento ad-hoc ou pouco sistemático Falta de avaliações do impacto do uso da abstração de agentes no desenvolvimento de software Necessidade de amadurecimento de uma ES para SMA Laboratório de Engenharia de Software (LES) – PUC-Rio

21 Roadmap1 para os SMA Situação atual Uma equipe de desenvolvimento
Projeto ad-hoc Sistemas fechados aplicados a um ambiente específico Protocolos e linguagens de comunicação pré-definidos Escaláveis somente em ambientes de simulação Exemplo: o TAC 1 M. Luck, P. McBurney, C. Preist. Agent Technology: Enabling Next Generation Computing. AgentLinkII, 2003. Laboratório de Engenharia de Software (LES) – PUC-Rio

22 Roadmap para os SMA A curto prazo (~2007)
Uso disseminado de linguagens semi-estruturadas de comunicação de agentes (p. ex. FIPA ACL) Metodologias de desenvolvimento top-down Escalabilidade em ambientes pré-determinados e de domínios específicos Laboratório de Engenharia de Software (LES) – PUC-Rio

23 Roadmap para os SMA Médio prazo (2008/2009)
Projeto feito por times diferentes Uso de padrões de protocolos e linguagens de comunicação Metodologias específicas para agentes Sistemas abertos para domínios específicos (p. ex. e-commerce) Maior escalabilidade Desenvolvimento de agentes para fazer ponte entre domínios diferentes Laboratório de Engenharia de Software (LES) – PUC-Rio

24 Roadmap para os SMA Longo prazo (2009 ~)
Projeto feito por times diversificados SMA realmente abertos e escaláveis Domínios diferentes Agentes com capacidade de aprender os protocolos de comunicação apropriados para entrar em um sistema Protocolos de comunicação surgindo e evoluindo a partir de interações reais entre agentes Laboratório de Engenharia de Software (LES) – PUC-Rio

25 Roadmap para os SMA Laboratório de Engenharia de Software (LES) – PUC-Rio

26 Alguns Tópicos de Pesquisa em ES para SMA
Relacionamento entre a abstração de agentes com outras abstrações, p. ex. objetos Linguagens de modelagem para agentes (UML) Metodologias para a análise e o projeto de SMA Experiências de desenvolvimento de aplicações reais Levantamento de um conjunto de “boas práticas” para o desenvolvimento orientado a agentes Laboratório de Engenharia de Software (LES) – PUC-Rio

27 Alguns Tópicos de Pesquisa em ES para SMA
APIs, linguagens de programação ou plataformas padronizadas para agentes Ambientes de desenvolvimento de software e ferramentas CASE para agentes Abordagens de reuso para o desenvolvimento de SMA, incluindo frameworks, padrões, componentes e arquiteturas Integração de software orientado a agentes a processos de negócios já existentes (legados) e as suas implicações Laboratório de Engenharia de Software (LES) – PUC-Rio

28 Pesquisa no LES da PUC-Rio (desde 2001)
Linguagens de modelagem (3PhDs, 5 MSc) Documentação de artefatos de SMA Metodologias de desenvolvimento (2PhD, 5 MSc) Processo para a produção de software orientado a agentes Plataformas (2 PhD, 3MSc) Ambientes para a implementação de SMA Experimentação (3MSc) Governança em SMA Abertos (5PhD, vários mestrados: em andamento) Laboratório de Engenharia de Software (LES) – PUC-Rio

29 Publicações 2006 GUEDES, José de Souza Pinto; TORRES, Viviane; LUCENA, Carlos José Pereira de; A Reputation Model Based on Testimonies, workshop, Luxemburgo, Gran Ducado de Luxemburgo, 6 Junho, 2006. KULESZA, Uirá; ALVES, Vander; GARCIA, Alessandro; LUCENA, Carlos; BORBA, Paulo; Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming, International Conference on Software Reuse (ICSR'2006), 9th, Springer Verlag, LNCS, Torino, Italia, Junho, 2006. GATTI, Maíra Athanázio de Cerqueira; LUCENA, Carlos José Pereira de Lucena; BRIOT, Jean-Pierre; On Fault Tolerance in Law-Governed Multi-Agent Systems, SELMAS’2006, Shanghai, China, May 22-23, 2006. BRIOT, Jean-Pierre; FACI, Nora; GUESSOUM, Zahia; GATTI, Maíra Athanázio de Cerqueira; LUCENA, Carlos José Pereira de; LUNA-ALMEIDA, Alessandro; MARIN, Olivier; Experience and Prospects for Various Control Strategies for Self-Replicating Multi-Agent Systems, (Paper-ID: SEAMS07), SEAMS 2006 Workshop, ICSE 2006, Shanghai, China, May 21-22, 2006. DAMASCENO, Karla; CACHO, Nelio; GARCIA, Alessandro; ROMANOSKY, Alexander, LUCENA, Carlos; Context-Aware Exception Handling in Mobile Agent Systems: The MoCA Case, SELMAS'06, Shanghai, China, May 21-22, 2006. COLEHO, Roberta; KULESZA, Uira; STAA, Arndt; LUCENA, Carlos José Pereira de; Unit Testing in Multi-agent Systems using Mock Agents and Aspects, Software Engineering for Large-scale Multi-Agent Systems (SELMAS'06), Shanghai, China, May 21-22, 2006. CARVALHO, Gustavo Robichez de; LUCENA, Carlos; PAES, Rodrigo; BRIOT, Jean-Pierre; Refinement Operators to Facilitate the Reuse of Interaction Laws in Open Multi-Agent Systems, International Workshop on Software Engineering for Large-scale Multi-Agent Systems (SELMAS’06), 5th, at ICSE 2006, Shanghai, China, May 21-22, 2006. CARVALHO, Gustavo Robichez de; BRANDÃO, Anarosa; LUCENA, Carlos; PAES, Rodrigo; BRIOT, Jean-Pierre; CHOREN, Ricardo; Interaction Laws Verification Using Knowledge-based Reasoning, Workshop on Agent-Oriented Information Systems (AOIS-2006) at the International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS’2006), 5th, Hakodate, Japan, May 8-12, 2006. FELICÍSSIMO, Carolina; LUCENA, Carlos; BRIOT, Jean-Pierre; CHOREN, Ricardo; An Approach for Contextual Regulations in Open MAS, AOIS workshop, at the International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS’2006), 5th, Hakodate, Japan, May 8-12, 2006 FELICÍSSIMO, Carolina; CHOREN, Ricardo; BRIOT, Jean-Pierre; LUCENA, Carlos; Supporting Regulatory Dynamics in Open MAS, Workshop on Coordination, Organization, Institutions and Norms in agent systems at the International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS’2006), 5th, Hakodate, Japan, May 9, 2006. CARVALHO, Gustavo Robichez de; PAES, Rodrigo; LUCENA, Carlos; BRIOT, Jean-Pierre; CHOREN, Ricardo; A Governance Framework Implementation for Supply Chain Management Applications as Open Multi-Agent Systems, The International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS’2006), 5th, Hakodate, Japan, May 8-12, 2006. Laboratório de Engenharia de Software (LES) – PUC-Rio


Carregar ppt "Introdução à Engenharia de Software dos Sistemas Multi-Agentes"

Apresentações semelhantes


Anúncios Google