560 likes | 676 Views
Linguagens de Modelagem para SMA. Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/isma. Linguagens de Modelagem para SMA. Motivação: necessidade de modelagem das entidade de um SMA (agentes, organizações, objetos,...)
E N D
Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/isma
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 – Agente UML • Primeiro objetivo era especificar protocolos de interação entre agentes (AIP) • 1o 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 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 condição de guarda Tempo (top-down) ObjetoA mensagem síncrona [se novo] <<create>> ObjetoB objeto mensagem mensagem (auto delegação) (caixa de)ativação valor de retorno <<destroy>> símbolo de destruição linha de vida
Diagrama de seqüência de AUML: Modelagem de Mensagens Viviane / Professor : AgentUsuario Viviane Viviane / Professor : AgentUsuario <agente>/<papel> : <classe> ato de comunicação (ato de fala) (não chamamos de método) Problemas: Cómo se modela a instância de papel? Onde o agente está executando o papel? Onde o agente está? O inclusivo paralelismo O exclusivo
Diagrama de seqüência de AUML (Exemplo) 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? Agente A desempenhando o papel customer Agente A desempenha o papel negotiator representação do mudança de papel
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 protocolos Possibilidades de comunicação
Diagrama de colaboração de UML 1:<create> Objeto B 2:mensaje Objeto A 5:retorno 3:mensaje 4:mensaje Objeto C
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 entre as atividades agrupa as atividades que estão relacionadas Partición 2 Partición 1 Actividad 1 divisão Actividad 2.1 Actividad 2.2 actividade Actividad 2.3 Actividad 2.4 união Actividad 4 Actividad 3
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 transición1 Estado 1 Estado 2 transición4 transición2 Estado 3 estado transición3
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 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 de uso? Onde estão os casos de uso?
Classe 1 atributo1 atributo2 ... metodo1 metodo2 metodo3 ... Diagrama de classe em UML nome da classe atributos métodos
Diagrama de classesde AUML = atributos Nome da classe de agente e os papéis que os agentes podem desempenhar 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 uma organização? Se pode executar em mais de una organização, qual papel desempenha em cada uma?
visão da organização visão de agente Representação das crenças e objetivos como objetos externos ao agente visão da organização visão do ambiente visão de interação visão da organização visão de agente Diagrama de classesde AUML
Diagrama de classes de AUML Problemas: Como o agente troca de organização se a organização é um pacote e a classe agente está definida dentro deste pacote? organização
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 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?
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 de notação lightweight e orientada a agentes Foco Especificação de sistemas com 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
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 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 no estado de um Agente Há dois tipos de Ações: Ação_Direta (DirectAction) e Ação_Adaptativa (AdaptiveAction) 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 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 uma com uma representação (diagrama) própria Visões de objetivo, agente e ontologia modelam a parte estrutural do SMA Visiõ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 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 das preferências dos clientes Propaganda dos productos Envio de propostas Realizar ou abortar as negociações
Visão de Agentes Especifica os tipos de agentes (papéis) da solução multi-agente. 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 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 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