83
+ SADAAM

SADAAM

Embed Size (px)

DESCRIPTION

SADAAM. Equipe. Alessandro Lima Leila Soriano Vinícius Ottoni. Conteúdo. Introdução Trabalhos Relacionados Metodologia Fase de Design Test-Driven Implementation (TDI) Release e Revisão Conclusão Referências. Introdução. O QUE É SADAAM ?. AOSE Agent-Oriented Software Engineer. - PowerPoint PPT Presentation

Citation preview

Page 1: SADAAM

+

SADAAM

Page 2: SADAAM

+Equipe

Alessandro Lima

Leila Soriano

Vinícius Ottoni

Page 3: SADAAM

+Conteúdo

Introdução

Trabalhos Relacionados

Metodologia

Fase de Design

Test-Driven Implementation (TDI)

Release e Revisão

Conclusão

Referências

Page 4: SADAAM

+

Introdução

Page 5: SADAAM

O QUE É SADAAM ?

Page 6: SADAAM
Page 7: SADAAM

AOSEAgent-Oriented Software Engineer

Page 8: SADAAM

AOSEAgent-Oriented Software Engineer

Methodologies

Frameworks

Methodological steps

Conventional

ingineering

approachesMAS

Page 9: SADAAM

AgileAgile Development

flexible iteractive incremental

Page 10: SADAAM

AOSEAgent-Oriented Software Engineer

AgileAgile Development

Page 11: SADAAM

+SADAAM

Metodologia de desenvolvimento de agentes

Utiliza técnicas de uma variedade de métodos ágeis SCRUM XP TDD

Page 12: SADAAM

+

Trabalhos relacionados

Page 13: SADAAM

+Mase

Permite identificar o que deverá ser desenvolvido quais e como os agentes se comportarão na sociedade.

Propõe uma seqüência de modelos que mapearão desde os objetivos gerais até a definição dos casos de usos, papéis, classes e diálogos entre os agentes.

Page 14: SADAAM

+Mase

Page 15: SADAAM

+MAS-Commonkads

Extensão da metodologia CommonKads

Referência na Europa no desenvolvimento de sistemas baseados em conhecimento(SBC).

Page 16: SADAAM

+MAS-Commonkads

Divide o conhecimento da aplicação em três subníveis: nível do domínio

conhecimento declarativo sobre o domínio nível de inferência

uma biblioteca de estruturas genéricas de inferência nível de tarefa

ordem das inferências

Page 17: SADAAM

+

Metodologia

Page 18: SADAAM

+Metodologia

Central ao SADAAM está o Agent Development Process (ADP) Núcleo ágil do processo de desenvolvimento de agentes Implementa o Integrated Development Process (IDP) com 4

fases chave

Page 19: SADAAM

+Fases

Design

TDD

Release e Review

Refactor e enhacement

Page 20: SADAAM

+Metodologia

O ADP suporta uma abordagem bottom up Aumenta a flexibilidade Permite ao time

focar na entrega rápida Responder rapidamente a mundanças nos requisitos

Page 21: SADAAM

+

Fase de Design

Page 22: SADAAM

+Fase de Design

Processo interativo e incremental para análise e design de agentes autônomos.

Identifica comportamentos do sistema e papéis desempenhados por agentes

Page 23: SADAAM

+Fase de Design

Define agentes Seus relacionamentos Interações Atividades

Define classes de agentes e métodos que compõem a solução

Estes atributos são concebidos através de um conjunto mínimo de artefatos de design que se baseam em Agent-UML3.

Page 24: SADAAM

+Fase de Design

SADAAM adapta o Agile Model Driven Development Process para a fase de design

Funcionalidades significantes Análise de Escopo de

Requisitos

Modelo

Inicial de

Requisitos

Expansão de Modelos Iniciais

SADAAM Model Storming

Page 25: SADAAM

+Análise de Escopo e Requisitos

Auxilia a determinação de requisitos

Page 26: SADAAM

+Modelo Inicial de Requisitos

Esclarece qualquer ambiguidade na especificaçao de requisitos

Base para dividir a implementação em passos gerenciáveis

Estabelece conhecimentos para compor o Modelo de Comportamento do Sistema inicial Provê informações do que o sistema faz Como as entidades são definidas Interações entre essas entidades

Page 27: SADAAM

+Model Storming Sessions

Invocam o mínimo esforço inicial para transformar requisitos em modelos

Sessões irão surgir sempre que requisitos devam ser olhados em grande detalhe

Pode envolver: Reavaliação dos requisitos Refinamento dos diagramas iniciais

Page 28: SADAAM

+Expansão de Modelos Iniciais

Descrevem os o comportamento do sistema em maiores detalhes.

A abordagem SADAAM de Modelagem de Requisitos emprega o Modelo de Comportamento do sistema Auxilia a identificação de entidades envolvidas Como os participantes operam no sistema

Page 29: SADAAM

+Expansão de Modelos Iniciais

Requer o desenvolvimento de Diagramas Organizacionais e Comportamento do Sistema Identificam as entidades básicas e seus relacionamentos

Page 30: SADAAM

+Fase de Design

Permite que o time de desenvolvimento trabalhe iterativamente através do processo de design entregando modelos em pequenos incrementos suportando o rápido desenvolvimento e entrega de código

para release e review

Oferece flexibilidade de design

Racionaliza o esforço de desenvolvimento

Permite o time de desenvolvimento a adaptar mundanças em requisitos eficientemente.

Page 31: SADAAM

+Fase de Design

Step 1

Step 2

Step 3

Step 4

Expand/ Refine Activity DiagramsCreate /

Refactor System

Behaviour Mode

Select System

Behaviour (s)

Expand/ Define Interaction Diagrams

Page 32: SADAAM

+Passo 1: Criar/ Refatorar o Modelo do Comportamento do Sistema O Modelo de Comportamento do Sistema indetifica

comportamentos chave do sistema para o dado cenário.

Comportamentos do sistema são conjuntos de atividades e/ou interações que ocorre em algum estágio da operação do sistema é representado por um diagrama de Casos de Uso UML

modificado onde atores são esteriotipados como agentes e casos de

uso são esteriotipados como comportamentos do sistema.

Page 33: SADAAM

+Passo 1: Criar/ Refatorar o Modelo do Comportamento do Sistema SADAAM também inclui a noção de estrutura

organizacional que está por trás de cada dado cenário.

O Modelo de Comportamentos consiste Num Diagrama Organizacional Unitário (DOU) que

descreve a estrutura organizacional para o sistema alvo um conjunto de Diagramas de Comportamentos do

Sistema que descrevem os comportamentos chave do sistema.

Page 34: SADAAM

+Passo 1: Criar/ Refatorar o Modelo do Comportamento do Sistema A Estrutura organizacional quebra o cenário de

negócios num modelo organizacional hierárquico.

O DOU define organizações: Raiz Suborganizações unitárias E é responsável pela atribuição dos agentes para unidades

para unidades organizacionais específicas (UO)

Page 35: SADAAM

+Passo 1: Criar/ Refatorar o Modelo do Comportamento do Sistema A definição do DOU é um processo de 3 etapas que

definem ambos agentes e UOs no cenário.

Exemplo: Cadeias de Fornecimento

Page 36: SADAAM

+Revisão dos requisitos do sistema e cenário de negócios

Varejista adquire mercadorias do fornecedor, que posteriormente são entregues através de uma empresa de transportes indepedente.

O cenário inicia com o comprador solicitando cotações ao fornecedor

Uma vez que os preços são recebidos, o comprador pede as mercadorias

Page 37: SADAAM

+Revisão dos requisitos do sistema e cenário de negócios

O Fornecedor contacta a empresa de Transportes

A empresa de Transportes recolhe as mercadorias e entrega ao varejista

Page 38: SADAAM

+Definir a Estrutura Organizacional e UOs no ambiente em que você está tentando modelar A DOU vê nosso cenário como um ambiente

estruturado  onde três UOs individuais operarem e cooperaram sistematicamente para conduzir uma transação.

Page 39: SADAAM

+Definir a Estrutura Organizacional e UOs no ambiente em que você está tentando modelar A DOU vê nosso cenário como um ambiente

estruturado  onde três UOs individuais operarem e cooperaram sistematicamente para conduzir uma transação.

Page 40: SADAAM

+Passo 1: Criar/ Refatorar o Modelo do Comportamento do Sistema

Page 41: SADAAM

+Atribuir agentes dentro da estrutura organizacional

Esta etapa associa agentes a OUs específicos, permitindo a clara identificação dos agentes necessários ao cenário dado.

SADAAM associa um SBD a cada unidade DOU permitindo cada SBD indentificar todos os

comportamentos do sistema assumidos pelos agentes que são parte de uma unidade particular ou uma de suas subunidades.

Page 42: SADAAM

+Passo 2: Selecionar comportamentos do sistema

Envolve selecionar um subconjunto de todos os comportamentos do sistema para uma análise minunciosa.

Trata-se de uma definição do escopo Identifica quais partes do sistema o time irá trabalhar

Page 43: SADAAM

+Passo 3: Expandir/Definir Modelos de Interações

O Modelo de Interações (IM) define interações que ocorrem entre agentes desempenhando papéis durante um comporatmento específico do sistema.

O IM consiste em um conjunto de Agent UML Protocol Diagrams, que são associados a comportamentos individuais do sistema.

Page 44: SADAAM

+Passo 3: Expandir/Definir Modelos de Interações

Um dado comportamento do sistema pode ter zero, um, ou múltiplos diagramas de protocolos associados.

Tipicamente, um diagrama de protocolo inclui as interações esperadas relacionadas ao comportamento (normalmente o caso de sucesso); e todas (conhecidas) interações variantes (i.e.: casos de insucesso).

Page 45: SADAAM

+Passo 3: Expandir/Definir Modelos de Interações

Page 46: SADAAM

+Passo 4: Expansão do IM com Modelo de Atividade

O Modelo de Atividades identifica o conjunto de atividades realizadas pelos agentes no sentido de entender um dado comportamento do sistema.

Emprega Diagramas de Atividades UML customizados onde: Caixas representam atividades individuais Associações colocam ordem na performance de atividades Setas rotuladas são introduzidas para associar agentes com

atividades.

Page 47: SADAAM

+Conclusões

A fase de Design constrói técnicas ágeis para prover um processo de design iterativo e incremental

Dá suporte ao envolvimento do cliente

Melhora a flexibilidade

Facilita análises contínuas e feedback

Page 48: SADAAM

+Conclusões

Adaptação a situações de mudanças.

Permite ao desenvolvedor aprender e melhorar a versão anterior através da iteração contínua e melhoria de design.

Facilita priorização de tarefas e alocação eficiente de recursos.

Finalmente, pode ser incorporado por qualquer framework de desenvolvimento de agentes.

Page 49: SADAAM

+Test-Driven ImplementationImplementação conduzida pelos Testes

Page 50: SADAAM

+Test-Driven Implementation

Projetado para ajudar a gerenciar e controlar o desenvolvimento de um agente.

Conceitos Chave: Test Agent e Application Agent under Test.

TA

Codifica um conjunto de Casos de Teste que devem ser satisfeitos pela AAUT correspondente.

AAUT

Representa o agente cujo comportamento está em teste, realizando os testes descritos no TA.

Page 51: SADAAM

+Test-Driven Implementation

Arquitetura

Page 52: SADAAM

+TDI Phase

Fase dividida em cinco etapas, que tem como objetivo, implementar, integrar e debugar os códigos necessários para os testes dos agentes.

Page 53: SADAAM

+TestSuite Application Structure

Local onde os Agentes de Teste serão executados e validados.

Page 54: SADAAM

+TestSuite Application Structure

Local onde os Agentes de Teste serão executados e validados.

Criação e validação dos Agentes de Teste.

Page 55: SADAAM

+TestSuite Application Structure

Local onde os Agentes de Teste serão executados e validados.

Criação e validação dos Agentes de Teste.

Criação e execução dos Agentes de Aplicação.

Page 56: SADAAM

+TestSuite Application Structure

Local onde os Agentes de Teste serão executados e validados.

Criação e validação dos Agentes de Teste.

Criação e execução dos Agentes de Aplicação.

Integração necessária para implantação de um SMA.

Page 57: SADAAM

+AF Agent Plataform Scripts

Suporte de configuração para a TestSuite através da plataforma de servições da TestSuite e a classe base TestAgent.

TestAgent class: Fornece a implementação genérica de um TA.

Page 58: SADAAM

+AF Agent Plataform Scripts

Test.aps: Prevê a criação dos agentes de teste, a associação entre eles e armazena suas informações. Por exemplo, a criação dos TAs chamados testTransportManager e testHauler.

Page 59: SADAAM

+AF Agent Plataform Scripts

Test.aps: Prevê a criação dos agentes de teste, a associação entre eles e armazena suas informações. Por exemplo, a criação dos TAs chamados testTransportManager e testHauler.

Implementation.aps: Associa cada AAUT com o seu TA e armazena suas informações. Por exemplo, o Hauler é associdado ao testHauler.

Page 60: SADAAM

+AF Agent Plataform Scripts

Test.aps: Prevê a criação dos agentes de teste, a associação entre eles e armazena suas informações. Por exemplo, a criação dos TAs chamados testTransportManager e testHauler.

Implementation.aps: Associa cada AAUT com o seu TA e armazena suas informações. Por exemplo, o Hauler é associdado ao testHauler.

Integration.aps: Registra os testes feitos com os AAUT.

Page 61: SADAAM

+TDI Phase

Fase dividida em cinco etapas, que tem como objetivo, implementar, integrar e debugar os códigos necessários para os testes dos agentes.

Page 62: SADAAM

+TDI Phase

Análise da Fase de projeto para determinar os AAUTs. Exemplo: TransportManager e Hauler.

Os requisitos para cada TA são definidos através dos casos de Teste.

Criado os arquivos que definem cada agente.

Testada a implantação dos agentes através do arquivo test.aps.

Page 63: SADAAM

+TDI Phase

Revisar o projeto para verificar os requisitos dos AAUTs.

Registrar os AAUTs criados e suas associações com seus respectivos TAs no arquivo implementation.aps.

Page 64: SADAAM

+TDI Phase

Testar os AAUTs antes de implementá-los no SMA.

Revisar, refatorar e iniciar o ciclo novamente.

Page 65: SADAAM

+TDI Phase

Integrar e depurar os AAUTs para implantar no SMA.

Registrar os testes de integração no arquivo integration.aps.

Realizar os testes de integração com os AAUTs dentro da aplicação.

Page 66: SADAAM

+TDI Phase

Revisar, refatorar e iniciar o ciclo novamente se for necessário.

Page 67: SADAAM

+Visão geral da Aplicação

Após todos os passos citados anteriormente, temos a seguinte visão geral da aplicação SADAAM.

Page 68: SADAAM

+Arquitetura Revisada

Após todos os passos citados anteriormente, temos a seguinte arquitetura.

TDI Phase

Monitor SADAAM

AF Agent Plataform Script

TestSuite Application Structure

Page 69: SADAAM

+

Release e RevisãoEntregando o Projeto

Page 70: SADAAM

+Release e Revisão

Analisar geral após cada Release.

Entrega do projeto para o cliente para Revisão.

Colocar o aplicativo em um ambiente real.

Pode aparecer melhorias necessárias, para preencher todos os requisitos do cliente.

Page 71: SADAAM

+

Conclusão

Page 72: SADAAM

+Conclusão

Sadaam apresenta uma metodologia ágil para o desenvolvimento de sistemas multi-agente.

Page 73: SADAAM

+Conclusão

Permite ciclos de interações que geram: Flexibilidade no projeto Avanço incremental Eficácia na entrega Redução no tempo desenvolvimento Resuo de código (Test Agents)

Page 74: SADAAM

+Conclusão

Permite ciclos de interações que geram: Flexibilidade no projeto Avanço incremental Eficácia na entrega Redução no tempo desenvolvimento Reuso de código (Test Agents)

Page 75: SADAAM

+

Referências

Page 76: SADAAM

+Referências Agile Alliance., ”What is Agile Software Development?”,

web:

http://www.agilealliance.org/

2. AGILE Manifesto available at http://agilemanifesto.org

3. Ambler, S., ”Agile Modeling: The Official Agile Modelling (AM) Site.” Agile Modelling Home Page: http://www.agilemodeling.com/

4. Amor, M., Fuentes, L. and Vallecillo, A., ”Bridging the Gap between AO Design and Implementation Using MDA” , AOSE 2004. LNCS 3382, pp 93-108.

Page 77: SADAAM

+Referências

5. Bauer, B., Mueller, J., and Odell, J., ”Agent UML: A Formalisation for Specifying Multi-Agent Software Systems.”, In P. Ciancarini and M. Wooldridge, ed, 1st Int. Workshop on Agent-Oriented Software Eng. (AOSE-2000), Limerick, Eire, 2000.

6. Beck, K., ”Extreme Programming Explained: Embrace Change.”, AW Pub. 1999.

7. Beck, K., ”Test-Driven Development by Example.”, Addison Wesley, 2003.

8. Bergenti, F. and Poggi, A., ”Exploiting UML in the design of Multi-Agent Systems.”, In Proc. of the ECOOP Workshop on Engineering Societies in the Agents’ World 2000 (ESAW’00), pages 96-103, 2000. Boehm, B. and Turner, R., ”Balancing Agility and Discipline: A Guide for the Perplexed.”, Boston, MA: Addison-Wesley, 2004, ISBN 0-321-18612-5, pp 165-194.

Page 78: SADAAM

+Referências

9. Boehm, B. and Turner, R., ”Balancing Agility and Discipline: A Guide for the Perplexed.”, Boston, MA: Addison-Wesley, 2004, ISBN 0-321-18612-5, pp 165-194.

10. Bresciani, P., Giorgini, P., Giunchiglia, F. Mylopoulos, J. and Perini, A., ”TROPOS: An Agent-Oriented Software Development Methodology.”, JAAMAS, 2003

11. Cernuzzi, L., Cossentino, M., Zambonelli, F., Process Models for Agent-based Development, Journal. Eng. Applications of AI, 18(2), 2005.

12. Chella, A. Cossentino, M., Sabatucci, L., and Seidita, V., ”Agile PASSI: An Agile Process for Designing Agents”, International Journal of Computer Science and Eng. Special Issue on ”Software Eng. for Multi-Agent Systems”, May 2006

Page 79: SADAAM

+Referências

13. Coelho, R., Kulesza, U., von Staa, A., and Lucena, C., ”Unit testing in multiagent systems using mock agents and aspects, Procs of the 2006 Int. workshop on Software engineering for large-scale multi-agent systems, Shanghai, China

14. Collier, R.W. ”Agent Factory: A Framework for the Engineering of Agent-Oriented Applications.”, PhD thesis, Dept. of Computer Science, UCD, Dublin, 2002.

15. Collier, R.W., O’Hare, G.M.P., Lowen, T.D. and Rooney, C.F.B., ”Beyond Prototyping in the Factory of Agents.”, 3rd Int. Central and Eastern European Conf. on Multi-Agent Systems, CEEMAS 2003, Prague, Czech Republic, 16-18th June, Lecture Notes in Computer Science (LNCS), Springer Verlag, 2003.

Page 80: SADAAM

+Referências

16. Collier, R. W., Rooney, C. and O’Hare, G. M. P., ”A UML-based Software Engineering Methodology for Agent Factory.”, Proceeding of the 16th International Conference on Software Engineering and Knowledge Engineering (SEKE-2004), Banff, Alberta, Canada, 20-25th June, 2004.

17. Fowler, M., ”Refactoring: Improving the Design of Existing Code.”, Addison Wesley Longman, 1999.

18. P. Giorgini, eds, ”Agent-Oriented Methodologies”, IdeaGroup, B. Henderson - Sellers 2005.

19. Huget, M-P, Bauer, B., Odell, J., Levy, R., Turci, P., Cervenka, R., Zhu, Hong, Interaction Diagram Specification, FIPA AUML Website, http://www.auml.org

Page 81: SADAAM

+Referências

20. Iglesias, C., Garijo, M., Gonzalez, J., Velasco, J., ”Analysis and Design of MultiAgent Systems using MAS-CommonKADS.”, Springer,LNCS 1365, p489, 2004

21. Jennings, N.R., ”Building Complex Software Systems: The Case for an Agent-Oriented Approach.”, Communications of the ACM, 2001.

22. Jennings, N.R. and Wooldridge, M.; ”Agent-Oriented Software Engineering.” in Handbook of Agent Technology, (ed. J. Bradshaw), AAAI/MIT Press, 2000.

23. Knublauch, H., Koeth, H, and Rose, T., ”Agile Development of a Multi-Agent System: An Extreme Programming Case Study.”, Appears in: Proc of the 3rd Int. Conf. On Extreme Programming and Agile Processes in Software Engineering (XP2002), Alghero, Sardinia, Italy.

Page 82: SADAAM

+Referências

24. Rooney, C F.B., Collier, R.W., O’Hare, G.P., ”VIPER: VIsual Protocol EditoR”, in 6th Int. Conf. on Coordination Languages and Models (Coordination 2004), Pisa, February 24-27, 2004.

25. Schwaber, K., and Beedle, M., ”Agile Software Development with Scrum.”, Prentice Hall, 2001.

26. Sommerville, I., ”Software Engineering.”, Addison-Wesley 6th Ed., 2000.

27. Tveit, A., ”A survey of Agent-Oriented Software Engineering.” In Proceedings of the First NTNU Computer Science Graduate Student Conference, Norwegian University of Science and Technology, May 2001.

Page 83: SADAAM

+Referências

28. Wood, M.F. and DeLoach, S.A., ”An Overview of Multi-Agent Systems Engineer ing Methodology.” AOSE-2000, 1st Int. Workshop on AOSE, Limerick, Eire, 2000.

29. Zambonelli, F., Jennings, N.R., Omicini, A., and Wooldridge, M., ”Coordination of Internet Agents: Models, Technologies and Applications”, Agent-Oriented Software Engineering for Internet Applications, Springer-verlag, 2000