TAO - LES - PUC-Rio

Propaganda
Framework Conceitual para SMA
Taming Agents and Objects (TAO)
Andrew Diniz da Costa
[email protected]
Definições
• concept: "a general idea derived or inferred from specific
instances or occurrences."
• framework: "a fundamental structure", "a set of
assumptions, concepts, values, and practices that
constitutes a way of viewing reality.“
• [www.dictionary.com]
2
Framework Conceitual para SMA
•
Motivação: não existe uma definição comumente aceita
sobre agentes.
•
Objetivo: definir os conceitos relacionados a SMA e
descrever os contextos nos quais estes conceitos são
utilizados.
•
Um framework conceitual para SMA deve definir as
abstrações comumente encontradas em SMAs, suas
propriedades, seus relacionamentos, suas ações e suas
interações.
3
TAO (Silva et al., 2003)
Arquitetura MOF de 4 camadas
Camada de
meta-meta-modelo
MOF
meta-meta-modelo
ER
meta-meta-modelo
instanciação
Camada de
meta-modelo
Camada de
modelo de domínio
UML
meta-modelo
TAO
meta-modelo
UML
modelos
MAS
modelos
Camada de instância
5
Arquitetura MOF de 4 camadas
Camada de
meta-metamodelo
Entity
Relationship
Entity
Relationship
Entity
Conceptual Framework
Camada de
meta-modelo
Agent
play
Role
ownership
Organization
Conceptual Model
Camada de
modelo
de domínio
User Agent
play
Buyer
ownership
Marketplace
Camada de
instância
Bob's Agent
play
Clothes Buyer
ownership
Wal-Mart
6
Entidades e Relacionamentos
specialization
association
Ambiente
association
association
inhabit
specialization
association
aggregation
dependency
Objeto
association
play
association
inhabit
specialization
Organização
ownership
Papel de Objeto
ownership
play
specialization
dependency
aggregation
association
dependency
association
association
inhabit
Agente
specialization
association
play
Papel de Agente
specialization
control
dependency
aggregation
association
7
Entidades
• Toda entidade possui:
– Propriedades = estado + comportamento
– Relacionamentos
• Estado: informações sobre si mesma e sobre outras
entidades
• Comportamento: conjunto de ações que pode executar
• Relacionamentos: define o contexto no qual duas entidades
estão relacionadas
8
Objeto
• Estado: atributos
– não tem qualquer estrutura predefinida
– armazena informações sobre si mesmo, sobre o ambiente e
outros objetos em seus atributos
• Comportamento: métodos
– define as operações que podem ser executadas
– as operações podem modificar o estado do objeto
• Um objeto tem controle sobre seu estado
9
Objeto
• Objeto tradicional:
– não tem controle sobre seu comportamento, ou seja, faz tudo
solicitado por outra entidade
– não pode modificar seu comportamento
• Os objetos são entidades passivas que fazem tudo que
qualquer um pedir e somente quando solicitado
10
Agente
• Estado:
– crenças, objetivos, planos e ações
• Crenças: conhecimento sobre o ambiente, sobre si mesmo e
sobre outras entidades
– O que o agente sabe, o que ele vê, suas memórias e suas
percepções
• Objetivos: estados futuros ou desejos que o agente
pretende alcançar ou satisfazer
– Associados a pelo menos um plano que o agente executa para
alcançar o objetivo
11
Agente
• Plano: composto por ações
– Está relacionado a um conjunto de objetivos que o agente pode
alcançar ao executá-lo
• Ações: execuções do agente
– Exemplo: mudar o estado mental, enviar e receber mensagens
de outros agentes e chamar métodos de objetos
• Um agente é capaz de escolher um plano com base nos
objetivos.
12
Agente
• Comportamento:
– expresso por meio de seus planos e ações
– se baseia nas características do agente, por exemplo,
interação, autonomia e adaptação
• Interação: agentes interagem com outras
entidades
• Autonomia: agente é pró-ativo, não precisam de
estímulos externos
– os agentes são entidades orientadas a objetivos
• Adaptação: agente pode adaptar seu estado e seu
comportamento
13
Objeto
• Estado
– Armazena o
conhecimento sobre si
mesmo e sobre outras
entidades
• Comportamento
– não possui controle
sobre o comportamento
– precisa de estímulos
para executar
– comportamento prédefinido
X
Agente
• Estado mental:
estende o estado de
objeto
– Adiciona ao estado
definição de
comportamento
• Comportamento:
estende o
comportamento de
objeto
– possui total controle sobre
seu comportamento (pode
dizer “não”)
– não precisam de estímulos
externos ou internos para
executar;
– podem adaptar o
comportamento
14
Objeto
X
Agente
• Agente é uma entidade ativa e objeto uma entidade
passiva.
• Objeto fortemente relacionado com reatividade.
• Agente fortemente relacionado com autonomia.
Objeto Ativo
• Comportamento:
– Comportamento prédefinido
X
Agente
• Comportamento:
– Pode adaptar o seu
comportamento
• Interativo
• Interativo
• Até certo grau
autônomo
• Autônomo
– Possui sua própria
thread
– Começa a executar sem
estímulos externos
– Atende a todas as
solicitações de outras
entidades
– Possui sua própria
thread
– Executa sem estímulos
externos
– Pode dizer “não” às
solicitações de outras
entidades
16
Ambiente
• É o habitat de agentes, organizações e objetos
– eles não podem residir em mais de um ambiente ao mesmo
tempo.
• Estado e o comportamento são definidos com base na
característica
• Pode ser uma entidade passiva, como um objeto, ou pode
ser uma entidade ativa, como um agente
17
Ambiente
• Ambiente modelado como uma classe de objeto possui
– métodos e atributos
• Ambiente modelado como um agente possuem
– crenças, objetivos, ações e planos iniciais.
18
Organização
• Organizações agrupam os agentes de um SMA
• Organização = grupo = comunidades = sociedades
• Pode definir sub-organizações, axiomas e papéis
• Sub-organizações:
– organizações que desempenham papéis em uma organização
19
Organização
• Papéis:
– São desempenhados por agentes, objetos e sub-organizações
dentro de uma organização
• Axioma:
– regra, lei ou princípio estabelecido.
– restrições globais da organização às quais os agentes e as suborganizações devem obedecer.
• Axioma = regra = lei = norma
20
Organização
• Uma organização estende um agente
• Estado:
– crenças, objetivos, ações, planos e axiomas
• Comportamento:
– ações e planos executados pela organização +
– ações e planos executados pelos agentes e sub-organizações.
21
Papéis
• Duas propriedades mais importantes:
– São definidos no contexto de uma organização
– Uma instância de papel deve ser exercida por um agente, por
um objeto ou por uma sub-organização.
• Orienta e também restringe o comportamento de instâncias
que exercem o papel.
22
Papel de Objeto
• Descreve um conjunto de características que são vistas por
entidades que usam o objeto
• Orienta o comportamento de objetos porque os objetos
agem de acordo com chamadas feitas pelo papel
• Restringir o acesso ao objeto limitando as informações e o
comportamento que outras entidades podem acessar
23
Papel de Objeto
• Pode também adicionar informações (atributos) e
comportamento (métodos) ao objeto que exerce o papel.
• Estado: atributos
– mantém as informações
• Comportamento: métodos
– são as operações
24
Papel de Objeto
Entidade B
Papel de Objeto
Objeto
atributo 1
atributo 1
atributo 2
método 1
método 3
método 1
método 2
Entidade A
25
Papel de Objeto
Entidade B
Papel de Objeto
Objeto
atributo 1
atributo 1
atributo 2
método 1
método 3
método 1
método 2
Entidade A
26
Papel de Objeto
• Um objeto não tem consciência do papel que está exercendo
• O papel de objeto é que sabe a qual objeto está associado
• Todas as instâncias de papel de objeto são um membro de
uma organização e são exercidas por um objeto
27
Papel de Agente
• Orienta o comportamento de um agente descrevendo seus
objetivos ao exercer o papel
• Restringe o comportamento definindo as ações que o agente
deve exercer (deveres) e as ações que pode executar
(direito) ao exercer o papel
• Pode adicionar novos objetivos e crenças ao agente
• Um agente e uma organização desempenham pelo menos
um papel
28
Papel de Agente
• Estado:
– crenças e objetivos.
• Os objetivos dos papéis caracterizam os objetivos que um
agente deve alcançar enquanto exerce o papel
• Comportamento:
– deveres, direitos e protocolos
29
Papel de Agente
• Deveres (ou obrigações) identificam as ações atribuídas ao
agente que está exercendo o papel, ou seja, as
responsabilidades
• Direitos (ou qualificações) identificam as ações que o agente
pode executar ao exercer o papel, isto é, eles descrevem as
permissões associadas às ações
• Protocolos definem as interações entre papéis por meio da
especificação das mensagens
30
Relacionamentos
• Inhabit:
– especifica que a instância de entidade que reside – o cidadão –
é criada e destruída no habitat e, portanto, pode entrar e sair
dele, respeitando suas permissões
– um cidadão não pode residir em dois habitats ao mesmo tempo
– o habitat conhece todos os cidadãos que residem nele, e cada
cidadão conhece seu habitat
– Aplicabilidade: ambientes e agentes, ambientes e objetos e
ambientes e organizações
31
Relacionamentos
• Ownership:
– Especifica que uma entidade – o membro – é definida no
escopo de outra entidade – o proprietário – e que um membro
deve obedecer a um conjunto de restrições globais definidas
pelo proprietário
– O membro não existe fora do escopo de seu proprietário
– Os proprietários conhecem seus membros, e cada membro
conhece seu proprietário
– Aplicabilidade: classes de papel – os membros – e às classes
de organização – os proprietários
32
Relacionamentos
• Ownership:
– Uma instância de papel (papel do agente ou papel de objeto)
só pode ser exercida por entidades na organização que definiu
o papel
– A organização define quem exerce os papéis identificados
– A organização define qual papel pode ser exercido por uma
entidade
33
Relacionamentos
• Play:
– Especifica que uma entidade está relacionada a um papel
– Os agentes e as organizações interagem por meio dos papéis
que exercem
– Os relacionamentos entre agentes, entre agentes e
organizações e entre organizações são indiretamente definidos
pelos papéis que estão exercendo
– Quando um objeto está exercendo um papel, as entidades
interagem com o objeto por meio de seu papel
– Aplicabilidade: entre papel de agente e agente, papel de
agente e sub-organização, papel de objeto e objeto
34
Relacionamentos
• Specialization/Generalization:
– Define que a sub-entidade que especializa a super-entidade
herda as propriedades e os relacionamentos definidos na
super-entidade
– As propriedades herdadas também podem ser redefinidas pela
sub-entidade
– A sub-entidade também pode definir novas propriedades e
novos relacionamentos
– Aplicabilidade: todas as entidades
35
Relacionamentos
• Control:
– Define que a entidade controlada deve fazer tudo que a
entidade do controlador pedir
– A entidade controlador conhece as entidades controladas, e
cada entidade controlada conhece as entidades que a
controlam
– As entidades controladas e do controlador serão os agentes ou
as organizações que estão exercendo os papéis
– Aplicabilidade: entre dois papéis do agente
36
Relacionamentos
• Dependency:
– Define que uma entidade – o cliente – pode ser definida para
depender de outra – o fornecedor – para realizar seu trabalho
– Especifica que uma alteração na especificação do fornecedor
pode afetar o cliente, mas não necessariamente o contrário
– O cliente sempre conhece seus fornecedores, mas o contrário
pode não ser verdadeiro
– Aplicabilidade: entre papéis de agente, entre papéis de objeto
e entre papel de agente e papel de objeto,
37
Relacionamentos
• Association:
– Especifica um relacionamento de semântica que pode ocorrer
entre instâncias
– Se uma entidade estiver associada à outra entidade, ela saberá
da existência da outra entidade e, então, poderá interagir com
ela
– Aplicabilidade: entre papéis (papéis de objeto e papéis de
agente), ambientes, agentes e objetos, organizações e objetos,
e papéis e objetos
38
Relacionamentos
• Aggregation:
– Define a entidade que é o agregador e a entidade que é a
parte.
– Se uma entidade estiver agregada a outra, dizemos que ela é o
agregador de partes.
– O agregador pode usar a funcionalidade disponível em suas
partes para realizar seu trabalho.
– Aplicabilidade: entre papéis de objeto e entre papéis do
agente.
39
Sistema Multi-Agentes
Sistema Multi-Agentes
Organização principal
agente
Ambiente
agente
agente
objeto
40
Sistema Multi-Agentes
Sistema Multi-Agentes
Organização principal
Papel de agente
Papel de
objeto
Organização principal
agente
Ambiente
agente
agente
objeto
41
Sistema Multi-Agentes
Sistema Multi-Agentes
Sub-Organização
Organização principal
Organização principal
agente
Ambiente
agente
agente
objeto
42
Sistema Multi-Agentes
Sistema Multi-Agentes
Sub-Organização
Organização principal
Papel de agente
Papel de
objeto
Organização principal
agente
Ambiente
agente
agente
objeto
43
Comportamento das Entidades
• Análise do comportamento independente do domínio da
aplicação
• Criação das entidades
• Destruição das entidades
• Interação entre as entidades
– Agentes e sub-organizações interagindo com organizações
– Agentes e sub-organizações interagindo com ambientes
44
Criação das entidades
• Criação de papel de agente
– A criação ocorre quando um agente ou sub-organização se
compromete com o papel.
– Condição: existência de um agente ou uma sub-organização
para exercer o papel
– Criador: organização
45
Criação das entidades
• Criação do agente
– Um papel deve ser imediatamente criado e associado ao agente
– Condição: existência de uma organização
– Criador: outro agente, uma organização ou um ambiente
46
Criação das entidades
• Criação de organização
– Se a organização sendo criada é uma sub-organização, uma
instância de papel deve ser criada e associada à suborganização
– Condição: existência do ambiente
– Criador de organização principal: ambiente
– Criador de sub-organizações: agente, (sub-)organização ou
ambiente
47
Criação das entidades
• Criação de papel de objeto
– Criado quando uma entidade (o criador) deseja acessar um
objeto em uma organização que restringe a visão do objeto.
– Deve ser associado a um objeto
– Condição: existência do objeto
– Criador: agentes e organizações
48
Criação das entidades
• Criação de objetos
– Condição: existência do ambiente
– Criador: agentes, organizações, objetos e ambientes
– Não depende do papel
49
Criação das entidades
• Criação de ambiente
– O ambiente deve ser criado antes de outras entidades porque
elas residem no ambiente.
– Condição: -– Criador: máquina virtual do sistema, outro ambiente, agentes
ou organizações que residem em outro ambiente.
50
Referências
•
Dardenne, A.; Lamsweerde, A.; Fickas, S. (1993) "Goal-directed
Requirements Acquisition." Science of Computer Programming. v.20, p.350.
•
d'Inverno, M.; Luck, M. (2001) "Understanding Agent Systems". New
York: Springer, 2001.
•
Luck, M.; d'Inverno, M. “A conceptual framework for agent definition and
development.” The Computer Journal, 44(1):1--20, 2001.
•
Yu, L.; Schmid, B. “A Conceptual Framework for Agent-Oriented and
Role-Based Work on Modeling.” In: WAGNER, G.; YU, E. (Eds.).
Proceedings of the 1st International Workshop on Agent-Oriented
Information Systems, 1999.
•
Silva, V.; Garcia, A.; Brandao, A.; Chavez, C.; Lucena, C.; Alencar, P.
“Taming Agents and Objects in Software Engineering” In: Garcia, A.;
Lucena, C.; Zamboneli, F.; Omicini, A; Castro, J. (Eds.), Software
Engineering for Large-Scale Multi-Agent Systems, Springer-Verlag, LNCS
2603, pp. 1-26, 2003.
51
Fim!
Questões?
Download