Linguagens de Modelagem para SMA Viviane Torres da Silva [email protected] viviane.silva/isma.
Transcript of Linguagens de Modelagem para SMA Viviane Torres da Silva [email protected] viviane.silva/isma.
Linguagens de Modelagem para SMA
Viviane Torres da [email protected]
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