Sistemas Distribuídos

21
10 OUT 2003 1 Sistemas Distribuídos Agentes de Software

description

Sistemas Distribuídos. Agentes de Software. Definição de agente. Um agente pode ser uma pessoa, uma máquina, ou software que actua por interposta pessoa. Propriedades adicionais: Autónomos: capaz de actuar sem intervenção externa directa. - PowerPoint PPT Presentation

Transcript of Sistemas Distribuídos

10 OUT 2003 1

Sistemas Distribuídos

Agentes de Software

10 OUT 2003 2

Definição de agente• Um agente pode ser uma pessoa, uma máquina,

ou software que actua por interposta pessoa.• Propriedades adicionais:

– Autónomos: capaz de actuar sem intervenção externa directa.

– Tem algum grau de autonomia e controlo do seu estado interno baseado nas suas próprias experiências.

– sem a propriedade da autonomia um agente não é uma entidade dinâmica mas sim um objecto passivo, por isso a autonomia é uma propriedade requerida dos agentes.

10 OUT 2003 3

Propriedades dos agentes– Interactivo: capaz de comunicar com o ambiente

ou com outros agentes.• podem expressar-se em graus de interactividade:

– mensagens para objectos (invocação de métodos) (forma mais básica de interacção)

– reacção a eventos observáveis no ambiente

– interacções sociais (múltiplas a paralelas formas)

– interacção em sistemas multiagentes heterogéneos (capazes de se coordenarem através de mecanismos cooperativos e competitivos como negociação e planeamento) (interacção mais complexa)

– É considerada uma propriedade necessária

10 OUT 2003 4

Propriedades dos agentes– Adaptativos: capazes de responder a outros

agentes e ao seu ambiente.• Na sua mais avançada forma permite ao agente

modificar o seu comportamento baseado na sua experiência (aprendizagem e evolução).

• Envolve geralmente algoritmos genéticos. • É considerada uma propriedade necessária

– Proactivos: orientados a um objectivo com um propósito. Não reagem simplesmente ao ambiente.

10 OUT 2003 5

Propriedades dos agentes – Móveis: capacidade de se transportar de um

ambiente para outro. • geralmente corresponde a mudar de máquina

hospedeira.• pode ser visto como itinerante, dinâmico, roaming ou

migrante. • Não é uma propriedade necessária.

– Inteligentes: o estado é formalizado pelo conhecimento e interactua com outros agentes usando linguagem simbólica

10 OUT 2003 6

Propriedade de agentes

– Racionais: capaz de escolher uma acção baseada em objectivos internos

– Não previsível: capaz de agir em formas não idênticas no passado mesmo se as condições iniciais forem iguais.

– Carácter: ter personalidade ou estado emocional acreditável.

10 OUT 2003 7

Propriedades dos agentes

– Transparente e auditado: deve ser transparente quando requisitado e deve apresentar um relatório de actividades se pedido.

– Coordenativo: capaz de executar uma actividade num ambiente partilhado por outros agentes.

• actividades são geralmente coordenadas via planos, fluxos de trabalho, ou outro mecanismo de gestão de processos

10 OUT 2003 8

Propriedades de agentes

– Cooperativos: capaz de se coordenar com outros agentes para atingir um propósito

– Competitivo: capaz de se coordenar com outros agentes num modelo onde o sucesso de um agente implica o fracasso de outro.

– Robusto: capaz de lidar com erros e dados incompletos

– Confiáveis: aderem às leis da robótica

10 OUT 2003 9

Sistemas de agentes

– Um agente pode ser construído para ser capaz de fazer muitas coisas mas um “fat-agent” representa um impedimento à velocidade, robustez e manutenção.

– Dividir a funcionalidade entre muitos agentes fornece modularidade, flexibilidade, extensibilidade, escalabilidade e capacidade de alteração.

10 OUT 2003 10

Sistemas de agentes

– Aplicações que requerem computação distribuída são suportadas melhor por MAS.

– Tecnologia de agentes representa o SOA em computação distribuída.

– Os ambientes MAS fornecem uma infraestrutura específica onde se integram os ambientes de funcionamento, protocolos de comunicação e interacção entre agentes

10 OUT 2003 11

Uso de agentes

• Agentes para redes e gestão de sistemas– responsáveis por tarefas tais como: detecção de

faltas, equilíbrio de carga. antecipação de faltas, parametrização dinâmica de redes, análise de problemas, padrões de comportamentos, síntese de informação.

• Agentes para decisão e suporte logístico

• Agentes de negociação e formulação de consenso.

10 OUT 2003 12

Uso de agentes

• Agentes para assistência ao utilizador

• Agentes para estruturas organizacionais– simulação de situações ou organizações

10 OUT 2003 13

Tecnologia de Agentes

• Linguagem de Programação: Java ou C++• Linguagem de Comunicação: KQML ou FIPA

ACL• Representados como String ou documentos XML• Linguagem de conteúdo: KIF or SL1• Maior parte dos agentes móveis são enviados pela

rede usando técnicas de serialização

10 OUT 2003 14

Pontos chaves

• Comunicação – Existe a necessidade de standardizar as

linguagens de comunicação entre agentes (KQML, Arcol, FIPA, KIF, XML-based) para haver interoperabilidade enter diferentes fabricantes.

– É necessário haver um entendimento ontológico

10 OUT 2003 15

Pontos chave

• Estado interno dos agentes– Representação dos objectivos que representam

desejos ou estados futuros.– Ajudam o agente a determinar que acções

tomar em circunstâncias particulares– São necessários interfaces com o exterior para

que o agente tenha uma representação do mundo

10 OUT 2003 16

Pontos chave

• Gestão do ciclo de vida:– Devem existir mecanismos para fazer o “start”,

“stop”, “manage” e “trace”.– Quando são móveis adicionam-se “permissões”

para executar, actuar, ou comunicar.– Quando são evolutivos adicionam-se serviços

para “delegar responsabilidades”– Podem ficar adormecidos e salvaguardados

durante grandes temporadas

10 OUT 2003 17

Pontos chave

• História:– Podem existir mecanismos para gravar as acções

do agente para futuras auditorias e para avaliação de acções passadas

• Mobilidade– requerem um servidor com o ambiente onde

possam ser executados– introduzem complexidade adicional de segurança

e validação do código móvel

10 OUT 2003 18

Pontos chave

– introduzem complexidade na gestão:• Aonde estão? Como comunicar com eles? como

trazê-los de volta quando a rede falha?

– gestão de nomes torna-se essencial

10 OUT 2003 19

Arquitectura de agentes

Owner

Agent Platform Agent Communication Channel

1..11..* 1..11..*

FIPA98 Agent Management Reference Model2/19/98 GAM

Agent Request BrokerAgent

Belief : typeUncertainty : typeIntention : type

1..*

0..*

1..*

0..*

1..1

0..*

1..1

0..*

<<Queries>>

Wrapper Agent NonAgent Software

10 OUT 2003 20

Arquitectura de agentesFIPA98 Agent Platform2/19/99 GAM

Internal Platform Message Transport

Directory Facilitator

deregister()modify()register()search()

Agent Management System

authenticate()register-agent()deregister-agent()modify-agent()search-agent()query-platform-profile()

Agent Communication Channel

forward()

Agent Platform Security Manager

Agent Platform

10 OUT 2003 21

Arquitectura de agentes

• Sistema de gestão de agentes– Mantém um directório de nomes lógicos dos

agentes e seu endereço de transporte para uma plataforma de agentes

– Responsável por fazer a gestão do ciclo de vida dos agentes