framework conceitual para sma taming agents and objects (tao) andrew diniz da costa...
TRANSCRIPT
Framework Conceitual para SMATaming Agents and Objects (TAO)
Andrew Diniz da Costa
2
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]
3
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.
TAO (Silva et al., 2003)
5
Camada de meta-modelo
Camada de modelo de domínio
Camada de meta-meta-modelo
Camada de instância
MOF meta-meta-modelo
ER meta-meta-modelo
UML meta-modelo
TAOmeta-modelo
instanciação
UMLmodelos
MASmodelos
Arquitetura MOF de 4 camadas
6
Arquitetura MOF de 4 camadas
Agent OrganizationRoleplay ownership
User Agent MarketplaceBuyerplay ownership
Bob's Agent Wal-Martplay ownership
Conceptual Framework
Conceptual Model
Clothes Buyer
Entity RelationshipEntity Entity
Relationship
Camada de meta-modelo
Camada de modelo
de domínio
Camada de meta-meta-
modelo
Camada de instância
7
Entidades e Relacionamentos
Organização
Agente Papel de Agente
Papel de Objeto
Ambiente
Objetoinhabit
inhabit
inhabit
ownershipplay
ownership
play
specializationdependencyaggregationassociation
specializationcontroldependencyaggregationassociation
specialization
specialization
specializationassociationaggregationdependency
dependencyassociation
specializationassociation
association
association
association
associationplay
association
association
8
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
9
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
10
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
11
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
12
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.
13
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
14
Objeto X Agente
• 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
• 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
Objeto X Agente
• Agente é uma entidade ativa e objeto uma entidade passiva.
• Objeto fortemente relacionado com reatividade.
• Agente fortemente relacionado com autonomia.
16
Objeto Ativo X Agente
• Comportamento:– Comportamento pré-
definido
• Interativo
• Até certo grau autônomo– Possui sua própria
thread
– Começa a executar sem estímulos externos
– Atende a todas as solicitações de outras entidades
• Comportamento:– Pode adaptar o seu
comportamento
• Interativo
• Autônomo – Possui sua própria
thread
– Executa sem estímulos externos
– Pode dizer “não” às solicitações de outras entidades
17
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
18
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.
19
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
20
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
21
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.
22
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.
23
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
24
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
25
Papel de Objeto
Objeto
atributo 1atributo 2
método 1método 2
Papel de Objeto
atributo 1
método 1método 3
Entidade B
Entidade A
26
Papel de Objeto
Objeto
atributo 1atributo 2
método 1método 2
Papel de Objeto
atributo 1
método 1método 3
Entidade B
Entidade A
27
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
28
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
29
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
30
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
31
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
32
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
33
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
34
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
35
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
36
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
37
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,
38
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
39
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.
40
Sistema Multi-Agentes
Ambiente
Sistema Multi-Agentes
agenteagente agente
Organização principal
objeto
41
Sistema Multi-Agentes
Ambiente
Sistema Multi-Agentes
agenteagente agente
Organização principal
objeto
Organização principalPapel de agentePapel de
objeto
42
Organização principal
Sistema Multi-Agentes
Sistema Multi-Agentes
Ambiente
agenteagente agente
Organização principal
objeto
Sub-Organização
43
Organização principal
Sistema Multi-Agentes
Sistema Multi-Agentes
Ambiente
agenteagente agente
Organização principal
objeto
Sub-Organização
Papel de agentePapel deobjeto
44
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
45
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
46
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
47
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 à 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
48
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
49
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
50
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.
51
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.
Fim!
Questões?