s10b – projeto – tolerância a falhas mo409 – engenharia de software anderson talon / marcelo...

28
S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

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

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

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

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

Árvore de Dependabilidade

[Martins, 2008]5

Page 6: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

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

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

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

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

Redundância de Hardware: Sensores

[Isermann, 2006]10

Page 11: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

Redundância de Hardware: Atuadores

[Isermann, 2006]11

Page 12: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

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

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

Tolerância à Falha no SACCPC

[Grimm, 2003]14

Page 15: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

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

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

Á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

Arquitetura Inicial

18

Page 19: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

Arquitetura com Software com Implementações Diferentes

19

Page 20: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

Arquitetura Auto-Verificável

20

Page 21: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

Arquitetura com Redundância dos Sensores/Atuadores

21

Page 22: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

Arquitetura com Redundância da ECU

22

Page 23: S10b – Projeto – Tolerância a Falhas MO409 – Engenharia de Software Anderson Talon / Marcelo Fontes

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

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

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

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

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

Dúvidas?

• Perguntas?

28