S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo...
Transcript of S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo...
![Page 1: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/1.jpg)
S10b – Projeto – Tolerância a Falhas
MO409 – Engenharia de Software
Anderson Talon / Marcelo Fontes
![Page 2: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/2.jpg)
Agenda
• Dependabilidade• Tolerância à Falha
– TF - Hardware– TF - Software– TF - Árvore de Análise de Falhas
• SACCPC• Arquitetura• Referências
2
![Page 3: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/3.jpg)
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
![Page 4: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/4.jpg)
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
![Page 5: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/5.jpg)
Árvore de Dependabilidade
[Martins, 2008]5
![Page 6: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/6.jpg)
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
![Page 7: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/7.jpg)
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
![Page 8: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/8.jpg)
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
![Page 9: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/9.jpg)
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
![Page 10: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/10.jpg)
Redundância de Hardware: Sensores
[Isermann, 2006]10
![Page 11: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/11.jpg)
Redundância de Hardware: Atuadores
[Isermann, 2006]11
![Page 12: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/12.jpg)
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
![Page 13: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/13.jpg)
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
![Page 14: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/14.jpg)
Tolerância à Falha no SACCPC
[Grimm, 2003]14
![Page 15: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/15.jpg)
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
![Page 16: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/16.jpg)
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
![Page 17: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/17.jpg)
Árvore de Análise de Falhas (Caso Número 2)
17
![Page 18: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/18.jpg)
Arquitetura Inicial
18
![Page 19: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/19.jpg)
Arquitetura com Software com Implementações Diferentes
19
![Page 20: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/20.jpg)
Arquitetura Auto-Verificável
20
![Page 21: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/21.jpg)
Arquitetura com Redundância dos Sensores/Atuadores
21
![Page 22: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/22.jpg)
Arquitetura com Redundância da ECU
22
![Page 23: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/23.jpg)
Arquitetura Final
• Softwares com Implementações Diferentes• Auto-Verificação• Redundância de Sensores• Redundância de Atuadores• Redundância da ECU
23
![Page 24: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/24.jpg)
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
![Page 25: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/25.jpg)
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
![Page 26: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/26.jpg)
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
![Page 27: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/27.jpg)
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
![Page 28: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes.](https://reader033.fdocument.pub/reader033/viewer/2022052321/552fc118497959413d8c8ee7/html5/thumbnails/28.jpg)
Dúvidas?
• Perguntas?
28