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 Carlos J. P de Lucena Maio de 2006.

Apresentações semelhantes


Apresentação em tema: "Introdução à Engenharia de Software dos Sistemas Multi-Agentes Carlos J. P de Lucena Maio de 2006."— Transcrição da apresentação:

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

2 Laboratório de Engenharia de Software (LES) – PUC-Rio 2 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

3 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

4 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

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

6 Laboratório de Engenharia de Software (LES) – PUC-Rio 6 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

7 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

8 Laboratório de Engenharia de Software (LES) – PUC-Rio 8 O Paradigma de Agentes 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

9 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

10 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

11 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

12 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

13 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

14 Laboratório de Engenharia de Software (LES) – PUC-Rio 14 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 –http://www.sics.se/tac/

15 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

16 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

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

18 Laboratório de Engenharia de Software (LES) – PUC-Rio 18 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

19 Laboratório de Engenharia de Software (LES) – PUC-Rio 19 Outros Exemplos da Aplicação de Agentes no LES AulaNetLearning Management System 2BuyNete-Business (B2C) VBrokere-Business (B2C) VMarkete-Business (C2C) iDeale-Business (B2B) CommercePipee-Business (C2B) PortalWareKnowledge Management SkillOSkill Management WebClipperWeb Crawling

20 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

21 Laboratório de Engenharia de Software (LES) – PUC-Rio 21 Roadmap 1 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.

22 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

23 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

24 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

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

26 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

27 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

28 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)

29 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, 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, 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, SELMAS2006, Shanghai, China, May 22-23, 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, 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, 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, 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 (SELMAS06), 5th, at ICSE 2006, Shanghai, China, May 21-22, 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 (AAMAS2006), 5th, Hakodate, Japan, May 8-12, 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 (AAMAS2006), 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 (AAMAS2006), 5th, Hakodate, Japan, May 9, 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 (AAMAS2006), 5th, Hakodate, Japan, May 8-12, 2006.


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

Apresentações semelhantes


Anúncios Google