Linguagens de Modelagem para SMA Viviane Torres da

  • Slides: 58
Download presentation
Linguagens de Modelagem para SMA Viviane Torres da Silva viviane. silva@ic. uff. br http:

Linguagens de Modelagem para SMA Viviane Torres da Silva viviane. [email protected] uff. br http: //www. ic. uff. br/~viviane. silva/sma

Linguagens de Modelagem para SMA Ø Por que não utilizar uma linguagem de modelagem

Linguagens de Modelagem para SMA Ø Por que não utilizar uma linguagem de modelagem já existente para modelar SMA? Ø UML é linguagem de modelagem padrão para modelar sistemas OO Ø UML não dá suporte para a modelagem de SMA – Agentes e objetos possuem características / propriedades diferentes Ø Por que não estender UML para modelar SMA?

Linguagens de Modelagem para SMA Ø Linguagem que estendem UML: – AUML – AORML

Linguagens de Modelagem para SMA Ø Linguagem que estendem UML: – AUML – AORML – Transformação de Modelos + UML – MAS-ML Ø Linguagem que não estendem UML: – ANote

MAS-ML Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic. uff. br/~viviane.

MAS-ML Viviane Torres da Silva viviane. [email protected] uff. br http: //www. ic. uff. br/~viviane. silva/sma

MAS-ML Ø Estende o meta-modelo de UML com base no framework conceitual TAO Ø

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

MAS-ML Camada de meta-modelo MOF meta-modelo ER meta-modelo instanciação TAO meta-modelo UML meta-modelo Camada

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

Meta-modelo de MAS-ML Element Leyenda Meta-classes do meta-modelo de UML Novas Meta-clasess Named. Element

Meta-modelo de MAS-ML Element Leyenda Meta-classes do meta-modelo de UML Novas Meta-clasess Named. Element Packageable. Element Refinable. Element Namespace Type Classifier Class Agent. Class Organization. Class Agent. Role. Class Object. Role. Class Environment. Class

Meta-modelo de MAS-ML 0. . * 1 controlled 1 play Agent. Class 0. .

Meta-modelo de MAS-ML 0. . * 1 controlled 1 play Agent. Class 0. . 1 agent 1. . * Play play 0. . * play_in 1 org 0. . 1 org 1 inhabit Inhabit 0. . * inhabit 1 play 0. . * play 0. . 1 agent. Role Agent. Role. Class 0. . * play 0. . 1 agent. Role 0. . 1 sub. Org 1 ownership Organization. Class 1 owner 1 inhabit 1 controller 0. . * Ownership ownership 1 ownership 0. . 1 object. Role 0. . 1 Object. Role. Class object. Role 1 env Environment. Class 0. . 1 class Control 0. . * control

Meta-modelo de MAS-ML Leyenda Element Meta-classes do meta-modelo de UML Novas Meta-classes Named. Element

Meta-modelo de MAS-ML Leyenda Element Meta-classes do meta-modelo de UML Novas Meta-classes Named. Element Novos estereótipos Refinable. Element Multiplicity. Element Typed. Element Feature Structural. Feature Property Belief Namespace Behavioral. Feature Operation Goal Agent. Mesage. Class Action. Class Duty Right Plan. Class Protocol. Class

MAS-ML Ø MAS-ML modela os aspectos estruturais e dinâmicos descritos no TAO – Aspectos

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 Ø Diagrama dinâmico: seqüência e atividades

Diagramas Estáticos

Diagramas Estáticos

Diagrama de Classe de UML Ø Representa as classes e os relacionamentos entre as

Diagrama de Classe de UML Ø Representa as classes e os relacionamentos entre as classes Item Order User Book Nome_da_classe Imported Books Second-hand Books atributo 1 atributo 2 metodo 1 metodo 2 metodo 3. . .

Diagramas para SMA Ø Como representar agentes, organizações, papéis e ambientes? Ø Como representar

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

Elementos diagramas estáticos Class Agent. Role. Class I/II Object. Role. Class Entidades Environment. Class

Elementos diagramas estáticos Class Agent. Role. Class I/II Object. Role. Class Entidades Environment. Class Relação Inhabit (habitar) Relação Control (controlar) Agent. Role. Class Organization. Class

Elementos diagramas estáticos Relação Ownership (propiedade) Organization. Class Relação Play (desempenhar) I/II Agent. Role.

Elementos diagramas estáticos Relação Ownership (propiedade) Organization. Class Relação Play (desempenhar) I/II Agent. Role. Class Agent. Class

Agente Agent. Class <<goal>> type : name [= default-value] plan-list <<belief>> type : name

Agente Agent. Class <<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 Características de comportamento

Diagrama de Classes Objetivos: representar os relacionamentos entre classes e outras entidades do SMA

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.

Diagrama de Classes: Exemplo Overall_evaluation associação get. Evaluation get. Paper 0. . 1 Paper

Diagrama de Classes: Exemplo Overall_evaluation associação get. Evaluation get. Paper 0. . 1 Paper abstract title authors content get. Abstract get. Title get. Authors get. Content set. Abstract set. Title set. Authors set. Content 0. . * Review reviewer comments evaluation 1 1 0. . 3 get. Reviewer get. Comments get. Evaluation get. Paper set. Reviewer set. Comments set. Evaluation set. Paper <<main-organization>> Conference agregação 0. . * Workshop 0. . * Tutorial 0. . * Researcher 0. . * Student Legend: Object / Environment Agent Organization Professor especialização

Diagrama de Organizações Ø Objetivo: modelar as organizações e os relacionamentos entre as organizações

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

Diagrama de Organizações: Exemplo Conference_Center Event Workshop Chair <<goal>> manage. Event <<belief>> reviewers Collecting_submitted_

Diagrama de Organizações: Exemplo Conference_Center Event Workshop Chair <<goal>> manage. Event <<belief>> reviewers Collecting_submitted_ papers {…} Assigning_papers_to_reviewers { relate. Papers. To. Reviewers, create. Review. Proposal, attribute. Papers. To. Reviewers, attribute. Papers. Without 3 Reviewers. To. Chair } Distributing_reviews {check. Conflict, group. Reviews, inform. Authors} Collecting_camera-ready General_Chair _papers {…} Leyenda: Class / Environment class Object role class Tutorial <<main-organization>> Conference Researcher Organization class Agent role class Agent class Author Student PC_Member Ownership relationship Play relationship

Diagrama de Papéis Objetivo: modelar os papéis e os relacionamentos entre os papéis Ø

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

Diagrama de Papéis: Exemplo Blind_Submission Camera_Ready paper. Id get. Abstract get. Title get. Content

Diagrama de Papéis: Exemplo Blind_Submission Camera_Ready paper. Id get. Abstract get. Title get. Content get. Paper. Id set. Paper. Id get. Abstract get. Title get. Authors get. Content get. Paper. Id Author <<goal>>publish. Paper <<duty>>send. Camera. Ready if accepcted <<right>>submit. Paper <<protocol>>Paper. Submission Blind_Review PC_Member <<goal>>review. Paper Chair <<goal>>manage. Event <<duty>>make. Preview <<right>>refuse. Paper <<protocol>> Paper. Distribution <<duty>>receive. Papers, attribute. Papers. To. Reviewers, attribute. Papers. Without 3 Reviewers. To. Chair inform. Authors. Reviews <<protocol>>Paper. Submission Paper. Distribution get. Comments et. Evaluation get. Paper Leyenda: Agent role class Object role class General_Chair Control relationship Association relationship Generalization relationship

Diagramas Dinâmicos

Diagramas Dinâmicos

Diagrama de Seqüência de UML Ø Representa a interação entre os objetos e as

Diagrama de Seqüência de UML Ø Representa a interação entre os objetos e as execuções dos métodos Objeto A [se novo] <<create>> Objeto B mensaje valor de retorno <<destroy>>

Diagrama de Seqüência de MAS-ML Objetivo: representar as interações entre as instâncias do SMA

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

Place-A : Virutal. Marketplace plano Bob/buyer. Of. Books/Bookfinder/Place-A : User. Agent/Buyer/ General. Store/Virtual. Marketplace

Place-A : Virutal. Marketplace plano Bob/buyer. Of. Books/Bookfinder/Place-A : User. Agent/Buyer/ General. Store/Virtual. Marketplace Entering organization Brand. New. Bookstore/market. Of. Used. Books/Bookfinder/Place-A : Second-hand. Bookstore/Market. Of. Used. Goods/ General. Store/Virtual. Marketplace Search for organization get. Organizations() organização Vector chamada de método Check_organization_goals Request (Org. Goals) Managing entrance Get_organization_goals Inform (Org. Goals) Check_organization_roles Request (Org. Roles) ambiente agente Get_organization_roles Inform (Org. Roles) Select_role_to_play <<role_commitment>> Bob/buyer. Of. Second-hand. Books/Bookfinder/Place-A : User. Agent/Buyer. Of. Second-hand. Books/ General. Store/Virtual. Marketplace Inform (Role. To. Play) ação Register_itself_in_organization Inform (Buyer_of_second_hand_books) esteriótipo de mensagem Search_for_announcement Request (Announcement). . . Entering organization

Diagrama de Atividades de UML Objetivo: modelar o fluxo das actividades de um sistema

Diagrama de Atividades de UML Objetivo: modelar o fluxo das actividades de um sistema Ø O enfoque está na seqüência das atividades e não na interação entre os objetos Ø Ø Atividades: execção não atómica composta de ações Ø Ações: execução atómica

Diagrama de Atividades de MAS-ML Objetivo: representar a modelagem de planos e ações de

Diagrama de Atividades de MAS-ML Objetivo: representar a modelagem de planos e ações de un agente Ø O enfoque está na modelagem do agente e não na interação entre os agentes Ø Atividades -> Planos de agentes Ø Ações -> Ações de agentes Ø

Exemplo II/II recurso Enviando mensagem Recebendo mensagem <<goal>>hav Assigning papers to reviewers Chair <<datastore>>

Exemplo II/II recurso Enviando mensagem Recebendo mensagem <<goal>>hav Assigning papers to reviewers Chair <<datastore>> papers Relate papers to reviewers <<datastore>> Papers without reviewers <<datastore>> Papers with reviewers <<message>> Asking for new reviewers <<message>> Proposals ( request : receiver (agent-id : content review. Pr : protocol Paper. Di Create reviewer proposal <<datastore>> Papers x Reviewers <<message>> New reviewers <<datastore>> reviewers Decision deadline <<datastore>> Papers x Reviewers Reviewer <<organization>> Workshop <<datastore>> reviewers <<role_commitment>> Review paper Attribute p 3 reviewe

Metodologias Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic. uff. br/~viviane.

Metodologias Viviane Torres da Silva viviane. [email protected] uff. br http: //www. ic. uff. br/~viviane. silva/isma

Metodologias Ø Tropos Ø Prometheus Ø Gaia Ø Message Ø Ma. SE

Metodologias Ø Tropos Ø Prometheus Ø Gaia Ø Message Ø Ma. SE

Tropos

Tropos

Tropos Ø Objetivo: fazer o dezenvolvimento de SMA orientado a requisitos Ø Está baseada

Tropos Ø Objetivo: fazer o dezenvolvimento de SMA orientado a requisitos Ø Está baseada no framework de modelagem para a análise de requisitos chamado i* – Conceitos: actor, agente, posição e papel – Dependências entre atores: objetivo, objetivo-suave, tarefa e recurso

Etapas da Metodologia Tropos Análise de requisitos Ø Etapa 1 de requisitos – Entender

Etapas da Metodologia Tropos Análise de requisitos Ø Etapa 1 de requisitos – Entender o problema estudando-se as organizações que já existem – Resultado: modelagem organizacional com atores e seus objetivos Ø Etapa 2 de requisitos – Se adciona o ator sistema a modelagem – Descrição do sistema através de suas funções (requisitos funcionais e não funcionais)

Etapas de Metodologia Tropos Projeto Ø Etapa de Projeto Arquitetural – Descrição dos subsistemas

Etapas de Metodologia Tropos Projeto Ø Etapa de Projeto Arquitetural – Descrição dos subsistemas que são representados como atores – Mapeamento do ator sistema para um conjunto de agentes e suas capacidades Ø Etapa de Projeto Detalhado – Definição das capacidades dos agentes e suas interações – Definição dos datos de entrada e saída dos subsistemas

Etapas de Metodologia Tropos Implementação Ø Etapa de Implementação – Mapeamento dos conceitos do

Etapas de Metodologia Tropos Implementação Ø Etapa de Implementação – Mapeamento dos conceitos do projeto detalhado aos conceitos da plataforma – Propõe o uso de Jack, uma plataforma para a implementação de SMA

Mapeamento de i* para Jack

Mapeamento de i* para Jack

Gaia Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic. uff. br/~viviane.

Gaia Viviane Torres da Silva viviane. [email protected] uff. br http: //www. ic. uff. br/~viviane. silva/sma

Metodologia Gaia Se baseia na abstração de organizações Ø Não está relacionada a nenhuma

Metodologia Gaia Se baseia na abstração de organizações Ø Não está relacionada a nenhuma linguagem de modelagem Ø Não se preocupa com os problemas de implementação Ø

ISMA Viviane Torres da Silva

ISMA Viviane Torres da Silva

Etapa de Análise Ø Subdivisão do sistemas em sub-organizações Ø Modelo de ambiente Ø

Etapa de Análise Ø Subdivisão do sistemas em sub-organizações Ø Modelo de ambiente Ø Modelo preliminar de papéis Ø Modelo preliminar de interação Ø Regras organizacionais

Etapa de Projeto Arquitetural Ø Documenta todas as características funcionais que o sistema tem

Etapa de Projeto Arquitetural Ø Documenta todas as características funcionais que o sistema tem que expressar junto com as características do ambiente no qual o sistema se encontra Ø Estrutura organizacional Ø Modelo de papéis completo Ø Modelo de protocolos completo

Etapa de Projeto Detalhado Ø Objetivo é identificar os agentes e os serviços provendo

Etapa de Projeto Detalhado Ø Objetivo é identificar os agentes e os serviços provendo dicas para a implementação Ø Modelo de agente Ø Modelo de serviço

Comunicação entre Agentes Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic.

Comunicação entre Agentes Viviane Torres da Silva viviane. [email protected] uff. br http: //www. ic. uff. br/~viviane. silva/isma

Comunicação direta entre os agentes Ø A comunicação é a base para as interação

Comunicação direta entre os agentes Ø A comunicação é a base para as interação entre os agentes Ø Existem diversas formas de interagir com outros agentes: – Ações realizadas no ambiente – Quadro compartilhado – Envio direto de mensagem para outro agente –…

Envio de Mensagem Ø Os agentes se comunicam para – Pedir una informação –

Envio de Mensagem Ø Os agentes se comunicam para – Pedir una informação – Enviar una informação – Pedir a execução de um determinado serviço – …. Ø Os agente tentam alcançar seus objetivos através da comunicação com os outros agentes Ø A maior parte das linguagens para agentes se inspirou na teoria dos atos de fala (speech act)

Atos de Fala Ø Tentam descrever como as linguagens são utilizadas pelas pessoas todos

Atos de Fala Ø Tentam descrever como as linguagens são utilizadas pelas pessoas todos os dias para alcançar os seus objetivos Ø A origem da teoria dos atos da fala está publicada em: – How to Do Things with Words, de J. Austin 1962 Quem fala não declara somente sentenças certas ou faltas Ø Quem fala realiza “atos da fala”: Ø – Pedidos, sugestões, promessas, ameaças, etc. Ø Cada declaração é um ato da fala

Tipos de Atos da Fala (J. Searle 1969) Ø Atos assertivos: dão informação sobre

Tipos de Atos da Fala (J. Searle 1969) Ø Atos assertivos: dão informação sobre o mundo – Ex: Estou de acordo Ø Atos diretivos: para solicitar algo ao destinatário – Ex: Cale-se Ø Ex: 2 y 2 são 4 Ex: Quanto custa esta caneta? Atos de promessas: comprometem aquele que fala a realizar certas ações no futuro – Ex: Farei o trabalho amanhã Ex: Te ajudarei a fazer Ø Atos expressivos: dão indicações do estado mental daquele que fala – Ex: Estou cansado Ø Ex: Obrigada Atos declarativos: a declaração é a realização de um ato – Ex: Teu salário é R$600, 00 Ex: Este sapato está apertado

Linguagens de Comunicação entre Agentes Ø Agent Communication Languages (ACLs) Ø A mais conhecida

Linguagens de Comunicação entre Agentes Ø Agent Communication Languages (ACLs) Ø A mais conhecida é a KQML desenvolvida por ARPA Ø KQML está dividida em duas partes: – A linguagem de manipulação do conhecimento (KQML) – A linguagem de descrição do conteúdo (KIF)

KQML Ø É uma linguagem de comunicação e protocolo, orientada a mensagens, para a

KQML Ø É uma linguagem de comunicação e protocolo, orientada a mensagens, para a modificação de informação Ø KQML é independente de – protocolos de transporte (TCP/IP, HTTP, . . . ) – sintaxes de contexto – Ontologias – protocolos de alto nível (contract net, subasta, . . . ) Ø KQML define um conjunto de performativas que podem ser utilizadas para expressar diferentes desejos

KQML Ø A sintaxe da linguagem utiliza LISP – Uma pessoa pode compreender e

KQML Ø A sintaxe da linguagem utiliza LISP – Uma pessoa pode compreender e é fácil de fazer parser Performativa (ask-if Parâmetro : sender A Valor : receiver B : ontology std : language prolog : content (preço Livro ? preço) )

Tipos de Performativas Ø Performativas básicas – evaluate, ask-if, ask-in, ask-one, ask-all, … Ø

Tipos de Performativas Ø Performativas básicas – evaluate, ask-if, ask-in, ask-one, ask-all, … Ø Performativas de resposta – reply, sorry, stream-all, … Ø Performativas genéricas de informação – tell, achieve, cancel, untell, unachieve, … Ø Performativas relacionadas a una ação – standby, ready, next, rest, discard, generator, … Ø Performativas de capacidade: – advertise, subscribe, monitor, import, export, … Ø Performativas de rede: – register, unregister, forward, broadcast, route, …

Exemplo (ask-one : sender José : receiver Servidor-Jogo : content (pontos Maria ? pontos)

Exemplo (ask-one : sender José : receiver Servidor-Jogo : content (pontos Maria ? pontos) : ontology jogo-X : reply-with resposta-pontos : language prolog) (tell : sender Servidor-Jogo : receiver José : content (pontos Maria 74 ) : ontology jogo-X : in-reply-to resposta-potos : language prolog)

FIPA (Foundation for Intelligent Physical Agents) Ø Objetivo: acelerar o desenvolvimento de tecnologias de

FIPA (Foundation for Intelligent Physical Agents) Ø Objetivo: acelerar o desenvolvimento de tecnologias de agentes inteligentes mediante a produção de especificações acordadas internacionalmente – http: : //www. fipa. org Ø Propôs a linguagem com uma semântica mais rigorosa que a KQML

FIPA Applications Abstract Architecture Agent Communication Interaction Protocols Agent Management ACL Communicative Representations Acts

FIPA Applications Abstract Architecture Agent Communication Interaction Protocols Agent Management ACL Communicative Representations Acts Envelope Content Representations Languages Agent Message Transport Protocols

FIPA: Comunicação entre Agentes Especificação da estrutura da mensagem Ø Especificação sobre o serviço

FIPA: Comunicação entre Agentes Especificação da estrutura da mensagem Ø Especificação sobre o serviço de ontologias Ø Ø Protocolos de interação – Descreve os requisitos de um protocolo – Tem uma biblioteca de protocolos Ø Atos da fala – Define um conjunto de performativas Ø Conteúdos da linguagem – Define os requisitos de uma linguagem de conteúdo – Tem uma biblioteca de linguagens de conteúdo

FIPA: Especificação da estrutura da mensagem Não existe em KQML

FIPA: Especificação da estrutura da mensagem Não existe em KQML

FIPA: Protocolos de Comunicación Ø Ø Ø FIPA-Request-Protocol FIPA Request Interaction FIPA Query Interaction

FIPA: Protocolos de Comunicación Ø Ø Ø FIPA-Request-Protocol FIPA Request Interaction FIPA Query Interaction FIPA Request When Interaction FIPA Contract Net Interaction FIPA Iterated Contract Net Interaction FIPA English Auction Interaction FIPA Dutch Auction Interaction FIPA Brokering Interaction FIPA Recruiting Interaction FIPA Subscribe Interaction FIPA Propose Interaction