+ sadaam. + equipe alessandro lima leila soriano vinícius ottoni

Post on 07-Apr-2016

214 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

+

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 ?

AOSEAgent-Oriented Software Engineer

AOSEAgent-Oriented Software Engineer

Methodologies

Frameworks

Methodological steps

Conventional

ingineering

approachesMAS

AgileAgile Development

flexible iteractive incremental

AOSEAgent-Oriented Software Engineer

AgileAgile Development

+SADAAM

Metodologia de desenvolvimento de agentes Utiliza técnicas de uma variedade de métodos ágeis

SCRUM XP TDD

+Trabalhos relacionados

+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.

+Mase

+MAS-Commonkads

Extensão da metodologia CommonKads Referência na Europa no desenvolvimento de sistemas

baseados em conhecimento(SBC).

+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

+Metodologia

+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

+Fases

Design

TDD

Release e Review

Refactor e enhacement

+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

+Fase de Design

+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

+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.

+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

+Análise de Escopo e Requisitos

Auxilia a determinação de requisitos

+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

+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

+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

+Expansão de Modelos Iniciais

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

+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.

+Fase de Design

Step 1

Step 2

Step 3

Step 4Expand/ Refine Activity DiagramsCreate /

Refactor System

Behaviour Mode

Select System

Behaviour (s)

Expand/ Define Interaction Diagrams

+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.

+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.

+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)

+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

+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

+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

+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.

+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.

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

+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.

+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

+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.

+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).

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

+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.

+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

+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.

+Test-Driven ImplementationImplementação conduzida pelos Testes

+Test-Driven Implementation

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

Conceitos Chave: Test Agent e Application Agent under Test.

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

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

+Test-Driven Implementation

Arquitetura

+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.

+TestSuite Application Structure

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

+TestSuite Application Structure

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

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

+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.

+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.

+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.

+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.

+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.

+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.

+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.

+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.

+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.

+TDI Phase

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

Revisar, refatorar e iniciar o ciclo novamente.

+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.

+TDI Phase

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

+Visão geral da Aplicação

Após todos os passos citados anteriormente, temos a seguinte visão geral da aplicação 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

+Release e RevisãoEntregando o Projeto

+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.

+Conclusão

+Conclusão

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

+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)

+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)

+Referências

+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.

+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.

+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

+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.

+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

+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.

+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.

+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

top related