Uma proposta de arquitetura auto- adaptativa utilizando Middleware       reflexivo e Workflow        João Henrique Victori...
Estrutura de apresentação•   Motivação•   Objetivo•   Resultados esperados e contribuições•   Método de pesquisa•   Fundam...
Motivação• Software mais complexo e que exigem maior  conhecimento dos seus administradores  (Garcia, et al., 2011)• Mão d...
Objetivo•   Arquitetura autonômica•   Reagir ou até antecipar situações desfavoráveis•   Não ser invasiva aos componentes ...
Resultados esperados e contribuições• Obtenção de uma arquitetura autonômica• Diminuição da necessidade de intervenção  hu...
Método de pesquisa• Pesquisa bibliográfica• Proposta conceitual da arquitetura• Implementação em estudo de caso do  ambien...
Fundamentos conceituais•   Arquitetura de software•   Requisitos não-funcionais•   Middleware reflexivo•   Sistemas autôno...
Arquitetura de software• Uma estrutura, decomposta em partes, na  relação entre elas e nas propriedades visíveis  externam...
Requisitos não-funcionais• RNF e RF são definidores e validadores da  arquitetura de software (Bass, et al., 2003)• Decisõ...
Middleware reflexivoMiddleware Reflexivo é a união das habilidades da computação distribuída e a capacidade dereconfiguraç...
Middleware reflexivo  Modelo técnico da computação reflexiva       Fonte: (Huang, et al., 2004)
Autonomous x Autonomic• Autonomous: having autonomy; not subject to  control from outside; independent• Autonomic: Autonom...
Sistemas autônomos e computação             autonômica• Sistemas que adaptam-se conforme a  necessidade utilizando um proc...
Sistemas autônomos e computação           autonômica       Modelo técnico da computação autonômica              Fonte: (Hu...
Ciclo de controle do processamento       Ciclo de controle em sistemas autonômicos                Fonte: (Brun, et al., 20...
Ciclo de controle do processamento                  Ciclo MAPE          Fonte: elaborado pelo autor
Monitoração• Qual informação é mais relevante para o  comportamento que deseja-se obter do  software? (Vassev & Hinchey, 2...
MonitoraçãoAOP (Aspect Oriented Programming) é umatécnica capaz se separar os requisitostransversais dos outros módulos, d...
Análise e decisão• Para alguns softwares a maior dificuldade é  saber qual é o estado desejado, e caso este  estado seja c...
Análise e decisãoIF (TempoResposta > 2 seg) THEN (Aumentar CPU em 5%)
Análise e decisãoWorkflow:• É uma DSL (Domain Specific Language) própria  para regras e extensível• Pode ser modelada por ...
ReconfiguraçãoTipos:• Sistêmica ou infraestrutura• Aplicacional  – Parametrização  – Componentização  – Arquitetural
ReconfiguraçãoComponentização:• Implementação passiva de um conjunto de  funcionalidades com uma interface específica,  e ...
Reconfiguração• Container de injeção de dependência  – Controle a execução dos componentes;  – Mapeamento dos componentes;...
Proposta de uma arquitetura auto-adaptativa
Referências•   Ertle, P., Gamrad, D., Voos, H. & Softker, D., 2010. Action Planning for Autonomous Systems with respect to...
Referências•   Oreizy, P. et al., 1999. An Architecture-Based Approach to Self-Adaptive Software. IEEE INTELLIGENT SYSTEMS...
Referências•   Bass, L., Clements, P. & Kazman, R., 2003. Software Architecture in Practice. Second Edition ed. Boston - U...
Próximos SlideShares
Carregando em…5
×

Apresentacao dissertacao

300 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
300
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Apresentacao dissertacao

  1. 1. Uma proposta de arquitetura auto- adaptativa utilizando Middleware reflexivo e Workflow João Henrique Victorino Instituto de Pesquisas Tecnológicas do Estado de São Paulo - IPT
  2. 2. Estrutura de apresentação• Motivação• Objetivo• Resultados esperados e contribuições• Método de pesquisa• Fundamentos conceituais• Proposta de uma arquitetura auto-adaptativa• Referências• Dúvidas
  3. 3. Motivação• Software mais complexo e que exigem maior conhecimento dos seus administradores (Garcia, et al., 2011)• Mão de obra especializada escassa e cara (Garcia, et al., 2011)• Falhas por erro humano (Neti & Müller, 2007)
  4. 4. Objetivo• Arquitetura autonômica• Reagir ou até antecipar situações desfavoráveis• Não ser invasiva aos componentes de negócio• Implementar a auto-reconfiguração através da flexibilidade do container de inversão de dependência, da monitoração facilitada pela programação orientada a aspectos e da analise e tomada de decisão suportada pelos workflows
  5. 5. Resultados esperados e contribuições• Obtenção de uma arquitetura autonômica• Diminuição da necessidade de intervenção humana e por consequência os custos e erros advindos deste tipo de intervenção• Durante as pesquisas podemos constatar que existem poucas trabalhos com este intuito
  6. 6. Método de pesquisa• Pesquisa bibliográfica• Proposta conceitual da arquitetura• Implementação em estudo de caso do ambiente financeiro• Análise dos resultados obtidos
  7. 7. Fundamentos conceituais• Arquitetura de software• Requisitos não-funcionais• Middleware reflexivo• Sistemas autônomos e computação autonômica – Ciclo de controle do processamento – Monitoração – Análise e decisão – Reconfiguração
  8. 8. Arquitetura de software• Uma estrutura, decomposta em partes, na relação entre elas e nas propriedades visíveis externamente que essas partes apresentam (Bass, et al., 2003)• Os requisitos funcionais e não funcionais são as propriedades que determinam a arquitetura de um sistema (Bass, et al., 2003)
  9. 9. Requisitos não-funcionais• RNF e RF são definidores e validadores da arquitetura de software (Bass, et al., 2003)• Decisões arquiteturais impactam diretamente na autonomia do software (Fuad & Oudshoorn, 2007)• Software autônomo necessita de alguns RNFs que outros softwares não necessitam, pois são mais dinâmicos (Neti & Müller, 2007)
  10. 10. Middleware reflexivoMiddleware Reflexivo é a união das habilidades da computação distribuída e a capacidade dereconfiguração, em tempo de execução, que a reflexão proporciona (Garcia, et al., 2011)
  11. 11. Middleware reflexivo Modelo técnico da computação reflexiva Fonte: (Huang, et al., 2004)
  12. 12. Autonomous x Autonomic• Autonomous: having autonomy; not subject to control from outside; independent• Autonomic: Autonomous * Fonte: dictionary.com
  13. 13. Sistemas autônomos e computação autonômica• Sistemas que adaptam-se conforme a necessidade utilizando um processo para isso, e contando com pouca ou nenhuma intervenção humana (Ertle, et al., 2010) e (Huang, et al., 2004)• Software autônomo não é algo novo na área da robótica (Kramer & Magee, 2007)
  14. 14. Sistemas autônomos e computação autonômica Modelo técnico da computação autonômica Fonte: (Huang, et al., 2004)
  15. 15. Ciclo de controle do processamento Ciclo de controle em sistemas autonômicos Fonte: (Brun, et al., 2009)
  16. 16. Ciclo de controle do processamento Ciclo MAPE Fonte: elaborado pelo autor
  17. 17. Monitoração• Qual informação é mais relevante para o comportamento que deseja-se obter do software? (Vassev & Hinchey, 2010)• A monitoração deve ser simples e rápida para que não afete a modelagem e o desempenho do software, também deve prover informação atualizada (Zheng, 2010)• Requisito transversal
  18. 18. MonitoraçãoAOP (Aspect Oriented Programming) é umatécnica capaz se separar os requisitostransversais dos outros módulos, de modoque o código fique modularizado e permiteque cada funcionalidade fique concentradaonde deve e não espalhada pelo software (Ju& Bo, 2007)
  19. 19. Análise e decisão• Para alguns softwares a maior dificuldade é saber qual é o estado desejado, e caso este estado seja claro, saber quais modificações na arquitetura são necessárias para que o software deixe do estado atual e para o estado desejado (Kramer & Magee, 2007)• Este tipo de controle pode ser implementado por regras (Vassev & Hinchey, 2010)
  20. 20. Análise e decisãoIF (TempoResposta > 2 seg) THEN (Aumentar CPU em 5%)
  21. 21. Análise e decisãoWorkflow:• É uma DSL (Domain Specific Language) própria para regras e extensível• Pode ser modelada por uma ferramenta visual• É uma representação compreensível ao homem e a máquina Fonte: (Corradini, et al., 2004)
  22. 22. ReconfiguraçãoTipos:• Sistêmica ou infraestrutura• Aplicacional – Parametrização – Componentização – Arquitetural
  23. 23. ReconfiguraçãoComponentização:• Implementação passiva de um conjunto de funcionalidades com uma interface específica, e que passa a ter algum tipo atividade quando um processo o executa, sendo um processo uma representação dos recursos físicos de CPU (Central Process Unit) e memória (Bellur & Narendra, 2006)
  24. 24. Reconfiguração• Container de injeção de dependência – Controle a execução dos componentes; – Mapeamento dos componentes; – Mantém o estado da aplicação consistente pois varia entre diferentes tipos de árvores de objetos;
  25. 25. Proposta de uma arquitetura auto-adaptativa
  26. 26. Referências• Ertle, P., Gamrad, D., Voos, H. & Softker, D., 2010. Action Planning for Autonomous Systems with respect to Safety Aspects. pp. 2465-2472.• Fowler, M., 2004. Inversion of Control Containers and the Dependency Injection pattern. [Online] Available at: http://martinfowler.com/articles/injection.html [Acesso em 2012 abril 29].• Fowler, M., 2010. Domain-Specific Languages. s.l.:Addison-Wesley Professional.• Fuad, M. M. & Oudshoorn, M. J., 2007. System Architecture of an Autonomic Element. Fourth IEEE International Workshop on Engineering of Autonomic and Autonomous Systems.• Garcia, I. et al., 2011. A reflective framework for mediation applications. ARM, Dezembro, pp. 22-28.• Huang, G. et al., 2004. Towards Autonomic Computing Middleware via Reflection. Proceedings of the 28th Annual International Computer Software and Applications Conference, pp. 1-6.• Ju, K. & Bo, J., 2007. Applying IoC and AOP to the Architecture of Reflective Middleware. 2007 IFIP International Conference on Network and Parallel Computing - Workshops, pp. 903-908.• Khalid, A., Haye, M. A., Khan, M. J. & Shamail, S., 2009. Survey of Frameworks, Architectures and Techniques in Autonomic Computing. Fifth International Conference on Autonomic and Autonomous Systems, pp. 220-225.• Kramer, J. & Magee, J., 2007. Self-Managed Systems: an Architectural Challenge. Future of Software Engineering.• Mahmoud, Q. H., 2004. Middleware for Communications. 1 Edição ed. s.l.:Wiley.• Neti, S. & Müller, H. A., 2007. Quality Criteria and an Analysis Framework for Self-Healing Systems. International Workshop on Software Engineering for Adaptive and Self-Managing Systems.
  27. 27. Referências• Oreizy, P. et al., 1999. An Architecture-Based Approach to Self-Adaptive Software. IEEE INTELLIGENT SYSTEMS, pp. 54-62.• Palma, N. D., Popov, K., Parlavantzas, N. & Brand, P., 2009. Tools for architecture based autonomic systems. Fifth International Conference on Autonomic and Autonomous Systems, pp. 313-320.• Ponnalagu, K., Narendra, N. C., Krishnamurthy, J. & Ramkumar, R., 2007. Aspect-oriented Approach for Non- functional Adaptation of Composite Web Services. IEEE Congress on Services.• Pressman, R. S., 2001. Software engineering: a practitioner’s approach. 5 edição ed. Nova Iorque, EUA: McGraw- Hill.• Stathis, K., 2010. Autonomic computing with self-governed super-agents. Fourth IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshop, pp. 76-79.• Vassev, E. & Hinchey, M., 2010. The Challenge of Developing Autonomic Systems. IEEE Computer Society, Dezembro, pp. 93-96.• White, S. R. et al., 2004. An Architectural Approach to Autonomic Computing. Proceedings of the International Conference on Autonomic Computing.• Wu, Y., Wu, Y., Peng, X. & Zhao, W., 2010. Implementing Self-Adaptive Software Architecture by Reflective Component Model and Dynamic AOP: A Case Study. 10th International Conference on Quality Software, pp. 288- 293.• Zhang, Y., Qu, W. & Liu, A., 2006. Adaptive Self-Configuration Architecture for J2EE-based Middleware Systems. Proceedings of the 39th Hawaii International Conference on System Sciences.• Zheng, Z., 2010. A Control method of System Self-Management for Distributed Systems. Second International Conference on Networks Security, Wireless Communications and Trusted Computing, pp. 321-326.
  28. 28. Referências• Bass, L., Clements, P. & Kazman, R., 2003. Software Architecture in Practice. Second Edition ed. Boston - USA: Addison Wesley.• Bellur, U. & Narendra, N. C., 2006. Towards a Programming Model and Middleware Architecture for Self- configuring systems.• Brat, G. et al., 2006. A Robust Compositional Architecture for Autonomous Systems. IEEEAC.• Brun, Y. et al., 2009. Engineering Self-Adaptive Systems through Feedback Loops. Self-Adaptive Systems, pp. 48-70.• Capilla, R. & Bosch, J., 2011. The Promise and Challenge of Runtime Variability. IEEE Computer Society, Dezembro, pp. 93-95.• Caprarescu, B. A. & Petcu, D., 2009. A Self-Organizing Feedback Loop for Autonomic Computing. Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns, pp. 126-131.• Charfi, A., Dinkelaker, T. & Mezini, M., 2009. A Plug-in Architecture for Self-Adaptive Web Service Compositions. IEEE International Conference on Web Services, pp. 35-42.• Corradini, F., Merelli, E. & Pierantonio, A., 2004. Workflow as Composition of Domain-Specific Languages. SI.CO.M..• Cybenko, G., Behre, C., Gregorio-De.Souza, I. D. & Berk, V. H., 2006. Practical Autonomic Computing. Proceedings of the 30th Annual International Computer Software and Applications Conference.

×