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

Slides:



Advertisements
Apresentações semelhantes
ExpertCommittee Documentação
Advertisements

Manoel Teixeira de Abreu Netto
Web Services e Enterprise Services Vasco Veiga & Developer Group Microsoft Corporation.
Engenharia de Software Prof ª. Isabel Sofia de Brito Prof ª. Maria Fernanda Pedro.
Profa. Ana Cristina Benso da Silva Disciplina: Redes de Computadores
Projeto de Sistemas de Software Luana Lachtermacher
Andrew Diniz da Costa Trabalhos de Pesquisa Andrew Diniz da Costa
Agent Reputation Trust (ART) Testbed Andrew Diniz da Costa
Engineering Law-Governed Approaches Maintainability Concerns - Interaction Laws Gustavo Carvalho, Carlos Lucena Seminar Dependability.
A Framework to Implement Self-Adaptive Agents that Apply Self-Test Andrew Diniz da Costa
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
Linguagens de Modelagem
Metodologias Equipe do Curso de ES para SMA
Linguagens de Modelagem
Linguagens de Modelagem (cont.) (IV)
Java RMI Alcides Calsavara. Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância.
Frameworks Conceituais
Linguagens de Modelagem para SMA
Definindo as entidades de um SMA Viviane Torres da Silva
VHDL Very High Speed Integrated Circuit Hardware Description Language Prof. Eduardo Todt 2008.
Linguagens de Modelagem – MAS-ML
Linguagens de Modelagem para SMA
A.4. Trabalhando com elementos de biblioteca STL – Standard Template Libraby Disponibiliza um conjunto de classes templates, provendo algoritmos eficientes.
Modelagem computacional no ensino de Física
Técnicas e Projeto de Sistemas André Mesquita Rincon Processo de Software Técnico Subsequente – Módulo III.
FORTRAN 90 Denise Yumi Takamura.
INTRODUÇÃO À COMPUTAÇÃO PARALELA
SQL Procedural Junho/2006.
BDOO. Modelos tradicionais (relacional, rede e hierárquico) : aplicações tradicionais Novas aplicações para : Sistemas CAD Manufatura Experimentos científicos.
UML - Unified Modeling Language
ANÁLISE E PROJETO DE SISTEMAS
CMP231 – Sistemas Embarcados Ronaldo Ferreira
Modelando com UML CMP 231 – Sistemas Embarcados
Slide 1 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Worb Treinamento no GRADEp Serviço Worb WorbDemo.
Processamento de Imagens
O Fluxo de Testes © Alexandre Vasconcelos
Universidade Federal do Paraná Disciplina: Comunicação de Dados
Templates e Questões de Design Programas são geralmente construídos segundo um design que é relativamente bem mapeado nos mecanismos oferecidos pela linguagem.
Computação Ambiental e seus desafios Gilberto Câmara Diretor Geral, INPE Licença de Uso: Creative Commons Atribuição-Uso.
GT Processo Eletrônico SG Documentos Eletrônicos Segunda reunião – 28/08/2009 Interlegis.
CT-300 – Seminário de Tese 1/25 Um Framework Padrão para Simulação de Modelos de Robôs Móveis de Robôs Móveis Juliano A. Pereira Prof. Carlos H. C. Ribeiro.
CE-262 Ontologia e Web Semântica Prof. José M Parente de Oliveira
CE-262 Ontologia e Web Semântica Prof. José M Parente de Oliveira Sala 120 – Prédio da Computação Linguagens para a Web Semântica.
CE-262 Ontologia e Web Semântica Prof. José M Parente de Oliveira Sala 120 – Prédio da Computação Lógica de Descrições.
Formação de Administradores de Redes Linux LPI – level 1 SENAC TI Fernando Costa SQL (Structure Query Language)
Modelos de Iluminação e Tonalização
UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática.
Unified Modeling Language
Programação Concorrente com Thread Java
Stored Procedure, Function and Trigger
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
Uniform Resource Identifier (URI). Uniform Resource Identifiers Uniform Resource Identifiers (URI) ou Identificador de Recursos Uniforme provê um meio.
Protocolo HTTP.
Transporte Escolar Fluvial
Usando Java no Oracle Por Edson Almeida Junior
IV- Metodologia de Projeto de BD OO. Transformação ODMG OR.
Prof. Eduardo Mantovani Prof. Fábio de P. Santos AES 2007.
Fazendo e Brincando: Confecção de Materiais para as Aulas de Inglês
Sincronização com Locks. Locks É um mecanismo de sincronização de processos/threads em que estas devem ser programadas de modo que seus efeitos sobre.
Melhorias e Mensagens Amigáveis ao Usuário Centro de Informática Universidade Federal de Pernambuco Bruno Felipe Marco André Paulo Fernando Rodolfo Santos.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 30 (1) Empacotamento de Dados em MPI Tópicos: Buffer de Mensagem Empacotamento/Desempacotamento.
Framework Conceitual para SMA Taming Agents and Objects (TAO) Andrew Diniz da Costa
Metodologia de Desenvolvimento de Software Hermano Moura Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo.
Cursor Professor Esp. Diego André Sant’Ana
Cigré/Brasil CE B5 – Proteção e Automação Seminário Interno de Preparação para a Bienal 2006 Rio de Janeiro, setembro/06.
RELATÓRIO CEMEC 06 COMPARAÇÕES INTERNACIONAIS Novembro 2013.
EXTENDING THE FRAMEWORK TAO WITH NORMS FOR MULTI-AGENT SYSTEMS Emmanuel S. S. Freire – UECE – Mariela I. Cortés – UECE –
Modelagem de Estruturas Sociais em AML Menandro Ribeiro Santana Ricardo Roberto de Lima.
Multi-Agent System Modeling Language (MAS-ML)
Linguagens de Modelagem (cont.) (II)
Transcrição da apresentação:

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

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

© LES/PUC-Rio Meta-modelo MAS-ML DutyRight FeaturesClassifier Structural FeatureBehavioral Feature BeliefGoal Axiom Operation Property ClassAgentClassObjectRoleClass OrganizationClass AgentPlan Meta-classes do meta-model UML Novas meta-classes Novos estereótipos Legenda AgentRoleClass AgentAction 1..** * sender receiver 1 * Element AgentProtocol AgentMessage 1..* * Constraint postcondition precondition 0..1 * ** * EnvironmentClass Active EnvironmentClass Passive EnvironmentClass

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

© LES/PUC-Rio Meta-modelo MAS-ML Relationship Directed Relationship Classifier Element Association DependencyOwnershipInhabitControlPlayGeneralization 1..* Meta-classes do meta-modelo UML Novas meta-classes Legenda

© 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

Diagramas Estáticos

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

© 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 diagramasI ObjectRoleClassOrganizationClassAgentRoleClassAgentClassClass AgentRoleClass EnvironmentClass Relacionamento Inhabit Relacionamento Control Entidades

© LES/PUC-Rio Elementos dos diagramasII OrganizationClassAgentRoleClass OrganizationClassAgentRoleClass AgentClass Relacionamento Ownership Relacionamento Play

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

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

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

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

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

© 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 Second-hand BooksImported Books Item Book Virtual Marketplace inhabit specialization association AgentA AgentB Organization A Organization B Object / Environment Agent Organization Legend:

© 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 Object role Agent role Object / Environment Agent Organization Legend: General Store Virtual Marketplace Market of Special GoodsMarket of Used Goods Imported BookstoreSecond-hand Bookstore Book Desire Offer BuyerSeller User Agent Store Agent > inhabit play 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 Market of Special Goods Offer Desire Buyer Buyer of Imported Books Seller of Imported Books Seller Desire of Imported Books Offer of Imported Books Buyer of Second-hand Books Seller of Second-hand Books Desire of Second-hand Books Offer of Second-hand Books Market of Used Goods Object role Agent role Legend: control association Seller Seller of Imported Books specialization

Diagramas Dinâmicos

© LES/PUC-Rio 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 Novos pathnames e novos ícones org/role/org/env : Organization Class /AgentRole Class /Organization Class /Environment Class obj/role/org/env : Class/ObjectRoleClass/OrganizationClass/EnvironmentClass agent/role/org/env : AgentClass/AgentRoleClass/OrganizationClass/EnvironmentClass env : EnvironmentClass Active entityPassive entity Objeto Agente Organização Ambiente : RoleClass Papel

© 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 message_label (content_description) senderreceiver method_name () senderreceiver

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

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

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

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

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

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

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

© 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 mensagem papel

© 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 : UserAgent/Seller if (message_label = request) create_seller else inform_buyer_of_seller : UserAgent/Buyer inform (seller_id) > Creating_seller Execution of a Plan Execution of an Action Execution of an Action

© 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 > A3 A4 … … > E1 > E2 > O2 > O1 R3 R1 P2 Plan Action Roles

© LES/PUC-Rio Exemplo Selling [proposal accepted] Informing PriceInforming proposal [proposal rejected] Payment > >to have an item sold >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 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, 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 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, Costa, Andrew D.; Silva, Viviane T., Lucena, Carlos J. P.; Web site Agent Society Framework, 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.