Modelagem orientada a agentes
Professores :
Edson Scalabrin Ph.D
Marcos Shmeil Ph.D
Pontifícia Universidade Católica do Paraná ( PUCPR )
Programa de Pós-Graduação em Informática Aplicada ( PPGIA )
LAboratório de Sistemas Inteligentes ( LASIN )
e-mail: { scalabrin, shm } @ ppgia.pucpr.br
Domínios de Aplicação
Resolução distribuída
de problemas
Sistemas
Multi-agente
Resolução de
problemas
Resolução de
problemas distribuídos
Simulação
multi-agente
Técnicas distribuídas
de Resolução de
problemas
Construção de
mundos hipotéticos
Robótica distribuída
Concepção kénética
de programas
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
2
Domínios de Aplicação
Construção de mundos hipotéticos
– Não se trata de aplicações propriamente ditas,
porque :
•
•
elas não permitem resolver um problema concreto ;
elas não utilizam nem agentes físicos e nem agentes
que simulam o mundo real ;
– Trata-se da construção de mundos virtuais
permitindo analisar mecanismos de interação de
maneira bastante detalhada, que poderiam ser
aplicados sobre uma aplicação real.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
3
Domínios de Aplicação
Construção de mundos hipotéticos
Exemplo :
• a análise de protocolos de cooperação, ou
• a compreensão da influência do
comportamento sobre a regulação de uma
sociedade.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
4
Domínios de Aplicação
Exemplo clássico : a perseguição
Problema :
Trata-se de um jogo onde um submarino soviético
deve tentar fugir de bombardeiros americanos.
Análise :
– Os agentes/presas (submarinos ou herbívoros) os
predadores (bombardeiros e carnívoros),
– Os agentes deslocam-se sobre um espaço
representado sob a forma de uma grade.
– O objetivo deste jogo é fazer que os predadores
capturem as presas cercando-as.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
5
Domínios de Aplicação
Jogo da perseguição
Predadores
Presa capturada
por predadores
Presas
livres
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
6
Domínios de Aplicação
Jogo da perseguição
Hipóteses :
– as dimensões do ambiente (a grade) são finitas ;
– os predadores e as presas movem-se com velocidades fixas, e
geralmente a mesma ;
– as presas evoluem (uma posição) de maneira aleatória ;
– os predadores podem utilizar os cantos e as bordas para
bloquear uma presa ;
– cada predador tem uma percepção limitada do mundo. Ele só
pode avistar a presa, se a mesma se encontrar nas casas a uma
dada distância inferior a seu campo de percepção.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
7
Domínios de Aplicação
Jogo da perseguição
– O que aconteceria se retirássemos as bordas do
tabuleiro ?
– Qual é o grau de importância do campo de percepção
dos predadores ?
– Quais seriam as estratégias possíveis de fuga das
presas ?
– Quais seriam as estratégias possíveis de caça dos
predadores ?
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
8
Domínios de Aplicação
Estratégia Cognitiva : Jogo da perseguição
Trata-se de uma análise descendente, que define as
diferentes funções que o sistema devem preencher :
– detecção de presas ;
– elaboração de equipes de caça ;
– alocação de papeis (pegar a presa pelo norte, oeste,
leste ou sul) ;
– reorganização das equipes, se o número de caçadores
está mal distribuído (ex. 2 equipes de 3 caçadores) ;
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
9
Domínios de Aplicação
Jogo da perseguição : Estratégia Cognitiva
Características :
– as funções dos agentes são bem identificadas e
implementadas nos agentes sob a forma de
comportamentos adaptados, requerendo um sistema de
comunicação que permita o diálogo e a tomada de decisão
distribuída ;
– os agentes possuem objetivos e agem racionalmente no
tocante a estes objetivos, determinando se necessário, um
agente líder para organizar a repartição do trabalho e
coordenar as ações ;
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
10
Domínios de Aplicação
Estratégia Reativa : Jogo da perseguição
Trata-se de uma análise ascendente, que define as diferentes
funções que o sistema devem preencher :
– a presa emite um sinal cuja a intensidade decresce
proporcionalmente a distância e desempenha um papel de
sedutor para os caçadores ;
– os caçadores que se encontram próximo de uma presa P
terão a tendência em dirigir-se para P ;
– os caçadores emitem um sinal servindo de repulsão aos
outros caçadores.
A captura das presas emerge da combinação das diferentes
reações aos estímulos enviados pelas presas e caçadores.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
11
Domínios de Aplicação
Jogo da perseguição
Estratégia Cognitiva x Reativa :
– os agentes cognitivos introduzem uma cooperação
intencional, sabendo que eles dispõem de
capacidades de diálogo e de alocação de tarefas
específicas ;
– os agentes reativos introduzem uma cooperação
reativa e ela surge somente como um simples efeito
de “borda” de cada agente.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
12
Domínios de Aplicação
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
13
Domínios de Aplicação
Mundos hipotéticos
Animat : metade robô, metade animal
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
14
Domínios de Aplicação
Animat : metade robô, metade animal
– a metáfora do robô
•
•
•
supõe-se que os agentes executam ações em um
mundo virtual ;
os agentes não possuem uma realidade física,
logo a nomeação de robô é errônea ;
dar aos robôs a possibilidade de executar ações,
tais como :
– reproduzir-se com outros robôs é imaginável
tratando-se de seres de metal e eletrônicos !
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
15
Domínios de Aplicação
Animat : metade robô, metade animal
A metáfora do animal
– chamar estas criaturas de animais não seria muito mais
realista, que chamar de ser humano um personagem de
um jogo de aventura, visto que estes pretendentes
animais possuem somente relações longínquas com
aqueles que se encontram na natureza.
– Foi assim que Meyer & Guillot (1989) inventaram o termo :
• animat = contração de animal e artefato
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
16
Domínios de Aplicação
Mundos hipotéticos
Robôs exploradores em Marte
– Início:
• A NASA decidiu investir na realização de
projetos espaciais objetivando a
exploração do planeta Marte ;
• deveriam ser enviados robôs autônomos ;
• robôs telecomandados eram impossíveis :
– as conexões via rádio duram de 3 à 7 Mn ;
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
17
Domínios de Aplicação
Robôs exploradores em Marte
– Brooks (1990) :
• imaginou uma invasão do planeta Marte
por um grande número de robôs com
capacidades bastante simples ;
• a coordenação das ações entre os robôs
torna-se crucial.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
18
Domínios de Aplicação
Robôs exploradores em Marte
– Deneubourg et al. (1986) e Steels (1989)
• imaginaram que era possível executar de modo
eficaz tarefas com robôs cujo o comportamento
fosse próximo os das formigas ;
• Fases do projeto :
1a. simulação dos robôs em um mundo virtual ;
2a. construção propriamente dita dos robôs ;
Eles mostram que era possível realizar grupos de robôs
reativos cujo o comportamento era do tipo animal.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
19
Domínios de Aplicação
O problema pode ser descrito como :
– existe uma base fixa a partir da qual vários robôs
móveis devem explorar um espaço a priori
desconhecido para :
• encontrar, recuperar e transportar um minério até a
base ;
– comportamento dos robôs:
• recuperar a maior quantidade possível de minério no
menor tempo.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
20
Domínios de Aplicação
Etapas do problema :
– 1a. definir os diferentes tipos de robôs a construir :
• os robôs devem ser idênticos ou especializados ?
– 2a. Determinar as capacidades cognitivas dos
agentes :
• Eles podem memorizar o terreno que eles cruzam e
construir um mapa ?
• Eles são puramente reativos e capazes unicamente de
percepções locais ou podem se comunicar por troca
mensagens sobre longas distâncias ?
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
21
Domínios de Aplicação
– 3a. Descrever as estruturas coletivas de trabalho :
• eles trabalham em grupo de modo solidário ?
• as equipes são fixas ou dinâmicas ?
• eles podem recrutar ajudas e, caso positivo, como, ou
devem unicamente ficar com seus próprios recursos ?
– 4a. Definir os mecanismos de cooperação e os
protocolos de interações (trabalho coletivo e
resolução de conflitos)
• ex. O que acontece quando dois robôs descobrem ao
mesmo tempo um “monte” de minério ?
– 5a. ser capaz de avaliar as escolhas efetuadas e
comparar as mesmas a outras organizações.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
22
Domínios de Aplicação
Robô
Base
Minério
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
23
Domínios de Aplicação
Robôs fazedores de mudança
• Supõe-se que alguém gostaria de mudar de
endereço e instalar-se em outro lugar.
• Esse alguém tem a sua disposição uma equipe de
robôs capazes de transportar móveis e objetos
frágeis, bem como um certo número de veículos
autônomos.
• Problema :
– Como programar esses robôs de maneira que essa
mudança se efetue em boas condições, por exemplo,
que os robôs não deixem cair o piano de calda e
protejam os vasos chineses ?
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
24
Domínios de Aplicação
Robôs fazedores de mudança
• Comportamento :
– parecido com os robôs exploradores de Marte
• Restrições :
– sobre a natureza dos objetos :
• certos objetos podem ser bastante pesados para
que um robô possa transportar sozinho.
– sobre a topologia do ambiente :
• os corredores são estreitos e, as vezes, é
impossível dois robôs se cruzarem ;
• a configuração das peças das casas, bem como das
redes rodoviárias podem ser complexas.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
25
Domínios de Aplicação
Atelier de produção autônoma
Problema :
– Fabricar os produtos manufaturados : A1, .. , Ak
Recursos disponíveis :
– um conjunto de robôs máquinas M1, .. , Mn
– um conjunto de matéria-prima P1, .. , Pj e
– um conjunto de robôs transportadores T1, .. , Tm
• a função dos transportadores é levar os produtos em
fase intermediária de uma máquina para outra.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
26
Domínios de Aplicação
Atelier de produção autônoma
Características :
– a matéria-prima chega em uma das
extremidades do atelier de produção e
– os produtos manufaturados saem na outra
extremidade.
Como organizar esta unidade de produção de
maneira que ela possa reagir a qualquer modificação
da demanda ?
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
27
Domínios de Aplicação
Atelier de produção autônoma
Restrições a serem observadas :
– primeira, prever a melhor maneira de combinar as diferentes
unidades do atelier (P.O.) ;
– segunda, definir para cada unidade um programa capaz de reagir
a eventuais falhas ;
– terceira, dotar estes programas de mecanismos, que possam
trabalhar em conjunto e coordenar suas atividades ;
– quarta, buscar um modo de organização que penalize, o menos
possível, o conjunto da produção em casos de alterações sobre
o mesmo (falha, + um novo programa).
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
28
Domínios de Aplicação
Resolução distribuída
de problemas
Sistemas
Multi-agente
Resolução de
problemas
Resolução de
problemas distribuídos
Simulação
multi-agente
Técnicas distribuídas
de Resolução de
problemas
Construção de
mundos hipotéticos
Robótica distribuída
Concepção kénética
de programas
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
29
Domínios de Aplicação
Robótica distribuída
– Trata-se da realização de conjuntos de robôs
que cooperam para executar uma missão.
– Utiliza-se robôs concretos que deslocam-se no
mundo real.
– Pode-se dividir a robótica distribuída em duas :
•
•
a robótica celular (não móvel) ;
a robótica móvel.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
30
Domínios de Aplicação
Robótica Celular
• motivação =
construção
modular de robôs.
• Ex. braço
manipulador visto
como um SMA
• Pesquisadores :
–Overgaard et al. 94
Regnier et Duhaut 95
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
31
Domínios de Aplicação
Braço Manipulador : Funcionamento
• o agente Cabeça busca satisfazer o objetivo
(pegar o objeto sobre a mesa) ;
– se ele pode fazer,
então ele efetua o deslocamento e o sistema pára
senão ele comunica o próximo (agente A), passando a
este os seus objetivos.
• O processo se repete recursivamente, cada
agente busca satisfazer seus objetivos,
transmitindo seus desejos ao próximo agente.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
32
Domínios de Aplicação
Robótica Móvel
• Envolve pelos menos dois robôs que devem:
– coordenar os deslocamentos e
– cooperar na execução de tarefas
•
•
•
•
limpar assoalho,
monitorar edifícios,
intervir para socorrer pessoas,
consertar oleodutos
• explorar espaços distantes ou perigosos.
• a coordenação de veículos :
• aviões, carros ou barcos.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
33
Domínios de Aplicação
Problema:
(Cammarata et al. 83; Zeghal et al. 93)
Como estes aviões podem cruzar-se sem acidente e
conservar seus objetivos iniciais.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
34
Domínios de Aplicação
Resolução distribuída
de problemas
Sistemas
Multi-agente
Resolução de
problemas
Resolução de
problemas distribuídos
Simulação
multi-agente
Técnicas distribuídas
de Resolução de
problemas
Construção de
mundos hipotéticos
Robótica distribuída
Concepção kénética
de programas
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
35
Domínios de Aplicação
Concepção kénética de programas
– Trata-se da concepção de sistemas de
informática capazes de evoluir através da :
•
•
•
interação,
adaptação e
reprodução de agentes relativamente autônomas e
funcionando em universos fisicamente distribuídos.
– Kénética é uma nova tecnologia de construção
de softwares a partir dos conceitos de agentes e
de interação.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
36
Domínios de Aplicação
Proposta :
– cada unidade de programa pode tomar a forma de
um agente que :
• dispõe de autonomia própria, seus próprios objetivos e
• “vive” sobre uma rede como um animal em um
ecossistema natural, coopera e negocia com outras
unidades de mesma natureza.
– Cada usuária é um “pastor”, dando indicações a sua
tropa de agentes para recolher na seqüência os
frutos do trabalho.
– Isto é uma proposta de ficção-científica ?
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
37
Domínios de Aplicação
Ficção-científica :
• NÃO, as tecnologias de base necessárias para
esta evolução da programação já existem.
• Como será introduzida esta nova tecnologia ?
– 1o aparecerão agentes simples e pouco autônomo
– depois, aparecerão agentes mais elaborados e
complexos realizando tarefas para auxiliar os usuários
em suas tarefas quotidianas :
•
•
•
•
recuperando dados ;
gerenciando agentes e tarefas comuns ;
oferecendo e solicitando serviços a outros agentes ;
etc.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
38
Domínios de Aplicação
Principais facetas da nova tecnologia :
– a noção de agente circulando em uma rede ;
– a própria arquitetura dos programas ;
A programação OO continuará sendo a panacéia universal da escrita
de programas ?
– A programação OO é somente uma etapa para uma concepção
ainda mais modular da escrita de softwares
– cada componente de um programa poderá ser visto como um
agente contendo :
• suas próprias competências e seus próprios objetivos,
• um conjunto mecanismos procurando responder :
– as necessidades do usuário e
– outras necessidades que devem continuamente aparecer
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
39
Domínios de Aplicação
Rede de comunicação
Gerenciador de
Módulo de
comunicações
acquaintance
Cabeça
Corpo
ARCHON :
ARchitecture for
Co-operating
Heterogeneous
ON-line Systems
Modelo de
planejamento e
de coordenação
(modelos de si e
dos outros)
Monitor
Tarefas correspondendo a módulos
de softwares pré-existentes
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
40
Grandes temas da kénética
A problemática da ação
• Como vários agentes podem agir
simultaneamente e quais são as conseqüências
de suas ações no ambiente ?
• Como estas ações se combinam ?
• Como dois agentes podem entrar em colisão ou
ao contrário evitar ?
• Como as restrições ambientais se combinam nas
ações dos agentes ?
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
41
Grandes temas da kénética
O indivíduo e sua relação como o mundo
– Indivíduo :
•
•
sua arquitetura e sua organização interna ;
seu conjunto de mecanismos, implementado para
assegurar sua viabilidade e satisfazer seus
objetivos
– Relação com o mundo
•
•
sua percepção do mundo ;
suas interações com o mundo e com os outros
agentes.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
42
Grandes temas da kénética
A interação
– os agentes devem ser capazes, através da
comunicação transferir informações, e
sobretudo induzir o outro agente a um
comportamento específico.
– A cooperação é a forma mais geral de interação.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
43
Grandes temas da kénética
Cooperação = C + CA + RC
– colaboração (C) :
• trata-se da repartição do trabalho entre vários
agentes ( técnicas centralizadas ou distribuídas) ;
– coordenação das ações (CA) :
• analisa a maneira que as ações dos diferentes
agentes devem ser organizadas no tempo e no
espaço de maneira a realizar os objetivos.
– Resolução de conflitos (RC) :
• quando um conflito aparece, limita-se o seu efeito
• isto é feito através de mecanismo de negociação
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
44
Grandes temas da kénética
A adaptação
– a adaptação estrutural e comportamental
pode ser vista de duas formas :
• como uma característica individual dos
agentes, aprendizagem ;
• como um processo coletivo envolvendo
mecanismos reprodutivos, nomeados
evolução.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
45
Grandes temas da kénética
A realização e a implementação de SMA
–
–
–
–
linguagens de implementação ;
arquiteturas informáticas ;
plataformas de desenvolvimento ;
aspectos metodológicos de implementação
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
46
Áreas vizinhas dos SMA
• Inteligência Artificial
– centralização dos conhecimentos, individualização
• Análise de sistemas
– preocupa-se como as entradas e saídas em um sistema
qualquer sem levar em conta a interação.
– Exemplo: analise de sistemas biológicos, econimicos
e artificiais em termos de transferência de fluxos de
matéria, de energia, de informação ou de dinheiro entre
diferentes elementos de armazenamento, de comando
ou de regulação.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
47
Áreas vizinhas dos SMA
• Sistemas distribuídos
– preocupa-se em utilizar os recursos
distribuídos disponíveis da melhor maneira
para executar uma tarefa, e totalmente
transparente para o usuário.
• Robótica
– preocupa-se com problemas :
•
mecânicos, eletrônicos, geométricos e comandos
de movimentos
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
48
Áreas vizinhas dos SMA
Quando um sistema é considerado um SMA?
– deve conter agentes autônomos funcionando
em paralelo e buscando satisfazer um objetivo
ou uma função de satisfação ;
– estes agentes devem possuir um mecanismo
de interação de alto nível independente do
problema a resolver :
•
•
protocolos de comunicação ou
mecanismos de interação com o ambiente
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
49
Áreas vizinhas dos SMA
Questões :
– As redes são sistemas multi-agente ?
– Uma decomposição modular de um
programa constitui um SMA ?
– Um programa de IA que se executa em
paralelo é um SMA ?
– Qual é a diferença entre objeto, ator e
agente?
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
50
Áreas vizinhas dos SMA
As redes são sistemas multi-agente ?
– Não, porque os nós de uma rede não dispõem
em geral nem objetivos e nem função de
satisfação.
– Contudo, as redes estão bem situadas para
evoluir para uma concepção multi-agente, graça
sua natureza já distribuída e seus problemas de
gestão necessitam freqüentemente de uma
abordagem local.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
51
Áreas vizinhas dos SMA
Uma decomposição modular de um
programa constitui um SMA ?
– Não,
• porque os módulos não dispõem em geral nem
objetivos e nem função de satisfação.
• porque os mecanismos de interação implantados nos
módulos são de baixo nível :
– Exemplo, chamada de procedimentos ou envio de
mensagens para solicitar um serviço que os
módulos são obrigados responder tal qual ou
produzir um error.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
52
Áreas vizinhas dos SMA
Um programa de IA que se executa em
paralelo é um SMA ?
– Não, pelas mesmas razões apresentada no slide
precedente.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
53
Áreas vizinhas dos SMA
Qual é a diferença entre objeto, ator e
agente ?
– Em informática os atores e objetos são
caracterizados :
• por sua estrutura e
• por seus mecanismos de execução
– Os objetos apresentam três níveis :
• lógico, a análise e a concepção por objeto ;
• implementação, as linguagens a objetos ;
• persistência, SGBDOO.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
54
Áreas vizinhas dos SMA
Um objeto é definido por 3 conceitos :
– a relação classe/instância,
• que descreve a classe como um modelo estrutural e
comportamental e a instância como um representante
de um modelo
– a herança,
• que permite derivar uma classe da outra e fazer
beneficiar a segunda das características da primeira
– o envio de mensagens,
• que autoriza a definição de procedimentos polimorfos,
ou seja, procedimentos cujo o código difere em
função do recebedor da mensagem
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
55
Áreas vizinhas dos SMA
(continuação)
– Um objeto não é um agente, porque :
• ele não dispõe de objetivos ;
• ele não dispõe de função de satisfação ;
• o envio de mensagens limita-se a chamada de
procedimentos.
– os mecanismos de interação ficam aos cuidados do
programador.
– Um ator não é um agente :
• pelos mesmos que os objetos,
• mesmo considerando que os atores se executam em
paralelo.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
56
Áreas vizinhas dos SMA
Objeto
Agente
Objetivos
Métodos
Serviços
Um objeto responde diretamente as
requisições que correspondem aos
seus métodos.
Já os agentes encapsulam suas competências através de
mecanismos suplementares, que filtram as comunicações
externas e gerenciam os diálogos. Além disso, os agentes
são movidos por objetivos (ou tendências) pessoais.
PUCPR/PPGIA/LASIN/Edson
Scalabrin e Marcos Shmeil
57
Download

xxxxxxxxxxxxxxxxx - Programa de Pós