Linguagens de Modelagem para SMA Viviane Torres da

  • Slides: 88
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. silva@ic. uff. br http: //www. ic. uff. br/~viviane. silva/isma

Linguagens de Modelagem para SMA Ø Motivação: necessidade de modelagem das entidade de um

Linguagens de Modelagem para SMA Ø Motivação: necessidade de modelagem das entidade de um SMA (agentes, organizações, objetos, . . . ) – UML não dá suporte para a modelagem de SMA – Agentes e objetos possuem características / propriedades diferentes Ø Objetivo: propor uma linguagem onde os elementos de primeira ordem fossem as entidades de um SMA Ø Solução: linguagens de modelagem que estendem UML – AUML, AORML, Transformação de Modelos + UML, MAS-ML, AML Ø . . e linguagens de modelagem que não estendem UML – ANote

AUML

AUML

AUML – Agente UML Ø Primeiro objetivo era especificar protocolos de interação entre agentes

AUML – Agente UML Ø Primeiro objetivo era especificar protocolos de interação entre agentes (AIP) Ø 1 o passo foi estender diagrama de seqüência de UML para modelar as interações entre agentes Ø Em seguida, estenderam outros diagramas

Diagramas estendido Ø Ø Ø Ø Diagrama de seqüência (detalhado) e colaboração Diagrama de

Diagramas estendido Ø Ø Ø Ø Diagrama de seqüência (detalhado) e colaboração Diagrama de atividades e de estados Diagrama de classes Diagrama de objetos Pacotes Diagrama de componentes Diagrama de deployment

Diagrama de sequência de UML Tempo (top-down) condição de guarda Objeto. A mensagem síncrona

Diagrama de sequência de UML Tempo (top-down) condição de guarda Objeto. A mensagem síncrona [se novo] <<create>> Objeto. B objeto mensagem (auto delegação) (caixa de)ativação valor de retorno <<destroy>> linha de vida símbolo de destruição

Diagrama de sequência de AUML: Modelagem de Mensagens Viviane / Professor : Agent. Usuario

Diagrama de sequência de AUML: Modelagem de Mensagens Viviane / Professor : Agent. Usuario <agente>/<papel> : <classe> ato de comunicação (ato de fala) (não chamamos de método) Problemas: Como se modela a instância de papel? Onde o agente está executando o papel? Onde o agente está? paralelismo O inclusivo O exclusivo

Diagrama de sequência de AUML (Exemplo) Agente A desempenhando o papel customer Agente A

Diagrama de sequência de AUML (Exemplo) Agente A desempenhando o papel customer Agente A desempenh a o papel negotiator representação do mudança de papel Problemas: Como se modela a criação de uma instância de papel? Como se modela que o agente cancelou um de seus papéis? Como se modela a organização onde está o agente?

Diagrama de seqüência AUML: Modelagem de Protocolo protocolo ato de comunicação (ato de fala)

Diagrama de seqüência AUML: Modelagem de Protocolo protocolo ato de comunicação (ato de fala) (não chamamos de método)

Protocolo Indica que este protocolo pode ser utilizado como um template para criar outros

Protocolo Indica que este protocolo pode ser utilizado como um template para criar outros protocolos Possibilidades de comunicação

Diagrama de colaboração de UML Objeto A 1: <create> 2: mensagem 5: retorno 3:

Diagrama de colaboração de UML Objeto A 1: <create> 2: mensagem 5: retorno 3: mensagem Objeto C Objeto B 4: mensagem

Diagrama de colaboração de AUML (Exemplo) representação da mudança de papel <agente>/<papel> : <classe>

Diagrama de colaboração de AUML (Exemplo) representação da mudança de papel <agente>/<papel> : <classe> mensagem

Diagrama de atividades de UML Ø Utilizado para representar as atividades e a transições

Diagrama de atividades de UML Ø Utilizado para representar as atividades e a transições entre as atividades Partição 1 Partição 2 agrupa as atividades que estão relacionadas divisão Atividade 1 Atividade 2. 2 atividade Atividade 2. 3 Atividade 2. 4 união Atividade 4 Atividade 3

Diagrama de atividades de AUML Ø Utilizado para representar as atividades associadas a um

Diagrama de atividades de AUML Ø Utilizado para representar as atividades associadas a um protocolo ou às atividades de um papel atividade Problemas: Como se modela a organização onde os papéis são executados?

Diagrama de estado de UML Estado 1 transição 1 Estado 2 transição 4 estado

Diagrama de estado de UML Estado 1 transição 1 Estado 2 transição 4 estado transição 2 Estado 3 transição 3

Diagrama de estado de AUML Ø Utilizado para representar os estados do sistema e

Diagrama de estado de AUML Ø Utilizado para representar os estados do sistema e as suas transições estado agente ou papel

Diagrama de classe em UML Classe 1 atributo 2. . . metodo 1 metodo

Diagrama de classe em UML Classe 1 atributo 2. . . metodo 1 metodo 2 metodo 3. . . nome da classe atributos métodos

Diagrama de classes de AUML Nome da classe de agente e os papéis que

Diagrama de classes de AUML Nome da classe de agente e os papéis que os agentes podem desempenhar = atributos comportamento público comportamento privado Descrição do que pode fazer a organização onde o agente executa e as condiciones para entrar e sair da organização atos de fala que podem ser utilizados nas mensagens que recebe e nas mensagens que envia Problemas: Só pode executar em uma organização? ISMA Se pode executar em mais de una organização, qual papel desempenha em cada uma?

Diagrama de classes de AUML visão da organização visão de agente visão da organização

Diagrama de classes de AUML visão da organização visão de agente visão da organização visão do ambiente Representação das crenças e objetivos como objetos externos ao agente visão de interação visão da organização visão de agente

Diagrama de classes de AUML organização Problemas: Como o agente troca de organização se

Diagrama de classes de AUML organização Problemas: Como o agente troca de organização se a organização é um pacote e a classe agente está definida dentro deste pacote?

Diagrama de componentes de UML = AUML

Diagrama de componentes de UML = AUML

Diagrama de implantação de UML

Diagrama de implantação de UML

Diagrama de implantação de AUML Problemas: Se na AUML os agentes podem trocar de

Diagrama de implantação de AUML Problemas: Se na AUML os agentes podem trocar de ambiente, não deveria ser possível modelar um agente trocar de ambiente em um diagrama de seqüência?

Representando Organizações Problemas: Não deveria uma instância de papel ser sempre desempenhada em uma

Representando Organizações Problemas: Não deveria uma instância de papel ser sempre desempenhada em uma organização? Não deveria uma instância de papel ser sempre desempenhada por um agente?

Diagrama de atividades de AUML organização agente papel Problemas: Como se representa o ambiente?

Diagrama de atividades de AUML organização agente papel Problemas: Como se representa o ambiente?

Diagrama de classe

Diagrama de classe

Os estados papéis

Os estados papéis

Os estados papéis

Os estados papéis

Os estados papéis

Os estados papéis

ANote

ANote

Criando a linguagem Ø Definir um meta-modelo conceitual Ø Definir visões guiadas pela abstração

Criando a linguagem Ø Definir um meta-modelo conceitual Ø Definir visões guiadas pela abstração Ø Detalhar o ambiente do sistema de agentes usando ontologia Ø Permitir a especificação de cenários de adaptação Ø Usar abstrações totalmente centradas no conceito de agentes

ANote Ø Linguagem agentes Ø de notação lightweight e orientada a Foco – Especificação

ANote Ø Linguagem agentes Ø de notação lightweight e orientada a Foco – Especificação de sistemas computação distribuída, agentes e representação de conhecimento (ontologias) – Características: fraco acoplamento de mensagens, uso de conteúdo anotado e pouca interação homem-máquina Ø Objetivo – Centrada no conceito de agentes – Orientada a objetivos – Visões – Características de agentes

Meta-modelo Conceitual do ANote

Meta-modelo Conceitual do ANote

ANote: Conceitos Ø Objetivo (Goal) – Um propósito do sistema. define alguma funcionalidade que

ANote: Conceitos Ø Objetivo (Goal) – Um propósito do sistema. define alguma funcionalidade que deve ser entregue por um ou mais Agentes – Formam o ponto de partida para a modelagem do SMA com o ANote, organizados em uma hierarquia de especialização Ø Agente (Agent) – Módulo que executa Ações e é também a abstração principal do paradigma de agentes – Pode interagir com outros Agentes – Possui uma percepção, ou conhecimento, limitada dos Recursos do ambiente

ANote: Conceitos Ø Recurso (Resource) – Representa as entidades não-agentes que descrevem o ambiente

ANote: Conceitos Ø Recurso (Resource) – Representa as entidades não-agentes que descrevem o ambiente – Formam o conjunto de conhecimento (dados / conteúdo) que os Agentes manipulam enquanto executam Ações Ø Cenário (Scenario) – Ilustra um comportamento (seqüência de Ações) de um Agente enquanto este procura alcançar um Objetivo em um determinado contexto (estado do sistema) – Pode existir contextos normais ou variantes

ANote: Conceitos Ø Ação (Action) – É uma computação que resulta em uma mudança

ANote: Conceitos Ø Ação (Action) – É uma computação que resulta em uma mudança no estado de um Agente – Há dois tipos de Ações: Ação_Direta (Direct. Action) e Ação_Adaptativa (Adaptive. Action) Ø Mensagem (Message) – É uma passagem de informação entre dois Agentes – Possui protocolo e é, usualmente, assíncrona

ANote: Conceitos Ø Organização (Organization) – Define um grupo de Agentes que entregam um

ANote: Conceitos Ø Organização (Organization) – Define um grupo de Agentes que entregam um Serviço – Serviços são entregues e Objetivos são alcançados coletivamente pelos Agentes que constituem a Organização Ø Cada conceito define uma perspectiva ou visão Ø ANote define sete visões, cada uma com sua própria representação (diagrama)

Visiones Ø Cada conceito principal define uma perspectiva ou visão Ø ANote define sete

Visiones Ø Cada conceito principal define uma perspectiva ou visão Ø ANote define sete visiones, cada uma com uma representação (diagrama) própria Ø Visões de objetivo, agente e ontologia modelam a parte estrutural do SMA Ø Visões de cenário, interação, planejamento e organização modelam a parte dinâmica do SMA

Visão de Objetivos Ø Oferece uma identificação inicial de uma árvore de objetivos que

Visão de Objetivos Ø Oferece uma identificação inicial de uma árvore de objetivos que descrevem as funções executadas pelos agentes Ø São especificados por meio de elaborações, descrições de processo e do domínio do problema (decomposição funcional)

Exemplo Ø Sistema de seguros baseado na Web Ø Rodadas de negociação – Recuperação

Exemplo Ø Sistema de seguros baseado na Web Ø Rodadas de negociação – Recuperação das preferências dos clientes – Propaganda dos produtos – Envio de propostas – Realizar ou abortar as negociações

Visão de Objetivos

Visão de Objetivos

Visão de Agentes Ø Especifica os tipos de agentes (papéis) da solução multiagente. Ø

Visão de Agentes Ø Especifica os tipos de agentes (papéis) da solução multiagente. Ø Mostra os seus relacionamentos(formando a base estrutural do sistema) Ø São especificados a partir da sub-divisão lógica dos objetivos funcionais do sistema

Visão de Agentes

Visão de Agentes

Visão de Ontología Ø Identifica os componentes não-agentes do sistema, especificados como uma ontologia

Visão de Ontología Ø Identifica os componentes não-agentes do sistema, especificados como uma ontologia Ø São especificados a partir dos recursos do ambiente do sistema, seus relacionamentos e operações (abordagem orientada a objetos) Ø Notação: Diagrama de Classes de UML

Visão de Ontología

Visão de Ontología

Visão de Cenários Ø Captura o comportamento dos agentes em contextos específicos Ø Descreve

Visão de Cenários Ø Captura o comportamento dos agentes em contextos específicos Ø Descreve como os objetivos são alcançados, mostrando a ordenação de ações e eventos Ø Serve para especificar o plano usual (normal) de ação e os caminhos alternativos (contextos emergentes) Ø Mostra os agentes, as interações e os planos envolvidos para alcançar um objetivo Ø Notación: – Tabla de escenarios

Visão de Cenários

Visão de Cenários

Visão de Planejamento (Ação) Ø Especifica as ações que um agente deve percorrer para

Visão de Planejamento (Ação) Ø Especifica as ações que um agente deve percorrer para computar um plano de ação (derivado de um cenário que ilustrou o objetivo) Ø Modela a execução interna dos agentes

Visão de Planejamento (Ação)

Visão de Planejamento (Ação)

Visão de Interação (Mensagem) Ø Mostra a organização estrutural dos agentes que enviam e

Visão de Interação (Mensagem) Ø Mostra a organização estrutural dos agentes que enviam e recebem mensagens enquanto executam planos de ações Ø Permite a modelagem de protocolos de interação (grafos de conversação)

Visão de Interação (Mensagem)

Visão de Interação (Mensagem)

Visão de Organização Ø Especifica uma unidade de implementação que oferece serviços (conjunto de

Visão de Organização Ø Especifica uma unidade de implementação que oferece serviços (conjunto de objetivos), acessados por uma interface (conjunto de protocolos de mensagem) Ø Não existe uma abordagem para se dividir os agentes em organizações lógicas (não é propriedade da abstração, mas uma decisão arbitrária)

MAS-ML

MAS-ML

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 1 org 0. . 1 org 1 inhabit 0. . * inhabit Play 0. . * play_in 0. . 1 agent Inhabit 1 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 0. . * control 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 Goal Agent. Mesage. Class Namespace Behavioral. Feature Operation 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

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 (parte I) Conference_Center Event Workshop Chair <<goal>> manage. Event <<belief>>

Diagrama de Organizações: Exemplo (parte I) 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 Organizações: Exemplo (parte II) Conference_Center Blind_Review Overall_Evaluation Review <<main-organization>> Conference Paper Submission

Diagrama de Organizações: Exemplo (parte II) Conference_Center Blind_Review Overall_Evaluation Review <<main-organization>> Conference Paper Submission Camera_Ready

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.

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 Sequência de UML Ø Representa a interação entre os objetos e as

Diagrama de Sequê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 Sequência de MAS-ML Objetivo: representar as interações entre as instâncias do SMA

Diagrama de Sequê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

Elementos diagramas de sequência Novos desenhos para representar as entidades dos SMA Ø Novas

Elementos diagramas de sequência Novos desenhos para representar as entidades dos SMA Ø Novas definições para as entidades dos SMA Ø Objeto obj/role/org/env : Class/Object. Role. Class/Organization. Class/Environment. Class Agente agent/role/org/env : Agent. Class/Agent. Role. Class/Organization. Class/Environment. Class Organización org/role/org/env : Organization. Class/Agent. Role. Class/Organization. Class/Environment. Class Role Entorno : Role. Class Entidad activa Entidad pasiva env : Environment. Class

Redefinindo mensagens Ø UML: mensagens são chamada de métodos Ø SMA: mensagens não são

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 (suas ações) UML sender method_name () receiver MAS-ML sender message_label (content_description) receiver

Estereótipos de mensagens Como representar a criação de entidades de SMA? Ø UML: uso

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

Criando e destruindo entidades Creando una organización Anne/Fruit. Buyer : User. Agent/Buyer <<create>> Fruit.

Criando e destruindo entidades Creando una organización Anne/Fruit. Buyer : User. Agent/Buyer <<create>> Fruit. Store/Fruit. Wholesale: Store/Wholesale. . . Destruyendo una organización - I Anne/Fruit. Buyer : User. Agent/Buyer. . . Fruit. Store/Fruit. Wholesale: Store/Wholesale. . . <<destroy>> . . . Destruyendo una organización - II Anne/Fruit. Buyer : User. Agent/Buyer. . . <<destroy>> Fruit. Store : Store. . .

Estereótipos de mensagens Ø Como representar a relação entre papéis e entidades que desempenham

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 Ø Ø Entidade cancelando papel <<role_activate>> Entidade ativando papel <<role_deactivate>> Entidade desativando papel <<role_change>> Entidade mudando de papel <<role_cancel>>

Criando papel Bob/Fruit. Buyer : User. Agent/Buyer <<role_commitment>>. . . Criando um papel de

Criando papel Bob/Fruit. Buyer : User. Agent/Buyer <<role_commitment>>. . . Criando um papel de agente Bob/Clothes. Buyer : User. Agent/Buyer. . . Criando um papel de objeto Bob/Fruit. Buyer : User. Agent/Buyer <<role_commitment>>. . . Apple/Desirer. Fruit : Item/Desirer. . .

Cancelando papel Cancelando um papel de agente Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer

Cancelando papel Cancelando um papel de agente Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer : User. Agent/Buyer <<role_cancel>>. . . Cancelando um papel de agente Bob/Clothes. Buyer : User. Agent/Buyer <<role_cancel>> Cancelando um papel de objeto Bob/Fruit. Buyer : User. Agent/Buyer <<role_cancel>>. . . Apple/Desirer. Fruit : Item/Desirer

Desativando e ativando papel Desativar um papel Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer

Desativando e ativando papel Desativar um papel Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer : User. Agent/Buyer <<role_deactivate>>. . . Bob/Clothes. Buyer : User. Agent/Buyer <<role_deactivate>> Activar um papel Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer : User. Agent/Buyer <<role_activate>>. . .

Mudando de papel Cancelando um papel e criando novo papel Bob/Fruit. Buyer : User.

Mudando de papel Cancelando um papel e criando novo papel Bob/Fruit. Buyer : User. Agent/Buyer <<role_change>> Bob/Clothes. Buyer : User. Agent/Buyer. . . Cancelando um papel e ativando outro papel Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer : User. Agent/Buyer <<role_change>>. . . Desativando um papel e criando outro papel Bob/Fruit. Buyer : User. Agent/Buyer <<role_change>> Bob/Clothes. Buyer : User. Agent/Buyer. . . Desativando um papel e ativando outro papel Bob/Fruit. Buyer : User. Agent/Buyer Bob/Clothes. Buyer : User. Agent/Buyer <<role_change>>. . .

Modelando protocolos Ø Um protocolo define um conjunto de mensagens que entidades podem enviar

Modelando protocolos Ø Um protocolo define um conjunto de mensagens que entidades podem enviar e receber enquanto desempenhando papéis : Seller : Buyer Request (Item. Description) papel Proposal (Item. Description) Answer. Proposal (Reject. Item. Description) else Answer. Proposal (Accept. Item. Description) Inform (Bill) Inform (Payment) mensagem

Modelando planos e ações Ø Execução interna dos agentes, organizações e ambientes ativos são

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. : General. Store : User. Agent/Buyer Creating_seller Execução de um plano Execução de uma ação if (message_label = request) create_seller <<create>> : User. Agent/Seller inform_buyer_of_seller inform (seller_id) else

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 sequência das atividades e não na interação entre os objetos Ø Ø Atividades: execuçã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 Ø

Extensão do Diagrama de Atividades Identificação de papéis, organização e ambiente Papel R 1

Extensão do Diagrama de Atividades Identificação de papéis, organização e ambiente Papel R 1 <<organization>> O 2 P 2 R 3 <<environment>> E 1 Plano <<environment>> E 2 Ø … … <<role_change>> A 3 A 4 Ações