View
217
Download
1
Category
Preview:
Citation preview
+
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
Recommended