AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool.
Transcript of AUML Maíra Gatti 2007.2. © LES/PUC-Rio Agenda AUML AUML-BP AUML 2-Tool.
AUML
Maíra Gatti2007.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?
© 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)
© LES/PUC-Rio
Diagrama de use case de UML
caso de uso
usuário do sistema
sistema
© 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.
© LES/PUC-Rio
Exemplos de Diagramas de Casos de Uso AUML
© LES/PUC-Rio
Diagrama de Classes de Agente
• Descreve os tipos de agentes do sistema e seus relacionamentos estáticos
© LES/PUC-Rio
Diagrama de classe em UML
Nome_da_classe
atributo1atributo2...
metodo1metodo2metodo3...
atributos
métodos
nome da classe
© LES/PUC-Rio
Diagrama de classesde AUML
communication act
agente
© 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
© LES/PUC-Rio
Exemplo de Diagrama de Classe de Agente e Detalhamento da Classe Agente
© LES/PUC-Rio
Representando Organizações
© LES/PUC-Rio
Organizações, papéis e agentes
organizações
papéisagentes
© LES/PUC-Rio
Diagrama de classe
organização
papel
© LES/PUC-Rio
Organizações UML 2.0 v. extendida
© LES/PUC-Rio
Organizações UML 2.0 v. extendida
© 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
© 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
© LES/PUC-Rio
Diagrama de seqüência de AUML
© 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
© LES/PUC-Rio
Diagrama de seqüência de AUML
© 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
© LES/PUC-Rio
AUML -> UML 2.0 extendida
© LES/PUC-Rio
AUML -> UML 2.0 extendida
• Interaction Overview Diagram
© LES/PUC-Rio
Diagrama de colaboração de AUML (Exemplo)
© 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
© 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
© LES/PUC-Rio
Diagrama de atividade de AUMLUML 2.0
© LES/PUC-Rio
Diagrama de atividade de AUMLUML 2.0
© LES/PUC-Rio
Diagrama de atividade de AUMLUML 2.0
© 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
© 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
© LES/PUC-Rio
Diagrama de componentes de UML
© LES/PUC-Rio
Diagrama de componentes de AUML
© LES/PUC-Rio
Diagrama de componentes de AUMLUML 2.0
© LES/PUC-Rio
Diagrama de deployment de UML
© LES/PUC-Rio
Diagrama de deployment de AUML
© LES/PUC-Rio
Diagrama de deployment de AUMLUML 2.0
© LES/PUC-Rio
Aspectos temporais de papéis
© LES/PUC-Rio
Aspectos temporais de papéis
© LES/PUC-Rio
Aspectos temporais de papéis
AUML-BP
© 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
© LES/PUC-Rio
Cenário Atual
• Muitas linguagens de modelagem e metodologias (MAS-ML, AUML, Message, Prometheus, Tropos, MASE, ...)
• ..... Pouco consenso
• PASSI, Agile PASSI
© 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
© LES/PUC-Rio
Classificação das Metodologias
© 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
© LES/PUC-Rio
UP – Visão Geral
• Pode ser dividido em duas dimensões
© 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
© 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
© 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
© 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
© LES/PUC-Rio
Descrição de Casos de Uso AUML
• Objetivo envolvendo vários papéis
• Descrição geral
© 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
© LES/PUC-Rio
Cartão de Índice de Agente
• Define a ordem em que cada estória de agente deve ser implementada
© LES/PUC-Rio
EPF Composer
• Eclipse
• Framework para Definição de Processos
• Flexível
• Customizável
• Plugins
© LES/PUC-Rio
EPF Composer
© LES/PUC-Rio
EPF Composer
© LES/PUC-Rio
Avaliação
• Vitor Pelegrino -> iniciação científica
• Questionários
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
© 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
© 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
© 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
© 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
© LES/PUC-Rio
© 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.
Obrigada!
Maíra Gatti
2007.2