Definindo as entidades de um SMA
Viviane Torres da Silva
[email protected]
http://www.ic.uff.br/~viviane.silva/ismapi
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)
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
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)
TAO
Arquitetura MOF de 4 camadas
Camada de
meta-meta-modelagem
Camada de
meta-modelagem
MOF
meta-meta-modelo
UML
meta-modelo
ER
meta-meta-modelo
TAO
meta-modelo
instanciação
Camada de
modelagem do domínio
Camada de instância
UML
modelos
MAS
modelos
Arquitectura MOF de 4 capas
Camada de
meta-metamodelagem
Camada de
metamodelagem
Entidade
Relação
Entidade
Relação
Entidade
Framework Conceitual
Agente
desempenha
Papel
propriedade
Organização
Modelo Conceitual
Camada de
modelagem
de domínio
Agente do
Usuário
Camada de
instância
Maria
desempenha
desempenha
Comprador
propriedade
Loja
Comprador
de Roupa
propriedade
C&A
Entidades e Relacionamentos
herança
associação
Ambiente
associação
habitar
herança
associação
agregação
dependência
associação
Objeto
associação
desempenha
associação
habitar
herança
Organização
propriedade
Papel do Objeto
propriedade
desempenha
herança
dependência
agregação
associação
dependência
associação
associação
habitar
Agente
desempenha
herança
associação
Papel do Agente
herança
controle
dependência
agregação
associação
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
Objeto

X
Agente
Agente é uma entidade ativa e objeto é uma entidade passiva.
Agente
Objeto
+
-
interação
reativo
autonomia
-
+
proactivo
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
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
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 suborganizações devem obedecer.

Axioma = regra = lei = norma
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.
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
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

Restringe o acesso ao objeto limitando as informações e o
comportamento que outras entidades podem acessar
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
Papel de um Objeto
entidade B
entidade A
Papel de um Objeto
Objeto
atributo 1
atributo 1
atributo 2
método 1
método 3
método 1
método 2
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
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
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
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
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
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)
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
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
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 subentidade
– 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
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
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
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
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
Sistema Multi-Agentes
Sistema Multi-Agentes
Organização principal
agente
ambiente
agente
objeto
agente
Sistema Multi-Agentes
Sistema Multi-Agentes
Organização principal
Papel de agente
Papel de
objeto
Organização principal
agente
ambiente
agente
objeto
agente
Sistema Multi-Agentes
Sistema Multi-Agentes
Sub-organização
Organização principal
Organização principal
agente
ambiente
agente
objeto
agente
Sistema Multi-Agentes
Sistema Multi-Agentes
Sub-organização
Organização principal
Papel de agente
Papel de
objeto
Organização principal
agente
ambiente
agente
objeto
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
Criação de 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
Criação de 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
Criação de 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
Criação de 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
Criação de entidades

Criação de objetos
– Condição: existência do ambiente
– Criador: agentes, organizações, objetos e ambientes
– Não depende do papel
Criação de 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.
Destruição de entidades

Destruição de papel do agente
– Um papel exercido por um agente ou sub-organização é destruído
quando este o cancela
– Condição: -– Destruidor: agente ou organização. O destruidor é quem está exercendo
o papel
– Conseqüência: se um agente (ou sub-organização) possui todos os seus
papéis destruídos, isso significa que o agente (ou sub-organização)
também será destruído
Destruição de entidades

Destruição de agente
– Condição: todos os papéis do agente devem ter sido destruídos.
– Destruidor: ele mesmo, outro agente, organização ou ambiente.
Destruição de entidades

Destruição de organização
– Condição (1): todos os papéis exercidos por agentes, objetos e suborganizações devem ser destruídos
– Condição (2): todos os papéis exercidos pela organização também
devem ser destruídos
– Destruidor: ela mesma, ambientes, outras organizações ou agentes que
residam em outras organizações.
– Processo recursivo: todas as suas sub-organizações devem ser destruídas
ou devem deixar a organização.
Destruição de entidades

Destruição de papel de objeto
– Condição: -– Destruidor: agente ou organização
Destruição de entidades

Destruição de objeto
– Condição: todos os papéis do objeto devem ter sido destruídos
– Destruidor: objetos, agentes, organizações e ambientes
Destruição de entidades

Destruição de ambiente
– Condição: todas as entidades foram destruídas
– Destruidor: ele mesmo, outro ambiente, um agente ou uma organização
que reside em outro ambiente.
Estados de um papel de agente
compromisso criado
Criado
execução
reiniciada
Ativo
compromisso
cancelado
Inativo
execução
suspensa
Destruído
compromisso
cancelado
Interação entre as entidades
Relacionamentos ownership e play

Agente ou sub-organização entrando em organização
– Agente ou sub-organização se comprometendo com um papel ou
ativando o papel

Agente ou sub-organização saindo de organização
– Agente ou sub-organização cancelando um papel ou desativando o
papel
Agente (ou sub-organização) se comprometendo com
papel (em uma nova organização)
1.
Agente procurar por uma organização no ambiente
•
2.
3.
Agente pergunta a organização os papéis disponíveis
Organização informa o conjunto de papéis disponíveis
•
4.
6.
De acordo com sua função de utilidade ou suas políticas
Agente avalia qual papel deseja desempenhar e informa à
organização
•
5.
Decide qual organização com base nos seus objetivos e nos objetivos
da organização
Verificação com base nos seus objetivos
Organização pode permitir ou negar
Se a org. permitir, o agente se compromete a desempenhar o
papel
•
O agente concorda em respeitar os deveres e os direitos do papel e
concorda em tentar atingir a meta do papel
Agente (ou sub-organização) se comprometendo com
papel
(em uma organização onde já desempenha outros papéis)

Similar ao anterior, porém agente não precisa procurar a
organização no ambiente
1.
Agente pergunta a organização os papéis disponíveis
Organização informa o conjunto de papéis disponíveis
Agente avalia qual papel deseja desempenhar e informa a
organização
Organização pode permitir ou negar
Se a org. permitir, o agente se compromete a desempenhar o
papel
2.
4.
5.
6.
Agente (ou sub-organização) ativando um papel
1.
2.
Agente pergunta a organização se pode ativar papel
Organização informa se pode ou não
•

organização pode definir axiomas para restringir a ativação de papéis
Note que para a ativação de uma papel não importa se o
agente está ou não desempenhando outro papel na mesma
organização
Agente (ou sub-organização) cancelando ou desativando
um papel
1.
Agente (ou sub-organização) checa se pode parar de
desempenhar um papel (cancelar ou desativar)
–

Organização pode impedir
Observação:
–
Se um agente cancelar seu único papel então ele deve ser destruído ou
deve se comprometer com outro papel.
Interação entre as entidades
Relacionamento inhabit

Agente (ou sub-organização) se movendo de um ambiente para
outro
– Para sair de um ambiente: agente ou sub-organização cancelam ou
desativam todos os seus papéis nas organizações do ambiente
– Para entrar em ambiente: agente ou sub-organização criam ou ativam
pelo menos um papel em uma organização do ambiente
Agente (ou sub-organização) se movendo de um
ambiente para outro
5.
Descobrir outro ambiente para o qual quer se mover
Pedir permissão para sair do ambiente onde está
Pedir permissão para entrar no outro ambiente
Cancelar / desativar todos os papéis
Ativar / criar pelo menos um papel

Observação: Mobilidade de sub-organizações
1.
2.
3.
4.
–
Agentes e outras sub-organizações que desempenham papéis dentro
de organização e querem se mover devem parar de desempenhar tais
papéis
Agente (ou sub-organização) se movendo de um
ambiente para outro
Movendo de um ambiente para outro
Saindo de um ambiente
Saindo de uma organização
Entrando em uma organização
Entrando em um ambiente
Entrando em uma organização
Framework Conceitual de
d'Inverno y Luck
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 conjunto de agentes
alguns são agentes autônomos.
Entidades
Entidade e Ambiente

Entidade e ambiente:
– Coleção de atributos
Objeto

Entidade com conjunto de capacidades

Capacidade:
– conjunto de ações que podem ser desempenhadas pelo objeto

Ação:
– São as capacidades que mudam o estado do ambiente
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 é a alteração do estado do objeto dada a execução de uma
ação
– Podem mudar: estado do ambiente e qual será a próxima ação a ser
executada
– Não mudam: atributos, conjunto de capacidades e função de seleção das
ações
Agente

Objeto com metas

Metas: (conjunto de atributos)
– estado a ser atingido no ambiente
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
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
Agente

Operação:
– indica qual é a 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
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
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
SMA e Sociedade de agentes

Sistema Multi-Agentes:
– É composto por dois ou mais agentes
– Tem pelo menos um agente autônomo (que gera 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
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
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 RoleBased 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 LargeScale Multi-Agent Systems, Springer-Verlag, LNCS 2603, pp. 1-26, 2003.
Download

Frameworks conceituais - Instituto de Computação