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

Post on 17-Apr-2015

109 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related