Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST-...

76
Agentes Inteligentes e Agentes Inteligentes e Sistemas Multi-agente Sistemas Multi-agente Plataformas para a Construção de Agentes Plataformas para a Construção de Agentes IST- 2003/2004 IST- 2003/2004 Ana Paiva Ana Paiva

Transcript of Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST-...

Page 1: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

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

Plataformas para a Construção de AgentesPlataformas para a Construção de Agentes

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

Page 2: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Questões

O que são ferramentas para construção de agentes? Que tipos de agentes e que tipos de ferramentas existem? Que tipo de sistemas (aplicações) posso construir usando as

referidas ferramentas?

Page 3: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Aplicações de Agentes (1/3)

1. Automação de processos2. Aplicações Internet Comércio electrónico

o agentes podem percorrer a rede e negociar em nome de quem os enviou

• agentes servem de vendedores de bens em serviços de comércio electrónico

Procura de informação distribuída ao invés de concentrar a procura num só site, distribui agentes

pela rede para efectuarem a procura Assistente Pessoal

o assistentes podem efectuar tarefas na rede em nome de seus criadores

Negociação Segurao agentes podem mover-se para sites seguros com a finalidade

de negociar

Page 4: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Aplicações de Agentes (2/3)

Telecomunicações e Redes Serviços de Telecomunicações via Rede

o agentes podem reconfigurar uma rede de telecomunicações de forma dinâmica, mantendo-a coesa

Simulações de serviçoso agentes podem servir para a simulação de redes de serviços

Aplicações de Workflow e Groupwareo agentes móveis podem cooperar em nome de co-participantes

de um grupo de trabalho

Page 5: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Aplicações de Agentes (3/3)

Jogos• Os agentes controlam os personagens em jogos de

computador, sendo autónomos (e não scriptados)Cinema

• agentes podem controlar personagens de jogos (ex. Senhor dos Aneis)

Aplicações de simulação de sociedades• agentes permitem simular multidões, sociedades de animais

(vida artificial), organizações, etc.Ensino Assistido por computador

• os agentes podem servir para criar personagens para apoiar os alunos em sistemas de ensino assistido, em particular à distância.

Page 6: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Plataformas de Agentes

1. Plataformas de agentes generalistas:o Plataformas que suportam e ajudam a criação de agentes

inteligentes, fornecendo uma estrutura que facilita a sua implementação.

o Plataformas genéricas para serem usadas em diversos tipos de aplicações.

2. Plataformas de agentes específicas:1. Agentes móveis: Ferramentas que suportam e ajudam a

criação de agentes móveis, fornecendo uma estrutura que facilita a sua implementação (Ex. Aglets).

2. Agentes de interface: Plataformas que suportam a criação de agentes de interface (ex. Microsoft Agent).

3. Agentes para jogos: Plataformas que permitem a criação de agentes em ambientes de jogos (ou mesmo para jogos especificos: ex. Bots do Unreal).

Page 7: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Plataformas de Agentes Generalistas

Zeus (BT)

JADE

FIPA-OS

Mas o que caracteriza estas plataformas????

Standards da FIPA

Page 8: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA é o acrónimo de Foundation for Intelligent Physical Agents

Criada em 1996 e localizada em Genebra, na Suíça, é uma associação sem fins lucrativos

Tem como objectivo a promoção de standards de software (especificações) e de tecnologias que facilitem comunidades de agentes heterogéneos e sistemas baseados em agentes a interactuar entre si

Para atingir estes objectivos, a FIPA cria, divulga e gere especificações por forma maximizar a interoperabilidade entre estes sistemas heterogéneos de agentes

João Leonardo Carmo - IAA - LEIC - IST - 2002/03

FIPA???

Page 9: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Na produção dos ditos standards, a FIPA recorre também à comunidade dos seus membros (empresas associadas), realizando periodicamente sessões de reuniões com os mesmos (4 vezes por ano)

Juntos, tentam desenvolver formas para que agentes criados em plataformas de empresas e comunidades diferentes consigam comunicar e inter-operar entre si

A juntar a este grupo estão outras organizações de standards como a Object Management Group (OMG)

FIPA???

Page 10: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

A FIPA está organizada e estruturada em dois grupos:

- Grupo Administrativo- Grupo Técnico

O Grupo Administrativo da FIPA é responsável por toda a gestão e bom funcionamento da empresa

Por sua vez, o Grupo Técnico é responsável pelo desenvolvimento das especificações da FIPA

A estrutura da FIPA

Page 11: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Grupo Administrativo

Grupo Técnico

A estrutura da FIPA

Page 12: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Do Grupo Técnico destacam-se três entidades:- os Comités Técnicos, que produzem trabalho técnico e

escrevem as especificações da FIPA - os Grupos de Trabalho, que se encarregam de outros

aspectos no trabalho da FIPA, como coordenar actividades de implementação ou centrarem-se mais sobre uma determinada aplicação

- as duas entidades anteriores juntas formam o Conselho de Arquitectura

- finalmente, os Grupos de Interesses Especiais, que desempenham um papel preponderante ao auxiliarem a FIPA com trabalho que é do interesse desta, como estarem atentos a novas tecnologias que poderão evoluir para standards (Agentcities - rede aberta de vários serviços de agentes, faculdades, etc.)

A estrutura da FIPA

Page 13: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

ADETTI - Lisboa / Portugal Boeing – Delaware / Estados

Unidos BOSCH - Hildesheim / Alemanha British Telecommunications -

Londres / Reino Unido France Telecom - Paris / França Fujitsu - Tóquio / Japão Hewlett-Packard - Estados Unidos IBM - Armonk / Estados Unidos

Intel – Hilsboro / Estados Unidos

Mitsubishi Electric - Kanagawa / Japão

Motorola - Schaumburg / Estados Unidos

NASA - Greenbelt / Estados Unidos

Siemens - Munique / Alemanha Sun Microsystems – Palo Alto /

Estados Unidos Toshiba - Tóquio / Japão Unisys - Tóquio / Japão

Alguns parceiros da FIPA

Page 14: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Tipos de Especificações Identificadores de Especificações Ciclo de vida de uma Especificação Estrutura de uma Especificação

- FIPA-ACL

Especificações

Page 15: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Existem dois tipos de especificações:- especificação de componentes- especificação de perfis

Uma especificação de componentes descreve uma especificação lógica para uma tecnologia ou para um grupo intrínseco de tecnologias

Por sua vez, uma especificação de perfis descreve como um conjunto de especificações de componentes pode ser usado para definir colectivamente uma entidade mais avançada

Especificações

Page 16: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Cada especificação da FIPA é representada por um identificador de especificação.

Existem cinco tipos de identificadores, um por estágio no ciclo de vida da especificação.

Identificadores de Especificações

Page 17: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

As especificações da FIPA são publicadas de acordo com a sua posição no ciclo de vida de uma especificação.

Pretende-se com o ciclo de vida monitorizar e registar o progresso de uma dada especificação desde a sua concepção até ao fim do seu papel, seja este o de standard ou de especificação obsoleta.

Ciclo de vida de uma Especificação

Page 18: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Preliminar: um “esboço” de uma especificação ainda em construção (Ex: PC00035 => lê-se “especificação de componente preliminar nº 00035”)

Preliminar Experimental

Standard Obsoleta

Desaprovada

Ciclo de vida de uma Especificação

Page 19: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Experimental: uma especificação preliminar que foi aprovada para o nível experimental, pois é estável por um período de pelo menos dois anos e está agora pronta para ser proposta como standard. (Ex: XC00035)

Preliminar Experimental

Standard Obsoleta

Desaprovada

Ciclo de vida de uma Especificação

Page 20: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Standard: uma especificação experimental que foi implementada com sucesso em várias plataformas de agentes de acordo com as normas da FIPA, evolui para o estatuto de Standard, e é formalmente publicada pela FIPA (Ex: SC00035)

Depois de chegar a standard, a especificação só pode sair deste estado se deixar de ser necessária, altura em que é colocada no estado de Desaprovada

Preliminar Experimental

Standard Obsoleta

Desaprovada

Ciclo de vida de uma Especificação

Page 21: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Desaprovada: uma especificação standard que foi identificada como sendo potencialmente desnecessária para os standards da FIPA (Ex: DC00035)

Possivelmente devido à evolução tecnológica ou mesmo à evolução de outros standards ou especificações da FIPA

Se ao fim de 6 meses de permanência neste estado, a especificação continuar a ser considerada como potencialmente desnecessária, então avançará para o estado de Obsoleta, caso contrário retornará ao estatuto de Standard

Preliminar Experimental

Standard Obsoleta

Desaprovada

Ciclo de vida de uma Especificação

Page 22: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Obsoleta: uma especificação Desaprovada que foi identificada e comprovada como sendo desnecessária para os standards da FIPA (Ex: OC00035)

Preliminar Experimental

Standard Obsoleta

Desaprovada

Ciclo de vida de uma Especificação

Page 23: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Arquitectura Abstracta

Sistema de Transporte de Mensagens do

Agente

Sistema de Gestão do Agente

Sistema de Comunicações do

Agente

Aplicações baseadas em Agentes

Estrutura da Especificação da Arquitectura Abstracta

Page 24: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Arquitectura Abstracta: é a responsável por todas as entidades abstractas necessárias para o desenvolvimento de sistemas baseados em agentes. Faz a distinção entre as entidades que são facilmente representadas de uma forma abstracta (como por exemplo o FIPA ACL) dos elementos que não são genéricos a todos os sistemas de agentes (como a mobilidade do agente ou o sistema de gestão do mesmo)

Na prática, a Arquitectura Abstracta da FIPA é a parcela comum a todas as plataformas de agentes que a implementam e que são compatíveis com as suas especificações, como é o caso do FIPA-OS, JADE e ZEUS

Sistema de Transporte de Mensagens do Agente: é o responsável pela entrega e pela representação de mensagens no seio de ambientes e redes heterogéneas com diferentes protocolos de transporte

Estrutura da Especificação da Arquitectura Abstracta

Page 25: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Plataforma de Agentes

Agente A

Agente BPlataforma de

Agentes

Message Transport Service (MTS)

Message Transport Service (MTS)

Mensagem ACL sobre MTS Message Transport Protocol (MTP)

Especificação da Arquitectura Abstracta

Page 26: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Sistema de Gestão do Agente: providencia a framework dentro da qual os agentes FIPA existem e operam. Estabelece o modelo lógico de referência para a criação, registo, localização, comunicação, migração e eliminação de agentes

Especificação da Arquitectura Abstracta

Page 27: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

AplicaçãoAplicação de

Agentes

AgenteSistema de Gestão de Agentes

(White Pages)

Directory Facilitator

(DF) (Yellow Pages)

Message Transport Service (MTS)

Message Transport Service (MTS)

Plataforma de Agentes

Plataforma de Agentes

Especificação da Arquitectura Abstracta

Page 28: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Sistema de Comunicações do Agente: a comunicação entre agentes FIPA é baseada num modelo que assenta basicamente na grande qualidade semântica das mensagens, ou seja, toda a comunicação encontra-se pré-definida e enriquecida semânticamente para que seja bem entendida por todos os agentes

A base da comunicação entre agentes FIPA é conseguida atrabés do uso de actos comunicativos ou performativas, como request, inform ou refuse, independentes do conteúdo global da mensagem em si

Especificação da Arquitectura Abstracta

Page 29: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

A mensagem que é fornecida ao agente juntamente com o acto comunicativo está “embrulhada” num envelope bem especificado, envelope esse denominado de Envelope de Linguagem de Comunicação de Agentes, ou Envelope ACL (Agent Communication Language)

Uma ACL providencia mecanismos para adicionar contexto ao conteúdo das mensagens e ao acto comunicativo, tais como identificar o emissor e o receptor, a ontologia, a linguagem e o protocolo de interacção da mensagem, entre outros

Graças a uma ACL, agentes de sistemas heterogéneos conseguem comunicar entre si, uma vez que a definição da ACL é uma definição abstracta e bastante genérica (definida na Arquitectura Abstracta)

FIPA-ACL

Page 30: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Cada agente interpreta a mensagem consoante os seus meios internos, mas a comunicação e transmissão de dados, graças à FIPA-ACL, está standardizada, sendo genérica a todos os agentes FIPA

O conteúdo concreto da mensagem é expresso numa linguagem de conteúdo, tal como a linguagem semântica FIPA (SL), KIF (Knowledge Interchange Format) ou RDF (Resource Description Framework), por exemplo

A FIPA-ACL foi baseada originalmente no ARCOL com uma série de revisões do KQML

FIPA-ACL

Page 31: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-ACLActos Comunicativos

Page 32: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Assertives: inform, refuse, failure, etc… Directives: request, query-reg, etc… Commissives (compromissos): agree Expressives (expressões de interesse): subscribe

• São tipos básicos de conversação (actos comunicativos)• Protocolo: mensagens ocorrem em padrões,

denominados conversas ou diálogos (ex: fipa-request, fipa-cfp)

FIPA-ACLActos Comunicativos e protocolos

Page 33: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

(request :sender luis :receiver tio-ze :content (inform-if :sender tio-ze :receiver luis :content "(tempo alentejo chuva)" :language sl :ontology meteorologia) :language sl :reply-with query-1234)

(inform :sender tio-ze :receiver luis :content "(not (tempo alentejo chuva))" :language sl :ontology meteorologia :in-reply-to query-1234)

FIPA-ACLComunicação entre dois agentes

Page 34: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-ACL: Comunicação entre dois agentes

Page 35: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-ACLO Envelope ACL

Page 36: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-ACLO Envelope ACL

Ontologia: define os termos, as relações entre os termos e as operações sobre esses termos num dado contexto (domínio) (Ex: meteorologia)

Conteúdo: representa o conteúdo da mensagem (o exemplo do Tio Zé!)

Linguagem: representa a linguagem utilizada no conteúdo da mensagem, que define as condições, regras e operações genéricas para que se possa inferir algo do conteúdo da mensagem (Ex: SL, RDF, KIF, …)

Page 37: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS Jade Zeus

Plataformas Generalistas: que seguem o modelo da FIPA

Page 38: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Zeus Desenvolvido pela British

Telecommunications Labs Plataforma para construção de

aplicações com agentes colaborativos (Open Source)

Ambiente para o desenvolvimento de collaborative agents:

o Agentes que colaboram entre si para atingirem um determinado objectivo

Page 39: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Objectivos

Manipulação directa:• Programação visual• “Pick & Choose”

Tecnologia standard:• JAVA, TCP/IP, FIPA ACL...

Page 40: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Agentes Colaborativos

Questões chave:• Descoberta da informação

- descobrir a existência, localização, capacidades e papéis de outros agentes

• Comunicação- usar uma linguagem comum

• Ontologia- usar um vocabulário comum para conceitos iguais

• Coordenação entre agentes• Integração com sistemas existentes

Page 41: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Componentes do Tool-Kit

Page 42: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Agent Component Library

Componentes usados na construção de agentes:• Agentes de suporte• Mecanismo de comunicação• Motor de coordenação• Planeador genérico• Interface com sistemas externos

Page 43: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Agentes de Suporte

Resolvem o problema da descoberta de informação:• Servidor de nomes + Facilitador

Constituem a infraestrutura da sociedade de agentes ZEUS oferece uma biblioteca de relações organizacionais pré-

definidas:• superior• subordinado• co-trabalhador• ...

Page 44: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Mecanismo de Comunição

Resolve o problema da linguagem comum:• Mensagens FIPA-ACL• Comunicação ponto-a-ponto sobre sockets TCP/IP

Page 45: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Motor de Coordenação1

Resolve o problema da coordenação entre agentes:• recebe objectivos• invoca o planeador• localiza os agentes produtores dos recursos

necessários• solicita os seus serviços• atribui tarefas

Page 46: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Motor de Coordenação2

ZEUS oferece uma biblioteca de estratégias de coordenação pré-definidas:

• Master-slave• Contract net• Vickery auction• Dutch auction• English auction• ...

Page 47: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Interface com Sistemas Externos

Resolve o problema da integração com sistemas existentes• Motor de Coordenação pode utilizar API’s externas

(BD’s, ...)• ZeusExternal interface class + modelo interno por

eventos- integrar código externo com o agente- verificar os eventos que ocorrem- reagir a determinados eventos

Page 48: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Agente ZEUS Genérico

Page 49: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Agent Building Software The Agent Building Tools :

Providencia uma ambiente de desenvolvimento integrado através do qual os agentes são gerados e especificados

Providencia um conjunto de editores que guiam os programadores através dos vários estádios da metodologia de desenvolvimento de agentes do Zeus:

o Ontology Editor para definir os conceitos

o Agent Definition Editor para descrever os agentes logicamente

o Task Description Editor para descrever os atributos das tarefas

o Organisation Editor para definir as relações entre os agentes

o Co-ordination Editor para seleccionar o conjunto de protocolos de coordenação com os quais os agentes devem ser equipados

Page 50: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Editor de Ontologias

Ontology Editor para definir os conceitos

Page 51: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Editor de Definição

do Agente

Agent Definition Panel para descrever os agentes logicamente

Page 52: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Editor de Descrição

de Tarefas

Editor de Tarefas para descrever os atributos das tarefas

Page 53: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Editor de Organização

Organisation Editor para definir as relações entre os agentes

Page 54: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Editor de Coordenação

Co-ordination Editor para seleccionar o conjunto de protocolos de coordenação com os quais os agentes devem ser equipados

Page 55: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Tools de Vizualização

The Visualisation Tools :

Ambiente de runtime que permite efectuar a observação e o debug das aplicações

Recolhe informação sobre a actividade dos agentes, interpreta-a e mostra os resultados em tempo real

Solução para o difícil e crescente problema da análise e debug de sistemas multi-agent, onde os dados, informação de controlo e processos activos encontram-se distribuídos

Page 56: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Visualisation Tools

Permitem observar o comportamento dos agentes e da sociedade em tempo-real:

• Visualizador de Sociedades• Relatórios• Estatística• Visualizador de Agentes• Controlo

São genéricas e independentes da aplicação

Page 57: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Visualizador de Sociedades

Page 58: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Relatórios

Page 59: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Estatística

Page 60: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Visualizador de Agentes

Page 61: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Metodologia de Desenho

Page 62: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Comentários Finais (ZEUS)

Plataforma ZEUS permite:• Configurar um conjunto de agentes com funcionalidades e

comportamentos distintos• Organizar os agentes utilizando relações organizacionais

oferecidas pela plataforma• Equipar cada agente com mecanismos de comunicação e

coordenação• Definir para cada agente código específico• Gerar automaticamente os executáveis

Page 63: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Comentários Finais (ZEUS)

Plataforma ZEUS oferece ainda:• Agentes de suporte

- Servidor de nomes + Facilitador• Visualização e “debug” de sociedades de agentes

Problemas:- Fraca manutenção

- Fraca documentação - A BT não tem investido na plataforma

Page 64: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS A plataforma FIPA-OS foi a primeira implementação Open

Source da FIPA Iniciada em Agosto de 1999 Tipos de agentes básicos suportados:

- Reactivo: reage a mensagens ACL provenientes de outros agentes no ambiente

- Proactivo: o agente consegue decidir quando deve iniciar a interacção com outros agentes (só para objectivos simples, como registar-se num servidor de registo!)

- Social: reactivo e proactivo- Autónomo: cada agente possui várias threads

de controlo

Page 65: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS

Page 66: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS : aspectos genéricos Qualquer plataforma FIPA contém:

- Directory Facilitator (DF): Tipo de agentes que fornecem o serviço de “páginas amerelas” a outros agentes (localização de serviços e serviços de registo)

- Agent Management System (AMS): gere o ciclo de vida de um agente na plataforma, enquanto providencia serviços de “páginas brancas” a outros agentes (localização de agentes, nomes e serviços de controlo de acessos)

- Message Transport Service (MTS):- MTP (Message Transport Protocol) numa determinada plataforma (varios

protocolos)

- ACC (Agent Communication Channel) para comunicar entre plataformas

Page 67: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS- os agentes

Componentes

específicos do FIPA-

OS

Page 68: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS Agent Shell: para além dos componentes mandatórios presentes no

Modelo de Referência da FIPA, a distribuição da FIPA-OS inclui um template vazio de um agente denominado Agent Shell.

Através deste template podemos produzir os nossos agentes para inter-operarem na FIPA-OS

Agent Management Service (AMS) (genérico): É um agente que faz o papel de Serviço e é usado para controlar os ciclos de vida dos outros agentes.

O agente registado informa o AMS sobre alterações significativas no seu ciclo de vida e deixa o AMS controlar esse mesmo ciclo.

• No caso de um agente rebelde que não se deixe controlar pelo AMS, este invoca directamente operações do agente pela sua API

Page 69: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS

Task Manager: Cada tarefa de cada agente é uma tarefa distinta (ambiente multi-tarefa)

As mensagens são redireccionadas automaticamente para o estado correcto É possível interagir dentro da mesma tarefa

Page 70: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS

Parse Factory: sempre que um agente recebe uma mensagem, o Parse Factory descobre em que linguagem a mensagem vem escrita e carrega dinamicamente o parser respectivo para que a conversão se faça sem sobressaltos

A vantagem mais notória é a transparência com que se pode encarar as mensagens, dando total atenção à componente semântica destas

Uma vez que o parsing é feito automaticamente, para o agente é como se estivesse a comunicar na mesma linguagem! Não há necessidade de codificação sintática!

Só o conteúdo semântico interessa ao agente

Page 71: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS

Conversation Manager: Trata de todo o tráfego de conversas (não trata mensagens individuais)

Simplifica a implementação das conversas, senão teríamos de associar sempre a identificação das conversas à mensagem antes do agente enviar a mesma

Page 72: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS

Comunicações: Remote Method Invocation (RMI) usado em comunicação no interior da mesma plataforma (intra-plataforma)

IIOP com Voyager e SunIDL para comunicação para plataformas diferentes! (inter-plataforma)

Page 73: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

FIPA-OS:Exemplo

Plataforma móvel

Agência A

Agência B

Page 74: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

JADE (1/2)

Java Agent DEvelopment Framework Desenvolvido pelo CSELT da Universidade de Parma - Itália Framework para o desenvolvimento de aplicações baseadas em

agentes de acordo com as especificações FIPA para sistemas multi-agent

Pode ser visto como um middle-ware de agentes que implementa uma plataforma de agentes e um framework de desenvolvimento

Está conforme a FIPA 97/2000

Page 75: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

JADE (2/2)

Toda a comunicação entre agentes é efectuada através da troca de mensagens

Mensagens são representadas através da linguagem FIPA ACL Lida com todos os aspectos que não fazem parte do agente em si e

que são independentes das aplicações, tais como:o Transporte de mensagenso Codificação e parsingo Ciclo de Vida dos agentes

Page 76: Agentes Inteligentes e Sistemas Multi-agente Plataformas para a Construção de Agentes IST- 2003/2004 Ana Paiva.

A. Paiva

Referências

• http://www.agentbuilder.com• http://193.113.209.147/projects/agents.htm• http://www.trl.ibm.com/aglets/index_e.htm• http://aglets.sourceforge.net/• http://www.dca.fee.unicamp.br/~gudwin/courses/IA009/Aulas.html• Acetatos gentilmente cedidos pela professora da cadeira de IAA