Agentes Inteligentes
e Sistemas Multi-agente
(UD 6) Introdução às Metodologias
para a Construção de Agentes
1
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...
Quando optar por solução baseada em
Agentes

Ambiente aberto, ou pelo menos dinâmico, incerto or
complexo

Quando os agentes são a metáfora apropriada

Dados, controlo ou perícia estão distribuídos

Legacy systems
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
Porquê Agentes?
Sistemas reais complexos, com as seguintes
caracterí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
Visão Canónica dos Sistemas
Para lidar com esta
complexidade são
usadas :
•
•
•
decomposição
abstracção
organização
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
Metodologias de Agentes

Métodos formais para AOSE
 Análise e Desenho Orientada a Agentes
Metodologias Formais
Como orientar o desenvolvimento de software
a agentes?
•
•
•
Especificação formal
Implementação computacional concreta
Verificação
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
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
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
PRÁTICA


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.
Implementação: Compilação
A especificação abstracta é transformada num modelo
computacional concreto através de um processo de síntese
automático.
Implementação: Compilação (2)
Vantagens
 maior velocidade na
execução em tempo
real
Desvantagens
 mesmo a computação feita offline (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
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)
Metodologias
•
Inspirados no ambiente de desenvolvimento
orientado a objectos, estendendo as metodologias
ou adaptando-as para propósitos AOSE (AAII, Gaia,
AUML)
Metodologia AAII
Kinny 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 (sistema usado para o exemplo de
simulação do aeroporto de sidney)
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
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
Análise iterativa
Resultado: modelo com correspondência na arquitectura
PRS
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
AAII – Modelo de crenças
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
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.
AAII



Muito baseada na construção de agentes
deliberativos
Centrada na arquitectura PRS
Distinção entre modelo externo e interno
(interessante)
Metodologia Gaia
Wooldridge 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
Metodologia Gaia
Wooldridge 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
Metodologia Gaia
Wooldridge 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
Metodologia Gaia
Wooldridge 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
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
Metodologias
•
Adaptados da Engenharia do Conhecimento ou
outras técnicas (DESIRE, Cassiopeia, Agentes em
Z)
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
Metodologia Cassiopeia
Collinot et al
Por oposição ao Gaia e a metodologia AAII, Cassiopeia tem
uma natureza bottom 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
Agentes em Z
Luck et d’Inverno

4 camadas:
•
•
•
•

Observaram que há uma relação natural entre a sua
framework de especificação hierárquica de agentes e
os sistemas OO:
•

Entidades – objectos inanimados
Objectos – Entidades com capacidades (mesa suporta coisas)
Agentes – Objectos com objectivos – são activos
Agentes autónomos – Agentes com motivação
Herança e Agregação/Inclusão
Ideia fulcral: agentes que actuam para outros, em vez de agentes como sistemas
racionais.
Comparação
Tipo
Metodologia
AAII
Metodologia
GAIA
Cassiopeia Metodologia
AUML Linguagem
DESIRE Framework
Agentes Z Framework
Top/Bottom
Top Down
Top Down
BottomUp
Base OO
Sim
Sim
Não
Sim
Não
Sim
Entidades Implementação
PRS
Roles
Roles
Comportam. Robocup
Roles
Entidades
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
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
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
Download

Metodologias - Técnico Lisboa