Utilizando metaobjetos para injetar falhas e monitorizar seus efeitos
Resumo
Injeção de falhas por software é uma técnica que vem sendo muito utilizada para validar as propriedades de segurança no funcionamento de sistemas de software. Para injetar falhas e monitorizar seus efeitos alguma forma de instrumentação deve ser introduzida na aplicação em teste (aplicação alvo). Essa instrumentação é intrusiva, ou seja, interfere na execução da aplicação alvo. No entanto, um dos objetivos de uma abordagem de instrumentação de software é ser o menos intrusiva possível. Para alcançar este objetivo neste estudo nós propomos o uso da programação orientada a objetos reflexiva. Reflexão reduz a interferência na aplicação alvo porque provê uma separação clara entre os aspectos funcionais e não-funcionais, sendo o último relacionado aos aspectos de injeção de falhas e monitorização. Este artigo descreve uma arquitetura reflexiva de teste, mostra como injetar falhas utilizando reflexão e apresenta alguns resultados de experimentos.
Referências
Chiba S., "Open-C++ Release 1.2 Programmer's Guide", Technical Report no 93-3, Dept. Information Science, University of Tokyo, 1993.
Hoffman D., "Hardware Testing and Software IC's", Proc. Pacific NW Software Quality Tools. Portland, Oregon, sept 1989.
Hsueh, M.C.; Tsai, T.K.; Iyer, R.K. "Fault Injection Techniques and Tools". IEEE Computer, April/1997, pp.75-82.
Kanawati, N.; Kanawati, G.; Abraham, J. "FERRARI: A Tool for the Validation of System Dependability Properties". Proc. FTCS-22, IEEE CS Press, Los Alamitos, Calif., 1992, pp. 336-344.
Lisboa, M.L.B. "Computational Reflection in the Objeci Model". Tutorial presented at II Brazilian Symposium of Programming Languages, Campinas, SP, Brazil, 1997, 53 pages.
P. Maes. "Concepts and Experiments in Computaional Reflection". Proc. OOPSLA'87, p. 147-155, 1987.
D. Piubeli Prado. "Implementação de Sistemas Tolerantes a Falhas Usando Programação Orientada a Objetos". Dissertação de Mestrado, Instituto de Computação, Universidade Estadual de Campinas, jan/98, 88 páginas.