Sei sulla pagina 1di 19

Prof.

Erivelton da Silva Rocha

Universidade Estadual do Piau UESPI Licenciatura Plena em Computao

Em muitos sistemas, possvel implementar a tolerncia a defeitos de software por meio da incluso explcita de aes de verificao e recuperao no software.
Prof. Erivelton da Silva Rocha

Isso denominado programao defensiva. Contudo, essa abordagem no trabalha eficientemente com defeitos do sistema que surgem com base em interaes entre o hardware e o software.

Alm disso, a m compreenso dos requisitos pode significar que tanto o cdigo do sistema quanto a defesa associada esto incorretos.
2

Para

maioria

dos

sistemas

crticos,

particularmente aqueles com requisitos rigorosos


de disponibilidade, pode ser necessria uma arquitetura especfica projetada para apoiar a tolerncia a defeitos.
Prof. Erivelton da Silva Rocha

Exemplos de sistemas que usam essa abordagem de tolerncia a defeitos so os sistemas de aviao, que devem estar em operao durante o
Prof. Erivelton da Silva Rocha

vo, os sistemas de telecomunicaes, e os

sistemas crticos de comando e controle.

H muitos anos existe a necessidade de se construir hardware tolerante a defeitos.


Prof. Erivelton da Silva Rocha

A tcnica de hardware tolerante a defeitos mais

comum baseada na noo de redundncia


modular tripla TMR (Triple-Modular Redundancy).

A unidade de hardware replicada trs (ou algumas mais) vezes.


Prof. Erivelton da Silva Rocha

A sada

de

cada

unidade

passa

para

um

comparador de sada normalmente implementado


como um sistema de votao. Se uma das unidades falha e no produz a mesma sada que as outras unidades, sua sada ignorada

Prof. Erivelton da Silva Rocha

Um gerenciador de defeitos pode tentar reparar a unidade defeituosa automaticamente, mas se isso for impossvel, o sistema ser automaticamente
Prof. Erivelton da Silva Rocha

reconfigurado para tirar a unidade de servio. Em

seguida, o sistema continuar a funcionar com


duas unidades operando.

Atravs dessa tcnica que foi possvel a NASA

colocar

homem

na

lua.

Embora

com

computadores precrios e extremamente simples, foi somente com esse tipo de arquitetura tolerante a falhas que foi possvel garantir o pleno sucesso dessa misso.
Prof. Erivelton da Silva Rocha

Essa abordagem de tolerncia a defeitos baseia-se no fato de que a maioria das falhas de hardware resultante das falhas de componente em vez de ser
Prof. Erivelton da Silva Rocha

ocasionada

por

defeitos

de

projeto.

Os

componentes so, portanto, propensos a falhar


independentemente.

10

Supe-se

que,

quando

completamente

operacionais, toas as unidades de hardware operem de acordo com a especificao. H,


Prof. Erivelton da Silva Rocha

portanto, baixa probabilidade de falha simultnea

de componentes em todas as unidades de


hardware.

11

Naturalmente, todos os componentes poderiam ter um defeito de projeto em comum e, assim, todos

produziriam a mesma resposta errada. Usando


unidades de hardware com uma especificao em comum, mas projetadas e construdas por
Prof. Erivelton da Silva Rocha

fabricantes diferentes, reduzem-se as chances de


uma falha de modo comum.

12

Presume-se que a probabilidade de equipes diferentes cometerem o mesmo erro de projeto ou de fabricao seja bem pequena.
Prof. Erivelton da Silva Rocha

13

Se os requisitos de disponibilidade e confiabilidade de um sistema forem tais que voc necessite usar um hardware tolerante a falhas, voc pode tambm
Prof. Erivelton da Silva Rocha

precisar de um software tolerante a defeitos.

Existem duas abordagens para fornecer software


tolerante a defeitos.

14

Ambas as tcnicas foram derivadas do modelo de hardware em que componentes, ou sistemas, redundantes so includos e componentes
Prof. Erivelton da Silva Rocha

defeituosos podem ser desativados.

15

AS DUAS ABORDAGENS PARA TOLERNCIA A DEFEITOS DE SOFTWARE SO:


Programao Em N-Verses:

Usando uma especificao comum, o sistema de


Prof. Erivelton da Silva Rocha

software implementado em uma srie de verses por

diferentes equipes. Essas verses so executadas


paralelamente em computadores separados. Suas sadas so comparadas com a utilizao de um

sistema de votao, e sadas inconsistentes ou sadas


no produzidas em tempo, so rejeitadas.
16

No mnimo trs verses de sistema devem ser disponibilizadas de modo que duas verses sejam consideradas consistentes no evento de uma nica
Prof. Erivelton da Silva Rocha

falha. Essa a abordagem mais comum usada

para tolerncia a defeitos de software. Ela foi


usada em sistemas de sinalizao de ferrovias, em sistemas de aviao e em sistemas de proteo de reatores.

17

BLOCOS DE RECUPERAO:

Nessa abordagem, cada componente do programa inclui um teste para verificar se componente foi executado com sucesso. Tambm inclui um cdigo alternativo que permite ao
Prof. Erivelton da Silva Rocha

sistema fazer uma cpia e repetir o processamento se o teste detectar uma falha.

As implementaes so, deliberadamente, interpretaes diferentes da mesma especificao. Elas so mais

executadas em seqncia do que em paralelo.

18

Dessa maneira, o hardware replicado no necessrio. Na programao em n-verses, as

implementaes podem ser diferentes, mas no


incomum que duas ou mais equipes escolham o mesmo algoritmo para implementar a
Prof. Erivelton da Silva Rocha

especificao.

19