Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br...

Post on 17-Apr-2015

105 views 0 download

Transcript of Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br...

Linguagens de Modelagem para SMA

Viviane Torres da Silvaviviane.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 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: Como 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:mensagem5:retorno

3:mensagem4:mensagem

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

Atividade 1

Atividade 2.1

Atividade 2.4Atividade 2.3

Atividade 3

Atividade 2.2

Atividade 4

Partição 1 agrupa as atividadesque estão relacionadas

divisão

união

atividade

Partição2

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 2transição1

Estado 3transição2

transição3

transição4

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

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

– 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)

Visão de Interação (Mensagem)

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.