O Framework Conceitual TAO Viviane Torres da Silva Ricardo Choren Carlos J. P. de Lucena Arquitetura MOF de 4 camadas Camada de meta-meta-modelo MOF meta-meta-modelo ER meta-meta-modelo instanciação Camada de meta-modelo Camada de modelo de domínio UML meta-modelo TAO meta-modelo UML modelos MAS modelos Camada de instância 2 Arquitetura MOF de 4 camadas Camada de meta-metamodelo Entity Relationship Entity Relationship Entity Conceptual Framework Camada de meta-modelo Agent play Role ownership Organization Conceptual Model Camada de modelo de domínio User Agent play Buyer ownership Marketplace Camada de instância Bob's Agent play Clothes Buyer ownership Wal-Mart 3 Entidades e Relacionamentos specialization association Ambiente association association inhabit specialization association aggregation dependency Objeto association play association inhabit specialization Organização ownership Papel de Objeto ownership play specialization dependency aggregation association dependency association association inhabit Agente play Papel de Agente specialization association 4 specialization control dependency aggregation association Entidades Toda entidade possui: Propriedades = estado + comportamento Relacionamentos Estado: informações 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 5 Objeto Estado: atributos não tem qualquer estrutura predefinida armazena informações sobre si mesmo, sobre o ambiente e outros objetos em seus atributos Comportamento: métodos define as operações que podem ser executadas as operações podem modificar o estado do objeto Um objeto tem controle sobre seu estado 6 Objeto Objeto tradicional: não tem controle sobre seu comportamento, ou seja, faz tudo solicitado por outra entidade não pode modificar seu comportamento Os objetos são entidades passivas que fazem tudo que qualquer um pedir e somente quando solicitado 7 Agente Estado: crenças, objetivos, planos e ações Crenças: conhecimento sobre o ambiente, sobre si mesmo e sobre outras entidades O que o agente sabe, o que ele vê, suas memórias e suas percepções Objetivos: estados futuros ou desejos que o agente pretende alcançar ou satisfazer Associados a pelo menos um plano que o agente executa para alcançar o objetivo 8 Agente Plano: composto por ações Está relacionado a um conjunto de objetivos que o agente pode alcançar ao executá-lo Ações: execuções do agente Exemplo: mudar o estado mental, enviar e receber mensagens de outros agentes e chamar métodos de objetos Um agente é capaz de escolher um plano com base nos objetivos. 9 Agente Comportamento: expresso por meio de seus planos e ações se baseia nas características do agente, por exemplo, interação, autonomia e adaptação Interação: agentes interagem com outras entidades Autonomia: agente é pró-ativo, não precisam de estímulos externos os agentes são entidades orientadas a objetivos Adaptação: agente pode adaptar seu estado e seu comportamento 10 Objeto x Agente Estado Armazena o conhecimento sobre si mesmo e sobre outras entidades Estado mental: estende o estado de objeto Adiciona ao estado definição de comportamento Comportamento Comportamento: estende o comportamento de objeto possui total controle sobre seu comportamento (pode dizer “não”) não precisam de estímulos externos ou internos para executar; podem adaptar o comportamento não possui controle sobre o comportamento precisa de estímulos para executar comportamento prédefinido 11 Objeto x Agente Agente é uma entidade ativa e objeto uma entidade passiva. Objeto fortemente relacionado com reatividade. Agente fortemente relacionado com autonomia. Objeto Ativo X Agente Comportamento: Comportamento: Comportamento prédefinido Pode adaptar o seu comportamento Interativo Até certo grau autônomo Interativo Autônomo Possui sua própria thread Executa sem estímulos externos Pode dizer “não” às solicitações de outras entidades Possui sua própria thread Começa a executar sem estímulos externos Atende a todas as solicitações de outras entidades 13 Ambiente É o habitat de agentes, organizações e objetos eles não podem residir em mais de um ambiente ao mesmo tempo. Estado e o comportamento são definidos com base na característica Pode ser uma entidade passiva, como um objeto, ou pode ser uma entidade ativa, como um agente 14 Ambiente Ambiente modelado como uma classe de objeto possui métodos e atributos Ambiente modelado como um agente possuem crenças, objetivos, ações e planos iniciais. 15 Organização Organizações agrupam os agentes de um SMA Organização = grupo = comunidades = sociedades Pode definir sub-organizações, axiomas e papéis Sub-organizações: organizações que desempenham papéis em uma organização 16 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 17 Organização Uma organização estende 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. 18 Papéis 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 suborganização. Orienta e também restringe o comportamento de instâncias que exercem o papel. 19 Papel de 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 20 Papel de 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 21 Papel de Objeto Entidade B Papel de Objeto Objeto atributo 1 atributo 1 atributo 2 método 1 método 3 método 1 método 2 Entidade A 22 Papel de Objeto Entidade B Papel de Objeto Objeto atributo 1 atributo 1 atributo 2 método 1 método 3 método 1 método 2 Entidade A 23 Papel de 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 24 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 25 Papel de Agente Estado: crenças e objetivos. Os objetivos dos papéis caracterizam os objetivos que um agente deve alcançar enquanto exerce o papel Comportamento: deveres, direitos e protocolos 26 Papel de 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 27 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 Aplicabilidade: ambientes e agentes, ambientes e objetos e ambientes e organizações 28 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 Aplicabilidade: classes de papel – os membros – e às classes de organização – os proprietários 29 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 30 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 Aplicabilidade: entre papel de agente e agente, papel de agente e sub-organização, papel de objeto e objeto 31 Relacionamentos Specialization/Generalization: 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 Aplicabilidade: todas as entidades 32 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 Aplicabilidade: entre dois papéis do agente 33 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 Aplicabilidade: entre papéis de agente, entre papéis de objeto e entre papel de agente e papel de objeto, 34 Relacionamentos Association: Especifica um relacionamento de semântica 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á interagir com ela Aplicabilidade: entre papéis (papéis de objeto e papéis de agente), ambientes, agentes e objetos, organizações e objetos, e papéis e objetos 35 Relacionamentos Aggregation: 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. Aplicabilidade: entre papéis de objeto e entre papéis do agente. 36 Sistema Multi-Agentes Sistema Multi-Agentes Organização principal agente agente Ambiente objeto 37 agente Sistema Multi-Agentes Sistema Multi-Agentes Organização principal Papel de objeto Organização principal agente agente Ambiente objeto 38 Papel de agente agente Sistema Multi-Agentes Sistema Multi-Agentes Sub-Organização Organização principal Organização principal agente agente Ambiente objeto 39 agente Sistema Multi-Agentes Sistema Multi-Agentes Sub-Organização Organização principal Papel de objeto Organização principal agente agente Ambiente objeto 40 Papel de agente 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 41 Criação das entidades Criação de papel de agente A criação ocorre quando um agente ou suborganizaçã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 42 Criação das 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 43 Criação das entidades Criação de organização Se a organização sendo criada é uma suborganizaçã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 44 Criação das 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 45 Criação das entidades Criação de objetos Condição: existência do ambiente Criador: agentes, organizações, objetos e ambientes Não depende do papel 46 Criação das 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. 47 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 1st 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. 48