Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa...
Transcript of Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa...
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?