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

Post on 17-Apr-2015

103 views 0 download

Transcript of 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 Silvaviviane.silva@ic.uff.br

http://www.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?

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

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

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

AORML (AOR Modeling Language)

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

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

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

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

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

agente artificial

agenteexterno

Diagrama de classe

objeto

composição especializaçãomultiplicidade

Agentes institucionais

Agente institucional tem agentes internos que desempenham papéis

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

Diagrama de agente

Agenteinterno

Agenteinstitucional

Especialização

Relacionamento entre agentes

Ação de comunicação

Ação que não é de

comunicação

Evento

Compromissos e promessas

Objeto de compromisso

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

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

Diagrama de interação padrão

regra de reação

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

Diagrama de reação

mensagem evento

recebeenvia

recebecria

ação

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

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

Transformação de Modelos e UML

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)

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

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

Diagrama UER

Diagrama de caso de uso para modelar agentes e objetivos

objetivos

agente

actor externo

Diagrama de classe

agenteobjeto

Diagrama de transformação

caso de uso

Diagrama de seqüência

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

Diagrama de classe

mensagem

Diagrama de seqüência

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

Diagrama de classe

operación

Diagrama de transformação

operación

Diagrama de estado

nome das operações