framework conceitual para sma taming agents and objects (tao) andrew diniz da costa...

52
Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa [email protected]

Upload: internet

Post on 18-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

Framework Conceitual para SMATaming Agents and Objects (TAO)

Andrew Diniz da Costa

[email protected]

Page 2: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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]

Page 3: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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.

Page 4: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

TAO (Silva et al., 2003)

Page 5: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 6: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 7: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 8: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 9: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 10: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 11: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 12: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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.

Page 13: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 14: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 15: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

Objeto X Agente

• Agente é uma entidade ativa e objeto uma entidade passiva.

• Objeto fortemente relacionado com reatividade.

• Agente fortemente relacionado com autonomia.

Page 16: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 17: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 18: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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.

Page 19: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 20: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 21: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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.

Page 22: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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.

Page 23: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 24: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 25: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 26: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 27: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 28: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 29: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 30: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 31: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 32: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 33: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 34: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 35: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 36: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 37: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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,

Page 38: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 39: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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.

Page 40: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

40

Sistema Multi-Agentes

Ambiente

Sistema Multi-Agentes

agenteagente agente

Organização principal

objeto

Page 41: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

41

Sistema Multi-Agentes

Ambiente

Sistema Multi-Agentes

agenteagente agente

Organização principal

objeto

Organização principalPapel de agentePapel de

objeto

Page 42: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

42

Organização principal

Sistema Multi-Agentes

Sistema Multi-Agentes

Ambiente

agenteagente agente

Organização principal

objeto

Sub-Organização

Page 43: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

43

Organização principal

Sistema Multi-Agentes

Sistema Multi-Agentes

Ambiente

agenteagente agente

Organização principal

objeto

Sub-Organização

Papel de agentePapel deobjeto

Page 44: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 45: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 46: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 47: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 48: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 49: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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

Page 50: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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.

Page 51: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

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.

Page 52: Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa andrew@les.inf.puc-rio.br

Fim!

Questões?