FIRMI: Um Injetor de Falhas para a Avaliação de Aplicações Distribuídas baseadas em RMI

  • Juliano C. Vacaro UFRGS
  • Taisy S. Weber UFRGS

Resumo


Aplicações distribuídas baseadas em RMI que precisem atender a requisitos de dependabilidade, devem demonstrar na fase de testes que operam corretamente mesmo na presença de falhas no subsistema de comunicação. Exceções geradas por RMI em resposta a falhas de comunicação devem ser capturadas pela aplicação e devidamente tratadas. Para provocar a ocorrência destas exceções e assim testar as estratégias de tratamento de erros da aplicação, falhas são injetadas durante a fase de testes e o comportamento do sistema sob o efeito destas falhas é observado. Este artigo apresenta um injetor de falhas para a avaliação de aplicações que usam o protocolo RMI. O artigo descreve as técnicas empregadas e demonstra as funcionalidades do injetor através da condução de um experimento.

Referências

Andrade, N., Cirne, W., Brasileiro, F., and Roisenberg, P. (2003). OurGrid: An approach to easily assemble grids with equitable resource sharing. In 9th Workshop on Job Scheduling Strategies for Parallel Processing.

Apache Software Foundation. BCEL - byte code engineering library. http://jakarta.apache.org/bcel.

Avizienis, A., Laprie, J.-C., Randell, B., and Landwehr, C. (2004). Basic concepts and taxonomy of dependable and secure computing. IEEE Transactions on Dependable and Secure Computing, 1(1):11–33.

Birman, K. P. (1997). Building Secure and Reliable Network Applications. Prentice Hall, 1 edition.

Chiba, S. (1998). Javassist - a reflection-based programming wizard for java. In Proceedings of OOPSLA’98 Workshop on Reflective Programming in C++ and Java, Vancouver, Canada.

Cristian, F. (1991). Understanding fault-tolerand distributed systems. Communications of the ACM, 34(2):56–78.

Dawson, S., Jahanian, F., Mitton, T., and Tung, T.-L. (1996). Testing of fault-tolerant and real-time distributed systems via protocol fault injection. In Proceedings of the 26th IEEE International Symposium on Fault-Tolerant Computing (FTCS ’96), pages 404–414, Sendai, Japan. IEEE Computer Society Press.

Drebes, R. J., Leite, F. O., Jacques-Silva, G., Mobus, F., and Weber, T. S. (2005). ComFIRM: a communication fault injector for protocol testing and validation. In IEEE Latin American Test Workshop, 6th (LATW’05), pages 115–120, Salvador, Brazil.

Eclipse Foundation. aspectj project. http://www.eclipse.org/aspectj.

Eclipse Foundation. eclipse project. http://www.eclipse.org/.

Gamma, E. and Beck, K. Junit. http://www.junit.org.

Hsueh, M.-C., Tsai, T. K., and Iyer, R. K. (1997). Fault injection techniques and tools. IEEE Computer, 30(4):75–82.

IBM Corporation. IBM java virtual machine. http://www.ibm.com/developerworks/java.

Jacques-Silva, G., Drebes, R. J., Gerchman, J., and Weber, T. S. (2004). FIONA: A fault injector for dependability evaluation of Java-based network applications. In Proceedings of the 3rd IEEE International Symposium on Network Computing and Applications (NCA’04), pages 303–308, Washington, DC, USA. IEEE Computer Society.

Madeira, H., Kanoun, K., Arlat, J., Crouzet, Y., Johansson, A., and Lindström, R. (2001). Preliminary dependability benchmark framework. Technical report, LAAS-CNRS, Toulouse, France.

Martins, E., Rubira, C. M. F., and Leme, N. G. M. (2002). Jaca: A reflective fault injection tool based on patterns. In Proceedings of the International Conference on Dependable Systems and Networks (DSN’02), pages 483–487, Washington, DC. IEEE Computer Society Press.

ObjectWeb Consortium. ASM. http://asm.objectweb.org.

Schneider, F. B. (1993). What good are models and what models are good? In Mullender, S., editor, Distributed Systems, pages 17–26. Addison-Wesley, Workingham, 2nd edition.

Sun Microsystems. Java remote method invocation (java RMI) specification. http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmiTOC.html.

White, A. Serp. http://serp.sourceforge.net.
Publicado
29/05/2006
VACARO, Juliano C.; WEBER, Taisy S.. FIRMI: Um Injetor de Falhas para a Avaliação de Aplicações Distribuídas baseadas em RMI. In: WORKSHOP DE TESTES E TOLERÂNCIA A FALHAS (WTF), 7. , 2006, Curitiba/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2006 . p. 135-146. ISSN 2595-2684. DOI: https://doi.org/10.5753/wtf.2006.23358.