Linguagens de Modelagem para SMA Viviane Torres da

  • Slides: 56
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/2010. 1/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 use case Diagrama de classes Diagrama de objetos Pacotes Diagrama de componentes Diagrama de deployment

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

Diagrama de seqüê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 seqüência de AUML: Modelagem de Mensagens Viviane / Professor : Agent. Usuario

Diagrama de seqüê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 seqüência de AUML (Exemplo) Agente A desempenhando o papel customer Agente A

Diagrama de seqüê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 rol actividad 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 casos de uso de UML casos de uso Caso de uso 1

Diagrama de casos de uso de UML casos de uso Caso de uso 1 usuário externos que interagem com o sistema Caso de uso 2 sistema

Diagrama de casos de uso de AUML Problemas: Isso é um diagrama de caso

Diagrama de casos de uso de AUML Problemas: Isso é um diagrama de caso de uso? Onde estão os casos de uso?

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 deployment de UML

Diagrama de deployment de UML

Diagrama de deployment de AUML Problemas: Se na AUML os agentes podem trocar de

Diagrama de deployment 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)

Referências Ø AORML: Wagner, G. 2003. The Agent-Object-Relationship Meta-Model: Towards a Unified View of

Referências Ø AORML: Wagner, G. 2003. The Agent-Object-Relationship Meta-Model: Towards a Unified View of State and Behavior. Information Systems. 28(5), pp. 475– 504. Ø AML: Danc, J. 2008. Formal Specification of AML. Department of Computer Science Faculty of Mathematics, Physics and Informatics Comenius University Formal Specification of AML Master's Thesis Ján Danc Advisor: Mgr. Bratislava. Ø MAS-ML Estatico: Silva, V. ; Lucena, C. “From a Conceptual Framework for Agents and Objects to a Multi. Agent System Modeling Language”, In Journal of Autonomous Agents and Multi-Agent Systems, volume 9, issue 1 -2, Kluwer Academic Publishers, pp. 145 -189, 2004. Ø MAS-ML Dinâmico: Silva, V. ; Choren, R. ; Lucena, C. “Modeling MAS Properties with MAS-ML Dynamic Diagrams ” In: Kolp, M. ; Garcia, A. ; Ghoze, C. ; Bresciani, P. ; Henderson-Sellers, B. ; Mouratidis, XX. (Eds. ), Agent Oriented Information Systems IV: Proc. of the 8 th International Bi-Conference Workshop (AOIS@AAMAS S 2006 post-proceedings), LNCS 4898, Springer-Verlag, pp. 1 -18, 2008. Ø Ag. ML: De. Loach, S. Multiagent Systems Engineering: A Methodology And Language for Designing Agent Systems. Presented at Agent-Oriented Information Systems (AOIS) ’ 99.