Os Sistemas Multi-agente Viviane Torres da Silva [email protected] viviane.silva/2010.2/isma.
Frameworks Conceituais Viviane Torres da Silva [email protected] viviane.silva/isma.
Transcript of Frameworks Conceituais Viviane Torres da Silva [email protected] 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)
d'Inverno y Luck (d'Inverno et al., 2001)
Yu y Schmid (eu et al., 1999)
KAoS (Dardenne et al., 1993)
TAO
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
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
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
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
Agente
Objeto X Agente
Agente é uma entidade ativa e objeto é uma entidade passiva.
+
-
autonomia
Objeto
proactivo
reativo+
-
interação
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 sub-organizaçõ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
Objetoatributo 1atributo 2
método 1método 2
entidade B
entidade A
Papel de um Objetoatributo 1
método 1método 3
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 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
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
ambiente
Sistema Multi-Agentes
agenteagente agente
Organização principal
objeto
Sistema Multi-Agentes
ambiente
Sistema Multi-Agentes
agenteagente agente
objeto
Papel de agentePapel deobjeto
Organização principal
Organização principal
Sistema Multi-Agentes
Sistema Multi-Agentes
ambiente
agenteagente agente
objeto
Sub-organização
Organização principal
Organização principal
Sistema Multi-Agentes
Sistema Multi-Agentes
ambiente
agenteagente agente
objeto
Sub-organização
Papel de agentePapel deobjeto
Organização principal
Organização principal
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
Criado
Ativo
Destruído
Inativo
compromisso criado
compromissocriado
compromissocancelado
execução suspensa
execuçãoreiniciada
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
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 dos 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: – muda o estado do ambiente (sub-conjunto de capacidades)
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
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 é 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 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 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.