Lotus@Runtime: Uma Ferramenta para Monitoramento e Verificação em Tempo de Execução para Sistemas Autoadaptativos
Resumo
Sistemas autoadaptativos possuem a capacidade de adaptar seu comportamento durante sua execução em resposta às mudanças no ambiente onde está inserido. Para garantir o sucesso de uma adaptação, abordagens tradicionais como testes e verificações de software são insuficientes. Por isso, deve-se adotar abordagens de monitoramento e verificação em tempo de execução para assegurar que as adaptações tenham o resultado esperado. Neste trabalho, é proposta uma ferramenta para realizar, de forma integrada, o monitoramento, a verificação e a notificação de violações encontradas durante a execução de um sistema autoadaptativo.
Referências
Bencomo, N., Bennaceur, A., Grace, P., Blair, G., and Issarny, V. (2013). The role of models@ run. time in supporting on-the-fly interoperability. Computing, 95(3):167–190.
Blair, G., Bencomo, N., and France, R. B. (2009). Models@ run. time. Computer, 42(10):22–27.
Calinescu, R., Ghezzi, C., Kwiatkowska, M., and Mirandola, R. (2012). Self-adaptive software needs quantitative verification at runtime. Communications of the ACM, 55(9):69–77.
Calinescu, R., Johnson, K., and Rafiq, Y. (2013). Developing self-verifying service-based systems. In Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on, pages 734–737. IEEE.
Chen, B., Peng, X., Yu, Y., Nuseibeh, B., and Zhao, W. (2014). Self-adaptation through incremental generative model transformations at runtime. In 36th International Conference on Software Engineering, Hyderabad. ACM/IEEE.
Cheng, B. H. C., de Lemos, R., Giese, H., Inverardi, P., et al. (2009). Software Engineering for Self-Adaptive Systems, chapter Software Engineering for Self-Adaptive Systems: A Research Roadmap, pages 1–26. Springer Berlin Heidelberg, Berlin, Heidelberg.
Eugster, P. T., Felber, P. A., Guerraoui, R., and Kermarrec, A.-M. (2003). The many faces of publish/subscribe. ACM Computing Surveys (CSUR), 35(2):114–131.
Filieri, A., Ghezzi, C., and Tamburrelli, G. (2011). Run-time efficient probabilistic model checking. In Proceedings of the 33rd international conference on software engineering, pages 341–350. ACM.
Goldsby, H. J., Cheng, B. H., and Zhang, J. (2008). Amoeba-rt: Run-time verification of adaptive software. In Models in Software Engineering, pages 212–224. Springer.
Hinton, A., Kwiatkowska, M., Norman, G., and Parker, D. (2006). Prism: A tool for automatic verification of probabilistic systems. In Tools and Algorithms for the Construction and Analysis of Systems, pages 441–444. Springer.
Huebscher, M. C. and McCann, J. A. (2008). A survey of autonomic computing—degrees, models, and applications. ACM Computing Surveys (CSUR), 40(3):7.
Kephart, J. O. and Chess, D. M. (2003). The vision of autonomic computing. Computer, 36(1):41–50.
Maoz, S. (2009). Using model-based traces as runtime models. Computer, 42(10):28–36.
Oreizy, P., Gorlick, M. M., Taylor, R. N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D. S., andWolf, A. L. (1999). An architecture-based approach to self-adaptive software. IEEE Intelligent systems, 14(3):54–62.
Salehie, M. and Tahvildari, L. (2009). Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems (TAAS), 4(2):14.
Weyns, D. and Calinescu, R. (2015). Tele assistance: a self-adaptive service-based system examplar. In Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pages 88–92. IEEE Press.