1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às...

34
1 Agentes e Engenharia de Software Agentes Agentes Inteligentes e Inteligentes e Sistemas Multi- Sistemas Multi- agente agente Introdução às Introdução às Metodologias para a Metodologias para a Construção de Construção de Agentes Agentes IST- 2003/2004 IST- 2003/2004 Ana Paiva Ana Paiva

Transcript of 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às...

Page 1: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

1

Agentes e Engenharia de Software

Agentes Inteligentes e Agentes Inteligentes e Sistemas Multi-agenteSistemas Multi-agente

Introdução às Introdução às Metodologias para a Metodologias para a

Construção de AgentesConstrução de Agentes

IST- 2003/2004IST- 2003/2004Ana PaivaAna Paiva

Page 2: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Criação de Software baseado em Agentes

Objectivo de desenhar e construir sistemas de elevada qualidade

Desafio da complexidade de requisitos, desenho, programação, verificação

Continua-se à procura de técnicas e métodos que resolvam os problemas da construção de Software...

Page 3: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Aproximação por Agentes?

Experiência não existem análises quantificadas da eficácia

Argumentos baseados em 10 anos de utilização de agentes para construção de aplicações no mundo real

Potencialidades das características dos agentes

Page 4: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Porquê Agentes?

Sistemas reais complexos, com as seguintescaracterísticas:

• hierárquicos compostos por subsistemas interrelacionados

• componentes primitivas dependem do objectivo do observador

• interacções dentro do subsistema são mais frequentes do que entre 2 subsistemas distintos

Page 5: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Visão Canónica dos Sistemas

Para lidar com estacomplexidade sãousadas :

• decomposição• abstracção• organização

Page 6: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Resolução com Agentes

Particionar o problema decompondo-o por agentes

Abstracção dos agentes é um meio natural de • modelar sistemas

complexos• identificar e gerir relações

organizacionais • lidar com as dependências

e interacções que existem num sistema complexo

Page 7: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologias de Agentes

Métodos formais para AOSE Análise e Desenho Orientada a Agentes

Page 8: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologias Formais

Como orientar o desenvolvimento de software a agentes?• Especificação formal• Implementação computacional concreta• Verificação

Page 9: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologias Formais: especificação

Especificar formalmente agentes capazes de representar os seguintes aspectos:• Crenças que os agentes têm sobre a

informação do seu ambiente, podem estar incorrectas ou incompletas

• Acções que os agentes realizam e os efeitos destas acções

• Objectivos que os agentes persegue • Interacção que os agentes tem e como os

agentes interagem entre si e o seu ambiente ao longo do tempo

Page 10: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologias Formais: Implementação

Consiste em implementar a especificação numa forma computacional concreta, tem 2 aproximações:• Execução: executar ou animar a especificação

abstracta • Tradução ou Compilação: traduzir ou compilar a

especificação usando uma técnica de tradução automática

Page 11: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Implementação: Execução Directa

TEORIA tratar a especificação como

executável e interpretá-la directamente de modo a gerar o comportamento do agente

Interpretação: pode ser vista como uma prova de satisfação, onde se demonstra que a especificação é satisfatória para construir um modelo para ela

A construção do modelo pode ser vista como a execução da especificação

PRATICA Exemplo: Linguagem Current

MetateM - os agentes são programados dando uma especificação em lógica temporal do comportamento que devem exibir

Os modelos para a lógica temporal em que os agentes são especificados na linguagem MetateM são sequências lineares de estados e a execução da especificação do agente consiste na construção da sequência dos estados.

Page 12: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Implementação: Compilação

A especificação abstracta é transformada num modelo computacional concreto através de um processo de síntese automático.

Page 13: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Implementação: Compilação (2)Desvantagens mesmo a computação feita off-line

(na compilação) torna-se custosa. Os sistemas gerados desta forma

podem não dispor de capacidade de aprendizagem (não adaptam o seu programa em runtime)

Tal como com a execução directa, os frameworks de especificação de agentes tendem a não ter uma interpretação computacional concreta, tornando a síntese impossível

Vantagens maior velocidade na

execução em tempo real

Page 14: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Análise e Desenho Orientado a Agentes

As metodologias podem ser divididas em 2 grupos• Inspirados no ambiente de desenvolvimento orientado

a objectos, estendendo as metodologias ou adaptando-as para propósitos AOSE (AAII, Gaia, AUML)

• Adaptados da Engenharia do Conhecimento ou outras técnicas (DESIRE, Cassiopeia, Agentes em Z)

Page 15: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologia AAIIKinny et al

“Object-Oriented” extendida com noções de agentes Oferece modelos internos e externos

• Modelo Externo: ao nível do sistema, os componentes principais são os agentes e as suas relações. Contém:

- Modelo de agentes- Modelo de interacção

• Modelo Interno: descreve os agentes, as crenças, desejos e intenções - semelhante a implementar um agente PRS

Page 16: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologia AAII Modelo Externo

• Modelo do agente (classes e instâncias) • Modelo da interacção

(estes 2 modelos definem agentes e as classes de agentes e relacionam as classes via herança, agregação e instanciação)

Modelo Interno• Modelo de crenças• Modelo com objectivos• Modelo de planos

Page 17: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologia AAII

Metodologia• Identificar roles no domínio da aplicação e desenvolver

uma hierarquia de classes de agentes com base nestes• Identificar responsabilidades associadas a cada role,

serviços prestados e requeridos pelo role e determinar os objectivos associados a cada serviço

• Para cada objectivo, determinar planos condições de contexto por plano para o atingir

• Determinar a estrutura de crenças do sistema e os requisitos de informação para cada plano e objectivo

Resultado: modelo com correspondência na arquitectura PRS

Page 18: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

AAII – Modelo dos Agentes

Baseado no diagrama de classes de UML

Tipos e instâncias Conjuntos de crenças

conjunto de objectivos Conjunto inicial de

crenças e conjunto inicial de objectivos

Page 19: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

AAII – Modelo de crenças

Page 20: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

AAII – Modelo de objectivos Expressos com predicados em Lógica de 1ª

ordem com operadores modais (achieve(X), test(X), verify(X))

Directamente ligados às crenças 3 tipos:

• Achievement goals• Test goals• Verify goals

Page 21: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

AAII – Modelo de Planos Plano = nós + transições 3 tipos de nós

• Nós de inicio• Nós internos• Nós finais (success, fail)

As transições são originadas por um evento, se uma dada condição for satisfeita.

Page 22: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

AAII Muito baseada na construção de agentes

deliberativos Centrada na arquitectura PRS Distinção entre modelo externo e interno

(interessante)

Page 23: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologia GaiaWooldridge et al

Metodologia• Obtém-se o desenho do sistema a partir de uma

série de requisitos escritos• Baseados em terminologia e notações orientadas

a objectos, mas oferece um suporte um conjunto de conceitos de agentes para o desenvolvimento de um sistema complexo

• A aproximação para a construção de desenho deve ser semelhante à de o desenho de uma organização

Page 24: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologia GaiaWooldridge et al

Os conceitos principais enquadram-se em duas categorias:• Abstractas usadas na análise para fazer a concepção

do sistema, mas não tem uma concretização directa no sistema. Conceitos: roles, permissões, responsabilidades, protocolos, actividades, propriedades de acção, propriedades de segurança

• Concretas usadas no processo de desenho e tipicamente tem correspondência num sistema real. Conceitos: Tipos de agentes, serviços, conhecimentos entre agentes

Page 25: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologia GaiaWooldridge et al

Exemplo:• capturar a organização Federação Portuguesa de Futebol• tem uma colecção de roles como seleccionador nacional,

jogador• estes roles são instanciados a indivíduos, por exemplo,

António Oliveira assume o role de seleccionador nacional, Luis Figo assume o role de jogador

• No entanto~: A instanciação não é estática! Por exemplo: Scolari assume o role de seleccionador nacional

• Vários indivíduos podem assumir o mesmo role, por exemplo, Luis Figo e Rui Costa assumem o role jogador

• Um indivíduo pode assumir vários roles, por exemplo,Madaíl assume o role de presidente e o role de vítima de conspiração

Page 26: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologia GaiaWooldridge et al

Exemplo:• Responsabilidades do role seleccionador nacional - ex:

guiar equipa no campeonato- propriedades liveness: asseguram que algo positivo

acontece - a selecção vai à frente no campeonato- propriedades safety: asseguram que nada de negativo

acontece - garantir que a equipa se mantém no campeonato• Para cumprir as responsabilidades o role seleccionador

nacional tem - conjunto de permissões: por exemplo, ter acesso a

informação sobre a condição física dos jogadores- actividades privadas: são actividades sem a interacção dos

outros roles, por exemplo, definir uma estratégia de jogo- protocolos: formas de interagir com os outros roles, por

exemplo, dar ordens, conselhos aos jogadores

Page 27: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Linguagem Agente UML (AUML) Odell et al

Estender a linguagem para representar os agentes, incluindo• Baseia-se numa ferramenta conhecida dos

Software Engineers - UML• Suporte para expressar as threads concorrentes

de interacção permitindo ao UML modelar os protocolos de agentes do tipo Contract Net

• Uma noção de role que extende a existente no UML e, em particular, permite a modelação de um agente que desempenha vários “roles”

• Aguardam-se novos desenvolvimentos pois o Object Management Group (OMG) e a FIPA estão a suportar do desenvolvimento de notações UML para modelar sistemas de agentes

Page 28: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Framework DESIRE Treur et al

Framework para o desenho e especificação formal de

sistemas compostos.

Tem notação gráfica para a especificação e está associado a um editor gráfico para suportar o desenvolvimento dos

sistemas

Page 29: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Metodologia CassiopeiaCollinot et al

Por oposição ao Gaia e a metodologia AAII, Cassiopeia tem uma natureza bottom upbottom up. Essencialmente, com o método Cassiopeia, inicia-se nos comportamentos desejados para realizar uma tarefa.

Metodologia:• Identificar os comportamentos elementares

implicados pela tarefa do sistema• Identificar as relações entre os comportamentos

elementares• Identificar os comportamentos organizacionais do

sistema, por exemplo, a forma como os agentes formam grupos

Foi desenvolvido um exemplo para o RoboCup

Page 30: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Comparação

Tipo Top/Bottom Base OO Entidades ImplementaçãoAAII Metodologia Top Down Sim Roles PRSGAIA Metodologia Top Down Sim RolesCassiopeia Metodologia Bottom Up Não Comportam. RobocupAUML Linguagem Sim RolesDESIRE Framework NãoAgentes Z Framework Sim Entidades

Page 31: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Os Prós dos Agentes

Classes de aplicações específicas aproximação por agentes pode melhorar o processo de desenvolvimento de Engenharia de Software

Modelos expressam realidade organizacional: interacções, thread de controlo independente, protocolos de coordenação

Visão Dinâmica dos sistemas e adaptabilidade dos agentes a novos papéis

Melhorar as práticas state of the art da Engenharia de Software

Alargar o número de aplicações cuja complexidade pode ser ultrapassada

Page 32: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Os Contras dos Agentes Confundir Marketing com concretização e aplicabilidade dos

agentes Silver bullet acreditar que com agentes o alvo nunca é falhado Incapacidade para avaliar potencialidades dos agentes Esquecer que se está a desenvolver software e que a

experiência tem de ser adquirida Esquecer que o sistema é multi-threaded e tem a

complexidade clássica da execução concorrente e distribuída Natureza do Problema se for de execução única, não devem

ser usados agentes Desenhar nova arquitectura para o problema deve-se

estudar as arquitecturas já existentes Demasiada IA sem benefícios para a solução final

Page 33: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

Referências

Agent Oriented Software Engineering: The State of The Art by Michael Wooldridge, Paolo Ciarcarini

Agent Oriented Software Engineering by Nicholas R. Jennings and Michael Wooldridge

A Methodology for Agent-Oriented Analysis and Design by Michael Wooldridge, Nicholas R. Jennings and David Kinny

Page 34: 1 Agentes e Engenharia de Software Agentes Inteligentes e Sistemas Multi-agente Introdução às Metodologias para a Construção de Agentes IST- 2003/2004.

A. Paiva

AAII – Exemplo de um modelo de planos