Um Sistema de Padrões para Injeção de Falhas por Software
Resumo
Sistemas computacionais tolerantes a falha tem se tomado cada vez mais numerosos e importantes. Consequentemente, testá-los e verificar se eles comportam-se adequadamente na presença de falhas também ficou mais importante. Para isso, uma técnica que tem se mostrado muito útil é a de Injeção de Falhas. Esta técnica gera falhas dentro do sistema sob teste e observa seu comportamento. A maioria das atuais ferramentas que usam essa técnica operam sob condições muito restritas, havendo portanto a necessidade de se desenvolver ferramentas que sejam mais genéricas e customizáveis. Este trabalho propõe criar um Sistema de Padrões para Injeção de Falhas por Software, de tal maneira que seja mais fácil para os desenvolvedores criarem novos programas e ferramentas que façam injeção de falhas usando os padrões descritos nesse sistema. Esses padrões irão descrever, independentemente de linguagem e ambiente, a arquitetura e estruturas necessárias para realizar injeção de falhas.
Referências
Avresky, D. R.; Tapadiya, P. K. “A Method for Developing a Software Based Fault Injection Tool”. Texas A&M University. Department of Computer Science, Technical Report 95-021. Texas, EUA, 1995.
Barcelos, Patrícia P. A.; Leite, Fábio O.; Weber, Taisy Silva. “Implementação de um Injetor de Falhas de Comunicação”. Anais do SCTF'99 — VIII Simpósio de Computação Tolerante a Falhas. Campinas. Brasil. Julho/1999. pp. 225-239.
Buschmann, Frank; Meunier, Regine: Rohnert, Hans; Sommerlad, Peter; Stal, Michael. A System of Patterns: Patiern-Oriented Software Architecture. John Wiley & Sons, Chichester. EUA, 1996.
Clark, Jeffrey: Pradhan, Dhiraj. “Fault Injection: A Method Dependability”. IEEE Computer. Junho/1995. pp. 47-56.
Carreira, J.; Madeira, H.; Silva, J. G. “Xception: Software Fault Injection and Monitoring in Processor Functional Units”. 5th IFIP International Working Conference on Dependable Computing for Critical Applications. Urbana-Champaign, EUA, 1995, pp. 135-149.
Dawson, S.; Jahanian, F.; Mitton, T. “ORCHESTRA: A Fault Injection Environment for Distributed Systems”. Disponível na Wide World Web em: http://www.eecs.umich.edu.
Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, EUA, 1994.
Hsueh, Mei-Chen; Tsai, Timothy; Iyer, Ravishankar. “Fault Injection Techniques and Tools”. IEEE Computer. Abril/1997. pp. 75-82.
Kao, Wei-lun; Iyer, Ravishankar; Tang, Dong. “FINE: A Fault Injection and Monitoring Environment for Tracing the UNIX System Behavior under Faults”. IEEE Transactions on Software Engineering. Volume 19, número 11, Novembro 1993, pp. 1105-1118.
Krishnamurthy, N.; Jhaveri, V.; Abraham. J. “A Design Methodology for Software Fault Injection in Embedded Systems”. Proc of the 1998 IFIP International Workshop on Dependable Computing and its Applications. Johannesburg. South Africa, Jan. 12-14. 1998. pp. 237-248.
Kanawati, N.; Kanawati, G.; Abraham. J. “FERRARI: A Tool for the Validation of System Dependability Properties”. Proc. FTCS-22. IEEE CS Press. Los Alamitos. EUA. 1992. pp. 336-344.
Laprie, Jean-Claude. “Dependability - Its Attributes. Impairments and Means”. Predictability Dependable Computing Systems (B. Randell, J.-C. Laprie, H. Kopetz, B. Littlewood. eds). Springer. Berlin. Alemanha, 1995, pp. 3-18.
Rosa, Amanda. Uma Arquitetura Reflexiva para Injetar Falhas em Aplicações Orientadas a Objetos. Dissertação de Mestrado, UNICAMP. Campinas. Brasil. 1998.
Voas, Jeffrey. “Certifying Off-the-Shelf Software Components”. IEEE Computer. Junho/1998. pp. 53-59.