Frameworks Conceituais Viviane Torres da Silva [email protected] viviane.silva/isma.

52
Frameworks Conceituais Viviane Torres da Silva [email protected] http://www.ic.uff.br/ ~viviane.silva/isma

Transcript of Frameworks Conceituais Viviane Torres da Silva [email protected] viviane.silva/isma.

Page 1: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Frameworks Conceituais

Viviane Torres da [email protected]

http://www.ic.uff.br/~viviane.silva/isma

Page 2: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Definição: Frameworks conceituais

Motivação: não existe uma definição aceita por todos os pesquisadores sobre os conceitos encontrados em SMA

Objetivo: definir os conceitos relacionados aos SMA e descrever os contextos nos quais estes conceitos são utilizados

Solução: frameworks conceituais– KAoS (Dardenne et al., 1993)

– Yu and Schmid (Yu and Schimid, 1999)

– d'Inverno and Luck (d'Inverno and Luck, 2001)

– TAO (Silva et al., 2003)

Page 3: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Definição: Frameworks conceituais

Conceito: idéia, representação mental de uma realidade, um objeto ou algo similar

Framework: arcabouço, marco

Marco: limite em que se enquadra um problema

Um framework conceitual para os SMA deve definir as abstrações encontradas em SMA: suas propriedades, seus relacionamentos, suas ações e suas interações

Page 4: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Alguns Frameworks Conceituais para SMA

TAO (Silva et al., 2003)

d'Inverno y Luck (d'Inverno et al., 2001)

Yu y Schmid (eu et al., 1999)

KAoS (Dardenne et al., 1993)

Page 5: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

TAO

Page 6: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Camada de meta-modelagem

Camada demodelagem do domínio

Camada de meta-meta-modelagem

Camada de instância

MOF meta-meta-modelo

ER meta-meta-modelo

UML meta-modelo

TAOmeta-modelo

UMLmodelos

instanciação

MASmodelos

Arquitetura MOF de 4 camadas

Page 7: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Arquitectura MOF de 4 capas

Agente do Usuário

LojaCompradordesempenha propriedade

Modelo Conceptual

Entidade RelaçãoEntidade Entidade

Relação

Camada de meta-modelagem

Camada de modelagem de domínio

Camada de meta-meta-modelagem

Camada deinstância Maria C&ApropriedadeComprador

de Roupadesempenha

Agente OrganizaçãoPapel propriedade

Framework Conceitual

desempenha

Page 8: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Entidades e Relacionamentos

Organização

Agente Papel do Agente

Papel do Objeto

Ambiente

Objetohabitar

habitar

habitar

propriedadedesempenha

propriedade

desempenha

herançadependênciaagregaçãoassociação

herançacontroledependênciaagregaçãoassociação

herança

herança

herançaassociaçãoagregação

dependência

dependênciaassociação

herançaassociação

associação

associação

associaçãodesempenha

associação

associação

associação

Page 9: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Entidades

Toda entidade tem:– propriedades = estado + comportamento

– Relacionamentos

Estado: informação 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 10: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Agente

Objeto X Agente

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

+

-

autonomia

Objeto

proactivo

reativo+

-

interação

Page 11: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Ambiente

É o habitat de agentes, organizações e objetos– Eles não podem habitar mais de uma ambiente

– Mas agentes e organizações podem mudar de ambiente

Estado e comportamento são definidos se baseando em suas características (acessível, determinista, estático, etc.)

Pode ser uma entidade passiva como um objeto ou uma entidade ativa como um agente

Page 12: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Organização

Organizações agrupam os agentes de um SMA

Organização = grupo = comunidade = sociedade

Pode definir sub-organizações, axiomas e papéis

Sub-organização:– Organização que desempenha papéis em outra organização

Page 13: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

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 14: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Organização

O conceito de uma organização estende o conceito de 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 15: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Papéis

As 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.

Papel Papel

Page 16: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Papel de um 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 17: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Papel de um 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 18: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Papel de um Objeto

Objetoatributo 1atributo 2

método 1método 2

entidade B

entidade A

Papel de um Objetoatributo 1

método 1método 3

Page 19: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Papel de um 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 20: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

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 21: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Papel de Agente

Estado:– crenças e objetivos.

As crenças do papel são passadas para todos que desempenham o papel

Os objetivos dos papéis caracterizam os objetivos que um agente deve alcançar enquanto exerce o papel

Comportamento:– deveres, direitos e protocolos

Page 22: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Papel do 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 23: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

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

Entre quais entidades este relacionamento está definido?

– Ambiente e agente

– Ambiente e objeto

– Ambiente e (sub-)organizações

Page 24: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

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

Entre quais entidades este relacionamento está definido?

– Papel de objeto (o membro) e (sub-)organização (o proprietário)

– Papel de agente (o membro) e (sub-)organização (o proprietário)

Page 25: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

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 26: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

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

Entre quais entidades este relacionamento está definido?– Papel de agente e o agente– Papel de agente e a suborganização– Papel de objeto e o objeto

Page 27: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Relacionamentos

Herança/Generalização: – 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

Entre quais entidades este relacionamento está definido?

– Todas as entidades que sejam do mesmo tipo

Page 28: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

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

Entre quais entidades este relacionamento está definido?

– Entre papéis de agente

Page 29: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

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

Entre quais entidades este relacionamento está definido?

– Entre papéis de agente

– Entre papéis de objeto

– Entre papéis de agente (cliente) e papéis de objetos

Page 30: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Relacionamentos

Association: – Especifica um relacionamento semântico 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ão interagir

Entre quais entidades este relacionamento está definido?– Entre papéis de objeto– Entre papéis de agente– Entre papéis de objetos e papéis de agentes– Entre ambientes– Entre agentes– Entre objetos– Entre organizações e objetos– Entre papéis de agente e objeto

Page 31: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Relacionamentos

agregação:– 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.

Entre quais entidades este relacionamento está definido?

– Entre papéis de objeto

– Entre papéis de agente

Page 32: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Sistema Multi-Agentes

ambiente

Sistema Multi-Agentes

agenteagente agente

Organização principal

objeto

Page 33: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Sistema Multi-Agentes

ambiente

Sistema Multi-Agentes

agenteagente agente

objeto

Papel de agentePapel deobjeto

Organização principal

Organização principal

Page 34: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Sistema Multi-Agentes

Sistema Multi-Agentes

ambiente

agenteagente agente

objeto

Sub-organização

Organização principal

Organização principal

Page 35: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Sistema Multi-Agentes

Sistema Multi-Agentes

ambiente

agenteagente agente

objeto

Sub-organização

Papel de agentePapel deobjeto

Organização principal

Organização principal

Page 36: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

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 37: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Estados de um papel de agente

Criado

Ativo

Destruído

Inativo

compromisso criado

compromissocriado

compromissocancelado

execução suspensa

execuçãoreiniciada

Page 38: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Agente (ou sub-organização) se movendo de um ambiente para outro

Saindo de um ambiente

Entrando em um ambiente

Movendo de um ambiente para outro

Saindo de uma organização

Entrando em uma organização

Page 39: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Framework Conceitual de d'Inverno y Luck

Page 40: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Framework Conceitual de d'Inverno e Luck

Propõem uma hierarquia em quatro camadas– O ambiente consiste de entidades das quais algumas são objetos

– Do conjunto de objetos, algumas são agentes, e dos agentes alguns são agentes autônomos.

Entidades

Page 41: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Entidade e Ambiente

Entidade e ambiente:– Coleção de atributos

Page 42: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Objeto

Entidade com conjunto de capacidades

Capacidade: – conjunto de ações que podem ser desempenhadas pelo objeto

Ação: – muda o estado do ambiente (sub-conjunto de capacidades)

Page 43: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Objeto

Seleção de ações:– baseada no estado do ambiente e no estado objeto

Estado:– estado do ambiente + ações

Operação:– indica qual é alteração do estado do objeto dado a execução de uma

ação– Podem mudar: estado do ambiente e a próxima ação– Não mudam: atributos, capacidades e função de seleção das ações

Page 44: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Agente

Objeto com metas

Metas: (conjunto de atributos)– estado a ser atingido no ambiente

Page 45: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Agente

Percepção possível: – o que o agente pode enxergar do ambiente

Percepção atual:– o que o agente realmente enxerga do ambiente

Ações de percepção:– que possibilitam a percepção do ambiente

Page 46: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Agente

Seleção de ações:– baseada no estado do ambiente, nas percepções atuais e nas metas

Estado:– estado do objeto + ações do agente + percepções atuais + percepções

possíveis

Page 47: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Agente

Operação:– indica qual é alteração no estado do agente dado a execução de uma

ação

– Podem mudar: percepções possíveis, percepções atuais e a próxima ação

– Não mudam: atributos, capacidades, metas, ações de percepção e função de seleção das ações e percepções

Page 48: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Agente Autônomo

Agente com motivação

Motivação: – Possibilidade de gera suas próprias metas

Também define percepções, ações e estado

Page 49: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Descrição das entidades

Agentes satisfazem metas Agentes autônomos, adicionalmente, criam metas

Server-agents– Agentes que não são autônomos

Neutral-objects:– Objetos que não são agentes

Page 50: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

SMA e Sociedade de agentes

Sistema Multi-Agentes:– É composto por dois ou mais agentes

– Tem pelo menos um agente autônomo (que tem a(s) meta(s))

– Existe pelo menos um relacionamento entre dois agentes onde um satisfaz a meta do outro

Sociedade de agentes: conjunto de entidades e conjunto de relacionamentos em um SMA

Page 51: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Relacionamentos

Agentes adotam as metas de outros agentes Relacionamentos são definidos com base na adoção de metas.

Engagement: quando um server-agent adota a meta de outro agente

– server-agents são obrigados a adotarem uma meta de um agente autônomo

Cooperação: quando um agente autônomo adota a meta de outro agente

– um agente autônomo não é obrigado a adotar a meta de outro

Page 52: Frameworks Conceituais Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Referências

Kaos: 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.

TAO: 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.