Скачать презентацию AUML Maíra Gatti 2007 2 Agenda Скачать презентацию AUML Maíra Gatti 2007 2 Agenda

a51c43275ccb093fbcd7c35ceba7c3ad.ppt

  • Количество слайдов: 68

AUML Maíra Gatti 2007. 2 AUML Maíra Gatti 2007. 2

Agenda • AUML-BP • AUML 2 -Tool © LES/PUC-Rio Agenda • AUML-BP • AUML 2 -Tool © LES/PUC-Rio

Motivação • Por que não utilizar uma linguagem de modelagem já existente para modelar 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 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 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 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 Exemplos de Diagramas de Casos de Uso AUML © LES/PUC-Rio

Diagrama de Classes de Agente • Descreve os tipos de agentes do sistema e 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 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 agente communication act © LES/PUC-Rio

Diagrama de classes de AUML visão da organização visão de agente Representação de belief, 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 Exemplo de Diagrama de Classe de Agente e Detalhamento da Classe Agente © LES/PUC-Rio

Representando Organizações © LES/PUC-Rio Representando Organizações © LES/PUC-Rio

Organizações, papéis e agentes organizações agentes papéis © 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 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

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 Diagrama de seqüência de UML Tempo (top-down) condição de guarda Objeto. A mensagem síncrona [se novo] <> Objeto. B objeto mensagem (auto delegação) (caixa de)ativação valor de retorno <> linha de vida © LES/PUC-Rio símbolo de destruição

Indica o protocolo sendo modelado Indica se este diagrama representa um template Indica as 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 © LES/PUC-Rio

Diagrama de seqüência de AUML object : Class : : Package UML forma de 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 © LES/PUC-Rio

Diagrama de seqüência de AUML (Exemplo) Agente A desempenhando o papel customer Agente A 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 © LES/PUC-Rio

AUML -> UML 2. 0 extendida • Interaction Overview Diagram © 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 colaboração de AUML (Exemplo) © LES/PUC-Rio

Diagrama de atividades de UML • Usado para representar as atividades, ações e as 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 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 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 UML estado transições © LES/PUC-Rio

Diagrama de estado de AUML • Usado para representar os estados e as transições 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 UML © LES/PUC-Rio

Diagrama de componentes de AUML © LES/PUC-Rio Diagrama de componentes de AUML © LES/PUC-Rio

Diagrama de componentes de AUML 2. 0 © 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 UML © LES/PUC-Rio

Diagrama de deployment de AUML © LES/PUC-Rio Diagrama de deployment de AUML © LES/PUC-Rio

Diagrama de deployment de AUML 2. 0 © 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 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 AUML-BP

Processos de Desenvolvimento de Software OA • Como modelar e analisar processos de desenvolvimento 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, 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 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 Classificação das Metodologias © LES/PUC-Rio

AUML-BP: Um Processo Básico utilizando AUML • Open. Up/Basic + AUML • Abordagem Ágil 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 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 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 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 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. 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 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 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 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 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

EPF Composer © LES/PUC-Rio EPF Composer © LES/PUC-Rio

Avaliação • Vitor Pelegrino -> iniciação científica • Questionários © 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 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 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 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 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 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 © LES/PUC-Rio

Bibliografia • B. Bauer and J. Odell, UML 2. 0 and agents: how to 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 Obrigada! Maíra Gatti 2007. 2