linguagens de modelagem para sma viviane torres da silva [email protected]...

56
Linguagens de Modelagem para SMA Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/ 2010.1/isma

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Linguagens de Modelagem para SMA

Viviane Torres da [email protected]

http://www.ic.uff.br/~viviane.silva/2010.1/isma

Page 2: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@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

Page 3: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

AUML

Page 4: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 5: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 6: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 7: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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á?

Page 8: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma
Page 9: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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?

Page 10: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de seqüência AUML: Modelagem de Protocolo

protocolo

ato de comunicação (ato de fala)(não chamamos de método)

Page 11: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Possibilidades de comunicação

Protocolo

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

Page 12: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de colaboração de UML

Objeto A

Objeto C

Objeto B

1:<create>2:mensagem5:retorno

3:mensagem4:mensagem

Page 13: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de colaboração de AUML (Exemplo)

representaçãoda mudança de papel <agente>/<papel> : <classe>

mensagem

Page 14: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 15: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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?

Page 16: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de estado de UML

estado

Estado 1 Estado 2transição1

Estado 3transição2

transição3

transição4

Page 17: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de estado de AUML

Utilizado para representar os estados do sistema e as suas transições

estado

agenteou papel

Page 18: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 19: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de casos de uso de AUML

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

Page 20: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de classe em UML

Classe 1

atributo1atributo2...

metodo1metodo2metodo3...

atributos

métodos

nome da classe

Page 21: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 22: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 23: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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?

Page 24: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de componentes de UML = AUML

Page 25: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de deployment de UML

Page 26: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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?

Page 27: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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?

Page 28: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de atividades de AUML

papel

organização

agente

Problemas: Como se representa o ambiente?

Page 29: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Diagrama de classe

Page 30: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Os estados dos papéis

Page 31: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Os estados dos papéis

Page 32: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Os estados dos papéis

Page 33: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

ANote

Page 34: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 35: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 36: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Meta-modelo Conceitual do ANote

Page 37: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 38: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 39: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 40: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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)

Page 41: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 42: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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)

Page 43: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 44: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Visão de Objetivos

Page 45: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 46: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Visão de Agentes

Page 47: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 48: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Visão de Ontología

Page 49: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 50: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Visão de Cenários

Page 51: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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

Page 52: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Visão de Planejamento (Ação)

Page 53: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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)

Page 54: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

Visão de Interação (Mensagem)

Page 55: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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)

Page 56: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/2010.1/isma

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.