Download - Linguagens de Modelagem para SMA
Linguagens de Modelagem para SMA
Viviane Torres da [email protected]
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
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
Tempo(top-down) ObjetoA
ObjetoB
[se novo]<<create>>
mensagem
mensagem (auto delegação)
valor de retorno
<<destroy>>
(caixa de)ativação
condição de guarda
mensagem síncrona
objeto
símbolo de destruição
linha de vida
Diagrama de seqüência de AUML: Modelagem de Mensagens
ato de comunicação (ato de fala)(não chamamos de método)
O inclusivo O exclusivoparalelismo
<agente>/<papel> : <classe>
Viviane / Professor : AgentUsuarioVivianeViviane / Professor: AgentUsuario
Problemas: Cómo se modela a instância de papel? Onde o agente está executando o papel? Onde o agente está?
Diagrama de seqüência de AUML (Exemplo)
Agente A desempenhando o papel customer
Agente A desempenha o papel negotiator
representaçãodo mudançade 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)(não chamamos de método)
Possibilidades de comunicação
Protocolo
Indica que este protocolo pode ser utilizado como um template para criar outros protocolos
Diagrama de colaboração de UML
Objeto A
Objeto C
Objeto B
1:<create>2:mensaje5:retorno
3:mensaje4:mensaje
Diagrama de colaboração de AUML (Exemplo)
representaçãoda 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
Actividad 1
Actividad 2.1
Actividad 2.4Actividad 2.3
Actividad 3
Actividad 2.2
Actividad 4
Partición 1 agrupa as atividadesque estão relacionadas
divisão
união
actividade
Partición 2
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
Estado 1 Estado 2transición1
Estado 3transición2
transición3
transición4
Diagrama de estado de AUML
Utilizado para representar os estados do sistema e as suas transições
estado
agenteou papel
Diagrama de casos de uso de UML
casos de uso
usuário externos que interagemcom o sistema
sistema
Caso de uso 1
Caso de uso 2
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
atributo1atributo2...
metodo1metodo2metodo3...
atributos
métodos
nome da classe
ISMA
Diagrama de classesde AUML
atos de fala que podemser utilizados nas mensagens
que recebe e nas mensagens que envia
Nome da classe de agente e os papéis que os agentes podem desempenhar
= atributos
comportamento público
comportamento privado
a organização onde o agente executa e as condiciones para entrar e sair da organização
Problemas: Só pode executar uma organização? Se pode executar em mais de una organização, qual papel desempenha em cada uma?
Descrição do que pode fazer
Diagrama de classesde AUML
visão da organização
visão da organização
visão da organização
visão de interação
visão do ambiente
visão de agente
visão de agente
Representação das crenças e objetivos
como objetos externos ao agente
Diagrama de classes de AUML
organizaçãoProblemas: 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 deployment de UML
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
papel
organização
agente
Problemas: Como se representa o ambiente?
Diagrama de classe
Os estados dos papéis
Os estados dos papéis
Os estados dos papéis
ANote
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
Meta-modelo Conceitual do ANote
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 Objetivos
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 Agentes
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 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 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 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)
ISMA Viviane Torres da Silva
Visão de Interação (Mensagem)
ISMA Viviane Torres da Silva
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 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 8th International Bi-Conference Workshop (AOIS@AAMAS S 2006 post-proceedings), LNCS 4898, Springer-Verlag, pp. 1-18, 2008.
AgML: DeLoach, S. Multiagent Systems Engineering: A Methodology And Language for Designing Agent Systems. Presented at Agent-Oriented Information Systems (AOIS) ’99.