a51c43275ccb093fbcd7c35ceba7c3ad.ppt
- Количество слайдов: 68
AUML Maíra Gatti 2007. 2
Agenda • 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) • 1 o 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 © 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 atributo 1 atributo 2. . . metodo 1 metodo 2 metodo 3. . . nome da classe atributos métodos © LES/PUC-Rio
Diagrama de classes de AUML agente communication act © LES/PUC-Rio
Diagrama de classes de AUML visão da organização visão de agente Representação de belief, desire e intentation como atributos visão de organização visão de ambiente visão de interação visão de organização visão de agente © 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 agentes papéis © 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) condição de guarda Objeto. A mensagem síncrona [se novo] <
Indica o protocolo sendo modelado Indica se este diagrama representa um template Indica as possibilidades de comunicação dependendo da condição © LES/PUC-Rio
Diagrama de seqüência de AUML © 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 OU inclusivo © LES/PUC-Rio OU exclusivo
Diagrama de seqüência de AUML © 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 © 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 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 Montando Arquivo HTML © LES/PUC-Rio
Diagrama de atividade de AUML • Usado para representar as atividades associadas a um protocolo ou só as atividades de um papel © LES/PUC-Rio
Diagrama de atividade de AUML 2. 0 © LES/PUC-Rio
Diagrama de atividade de AUML 2. 0 © LES/PUC-Rio
Diagrama de atividade de AUML 2. 0 © LES/PUC-Rio
Diagrama de estado de UML 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 agente ou papel © LES/PUC-Rio
Diagrama de componentes de UML © LES/PUC-Rio
Diagrama de componentes de AUML © LES/PUC-Rio
Diagrama de componentes de AUML 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 AUML 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 © LES/PUC-Rio
AUML-BP
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
AUML-BP: Um Processo Básico utilizando AUML • Open. Up/Basic + AUML • Abordagem Ágil • Iterativo • Mínimo, completo e extensível • Requisitos - > Estórias de agentes • TDD © LES/PUC-Rio
UP – Visão Geral • Pode ser dividido em duas dimensões © LES/PUC-Rio
AUML-BP Fase 1 Especificação de Casos de Uso Analisar Caso de Uso Analista de Sistema gera Doc. Requisitos Fase 2 Analista de Sistema usa Mod. Casos de Uso Diagramas de Interação Diagramas de Classes usa Especificação de Casos de Uso AUML Especificação de Estórias de Agentes Mod. Casos de Uso AUML Estórias de agentes e Cartões de índices Diagramas de Colaboração © LES/PUC-Rio Analisar Caso de Uso AUML e Estórias de Agentes Diagramas de Classes de Agentes Diagramas de Interação de Protocolos de Agentes
AUML-BP Diagramas de Classes da Arquitetura Arquiteto Desenvolvedor Estórias de agentes e Cartões de índices Projetar Arquitetura Teste de Unidade Diagramas de Colaboração Refinados Mod. Casos de Uso e Casos de Uso AUML TDD Teste de Integração Diagramas de Interação e Diagramas de de Interação de Classes e de Protocolos de Agentes Classes de Agentes Refinados Detalhados © LES/PUC-Rio Código-Fonte
Uma iteração OO Requisitos Análise & Projeto Implementação Testes Mod. Casos de Uso Planilhas de Teste Código-Fonte Doc. Requisitos Analista de Sistemas Diagramas de Classes e Interação Arquiteto Programadores Testadores Projetistas CADA FASE PODE SER DECOMPOSTA EM ITERAÇÕES © LES/PUC-Rio
Uma iteração AO - AUML-BP Análise & Projeto Requisitos Fase I I Fase Mod. Casos de Uso Doc. Requisitos Fase 2 Fase I Testes Fase 2 Código-Fonte Mod. Casos de Uso AUML Estórias de agentes e Cartões de índices Implementação & Testes Diagramas de Colaboração Diagramas de Classes e Interação Diagramas de Interação de Protocolos de Agentes Diagramas de Classes de Agentes Analista de Sistemas Arquiteto Planilhas de Teste Diagramas Refinados e Detalhados Programadores Projetistas CADA FASE PODE SER DECOMPOSTA EM ITERAÇÕES © LES/PUC-Rio Testadores
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 © LES/PUC-Rio
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
AUML 2 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 protocol agent I Initiator agent P Participant box alt message I P query-if … auml. pl Tcl/tk program © LES/PUC-Rio wish . eps file
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 Leave these out for interaction diagrams – end type – backup © LES/PUC-Rio agent T agent L agent S message backup message Tutor Lecturer Student S L Question L S Answer L T Answer CC
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 message s c Payment details? agent c Customer box alt message c s Cancel agent s Sales ass. agent w Warehouse man. next message c s Credit card info agent d Delivery manager agent b Bank message s b Credit Check Request box alt message c s Request Book message b s Not understood message s w Price+availability next message w s response message b s Not approved message s c response next box alt message b s Approval message c s Cancel message s w Order next message c s Buy Book backup message s w Delivery Options? message s c Thanks end alt message w s Delivery info message s c Delivery info message c s Delivery Choice 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. © LES/PUC-Rio
Obrigada! Maíra Gatti 2007. 2