Apresentação - Defesa Mestrado - v4

97 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
97
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Apresentação - Defesa Mestrado - v4

  1. 1. Abordagem baseada em casos para reutilização de decisões arquiteturais a partir de atributos de qualidade Orientador: Prof. Dr. Fernando Giorno Orientado: Daniel Martins Takabayashi Junho de 2014
  2. 2. Agenda ● Contexto ● Problema ● Estado da arte ● Raciocínio baseado em casos ● Objetivo ● Contribuições ● Método de trabalho ● Modelagem dos casos ● Desenvolvimento do RBC ● Simulação e análise dos resultados ● Conclusões 2
  3. 3. Contexto (1 de 2) Fig1 - Influências do arquiteto de software. Adaptado de Bass et al. (2012) 3
  4. 4. Contexto (2 de 2) Arquitetos sabem da importância ● dispor de múltiplas opções de projeto para tomada de decisão ● evitar que preferências pessoais influenciem na decisão ● justificar a tomada de decisão ● comunicar a arquitetura 4
  5. 5. Problema (1 de 2) Mas na prática ● Busca por novas opções requer alto esforço de análise e reflexão ● Decisões são tomadas baseadas em experiência individual com pouca ou nenhuma justificativa ● Dificuldade para justificar a tomada de decisão ● Falta de documentação do raciocínio produzido ● Não é natural o compartilhamento do conhecimento ... provocando uma vaporização do conhecimento arquitetural. 5
  6. 6. Problema (2 de 2) ...e a falta de ferramentas amigáveis, inteligentes e proativas, capazes de auxiliar na tomada de decisão e reuso de ativos arquitetônicos é uma das justificativas para essa vaporização Portanto, o armazenamento e gerenciamento do conhecimento arquitetural é uma tarefa critica para a comunidade de Engenharia de Software. 6
  7. 7. Linhas de Pesquisa ● Catalogação de padrões e estilos arquiteturais ● Formalização do domínio através de taxonomias, ontologias e linguagens de notação ● Criação de sistemas tipo wiki para compartilhamento ● Formalização do processo de raciocínio do arquiteto ● Sistemas especialistas para auxiliar arquitetos Estado da Arte (1 de 4) 7
  8. 8. Estado da arte (2 de 4) Formalização de Requisitos Não Funcionais Fig2 - Adaptação da ontologia para RNF de Kassab et al. (2009; 2012) 8
  9. 9. Estado da arte (3 de 4) Formalização de Decisões Arquiteturais Fig3 - Adaptação da ontologia para D.Arquiteturais de Kruchten et al.(2006; 2004) 9
  10. 10. Estado da arte (4 de 4) Sistema especialista ArchE Fig4 - Visão macro de funcionamento do sistema especialista ArchE (modificabilidade) 10
  11. 11. Raciocínio baseado em casos (1 de 2) Soluciona novos problemas baseado em experiências passadas. Os elementos básicos são ● Representação do conhecimento (casos) ● Medidas de Similaridade ● Adaptação (interação humana) ● Aprendizado 11
  12. 12. Raciocínio baseado em casos (2 de 2) Fig6 - Ciclo do RBC adaptado pelo autor 12
  13. 13. Objetivo (1 de 2) Desenvolver uma abordagem RBC especializada em reúso de decisões arquiteturais, a partir de requisitos de desempenho e confiabilidade para auxiliar a tomada de decisão de arquitetos em projetos de arquitetura de software 13
  14. 14. Objetivo (2 de 2) Fig7 - Visão macro do sistema especialista proposto 14
  15. 15. Contribuições ● Simplificação e melhoria na representação do problema/solução arquitetural ● Clarificação das justificativas nas decisões sugeridas pelo sistema especialista ● Ponto inicial para outras abordagens da IA para aprimorar o reuso de decisões arquiteturais 15
  16. 16. Método de trabalho (1 de 2) Fig8 - Fluxo de trabalho 16 Início Fim
  17. 17. Método de trabalho (2 de 2) Principais pontos observados durante as simulações ● Nível de usabilidade para interpretar as soluções sugeridas ● Nível de confiabilidade das sugestões 17
  18. 18. Modelagem dos Casos (1 de 5) 18 Fig9 - Representação de um Caso
  19. 19. Modelagem dos Casos (2 de 5) 19 Modelos utilizados ● A descrição do problema é uma adaptação do modelo proposto por Kassab et al (2009; 2012) ● A descrição da solução é uma adaptação do modelo proposto por Kruchten et al. (2006; 2004)
  20. 20. Modelagem dos Casos (3 de 5) Exemplo: 20 Problema 1 - O sistema deverá estar disponível 99.0% do tempo Solução 1a Solução 1b Decisões Ping/Echo para detecção de problemas em todos servidores Monitoramento das condições para prevenção de falhas Redundância ativa para recuperação de falhas Self-Test dos principais componentes do sistema Monitoramento das condições para prevenção de falhas Redundância passiva para recuperação de falhas
  21. 21. Modelagem dos Casos (4 de 5) Exemplo de Instanciação da ORNFM 21 Problema 1 - O sistema deverá estar disponível 99.0% do tempo Fig10 - Exemplo de instanciação da ORNFM
  22. 22. Modelagem dos Casos (5 de 5) Índices e Similaridades ● todos os conceitos da ORNFM são utilizados como índices. Sim Global = Sim Semântica entre RNFs + Sim (Semântica + Numérica) entre Medidas 22
  23. 23. Desenvolvimento do RBC (1 de 4) Desenvolvimento ● Tecnologia JEE ● Restfull (Ajax + Json) ● HTML5 ● NoSQL (MongoDB) Instalação ● Servidor JEE na nuvem (free). ● Servidor NoSQL na nuvem (free). 23 Fig11 - Diagrama de instalação da ferramenta RBC desenvolvida
  24. 24. Desenvolvimento do RBC (2 de 4) 24 Fig12 - Tela para inclusão de RNFs (problema do RBC)
  25. 25. Desenvolvimento do RBC (3 de 4) 25 Fig13 - Diagrama de sequência - "Obter Casos Similares" (pg. 50)
  26. 26. Desenvolvimento do RBC (4 de 4) 26 Fig14 - Detalhes da decisão arquitetural sugerida (decisão do RBC)
  27. 27. Simulação e Resultados (1 de 2) Cenário da Simulação ● 22 casos armazenados (10 para confiabilidade e 12 para desempenho) ● Calibragem de pesos ● Instanciação de Característica, Subcaracterística e Tipos de Medidas ● 5 exemplos de uso (2 de confiabilidade e 3 de desempenho) ● Apenas as 5 primeiras sugestões foram avaliadas 27
  28. 28. Simulação e Resultados (2 de 2) Resultados obtidos ● facilidade para informar o problema ● reúso de decisão para problemas similares ● melhor desempenho com medidas básicas do que com medidas compostas ● relação entre instâncias pode aumentar a confiabilidade 28
  29. 29. Conclusões (1 de 5) A abordagem baseada em casos é uma alternativa viável para auxiliar arquitetos na reutilização de decisões arquiteturais de uma forma amigável e inteligente. 29
  30. 30. Conclusões (3 de 5) Aspectos a serem aprimorados ● Cálculo de similaridade entre medidas ● Tamanho da base de casos utilizados nas simulações ● Abordagem visual e estímulos (não comprovado) 30
  31. 31. Conclusões (4 de 5) Dificuldades Encontradas ● Representar a descrição do problema ● Abastecer a base de casos com problemas e soluções arquiteturais ● Elaborar uma interface amigável 31
  32. 32. Conclusões (5 de 5) Trabalhos Futuros ● Evoluir a usabilidade (wiki semântico, reconhecimento de voz, agentes semânticos) ● Aprimorar cálculos de similaridades (distância entre strings, wordnet) ● Compor novas decisões a partir de casos distintos 32

×