Definindo as entidades de um SMA Viviane Torres

  • Slides: 99
Download presentation
Definindo as entidades de um SMA Viviane Torres da Silva viviane. silva@ic. uff. br

Definindo as entidades de um SMA Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic. uff. br/~viviane. silva/isma

Definição: Frameworks conceituais Ø Conceito: idéia, representação mental de uma realidade, um objeto ou

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

Framework Conceptuais para SMA Ø Motivação: não existe uma definição aceita por todos os

Framework Conceptuais para SMA Ø Motivação: não existe uma definição aceita por todos os pesquisadores sobre os conceitos encontrados no SMA Ø Objetivo: definir os conceptos relacionados aos SMA e descrever os contextos nos quais estes conceitos são utilizados. Ø 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

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) Ø KAo. S (Dardenne et al. , 1993)

TAO

TAO

Arquitetura MOF de 4 camadas Camada de meta-modelagem MOF meta-modelo UML meta-modelo ER meta-modelo

Arquitetura MOF de 4 camadas Camada de meta-modelagem MOF meta-modelo UML meta-modelo ER 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 meta-modelagem Entidade Relação Entidade

Arquitectura MOF de 4 capas Camada de meta-metamodelagem Camada de meta-modelagem Entidade Relação Entidade Framework Conceitual Agente Camada de modelagem del domínio Agente do Usuário Camada de instância Maria desempenha Papel Comprador de Roupa propriedade Organização Modelo Conceptual propriedade Loja 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

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 dependência associação habitar herança dependência agregação associação Agente desempenha associação Papel do Agente herança controle dependência agregação associação

Entidades Ø Toda entidade tem: – propriedades = estado + comportamento – Relacionamentos Estado:

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 é uma entidade ativa e objeto é uma entidade passiva.

Objeto Ø X 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

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

Ambiente Ø Agente passivo: ambiente modelado como uma classe (de objetos) tem: – Atributos

Ambiente Ø Agente passivo: ambiente modelado como uma classe (de objetos) tem: – Atributos e métodos Ø Agentes ativos: ambiente modelado como uma agente tem: – Crenças, objetivos, ações e planos

Organização Ø Organizações agrupam os agentes de um SMA Ø Organização = grupo =

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 Ø 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 Ø

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

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. R O L

Papel de um Objeto Ø Descreve um conjunto de características que são vistas por

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

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 atributo 1

Papel de um Objeto entidade B entidade A Papel de um Objeto 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á

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

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

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

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

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

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

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 –

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

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

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

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 –

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

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 Organização principal agente ambiente agente objeto agente

Sistema Multi-Agentes Organização principal agente ambiente agente objeto agente

Sistema Multi-Agentes Organização principal Papel de agente Papel de objeto Organização principal agente ambiente

Sistema Multi-Agentes Organização principal Papel de agente Papel de objeto Organização principal agente ambiente agente objeto agente

Sistema Multi-Agentes Sub-organização Organização principal agente ambiente agente objeto agente

Sistema Multi-Agentes Sub-organização Organização principal agente ambiente agente objeto agente

Sistema Multi-Agentes Sub-organização Organização principal Papel de agente Papel de objeto Organização principal agente

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

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

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

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 é

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

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:

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

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

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

Destruição de entidades Ø Destruição de agente – Condição: todos os papéis do agente devem ter sido destruídos. – Destruidor: si mesmo, outro agente, organização ou ambiente.

Destruição de entidades Ø Destruição de organização – Condição (1): todos os papéis exercidos

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: si mesmas, por ambientes, outras organizações ou agentes que residam em outras organizações. – Processo recursivo: todas as 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

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

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

Destruição de entidades Ø Destruição de ambiente – Condição: todas as entidades foram destruídas – Destruidor: si mesmo, por outro ambiente, por um agente ou por uma organização que reside em outro ambiente.

Estados de um papel de agente compromisso criado Criado execução reiniciada Ativo compromisso criado

Estados de um papel de agente compromisso criado Criado execução reiniciada Ativo compromisso criado execução suspensa Destruído Inativo compromisso cancelado

Interação entre as entidades Relacionamentos ownership e play Ø Agente ou sub-organização entrando em

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

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 utilizada ou suas políticas Agente avalia qual papel deseja desempenhar e informa a 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

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

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

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

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

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 da sub-organização quer 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

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

Framework Conceitual de d'Inverno y Luck

Framework Conceitual de d'Inverno y Luck

Framework Conceitual de d'Inverno e Luck Ø Propõem uma hierarquia em quatro camadas –

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

Entidade e Ambiente Ø Entidade e ambiente: – Coleção de atributos

Objeto Ø Entidade com conjunto de capacidades Ø Capacidade: – conjunto de ações que

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 Ø 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

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 Ø

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

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

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

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 Ø Ø

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

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

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

Framework Conceitual de Yu y Schmid

Framework Conceitual de Yu y Schmid

Framework Conceitual de Yu e Schmid Se baseia em workflows Ø Workflows são usados

Framework Conceitual de Yu e Schmid Se baseia em workflows Ø Workflows são usados para descrever a coordenação e a performance do trabalho dentro de uma organização Ø Ø Workflows são modelados como um conjunto de papéis relacionados Ø Um agente é uma entidade ativa desempenhando papéis dentro de uma organização <Workflow_Model> : : = “WORKFLOW” <Name> [<Description>] <Role_Models> “END_WORKFLOW”

Papéis Ø São descritos como uma coleção de deveres e permissões Ø Deveres: ações

Papéis Ø São descritos como uma coleção de deveres e permissões Ø Deveres: ações que os agente são obrigados a executar quando desempenham o papel Ø Permissões: ações que os agentes podem executar quando desempenham o papel

Papéis <Workflow_model> <role_models> <role_model>. . . <role_model> <goals> <qualifications>: precondições para atingir os goals

Papéis <Workflow_model> <role_models> <role_model>. . . <role_model> <goals> <qualifications>: precondições para atingir os goals <relationships> AUTHORIZE COOPERATE_WITH IS_AUTHORIZED_BY <obligations> <concurrency_constraints>: ordem de execução das obrigações <permissions> <protocols>

Arquitetura Conceitual

Arquitetura Conceitual

Uma Abordagem para o Desenvolvimento de SMA 1. Fase de Análise baseada nos Papéis

Uma Abordagem para o Desenvolvimento de SMA 1. Fase de Análise baseada nos Papéis 1. 2. 3. 2. Fase de Design orientada a Agentes 1. 2. 3. Identificação e decomposição de metas Especificação de papéis Modelagem de protocolos Identificação de tipos de agentes e associação de papéis a agentes Definição dos agentes Fase de Implementação orientada a Agentes

KAo. S Framework Conceitual

KAo. S Framework Conceitual

KAo. S : Knowledge Acquisition in aut. Omated Specification Ø Levantamento de requisitos orientados

KAo. S : Knowledge Acquisition in aut. Omated Specification Ø Levantamento de requisitos orientados a meta Ø Meta-modelo conceitual: – Nível meta – Nível de domínio – Nível de instância Ø O meta-modelo conceitual define a estrutura da linguagem utilizada no levantamento dos requisitos

KAo. S

KAo. S

Meta-modelo conceitual Ø Nível meta: refere-se as abstrações independentes do domínio – Meta-conceitos (ex.

Meta-modelo conceitual Ø Nível meta: refere-se as abstrações independentes do domínio – Meta-conceitos (ex. : Agent) – Meta-relationamentos que ligam os meta-conceitos – Meta-atributos de meta-conceitos e meta-relacionamentos – Meta-restrições sobre meta-conceitos e meta-relacionamentos

Meta-modelo conceitual Ø Nível de domínio: refere-se aos conceitos específicos do domínio da aplicação

Meta-modelo conceitual Ø Nível de domínio: refere-se aos conceitos específicos do domínio da aplicação – Conceito (ex. : Borrower) – Relacionamento – Atributos – Restrições Ø Nível de instância: refere-se a específicas instâncias do conceitos do nível de domínio – Instância de Conceito (ex. : Steve) – Instância de Relacionamento – Instância de Atributos e Instâncias de Restrições

Objeto (Object) Ø Objeto é uma coisa de interesse à qual se pode referir

Objeto (Object) Ø Objeto é uma coisa de interesse à qual se pode referir nos requisitos Ø Instância muda de estado (devido a aplicações de ações) Ø Meta-atributos (além do nome e da definição): – Existe: verdadeiro se a instância existe no estado corrente – Invariante: descreve restrições em cima do objeto

Entidade (Entity) Ø Entidade é um objeto “autônomo”, isto é, suas instâncias podem existir

Entidade (Entity) Ø Entidade é um objeto “autônomo”, isto é, suas instâncias podem existir independentemente de outras instâncias de outros objetos. Ø Meta-atributos: não adiciona nenhum atributo além daqueles previamente definidos no conceito Objeto

Relacionamento (Relationship) Ø Relacionamento é um objeto “subordinado”, isto é, a existência de uma

Relacionamento (Relationship) Ø Relacionamento é um objeto “subordinado”, isto é, a existência de uma instância depende da existência de instâncias de objetos ligadas pelo relacionamento Ø Meta-relacionamento com Objeto: – Link: todo relacionamento esta ligado a objetos Ø Meta-atributo de Link: – Papel: papel das instâncias de objeto no relacionamento – Cardinalidade: cardinalidade das instâncias de objeto no relacionamento

Evento (Event) Ø Evento é um objeto instantâneo, isto é, sua instância existe em

Evento (Event) Ø Evento é um objeto instantâneo, isto é, sua instância existe em um dado estado apenas. Ø Meta-atributo: – Freqüência: freqüência com a qual o evento aparece

Ação (Action) Ø Ação é uma relação matemática em cima de um objeto. –

Ação (Action) Ø Ação é uma relação matemática em cima de um objeto. – Muda o estado do objeto Ø Meta-atributos: – Precondições: dado necessários para aplicação da ação – Condição de disparo: dados que disparam a ação – Pós-condições: dados que descrevem o efeito da aplicação da ação

Agente (Agent) Ø Agente é um objeto que é um processador de ações. Ø

Agente (Agent) Ø Agente é um objeto que é um processador de ações. Ø Agentes controlam as transições de estado Ø Agentes possuem alternativa aos seus comportamentos (em oposto aos outros objetos que não possuem) Ø Meta-atributo: – Load: taxa de ocupação do agente

Agente Ø Meta-relacionamentos com Ação: – Capacidade: pode executar a ação – Executa: é

Agente Ø Meta-relacionamentos com Ação: – Capacidade: pode executar a ação – Executa: é um processador alocado a executar a ação Ø Meta-relacionamento com Objeto: – Conhece: os estados objetos são observáveis pelo agente • Um agente pode conhecer outro agente Ø Meta-atributo de Conhece: – Interface: Forma como o agente acessa outro objeto

Meta (Goal) Ø Meta é um objetivo “não operacional” a ser atingido por um

Meta (Goal) Ø Meta é um objetivo “não operacional” a ser atingido por um sistema Ø “Não operacional” – a meta não é formulada em termos de objetos e ações disponíveis para um determinado agente no sistema – a meta quando formulada não pode ser estabelecida através de transições de estado controlada por um agente

Meta Ø Taxonomia de metas: usada para descrever metas e possibilita o reuso e

Meta Ø Taxonomia de metas: usada para descrever metas e possibilita o reuso e a verificação Ø Padrões de metas: – Atingir, descontinuar, manter, evitar e otimizar Ø Categoria de metas: – Metas de sistemas e metas privadas Ø Meta-atributo: – Prioridade: descreve a prioridade da meta

Meta Ø Meta-relacionamento com Objeto: – Concerns: liga a meta aos objetos aos quais

Meta Ø Meta-relacionamento com Objeto: – Concerns: liga a meta aos objetos aos quais ela se refere Ø Meta-relacionamentos entre Metas: – Redução: liga uma meta e as sub-metas – Conflito: liga uma meta e outras as quais possui conflito Ø Meta-relacionamento com Agente: – Desejo: introduzido entre um agente e uma meta

Restrição (Constrain) Ø Restrição é um objetivo “operacional” a ser atingido pelo sistema. Ø

Restrição (Constrain) Ø Restrição é um objetivo “operacional” a ser atingido pelo sistema. Ø “Operacional” – a restrição é formulada em termos de objetos e ações disponíveis para um agente no sistema Ø Metas são operacionalizadas através de restrições

Restrição Ø Meta-relacionamento com Meta: – Operacionalização: a restrição R é uma das formas

Restrição Ø Meta-relacionamento com Meta: – Operacionalização: a restrição R é uma das formas para atingir a meta M. – Uma meta pode ser operacionalizada através de várias restrições Ø Meta-relacionamento com Ação: – Assegurar: mesmo com a aplicação da ação a restrição será mantida Ø Meta-relacionamento com Objetivo: – Assegurar: mesmo que ocorra qualquer ação no objeto a restrição será mantida

Restrição Ø Meta-relacionamento com Agente: – Responsabilidade: agente é responsável por garantir a restrição

Restrição Ø Meta-relacionamento com Agente: – Responsabilidade: agente é responsável por garantir a restrição

Estratégia de Levantamento de Requisitos Ø Estratégia orientada a metas: 1. Definição das metas

Estratégia de Levantamento de Requisitos Ø Estratégia orientada a metas: 1. Definição das metas (e a estrutura destas) e identificação dos objetos Identificação dos agentes em potencial e suas capacidades Operacionalização das metas em restrições 2. 3. • 4. Relação entre as metas e os objetos e ações de um agente Refinamento dos objetos e das ações • Identificação de novos objetos e ações decorrente da etapa 3

Estratégia de Levantamento de Requisitos 5. Revisão dos objetos e ações para garantir as

Estratégia de Levantamento de Requisitos 5. Revisão dos objetos e ações para garantir as restrições • 6. Identificação de responsabilidades alternativas • 7. Descrições de ações e objetos completos no passo 4 podem não necessariamente garantir que as restrições do passo 3 sejam garantidas Ligação dos agentes às restrições de acordo com suas responsabilidades Associação de ações à agentes responsáveis

Referências Ø Ø Ø Dardenne, A. ; Lamsweerde, A. ; Fickas, S. (1993) "Goal-directed

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 1 st 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.