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

Preview:

Citation preview

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

Recommended