Multi-Agent System Modeling Language (MAS-ML)

Slides:



Advertisements
Apresentações semelhantes
Alexandre Mota Análise do Sistema Alexandre Mota
Advertisements

Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
ASF: Agent Society Framework Viviane Torres da Silva Mariela Inês Cortés Carlos J. P. de Lucena.
Linguagens de Modelagem
AUML Maíra Gatti
Metodologias Equipe do Curso de ES para SMA
Linguagens de Modelagem
Linguagens de Modelagem (cont.) (IV)
Frameworks Conceituais para SMA
Multi-Agent System Modeling Language (MAS-ML) Viviane Torres da Silva Ricardo Choren Carlos J. P. de Lucena Palestrante: Andrew Diniz da Costa.
Viviane Torres da Silva
Frameworks Conceituais
Linguagens de Modelagem para SMA
Definindo as entidades de um SMA Viviane Torres da Silva
Linguagens de Modelagem – MAS-ML
Linguagens de Modelagem para SMA
Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa
Metodologias para construção de SMA
EXTENDING THE FRAMEWORK TAO WITH NORMS FOR MULTI-AGENT SYSTEMS Emmanuel S. S. Freire – UECE – Mariela I. Cortés – UECE –
Rafael Polo UNIRIO/PPGI.  Os seres humanos, como criadores e consumidores de conhecimento, criaram um espaço de conhecimento global. A World Wide Web.
Generalização e herança Agregação e composição
MAS-ML Seminário da Disciplina de Agentes Cognitivos Prof. Patrícia Tedesco Equipe: Fernando Jaziel Mario Sergio Sidney.
10 o Simpósio Brasileiro de Computação Musical3 a 6 de Outubro de A User-Friendly Graphical System for Room Acoustics Measurement and Analysis Leo.
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Modelagem de Estruturas Sociais em AML Menandro Ribeiro Santana Ricardo Roberto de Lima.
JAAF+T: A Framework to Implement Self-Adaptive Agents that Apply Self-Test (Extension) Andrew Diniz da Costa
CIn-UFPE1 Diagramas de Atividades UML. CIn-UFPE2 Diagramas de Atividades n Os Diagramas de Atividades mostram o fluxo entre atividades (ações não-atômicas);
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
EA976 – Engenharia de Software AULA 19 Pré-Projeto e Modelagem de Negócios.
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Pesquisa Operacional aplicada à Gestão de Produção e Logística Prof. Eng. Junior Buzatto Case 3.
Diagrama de Sequencia Prof. Thales Castro.
Diagrama de estado Higo Vale Kleber Baingo
Introdução OO.
UML – Diagramas de Objectos
Visão geral do Aprendizado de máquina
Modelagem de Processos Usando SPEM e BPMN
Tema 4 - Modelagem ER: Técnicas e Ferramentas
POO - Classes Dilvan Moreira.
Trainers and Co-Trainers
Diagrama de Atividade Prof. Thales Castro.
Programador/a de Informática
Tópico 7 Custeamento por Ordem
Paper Title Subtitle as needed
Engenharia de Software de Sistemas Multi-Agentes
Linguagens de Modelagem (cont.) (II)
Modelagem de Sistemas I Aula 1 – Introdução à UML
Modelagem Orientada a Objetos com UML
Projeto – Parte II - Exemplos de Diagrama de Colaboração
Diagramas de Sequência
Modelagem de Banco de Dados através do ERwin
BANCO DE DADOS I.
Projeto Orientada a Objetos
Modelagem de Objetos de Domínio com Diagrama de Classes
Technology today: Where we are, where we’re going.
Aplicativo EBSCO eBooks Autenticação
15/09/2008.
FUNDAMENTOS DA GESTÃO DE PROCESSOS Business Process Modeling Notation
xGroupware: Colaboração em Ambientes Cross-Reality com Agentes
Iterated Local Search (ILS)
CEManTIKA Framework Overview
Visão Geral do RUP.
Rosemary Silveira Filgueiras Melo
Adição e Multiplicação
Introduction to Machine learning
Alexandre Mota Análise do Sistema Alexandre Mota
Rafael Duarte Alexandre Mota [rmd,
Arquitetura e padrões de software
Mestrado em Engenharia Informática e Sistemas Empresariais
Especificação de Requisitos e Validação de Sistemas - IF716
Transcrição da apresentação:

Multi-Agent System Modeling Language (MAS-ML) Viviane Torres da Silva Ricardo Choren Carlos J. P. de Lucena

MAS-ML Estende o meta-modelo de UML com base no framework conceitual TAO Meta-modelo MAS-ML estende o meta-modelo de UML Novos estereótipos Novas meta-classes © LES/PUC-Rio

MOF ER meta-meta-modelo meta-meta-modelo UML TAO meta-modelo Camada de meta-meta-modelo instanciação UML meta-modelo TAO meta-modelo Camada de meta-modelo unificação MAS-ML meta-modelo Camada de modelo de domínio MAS-ML modelos Camada de instância © LES/PUC-Rio

Meta-classes do meta-model UML Meta-modelo MAS-ML Element 1..* * 1..* Features Classifier AgentMessage 1 * sender receiver Structural Feature Behavioral Feature Class AgentClass EnvironmentClass ObjectRoleClass AgentRoleClass Active EnvironmentClass Passive EnvironmentClass Belief Goal OrganizationClass Property Axiom Right Duty Operation AgentAction AgentPlan AgentProtocol 1..* * * 0..1 0..1 0..1 0..1 Legenda Meta-classes do meta-model UML precondition precondition * * Novas meta-classes Constraint * * Novos estereótipos © LES/PUC-Rio postcondition postcondition

Meta-classes do meta-modelo UML Meta-modelo MAS-ML play AgentClass 1 1..* AgentRoleClass 0..* 0..* 0..* 1..* inhabit play in define play 1 1..* 1 1 sub-org EnvironmentClass 1 1..* OrganizationClass 1 0..* ObjectRoleClass inhabit define 1 sub- org 0..* 1 0..* 0..* play play in play in 0..* 1 inhabit 0..* Class Legenda Meta-classes do meta-modelo UML Novas meta-classes © LES/PUC-Rio

Meta-modelo MAS-ML Element Relationship Classifier Association 1..* Classifier Association Directed Relationship Dependency Ownership Inhabit Control Play Generalization Legenda Meta-classes do meta-modelo UML Novas meta-classes © LES/PUC-Rio

MAS-ML MAS-ML modela os aspectos estruturais e dinâmicos descritos no TAO Aspectos estruturais: entidades, propriedades e relacionamentos Aspectos dinâmicos: interação entre as entidades e execuções internas Diagramas estáticos: classes, organizações e papéis Diagramas dinâmicos: seqüência e atividades © LES/PUC-Rio

Diagramas Estáticos

Diagrama de Classe de UML Representa as classes e os relacionamentos entre as classes Item Order User Book Nome_da_classe atributo1 atributo2 metodo1 metodo2 metodo3 ... Imported Books Second-hand Books © LES/PUC-Rio

Diagramas para SMA Como representar agentes, organizações, papéis e ambientes? Como representar relacionamos específicos de SMA, como inhabit, control e play? Novo elemento de diagrama para representar novas entidades e relacionamentos © LES/PUC-Rio

Elementos dos diagramas I Class AgentClass AgentRoleClass ObjectRoleClass OrganizationClass Entidades EnvironmentClass EnvironmentClass Relacionamento Inhabit In principle as TAO defines a set of six entities and eight different relationships, we should need fifteen new diagram elements to represent them. Fortunately, an entity and some relationships defined in TAO are also presented in the UML meta-model. AgentRoleClass AgentRoleClass Relacionamento Control © LES/PUC-Rio

Elementos dos diagramas II OrganizationClass AgentRoleClass Relacionamento Ownership OrganizationClass AgentRoleClass AgentClass Relacionamento Play © LES/PUC-Rio

Agente AgentClass <<goal>> type : name [= default-value]  plan-list <<belief>> type : name [= default-value] {precondition-list} action {postcondition-list} plan {action-list}  goal-name Características estruturais comportamentais © LES/PUC-Rio

Organização OrganizationClass <<goal>> type : name [= default-value]  plan-list <<belief>> type : name [= default-value] <<axiom>> type : name [= default-value] {precondition-list} action {postcondition-list} plan {action-list}  goal-name Características estruturais comportamentais © LES/PUC-Rio

Papel de Agente AgentRoleClass <<goal>> type : name [= default-value] <<belief>> type : name [= default-value] <<duty>> action <<right>> action protocol-name { messsage: {label: value, content: value, sender : value, receiver: value} ...} Características estruturais comportamentais © LES/PUC-Rio

Papel de Objeto ObjectRoleClass [visibility] type : name [= default-value] [visibility] name (parameter-list) : returned-value Características estruturais comportamentais © LES/PUC-Rio

Ambiente EnvironmentClass EnvironmentClass Características or estruturais or Características comportamentais Entidades que habitam o ambiente © LES/PUC-Rio

Diagrama de Classes Objetivos: representar os relacionamentos entre classes e outras entidades do SMA e representar os relacionamentos entre agentes, ambientes e organizações. Classes usadas neste diagrama: agent class, organization class, environment class e outras definidas por UML. Relacionamentos usados neste diagrama: Aqueles já definidos por UML; inhabit – usado entre classes e ambientes; association – usado entre agente e classes, entre organizações e classes, e entre ambientes; specialization – usado entre agentes, entre organizações e entre ambientes. © LES/PUC-Rio

Diagrama de Classes Virtual Marketplace association Organization A AgentA Item Book Organization B AgentB specialization Imported Books Second-hand Books inhabit Legend: Object / Environment Organization Agent © LES/PUC-Rio

Diagrama de Organizações Objetivo: modelar as organizações e os relacionamentos entre as organizações e outras entidades do SMA. Cada diagrama de organização modela uma organização Classes usadas neste diagrama: organization class, agent class, agent role class, object role class, class e environment class. Relacionamentos usados neste diagrama: ownership – usado entre organizações e papéis que a organização define; play – usado entre agentes e papéis de agentes, entre sub-organizações e papéis de agentes, e entre classes e papéis de objeto; inhabit – usado entre ambiente e organizações e entre ambiente e agentes. © LES/PUC-Rio

Diagrama de Organizações inhabit Virtual Marketplace play Store Agent User Agent Seller Buyer <<main-organization>> General Store Market of Special Goods Market of Used Goods Book Imported Bookstore Second-hand Bookstore Offer Desire Object role Agent role Object / Environment Agent Organization Legend: ownership © LES/PUC-Rio

Diagrama de Papéis Objetivo: modelar os papéis e os relacionamentos entre os papéis Classes usadas neste diagrama: agent role class, object role class e class Relacionamentos usados neste diagrama: control – usado entre papéis de agente; dependency – usado entre papéis de objeto, entre papel de agente e papel de objeto e entre papéis de agente; association – usado entre papéis de objeto, entre papel de agente e papel de objeto, entre papéis de agente e entre qualquer papel e uma classe; aggregation – usado entre papéis de objeto e entre papéis de agente; specialization – usado entre papéis de objeto e entre papéis de agente. © LES/PUC-Rio

Diagrama de Papéis association control specialization Offer Desire Seller Buyer Market of Special Goods Seller of Second-hand Books Buyer of Second-hand Books Buyer of Imported Books Seller of Imported Books Offer of Imported Books Offer of Second-hand Books Desire of Second-hand Books Desire of Imported Books control Market of Used Goods Seller specialization Legend: Seller of Imported Books Object role Agent role © LES/PUC-Rio

Diagramas Dinâmicos

Diagrama de Seqüência de UML Representa a interação entre os objetos e as execuções dos métodos © LES/PUC-Rio

Diagrama de Seqüência de MAS-ML Objetivo: representar as interações entre as instâncias do SMA e representar as ações internas destas instâncias. Representar interações: troca de mensagens entre entidades Modelar troca de mensagem: Redefinir mensagens Criar novos estereótipos associados à mensagens Modelar protocolos Representar ações internas (intra-ações): Modelar planos e ações © LES/PUC-Rio

Elementos dos diagramas org/role/org/env : OrganizationClass/AgentRoleClass/OrganizationClass/EnvironmentClass Novos pathnames e novos ícones Objeto obj/role/org/env : Class/ObjectRoleClass/OrganizationClass/EnvironmentClass Agente agent/role/org/env : AgentClass/AgentRoleClass/OrganizationClass/EnvironmentClass Organização : RoleClass Papel Active entity Passive entity Ambiente env : EnvironmentClass env : EnvironmentClass © LES/PUC-Rio

Redefinindo mensagens UML: mensagens são chamada de métodos SMA: mensagens não são diretamente mapeadas para uma execução interna do agente method_name () sender receiver message_label (content_description) sender receiver © LES/PUC-Rio

Estereótipos de mensagens Como representar a criação de entidades de SMA? UML: uso do estereotipo <<create>> Estender para representar a criação de entidades de SMA Como representar a destruição de entidades de SMA? UML: uso do estereotipo <<destroy>> Estender para representar a destruição de entidades de SMA © LES/PUC-Rio

Criando e destruindo entidades Criando uma organização Anne/FruitBuyer : UserAgent/Buyer <<create>> FruitStore/FruitWholesale: Store/Wholesale . . Destruindo uma organização - I Anne/FruitBuyer : UserAgent/Buyer FruitStore/FruitWholesale: Store/Wholesale . . <<destroy>> . Destruindo uma organização - II Anne/FruitBuyer : UserAgent/Buyer FruitStore : Store . . <<destroy>> . © LES/PUC-Rio

Estereótipos de mensagens Como representar a relação entre papéis e entidades que desempenham papéis? <<role_commitment>> Entidade se comprometendo com um novo papel <<role_cancel>> Entidade cancelando papel <<role_activate>> Entidade ativando papel <<role_deactivate>> Entidade desativando papel <<role_change>> Entidade mudando de papel © LES/PUC-Rio

Criando papel Criando um papel de agente Criando um papel de objeto Bob/FruitBuyer : UserAgent/Buyer <<role_commitment>> Bob/ClothesBuyer : UserAgent/Buyer . . Criando um papel de objeto Bob/FruitBuyer : UserAgent/Buyer <<role_commitment>> Apple/DesirerFruit : Item/Desirer . . © LES/PUC-Rio

Cancelando papel Cancelando papel de agente Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_cancel>> . Cancelando papel de agente Bob/ClothesBuyer : UserAgent/Buyer <<role_cancel>> Cancelando papel de objeto Bob/FruitBuyer : UserAgent/Buyer Apple/DesirerFruit : Item/Desirer <<role_cancel>> . © LES/PUC-Rio

Desativando e ativando papel Desativar papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_deactivate>> . Bob/ClothesBuyer : UserAgent/Buyer <<role_deactivate>> Ativar papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_activate>> . . © LES/PUC-Rio

Mudando de papel Cancelando papel e criando novo papel Bob/FruitBuyer : UserAgent/Buyer <<role_change>> Bob/ClothesBuyer : UserAgent/Buyer . Cancelando papel e ativando outro papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_change>> . Desativando papel e criando outro papel Bob/FruitBuyer : UserAgent/Buyer <<role_change>> Bob/ClothesBuyer : UserAgent/Buyer . Desativando papel e reativando outro papel Bob/FruitBuyer : UserAgent/Buyer Bob/ClothesBuyer : UserAgent/Buyer <<role_change>> . © LES/PUC-Rio

Modelando protocolos Um protocolo define um conjunto de mensagens que entidades podem enviar e receber enquanto desempenhando papéis Request (ItemDescription) Proposal (ItemDescription) AnswerProposal (RejectItemDescription) AnswerProposal (AcceptItemDescription) Inform (Payment) Inform (Bill) : Buyer : Seller else papel mensagem © LES/PUC-Rio

Modelando planos e ações Execução interna dos agentes, organizações e ambientes ativos são definidas pela execução dos planos e ações. : GeneralStore Creating_seller : UserAgent/Buyer if (message_label = request) Execution of a Plan create_seller <<create>> : UserAgent/Seller Execution of an Action inform_buyer_of_seller inform (seller_id) Execution of an Action else © LES/PUC-Rio

Diagrama de Atividades de UML Objetivo: modelar o fluxo das atividades de um sistema O foco está na seqüência de atividades e não na interação entre os objetos Atividades: execução não atômica composta de ações Ação: execução atômica © LES/PUC-Rio

Diagrama de Atividades de MAS-ML Objetivo: representar a modelagem de planos e ações de um agente O foco está na modelagem de um agente e não na interação entre os agentes Atividades -> Planos de agentes Ações -> Ações de agentes © LES/PUC-Rio

Extensão Diagrama de Atividades <<role_change>> A3 A4 … <<environment>> E1 E2 <<organization>> O2 O1 R3 R1 P2 Plan Action Roles © LES/PUC-Rio

Exemplo Selling Informing Price Informing proposal Payment accepted] Informing Price Informing proposal rejected] Payment <<goal>> <<goal>>to have an item sold <<role>>Seller Receiving Final Position © LES/PUC-Rio

Ambiente Identificado ambiente Modelando a mudança de ambiente © LES/PUC-Rio

Referências Silva, V. T.; Lucena, C. J. P. From a Conceptual Framework for Agents and Objects to a Multi-Agent System Modeling Language. Sycara, K., Wooldridge, M.(Edts.), Journal of Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers. 2003. Silva, V. T.; Lucena, C. J. P. From a Conceptual Framework for Agents and Objects to a Multi-Agent System Modeling Language. Sycara, K., Wooldridge, M.(Edts.), Doctoral Thesis, 31st March, 2004. Silva, V. T.; Cortés, M.; Lucena, C. J. P. An Object-Oriented Framework for Implementing Agent Societies. Technical Report (MCC32/04), Computer Science Department, PUC-Rio. Rio de Janeiro, Brazil. 2004. 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. LNCS 2603, Berlin: Springer, 2003. Costa, Andrew D.; Silva, Viviane T., Lucena, Carlos J. P.; Web site Agent Society Framework, 2007. Costa, Andrew D.; Silva, Viviane T., Lucena, Carlos J. P.;Remodelando e Estendendo o Agent Society Framework, n° MCC17/06, Departamento de Infomática da Pontifícia Universidade Católica do Rio de Janeiro, 2006. © LES/PUC-Rio