650 likes | 757 Views
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 já existente para modelar SMA?
E N D
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 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 – 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 condição de guarda Tempo (top-down) ObjetoA mensagem síncrona [se novo] <<create>> ObjetoB objeto mensagem mensagem (auto delegação) (caixa de)ativação valor de retorno <<destroy>> símbolo de destruição linha de vida
Diagrama de seqüência de AUML: Modelagem de Mensagens Viviane / Professor : AgentUsuario Viviane Viviane / Professor : AgentUsuario <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á? O inclusivo paralelismo O exclusivo
Diagrama de seqüência de AUML (Exemplo) 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? Agente A desempenhando o papel customer Agente A desempenha o papel negotiator representação do mudança de papel
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 protocolos Possibilidades de comunicação
Diagrama de colaboração de UML 1:<create> Objeto B 2:mensaje Objeto A 5:retorno 3:mensaje 4:mensaje Objeto C
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 entre as atividades agrupa as atividades que estão relacionadas Partición 2 Partición 1 Actividad 1 divisão Actividad 2.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 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 transición1 Estado 1 Estado 2 transición4 transición2 Estado 3 estado transición3
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 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 de uso? Onde estão os casos de uso?
Classe 1 atributo1 atributo2 ... metodo1 metodo2 metodo3 ... Diagrama de classe em UML nome da classe atributos métodos
Diagrama de classesde AUML = atributos Nome da classe de agente e os papéis que os agentes podem desempenhar 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? Se pode executar em mais de una organização, qual papel desempenha em cada uma?
visão da organização visão de agente Representação das crenças e objetivos como objetos externos ao agente visão da organização visão do ambiente visão de interação visão da organização visão de agente Diagrama de classesde AUML
Diagrama de classes de AUML Problemas: Como o agente troca de organização se a organização é um pacote e a classe agente está definida dentro deste pacote? organização
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 organização agente papel Problemas: Como se representa o ambiente?
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 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 / 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
objeto especialização multiplicidade agente externo composição agente artificial Diagrama de classe
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
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 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 ação recebe envia evento mensagem recebe cria
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 cumprir com a promessa promessa Tem o dever de receber a mensagem Não tem o direito de enviar uma mensagem enviar mensagem Tem o direito de enviar uma mensagem