Linguagens de Modelagem para SMA Viviane Torres da Silva [email protected] viviane.silva/isma.

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

Transcript of Linguagens de Modelagem para SMA Viviane Torres da Silva [email protected] viviane.silva/isma.

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

Linguagens de Modelagem para SMA

Viviane Torres da [email protected]

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

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

Lenguajes de Modelado para SMA

Por que não utilizar uma linguagem de modelagem já existente para modelar SMA?

UML é linguagem de modelagem padrão para modelar sistemas OO

UML não dá suporte para a modelagem de SMA– Agentes e objetos possuem características / propriedades diferentes

Por que não estender UML para modelar SMA?

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

Linguagens de Modelagem para SMA

Linguagem que estendem UML:– AUML

– AORML

– Transformação de Modelos + UML

– MAS-ML

Linguagem que não estendem UML:– ANote

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

AUML

Page 5: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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 6: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Diagramas extendidos

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 7: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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 8: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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: Cómo se modela a instância de papel? Onde o agente está executando o papel? Onde o agente está?

Page 9: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.
Page 10: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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 11: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Diagrama de seqüência AUML: Modelagem de Protocolo

protocolo

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

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

Possibilidades de comunicação

Protocolo

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

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

Diagrama de colaboração de UML

Objeto A

Objeto C

Objeto B

1:<create>2:mensaje5:retorno

3:mensaje4:mensaje

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

Diagrama de colaboração de AUML (Exemplo)

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

mensagem

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

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

Page 16: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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 17: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Diagrama de estado de UML

estado

Estado 1 Estado 2transición1

Estado 3transición2

transición3

transición4

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

Diagrama de estado de AUML

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

estado

agenteou papel

Page 19: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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 20: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Diagrama de casos de uso de AUML

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

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

Diagrama de classe em UML

Classe 1

atributo1atributo2...

metodo1metodo2metodo3...

atributos

métodos

nome da classe

Page 22: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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 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 23: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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 24: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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 25: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Diagrama de componentes de UML = AUML

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

Diagrama de deployment de UML

Page 27: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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 28: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/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 29: Linguagens de Modelagem para SMA Viviane Torres da Silva viviane.silva@ic.uff.br viviane.silva/isma.

Diagrama de atividades de AUML

papel

organização

agente

Problemas: Como se representa o ambiente?

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

Diagrama de classe

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

Os estados dos papéis

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

Os estados dos papéis

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

Os estados dos papéis

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

AORML (AOR Modeling Language)

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

Modelagem AOR

Modelagem externa: modelagem de analise do domínio– Foca no sistema como uma entidade

Modelagem interna: modelagem do projeto– Foca nos agentes do sistema

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

Modelagem AOR externa

Diagrama de agente Diagrama de interação

– Descreve os elementos de possíveis interações entre os agentes

Diagrama de seqüência de interação– Descreve uma interação concreta entre os agentes

Diagrama de interação padrão– Define padrões de interação utilizando regras de reação

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

Principais elementos de modelagem AOR externo

Ação de comunicação

Ação que não é de

comunicação

Evento

Compromissos e promessas

Objeto de compromisso

Do ponto de vista de A => A promete a B executar a ação XDo ponto de vista de B => A tem um compromisso comigo de executar X

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

Objeto

Relações com outros objetos:– Associação

– Generalização / especialização

– Agregação / composição

Relaciones com agentes:– Associação

– Agregação / composição

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

Agente

Tipos de agentes:– Artificiais (agentes software)

– Humanos (agentes externos ao sistema)

– Institucionais (organizações)

Relações com outros agentes– Associação

– Generalização / especialização

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

agente artificial

agenteexterno

Diagrama de classe

objeto

composição especializaçãomultiplicidade

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

Agentes institucionais

Agente institucional tem agentes internos que desempenham papéis

Agentes internos tem deveres (duties) e direitos (rights)

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

Diagrama de agente

Agenteinterno

Agenteinstitucional

Especialização

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

Relacionamento entre agentes

Ação de comunicação

Ação que não é de

comunicação

Evento

Compromissos e promessas

Objeto de compromisso

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

Diagrama de interação

Descreve os elementos das interações entre os agentes Não existe uma ordem na lista de eventos e ações

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

Diagrama de seqüência de interação

Descreve a interação concreta entre os agentes Existe ordem nas trocas de mensagens e eventos Ação de

comunicação

Ação que não e de

Comunica´ção

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

Diagrama de interação padrão

regra de reação

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

Modelagem AOR interno

Diagrama de reação– Modelagem das ações e eventos de um agente

Diagrama de seqüência de reação– Descreve uma interação concreta com foco no agente

Diagrama de reação padrão– Define padrões de interação utilizando regras de reação

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

Diagrama de reação

mensagem evento

recebeenvia

recebecria

ação

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

ISMA

Diagrama de reação padrão

R2: Quando a biblioteca central recebe um pedido de livro, ela tem que reagir ao pedido

regra de reação

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

Direitos (rights) e deveres (duties) dos agentes internos

Tem o dever de receber a mensagem

Tem o direito de enviar uma mensagem

tem o dever de cumprir com a promessa

Não tem o direito de enviar uma mensagemenviar mensagem

promessa

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

Transformação de Modelos e UML

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

Transformação de Modelos e UML

Diagramas estendidos– Diagrama de case de uso -> Diagrama UER– Diagrama de classe

Propõe o uso de transformações aplicadas a gráficos para descrever o sistema antes e depois da execução de um caso de uso

Etapa de requisitos (foca no caso de uso) Etapa de analise (foca na troca de mensagem) Etapa de projeto (foca na execução do agente)

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

Mensagem x Operação

Mensagem:– Agentes enviam e recebem mensagens

Operação:– Agentes executam operações– Não são chamadas por outros agentes/objetos– São chamadas pelo agente para alcançar o objetivo

As mensagens recebidas são analisadas e o agente executa (ou não executa) uma operação de acordo com a mensagem

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

Fase de Requisitos (foco: caso de uso)

Diagrama de caso de uso

Diagrama de classe– Agentes entidades ativas

– Agentes possuem atributos e responsabilidades

Diagrama de transformação– Transformações como conseqüência da ocorrência de um caso de uso

Diagrama de seqüência– Usado para complementar a descrição de casos de uso

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

Diagrama UER

Diagrama de caso de uso para modelar agentes e objetivos

objetivos

agente

actor externo

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

Diagrama de classe

agenteobjeto

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

Diagrama de transformação

caso de uso

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

Diagrama de seqüência

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

Fase de análise (foco: mensagens)

Modelo estrutural– Diagrama de classes– Especificam as mensagem dos agentes

Modelo funcional– Diagrama de transformação– Transformações decorrentes da aplicação de mensagens– Regras de transformação podem estar incompletas

Modelo dinâmico– Diagrama de seqüência– Descreve a comunicação associada a um protocolo– Reforça a semântica em relação ao diagrama da fase de requisitos

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

Diagrama de classe

mensagem

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

Diagrama de seqüência

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

Fase de design (foco: operações)

Modelo estrutural– Diagrama de classes– Adiciona operações autônomas

Modelo funcional– Diagrama de transformação– Descreve a conseqüência da aplicação de uma operação

Modelo dinâmico– Diagrama de estado– Especifica a ordem de operações

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

Diagrama de classe

operación

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

Diagrama de transformação

operación

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

Diagrama de estado

nome das operações