Frameworks Conceituais
Viviane Torres da Silva
[email protected]
http://www.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)
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)

Agent Framework (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
Entidade
Relação
Entidade
Relação
Entidade
Framework Conceitual
Camada de
meta-modelagem
Agente
desempenha
Papel
propriedade
Organização
Modelo Conceptual
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

Restringir 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
Estados de um papel de agente
compromisso criado
Criado
execução
reiniciada
Ativo
compromisso
criado
Inativo
execução
suspensa
Destruído
compromisso
cancelado
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 um ambiente
Entrando em uma organização
Agent Framework
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 dos agentes alguns são
agentes autônomos.
Entidades
Entidade e Ambiente

Entidade e ambiente:
– Coleção de atributos

Atributo
– Uma preposição, um fato
Objeto

Entidade com possibilidade de interagir com o ambiente
Entidade com conjunto de capacidades

Capacidade:

– conjunto de ações

Ações:
– Podem incluir ou retirar atributos do ambiente
Objeto
Função que, dado o estado atual do ambiente,
retorna o conjunto de ações a serem executadas pelo objeto
Variável que representa o onjunto de ações que o objeto irá executar

A execução de uma ação:
– Pode alterar o estado do ambiente e, por tanto, qual será a próxima ação
– Não pode alterar os atributos, capacidades e função de seleção das
ações (objectact)
Agente

Objeto é um agente se ele serve a um propósito útil para outro
agente ou para si mesmo (neste caso seria um agente
autônomo).

Objeto com conjunto de objetivos não vazio

Objetivos:
– estado que o agente deseja atingir no ambiente
Agente

Percepção possível:
– o que o agente pode enxergar do ambiente (varia de acordo com as
capacidades do agente e com o estado do ambiente)

Percepção atual:
– o que o agente realmente enxerga do ambiente (varia de acordo com os
objetivos do agente)
Ações que são utiizadas para perceber
Percepção possível
Percepção atual
Agente

Seleção de ações:
– baseada nos objetivos do agente, nas percepções atuais e no estado do
ambiente
Agent

Estado:
– Posspercepts: percepções possíveis
– Percepts: percepções atuais
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
Agente Autônomo

Agente com motivação, não são contralados por outros agentes.

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 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
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