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

Slides:



Advertisements
Apresentações semelhantes
Renata S.S. Guizzardi Inteligência Artificial – 2007/02
Advertisements

Modelos e Sistemas de Reputação
Introdução a Engenharia de Software de Sistemas Multi-Agentes
Agente de reputação para ART Testbed Andrew Diniz da Costa
Raphael Gatti Thomás Bryan
Agentes Inteligentes Agentes Inteligentes.
Engenharia de Software
INTRODUÇÃO A INFORMÁTICA
Agente de reputação para ART Testbed Andrew Diniz da Costa
Agente de reputação para ART Testbed Andrew Diniz da Costa
Engenharia de Software de Sistemas Multi-Agentes Seminários 2008 – 2º Semestre Agentes Inteligentes Inovações Tecnológicas.
Engenharia de Software de Sistemas Multiagentes Seminários 2007 – 1º Semestre Prof. Carlos Lucena
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
Metodologias Equipe do Curso de ES para SMA
Linguagens de Modelagem
Engenharia de Software de Sistemas Multi-Agentes Seminários 2007 – 2º Semestre Agentes Inteligentes Inovações Tecnológicas.
Parte III – Engenharia de Software para Autonomic Computing Seminários 2007 – 2º Semestre Maíra Gatti.
Framework de Reputação Baseado em Opiniões
Um Modelo de Reputação Baseado em Testemunhos
Sistemas Multi-Agentes
Frameworks Conceituais
Definindo as entidades de um SMA Viviane Torres da Silva
Viviane Torres da Silva
Os Sistemas Multi-agente Viviane Torres da Silva
Arquitetura de Aplicações Web
Amanda Meincke Melo RA:
Metodologias Orientadas a Agentes
April 05 Prof. Ismael H. F. Santos - 1 Módulo II XML Processing: XSLT, SAX e DOM Prof. Ismael H F Santos.
Processo Desenvolvimento de Software Tradicional
Engenharia de Requisitos
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Carlos Alberto de Freitas Pereira Júnior
Composição e Geração de Aplicações usando Aspectos
BPMO Escritório de Processos
Como Desenvolver Sistemas de Informação
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Classes e objetos Modelagem
Introdução a Programação Orientada a Objetos
Introdução a Arquitetura Orientada a serviços
DIAGRAMA DE COMPONENTES
Agentes inteligentes e sistemas multiagentes
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Object Oriented Software Construction (MEYER, Bertrand)
Arquitetura de software
Algoritmos Culturais.
Engenharia de Software de Sistemas Multi-Agentes Seminários 2009 – 1º Semestre Agentes Inteligentes Inovações Tecnológicas.
Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa
Extensão do Framework CORMAS para lidar com Agentes Normativos Marx Leles Viana Seminário de SMA 2013/1.
Engenharia de Software de Sistemas Multi-Agentes Seminários 2008 – 1º Semestre Agentes Inteligentes Inovações Tecnológicas.
Um estudo exploratório da aplicação da engenharia de software orientada a agentes para o desenvolvimento de ferramentas de suporte a comunidades online.
Aluno: Lucas Bucci da Silveira Orientador: Carlos Roberto Lopes
MAS-ML Tool: Um Ambiente de Modelagem de Sistemas Multi-Agentes
CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 1
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Ritornello Um Framework para Representação de Conhecimento Musical
Metodologias para construção de SMA
Gerenciamento de Redes Utilizando Agentes Móveis
1 My GRID: Bio-informática personalizada em uma grade de informação. Francisco Silva
3 – Agentes e 4 – Multiagentes
FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Agent Reputation Trust (ART) Testbed Andrew Diniz da Costa
Ferramenta de Modelagem de Requisitos e Agentes (TAOM4e) Laís Xavier Prof.: Jaelson Castro.
Uma Interface em Linguagem Natural em Português para Pergunta-Resposta na Web Grupo de Inteligência Computacional Mestrado em Ciência da Computação Aluno:
© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reuso de Software.
Sistemas de Governança (Enforcement Systems) Viviane Torres da Silva
Methodologies for the Design of Service- Based Systems Barbara Pernici João Victor Guimarães de Lemos Professor: Jaelson Castro Outubro/2010.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Uma Extensão do Fluxo de Análise e Projeto do RUP com suporte a Desenvolvimento Baseado em Componentes Eduardo Almeida
Transcrição da apresentação:

Introdução à Engenharia de Software dos Sistemas Multi-Agentes Carlos J. P de Lucena http://www.inf.puc-rio.br/~lucena Maio de 2006

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Publicações 2006 GUEDES, José de Souza Pinto; TORRES, Viviane; LUCENA, Carlos José Pereira de; A Reputation Model Based on Testimonies, AOIS2006@CAiSE 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 (COIN@AAMAS-06), 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