s10b – projeto – tolerância a falhas
DESCRIPTION
S10b – Projeto – Tolerância a Falhas. MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes. Agenda. Dependabilidade Tolerância à Falha TF - Hardware TF - Software TF - Árvore de Análise de Falhas SACCPC Arquitetura Referências. Garantir Dependabilidade [Martins,2008]. - PowerPoint PPT PresentationTRANSCRIPT
S10b – Projeto – Tolerância a Falhas
MO409 – Engenharia de Software
Anderson Talon / Marcelo Fontes
Agenda
• Dependabilidade• Tolerância à Falha
– TF - Hardware– TF - Software– TF - Árvore de Análise de Falhas
• SACCPC• Arquitetura• Referências
2
Garantir Dependabilidade [Martins,2008]
• Prevenção de falhas– Evita a ocorrência ou introdução de falhas
• Tolerância a falhas– Fornecer o serviço correto em presença de falhas
• Remoção de falhas– Reduzir o número ou a severidade das falhas
• Previsão de falhas– Avaliar o número de falhas presentes, ou a futura
incidência ou a conseqüência de falhas3
Projeto com Tolerância à Falha
• Prevenção de Falha: Aumentar a confiabilidade eliminando as falhas. Reduzir a probabilidade de falha do sistema a um
valor razoavelmente baixo.
• Tolerância à Falha: Espera que as falhas ocorram. Efeitos compensados.
4
Árvore de Dependabilidade
[Martins, 2008]5
Falha Erro Defeito
• Falha: – resultado de um erro de um componente ou no projeto do
sistema.• Erro:
– parte de um estado errôneo que constitui uma diferença de um estado válido.
• Defeito:– desvio do comportamento do sistema de algum conjunto de
especificações pré-definidas.
Falha / Erro / Defeito
6
Tolerância a Falhas
• Desafios:– Atender aos objetivos de dependabilidade;– Suportar funções com diversos níveis de
gravidade;– Limitar o custo de desenvolvimento e produção;– Permitir a verificação e validação do sistema.
7
Tolerância à falha
• Requisito chave:– Replicação de recursos em hardware ou em
software. • Tempo: repetição da computação.• Espaço: adoção de múltiplos canais de hardware.• Informação: adoção de múltiplas versões de software.
8
Tolerância à Falhas - Redundâncias
• Homogêneas • Alto custo de reparo• Overhead para algumas tarefas• Simples gerenciamento da redundância
• Heterogêneas• Redundância otimizada para cada tarefa
9
Redundância de Hardware: Sensores
[Isermann, 2006]10
Redundância de Hardware: Atuadores
[Isermann, 2006]11
Técnicas de Tolerância à Falha de Software
• Blocos de Recuperação:– N programas executados (NT/1H/NS ou 1T/NH/NS)
• em série no mesmo hardware ou • em paralelo sobre N canais de software com
implementações diferentes
• Software com Auto-Verificação:– recursos internos para realizar detecção concorrente
de erros
• Programação N-versões (NVP)– baseados em redundância e consenso
12
Confiabilidade: Árvore de Análise de Falhas
Melhoria de um produto ou processo já em operação. A partir da identificação das causas das falhas ocorridas e seu posterior bloqueio.
Detecção e bloqueio das causas de falhas potenciais (antes que aconteçam) em produtos ou processos já em operação.
Detecção e bloqueio das causas de falhas potenciais (antes que aconteçam) em produtos ou processos, ainda na fase de projeto.
13
Tolerância à Falha no SACCPC
[Grimm, 2003]14
Definição do Problema
• Manter um sistema confiável.• Evitar danos catastróficos.• Detectar e antecipar a ocorrência de uma
falha• Detectar no projeto e diminuir ou eliminar o
efeito das falhas• Manter o sistema funcionando mesmo na
ocorrência de falhas
15
Metodologia
• Aplicar técnicas de redundância em HW e SW• Utilizar as árvores de análise de falhas para
determinar uma auto-verificação• Utilizar redundâncias heterogêneas para que
tenha um custo reduzido ao cliente final
16
Árvore de Análise de Falhas (Caso Número 2)
17
Arquitetura Inicial
18
Arquitetura com Software com Implementações Diferentes
19
Arquitetura Auto-Verificável
20
Arquitetura com Redundância dos Sensores/Atuadores
21
Arquitetura com Redundância da ECU
22
Arquitetura Final
• Softwares com Implementações Diferentes• Auto-Verificação• Redundância de Sensores• Redundância de Atuadores• Redundância da ECU
23
Referências 1/4• ISERMANN, R.; Fault-Diagnosis Systems: An Introduction from Fault
Detection to Fault Tolerance. Springer, 2006.• MANZONE, A.; PINCETTI, A; COSTANTINI, D.; Fault Tolerant Automotive
Systems: Na Overview. Centro Ricerche FIAT, Sistemi Elettronici. Torino, Italy. 2001.
• NASA, Preferred Reliability Practices; Fault Tolerant Design. Practice No. PD-ED-1246, September 21, 1995. Page 1 of 4.
• TORIN, J.; Dependability in complex automotive systems — Requirements directions and Drivers: Rapport PROMETHEUS, Chalmers University of Technology Göteborg, September 1992.
• ZANONI, E.; PAVAN, P.: Improving the reliability and safety of automotive electronics, IEEE Micro, pp. 30-48, February 1993.
24
Referências 2/4• Ziegler, C., Powell, D., and Desroches, P. 1994 Dependability of On-Board
Automotive Computer Systems. Technical Report. UMI Order Number: LAAS-CNRS#94341., University of Bologna.
• Grimm, K.; Software Technology in an Automotive Company – Major Challenges. DaimlerChrysler AG, Research and Technology, Berlin, Germany, 2003.
• Zanoni, E. & Pavan, P.; Improving the Reliability and Safety of Automotive Electronics. University of Padua, 1993.
• Inacio, C.; Software Fault Tolerance. http://www.ece.cmu.edu/~koopman/des_s99/sw_fault_tolerance/ Acesso em 2010-05-30.
25
Referências 3/4• Martins, E.; Dependabilidade e Resiliência. Notas de Aula, 2008.
http://lampiao.ic.unicamp.br/weblectures/slideview.php?lectureId=351, Acessado em 2010-05-19.
• De Florio, V.; Blondia, C.; A Survey of Linguistic Structures for Application-Level Fault Tolerance. ACM Computing Surveys (CSUR). 2008, Vol. 40, 2.
• Dusso, P. M.; FUNDAMENTOS DE TOLERÂNCIA A FALHAS. http://www.inf.ufrgs.br/~pmdusso/works/Fundamentos_Tolerancia_Falhas.htm, Acessado em 2010-05-30
• Randell, B.; System Structure for Software Fault Tolerance. In Proceedings of the international Conference on Reliable Software (Los Angeles, California, April 21 - 23, 1975). ACM, New York, NY, 437-449. DOI= http://doi.acm.org/10.1145/800027.808467
26
Referências 4/4• Ziegler, C.; Powell, D.; Desroches.; Dependability of On-Board Automotive
Computer Systems. Technical Report. UMI Order Number: LAAS-CNRS#94341., University of Bologna.
• Ermagan, V.; Mizutani, J.; Oguchi, K.; and Weir.; Towards Model-Based Failure-Management for Automotive Software. In Proceedings of the 4th international Workshop on Software Engineering For Automotive Systems (May 20 - 26, 2007). International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 8. DOI= http://dx.doi.org/10.1109/SEAS.2007.10
27
Dúvidas?
• Perguntas?
28