Linguagens de Modelagem para SMA Viviane Torres da

  • Slides: 65
Download presentation
Linguagens de Modelagem para SMA Viviane Torres da Silva viviane. silva@ic. uff. br http:

Linguagens de Modelagem para SMA Viviane Torres da Silva viviane. 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

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

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

AUML – Agente UML Ø Primeiro objetivo era especificar protocolos de interação entre agentes

AUML – Agente UML Ø Primeiro objetivo era especificar protocolos de interação entre agentes (AIP) Ø 1 o 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

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) condição de guarda Objeto. A mensagem síncrona

Diagrama de seqüência de UML Tempo (top-down) condição de guarda Objeto. A mensagem síncrona [se novo] <<create>> Objeto. B objeto mensagem (auto delegação) (caixa de)ativação valor de retorno <<destroy>> linha de vida símbolo de destruição

Diagrama de seqüência de AUML: Modelagem de Mensagens Viviane / Professor : Agent. Usuario

Diagrama de seqüência de AUML: Modelagem de Mensagens Viviane / Professor : Agent. Usuario <agente>/<papel> : <classe> ato de comunicação (ato de fala) (não chamamos de método) Problemas: Cómo se modela a instância de papel? Onde o agente está executando o papel? Onde o agente está? paralelismo O inclusivo O exclusivo

Diagrama de seqüência de AUML (Exemplo) Agente A desempenhando o papel customer Agente A

Diagrama de seqüência de AUML (Exemplo) Agente A desempenhando o papel customer Agente A desempenh a o papel negotiator representação do mudança de 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)

Diagrama de seqüência AUML: Modelagem de Protocolo protocolo ato de comunicação (ato de fala) (não chamamos de método)

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

Protocolo Indica que este protocolo pode ser utilizado como um template para criar outros protocolos Possibilidades de comunicação

Diagrama de colaboração de UML Objeto A 1: <create> 2: mensaje 5: retorno 3:

Diagrama de colaboração de UML Objeto A 1: <create> 2: mensaje 5: retorno 3: mensaje Objeto C Objeto B 4: mensaje

Diagrama de colaboração de AUML (Exemplo) representação da mudança de papel <agente>/<papel> : <classe>

Diagrama de colaboração de AUML (Exemplo) representação da mudança de papel <agente>/<papel> : <classe> mensagem

Diagrama de atividades de UML Ø Utilizado para representar as atividades e a transições

Diagrama de atividades de UML Ø Utilizado para representar as atividades e a transições entre as atividades Partición 1 Partición 2 agrupa as atividades que estão relacionadas divisão Actividad 1 Actividad 2. 2 actividade Actividad 2. 3 Actividad 2. 4 união Actividad 4 Actividad 3

Diagrama de atividades de AUML Ø Utilizado para representar as atividades associadas a um

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 1 transición 1 Estado 2 transición 4 estado

Diagrama de estado de UML Estado 1 transición 1 Estado 2 transición 4 estado transición 2 Estado 3 transición 3

Diagrama de estado de AUML Ø Utilizado para representar os estados do sistema e

Diagrama de estado de AUML Ø Utilizado para representar os estados do sistema e as suas transições estado agente ou papel

Diagrama de casos de uso de UML casos de uso Caso de uso 1

Diagrama de casos de uso de UML casos de uso Caso de uso 1 usuário externos que interagem com o sistema Caso de uso 2 sistema

Diagrama de casos de uso de AUML Problemas: Isso é um diagrama de caso

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 atributo 2. . . metodo 1 metodo

Diagrama de classe em UML Classe 1 atributo 2. . . metodo 1 metodo 2 metodo 3. . . nome da classe atributos métodos

Diagrama de classes de AUML Nome da classe de agente e os papéis que

Diagrama de classes de AUML Nome da classe de agente e os papéis que os agentes podem desempenhar = atributos comportamento público comportamento privado Descrição do que pode fazer a organização onde o agente executa e as condiciones para entrar e sair da organização atos de fala que podem ser utilizados nas mensagens que recebe e nas mensagens que envia Problemas: Só pode executar uma organização? ISMA Se pode executar em mais de una organização, qual papel desempenha em cada uma?

Diagrama de classes de AUML visão da organização visão de agente visão da organização

Diagrama de classes de AUML visão da organização visão de agente visão da organização visão do ambiente Representação das crenças e objetivos como objetos externos ao agente visão de interação visão da organização visão de agente

Diagrama de classes de AUML organização Problemas: Como o agente troca de organização se

Diagrama de classes de AUML organização Problemas: 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 componentes de UML = AUML

Diagrama de deployment de UML

Diagrama de deployment de UML

Diagrama de deployment de AUML Problemas: Se na AUML os agentes podem trocar de

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

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 organização agente papel Problemas: Como se representa o ambiente?

Diagrama de atividades de AUML organização agente papel Problemas: Como se representa o ambiente?

Diagrama de classe

Diagrama de classe

Os estados papéis

Os estados papéis

Os estados papéis

Os estados papéis

Os estados papéis

Os estados papéis

AORML (AOR Modeling Language)

AORML (AOR Modeling Language)

Modelagem AOR Ø Modelagem externa: modelagem de analise do domínio – Foca no sistema

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

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

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

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

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

Diagrama de classe objeto composição agente artificial multiplicidade especialização agente externo

Diagrama de classe objeto composição agente artificial multiplicidade especialização agente externo

Agentes institucionais Ø Agente institucional tem agentes internos que desempenham papéis Ø Agentes internos

Agentes institucionais Ø Agente institucional tem agentes internos que desempenham papéis Ø Agentes internos tem deveres (duties) e direitos (rights)

Diagrama de agente Especialização Agente institucional Agente interno

Diagrama de agente Especialização Agente institucional Agente interno

Relacionamento entre agentes Evento Ação que não é de comunicação Ação de comunicação Compromissos

Relacionamento entre agentes Evento Ação que não é de comunicação Ação de comunicação Compromissos e promessas Objeto de compromisso

Diagrama de interação Descreve os elementos das interações entre os agentes Ø Não existe

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

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 que não e de Comunica´ção Ação de comunicação

Diagrama de interação padrão regra de reaçã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

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 envia recebe evento mensagem recebe cria

Diagrama de reação envia recebe evento mensagem recebe cria

Diagrama de reação padrão R 2: Quando a biblioteca central recebe um pedido de

Diagrama de reação padrão R 2: Quando a biblioteca central recebe um pedido de livro, ela tem que reagir ao pedido regra de reação ISMA

Direitos (rights) e deveres (duties) dos agentes internos tem o dever de cumprir com

Direitos (rights) e deveres (duties) dos agentes internos tem o dever de cumprir com a promessa Tem o dever de receber a mensagem enviar mensagem Não tem o direito de enviar uma mensagem Tem o direito de enviar uma mensagem

Transformação de Modelos e UML

Transformação de Modelos e UML

Transformação de Modelos e UML Ø Diagramas estendidos – Diagrama de case de uso

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

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 Ø

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 agente

Diagrama UER Ø Diagrama de caso de uso para modelar agentes e objetivos agente actor externo

Diagrama de classe agente objeto

Diagrama de classe agente objeto

Diagrama de transformação caso de uso

Diagrama de transformação caso de uso

Diagrama de seqüência

Diagrama de seqüência

Fase de análise (foco: mensagens) Ø Modelo estrutural – Diagrama de classes – Especificam

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

Diagrama de seqüência

Diagrama de seqüência

Fase de design (foco: operações) Ø Modelo estrutural – Diagrama de classes – Adiciona

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 classe operación

Diagrama de transformação operación

Diagrama de transformação operación

Diagrama de estado nome das operações

Diagrama de estado nome das operações