Transcript
Page 1: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

AUML

Maíra Gatti2007.2

Page 2: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Agenda

• AUML

• AUML-BP

• AUML 2-Tool

Page 3: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Motivação

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

Page 4: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

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

• Extensões para UML 1.3 (2001/2002) e UML 2.0 (2005)

Page 5: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de use case de UML

caso de uso

usuário do sistema

sistema

Page 6: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagramas de Casos de Uso AUML

• Capturam interações orientadas a objetivos entre os agentes com seus papéis especificados e o sistema.

• Descrevem o conjunto de caminhos que os agentes podem executar ao longo do sistema, cada um com um objetivo discreto.

Page 7: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Exemplos de Diagramas de Casos de Uso AUML

Page 8: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de Classes de Agente

• Descreve os tipos de agentes do sistema e seus relacionamentos estáticos

Page 9: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de classe em UML

Nome_da_classe

atributo1atributo2...

metodo1metodo2metodo3...

atributos

métodos

nome da classe

Page 10: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de classesde AUML

communication act

agente

Page 11: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de classesde AUML

visão de organização

visão de organização

visão da organização

visão de interação

visão de ambiente

visão de agente

visão de agente

Representação de belief, desire e intentation como atributos

Page 12: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Exemplo de Diagrama de Classe de Agente e Detalhamento da Classe Agente

Page 13: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Representando Organizações

Page 14: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Organizações, papéis e agentes

organizações

papéisagentes

Page 15: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de classe

organização

papel

Page 16: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Organizações UML 2.0 v. extendida

Page 17: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Organizações UML 2.0 v. extendida

Page 18: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

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

Page 19: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Indica as possibilidades de comunicação dependendo da condição

Indica o protocolo sendo modelado

Indica se este diagrama representa um template

Page 20: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de seqüência de AUML

Page 21: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de seqüência de AUML

communication act ou mensagens(não é chamada de métodos)

OU inclusivo OU exclusivoparalelismo

forma de identificar o agente e o papel

object : Class :: Package UML

Page 22: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de seqüência de AUML

Page 23: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de seqüência de AUML (Exemplo)

Agente A desempenhando o papel customer

Agente A desempe-nhando o papel negotiator

representaçãode troca de papel

Page 24: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

AUML -> UML 2.0 extendida

Page 25: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

AUML -> UML 2.0 extendida

• Interaction Overview Diagram

Page 26: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de colaboração de AUML (Exemplo)

Page 27: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de atividades de UML

• Usado para representar as atividades, ações e as transições entre as atividades/ações

Pegando idioma origeme idioma destino

Pegando Texto

Montando TabelaFiguras

Montando Tabela Texto

Montando Arquivo HTML

Pegando Figuras

Exibindo para o usuário

Cliente Página partição

fork

join

atividade

Page 28: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de atividade de AUML

• Usado para representar as atividades associadas a um protocolo ou só as atividades de um papel

papel

Page 29: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de atividade de AUMLUML 2.0

Page 30: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de atividade de AUMLUML 2.0

Page 31: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de atividade de AUMLUML 2.0

Page 32: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de estado de UML

No Térreo Subindo

ParadoDescendo

Indo para otérreo

subir (andar)

Chegar no andar subir (andar)

Chegar no andar

descer (andar)

tempo de espera

Chegar no térreo

estado

transições

Page 33: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

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

agenteou papel

Page 34: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de componentes de UML

Page 35: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de componentes de AUML

Page 36: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de componentes de AUMLUML 2.0

Page 37: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de deployment de UML

Page 38: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de deployment de AUML

Page 39: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Diagrama de deployment de AUMLUML 2.0

Page 40: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Aspectos temporais de papéis

Page 41: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Aspectos temporais de papéis

Page 42: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Aspectos temporais de papéis

Page 43: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

AUML-BP

Page 44: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Processos de Desenvolvimento de Software OA

• Como modelar e analisar processos de desenvolvimento de software OA?

– Métodos controlados, bem documentados e replicáveis para produção de software

– Levantamento de um conjunto de “boas práticas” para o desenvolvimento orientado a agentes

Page 45: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Cenário Atual

• Muitas linguagens de modelagem e metodologias (MAS-ML, AUML, Message, Prometheus, Tropos, MASE, ...)

• ..... Pouco consenso

• PASSI, Agile PASSI

Page 46: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Processos de software

• Processo de software– é uma seqüência coerente de práticas que objetiva o

desenvolvimento ou evolução de sistemas de software

• Frameworks de processo existentes– Definem uma estrutura geral

– São customizados para definições de processos específicos

– São oriundos da experiência de profissionais e empresa

Page 47: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Classificação das Metodologias

Page 48: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

• OpenUp/Basic + AUML

• Abordagem Ágil

• Iterativo

• Mínimo, completo e extensível

• Requisitos - > Estórias de agentes

• TDD

AUML-BP: Um Processo Básico utilizando AUML

Page 49: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

UP – Visão Geral

• Pode ser dividido em duas dimensões

Page 50: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

AUML-BP

Analista de Sistema

Especificação de Casos de Uso

Analisar Caso de Uso

Analista de Sistema

Doc. Requisitos

Mod. Casos de Uso Diagramas de Interação

Especificação de Casos de Uso AUML

Diagramas de Classes

Fase 1

Fase 2

gera gera

usausa

Mod. Casos de Uso AUML

Diagramas de Interação de Protocolos de Agentes

Diagramas de Classes de Agentes

Especificação de Estórias de

Agentes

Diagramas de ColaboraçãoEstórias de agentes e

Cartões de índices

Analisar Caso de Uso AUML e Estórias de Agentes

Page 51: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

AUML-BP

Arquiteto

Desenvolvedor

Projetar Arquitetura

Diagramas de Classes da Arquitetura

Teste de Unidade Teste de Integração

Mod. Casos de Uso e Casos de Uso AUML

Estórias de agentes e Cartões de índices

Diagramas de Interação e de Interação de

Protocolos de Agentes Refinados

Diagramas de Classes e de

Classes de Agentes Detalhados

Diagramas de Colaboração Refinados Código-Fonte

TDD

Page 52: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Uma iteração OO

Requisitos Análise & Projeto Implementação Testes

Analista de Sistemas

Arquiteto

Projetistas

TestadoresProgramadores

Doc. Requisitos

Mod. Casos de Uso

Diagramas de Classes e Interação

Código-Fonte

Planilhas de Teste

CADA FASE PODE SER DECOMPOSTA EM ITERAÇÕES

Page 53: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Uma iteração AO - AUML-BP

Requisitos Análise & Projeto Implementação & Testes

Analista de Sistemas

ArquitetoProjetistas

TestadoresProgramadores

Doc. Requisitos

Mod. Casos de Uso

Diagramas de Classes e Interação

Código-Fonte

CADA FASE PODE SER DECOMPOSTA EM ITERAÇÕES

Fase IFase I Fase 2 Fase IFase I Fase 2

Mod. Casos de Uso AUML

Estórias de agentes e Cartões de índices

Diagramas de Interação de Protocolos de

Agentes

Diagramas de Classes de Agentes

Diagramas de Colaboração

Diagramas Refinados e Detalhados

Planilhas de Teste

Testes

Page 54: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Descrição de Casos de Uso AUML

• Objetivo envolvendo vários papéis

• Descrição geral

Page 55: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Estórias de Agentes

• Visão de um agente/ papel que o agente desempenha para atingir o objetivo

• Especificação das mensagens

Page 56: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Cartão de Índice de Agente

• Define a ordem em que cada estória de agente deve ser implementada

Page 57: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

EPF Composer

• Eclipse

• Framework para Definição de Processos

• Flexível

• Customizável

• Plugins

Page 58: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

EPF Composer

Page 59: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

EPF Composer

Page 60: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Avaliação

• Vitor Pelegrino -> iniciação científica

• Questionários

Page 61: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

Interaction Diagram / AUML-2 Tool

Textual notation for describing interaction diagrams and interaction protocols in a (subset of) AUML-2

http://www.cs.rmit.edu.au/~winikoff/auml

Page 62: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

AUML2 Tool

• Rough prototype tool!

• Takes text and generates .eps generating layout automatically

– .eps can be converted to other formats (jpg,png,…)

– Does both AUML-2 subset and interaction diagrams

• Requires perl and tcl/tk (probably easiest on unix, but should also work under windows)

– Requires available $DISPLAY (unix)

start FIPA query protocolstart FIPA query protocol

agent I Initiatoragent I Initiator

agent P Participantagent P Participant

box altbox alt

message I P query-ifmessage I P query-if

……

auml.plTcl/tk

programwish .eps file

Page 63: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Input Format

• One command per line.

• Commands:

– agent shortname longname (also invis and role)

– start protocol name

– finish

– message from to message description

– box type

– next

– end type

– backup

Leave these out for interaction diagrams

agent T Tutor agent L Lecturer agent S Student message S L Question message L S Answer backup message L T Answer CC

Page 64: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Example

start FIPA query protocol

agent I Initiator

agent P Participant

box alt

message I P query-if

next

message I P query-ref

end alt

box alt

message P I not-understood

next

message P I refuse

next

message P I failure

next

message P I inform

end alt

finish

Page 65: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Book Store Example

start Book Order

agent c Customer

agent s Sales ass.

agent w Warehouse man.

agent d Delivery manager

agent b Bank

message c s Request Book

message s w Price+availability

message w s response

message s c response

box alt

message c s Cancel

next

message c s Buy Book

message s w Delivery Options?

message w s Delivery info

message s c Delivery info

message c s Delivery Choice

message s c Payment details?

box alt

message c s Cancel

next

message c s Credit card info

message s b Credit Check Request

box alt

message b s Not understood

next

message b s Not approved

next

message b s Approval

message s w Order

backup

message s c Thanks

end alt

end alt

end alt

finish

Page 66: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Page 67: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

© LES/PUC-Rio

Bibliografia

• B. Bauer and J. Odell, UML 2.0 and agents: how to build agent-based systems with the new UML standard, Engineering Applications of Artificial Intelligence, Volume 18, Issue 2, Agent-oriented Software Development, March 2005, Pages 141-157.

• Gatti, M., von Staa, A., Lucena, C.; AUML-BP: A Basic Agent Oriented Software Development Process Model Using AUML; Monografias em Ciência da Computação, Departamento de Informática, PUC-Rio, No. 21/07, 25 pg., 2007.

• Michael Winikoff. Towards Making Agent UML Practical: A Textual Notation and a Tool. First international workshop on Integration of Software Engineering and Agent Technology (ISEAT 2005). September 2005, Melbourne, Australia.

Page 68: AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool

Obrigada!

Maíra Gatti

2007.2


Recommended