TAO - LES - PUC-Rio

Propaganda
O Framework Conceitual
TAO
Viviane Torres da Silva
Ricardo Choren
Carlos J. P. de Lucena
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
2
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
3
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
play
Papel de Agente
specialization
association
4
specialization
control
dependency
aggregation
association
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
5
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
6
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
7
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
8
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.
9
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
10
Objeto x Agente
 Estado
 Armazena o
conhecimento sobre si
mesmo e sobre outras
entidades
 Estado mental: estende o
estado de objeto
 Adiciona ao estado
definição de
comportamento
 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
 não possui controle
sobre o comportamento
 precisa de estímulos
para executar
 comportamento prédefinido
11
Objeto x Agente
Agente é uma entidade ativa e objeto uma
entidade passiva.
Objeto fortemente relacionado com
reatividade.
Agente fortemente relacionado com
autonomia.
Objeto Ativo X Agente
 Comportamento:
 Comportamento:
 Comportamento prédefinido
 Pode adaptar o seu
comportamento
 Interativo
 Até certo grau
autônomo
 Interativo
 Autônomo
 Possui sua própria
thread
 Executa sem estímulos
externos
 Pode dizer “não” às
solicitações de outras
entidades
 Possui sua própria
thread
 Começa a executar sem
estímulos externos
 Atende a todas as
solicitações de outras
entidades
13
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
14
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.
15
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
16
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 sub-organizações devem
obedecer.
Axioma = regra = lei = norma
17
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.
18
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 suborganização.
Orienta e também restringe o
comportamento de instâncias que
exercem o papel.
19
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
20
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
21
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
22
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
23
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
24
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
25
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
26
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
27
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
28
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
29
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
30
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
31
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
32
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
33
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,
34
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
35
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.
36
Sistema Multi-Agentes
Sistema Multi-Agentes
Organização
principal
agente
agente
Ambiente
objeto
37
agente
Sistema Multi-Agentes
Sistema Multi-Agentes
Organização
principal
Papel de
objeto
Organização
principal
agente
agente
Ambiente
objeto
38
Papel de agente
agente
Sistema Multi-Agentes
Sistema Multi-Agentes
Sub-Organização
Organização
principal
Organização
principal
agente
agente
Ambiente
objeto
39
agente
Sistema Multi-Agentes
Sistema Multi-Agentes
Sub-Organização
Organização
principal
Papel de
objeto
Organização
principal
agente
agente
Ambiente
objeto
40
Papel de agente
agente
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
41
Criação das entidades
Criação de papel de agente
 A criação ocorre quando um agente ou suborganizaçã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
42
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
43
Criação das entidades
Criação de organização
 Se a organização sendo criada é uma suborganização, uma instância de papel deve ser
criada e associada à sub-organização
 Condição: existência do ambiente
 Criador de organização principal: ambiente
 Criador de sub-organizações: agente, (sub)organização ou ambiente
44
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
45
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
46
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.
47
Referências





Dardenne, A.; Lamsweerde, A.; Fickas, S. (1993) "Goal-directed
Requirements Acquisition." Science of Computer Programming. v.20,
p.3-50.
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.
48
Download