Linguagens de Modelagem Equipe do Curso de ES para SMA {lucena, furtado, choren, viviane}@inf.puc-rio.br Linguagens de modelagem 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? Software Engineering Lab (LES) – PUC-Rio Linguagens de modelagem que estendem UML • AUML • AORML • Graph Transformation e UML • Fipa Modeling Software Engineering Lab (LES) – PUC-Rio AUML AUML – Agent 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 Software Engineering Lab (LES) – PUC-Rio Diagramas estendidos • • • • • • • • Diagrama Diagrama Diagrama Diagrama Diagrama Pacotes Diagrama Diagrama de de de de de seqüência (detalhado) e colaboração atividades e de estados use case classes objetos de componentes de deployment Software Engineering Lab (LES) – PUC-Rio Diagrama de seqüência de UML Tempo (top-down) condição de guarda ObjetoA mensagem síncrona [se novo] <<create>> ObjetoB objeto mensagem mensagem (auto delegação) (caixa de)ativação valor de retorno <<destroy>> linha de vida Software Engineering Lab (LES) – PUC-Rio símbolo de destruição Indica o protocolo sendo modelado Indica se este diagrama representa um template Indica as possibilidades de comunicação dependendo da condição Software Engineering Lab (LES) – PUC-Rio Diagrama de seqüência de AUML Software Engineering Lab (LES) – PUC-Rio Diagrama de seqüência de AUML object : Class :: Package UML forma de identificar o agente e o papel communication act ou mensagens (não é chamada de métodos) paralelismo Software Engineering Lab (LES) – PUC-Rio OU inclusivo OU exclusivo Diagrama de seqüência de AUML Software Engineering Lab (LES) – PUC-Rio Diagrama de seqüência de AUML (Exemplo) Agente A desempenhando o papel customer Agente A desempenhando o papel negotiator representação de troca de papel Software Engineering Lab (LES) – PUC-Rio Diagrama de colaboração de AUML (Exemplo) Software Engineering Lab (LES) – PUC-Rio Diagrama de atividades de UML • Usado para representar as atividades, ações e as transições entre as atividades/ações Cliente partição Página Pegando idioma origem e idioma destino fork Pegando Texto Pegando Figuras atividade Montando Tabela Texto Montando Tabela Figuras join Exibindo para o usuário Software Engineering Lab (LES) – PUC-Rio Montando Arquivo HTML Diagrama de atividade de AUML • Usado para representar as atividades associadas a um protocolo ou só as atividades de um papel papel Software Engineering Lab (LES) – PUC-Rio Diagrama de estado de UML No Térreo subir (andar) Chegar no térreo Indo para o térreo Chegar no andar Descendo Chegar no andar descer (andar) estado tempo de espera transições Software Engineering Lab (LES) – PUC-Rio Subindo Parado subir (andar) Diagrama de estado de AUML • Usado para representar os estados e as transições associados a um protocolo ou só os estados e as transições de um papel estado agente ou papel Software Engineering Lab (LES) – PUC-Rio