You are on page 1of 53

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 1

CONFIABILIDADE DE SISTEMAS DIGITAIS

Prof. Bencio Jos de Souza

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 2

Contedo:
I. Conceitos Fundamentais
.QUALIDADE/CONFIABILIDADE/DISPONIBILIDADE
.NVEIS DE UM SISTEMA DIGITAL
.CICLO DE VIDA DE UM SISTEMA
.CONTROLE DE QUALIDADE
II. Falhas e suas manifestaes
.MANIFESTAO DAS FALHAS
.DISTRIBUIES DAS FALHAS
III. Tcnicas de Confiabilidade
.PREVENO DAS FALHAS
.TCNICAS DE DETECO DE FALHAS
.CONFIABILIDADE DE SISTEMAS
IV. Tcnicas de Disponibilidade
.MASCARAMENTO DAS FALHAS
.REDUNDNCIA DINMICA
V. Tcnicas de Manutenibilidade/Testabilidade
.PRODUO
.TESTES DE ACEITAO
.TESTABILIDADE
VI. Confiabilidade do Software
.MODELAGEM DA CONFIABILIDADE DO SOFTWARE
.SOFTWARE TOLERANTE A FALHAS
REFERNCIAS:
[1] OConnor, Patrick D.T. - Practical Reliability Engineering
John Wiley, 1994 terceira edio.
[2] Daniel P. Siewiorek; Robert S. Swarz-"Reliable Computer Design"
Digital Press,1992
[3] Musa, J. D., Iannino A. Okumoto, K. Software Reliability Measurement, Prediction, Aplication - McGraw-Hill , 1987
[3] Hoang Pham - "Software Reliability"
Spring-Verlag, 2000

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 3

I. CONCEITOS FUNDAMENTAIS
QUALIDADE POR PROJETO
1.1- QUALIDADE :Totalidade das caractersticas e atributos de um produto ou
servio, responsveis pela satisfao das necessidades especificadas ou implcitas
do momento e do futuro.(ANSI/ASQC).
1.2- NIVEIS DE COMPETNCIA NA PRODUO :
N1-Problemas so encontrados. O otimismo permite que muitos deles possam ser
propagados. Um grande nmero deles terminam como problemas no campo.
N2-Problemas so encontrados. O Controle da Qualidade usado para diagnosticar e corrigir a raiz dos problemas. Essa informao realimentada no incio da
cadeia produtiva de modo que os mesmos problemas no reapaream.
N3-Problemas so prevenidos. Problemas potenciais e suas razes so identificadas antes da ocorrncia. Otimizaes posicionam o projeto o mais longe possvel
de todos os problemas potenciais. Essa informao alimentada no incio da cadeia produtiva a fim de assegurar que o problema no seja introduzido.
USA/Japo
1970/

? = problemas

?
PROJETO

FABRICAO

OPERAO

?
???

1980/

? = problemas

?
PROJETO

FABRICAO

OPERAO
?

C.Q.

1990/1980

PROJETO

FABRICAO

OPERAO

REF. Don Clausing ; Bruce H. Simpson-"QUALITY BY DESIGN"


Quality Progress jan. 1990

CONFIABILIDADE DE SISTEMAS DIGITAIS


1.3- MUDANAS DE ATITUDE
velha
Soluo de problemas
Quantificao da confiabilidade
Automao do desperdcio

prof. B. J. Souza 4

nova
Preveno de problemas
reduo da "inconfiabilidade"
Eliminao do desperdcio

.Pensar em termos de como se pode projetar ou fabricar melhores produtos, no


apenas resolver problemas ou evit-los.
.Enfocar "o que vai bem" e no "o que vai mal".
.Empregar "Anlise de modos e efeitos dos sucessos" em lugar de "anlise dos
modos e efeitos das falhas, ou "Anlise de rvore de sucesso em lugar de "Anlise de rvore de falhas".
.Definir os requisitos do cliente/consumidor e fornecer um pouco mais, no s
exatamente o solicitado ou o que competitivo.
.Otimizar os resultados ou atributos desejados, no somente incorpor-los.
.Minimizar o custo total(custo de propriedade) sem comprometimento da qualidade, e no apenas realizar estudos de custo/desempenho.
DIFERENTES NFASES DO CONTROLE DE QUALIDADE
% correes

N3

-24
+3

PROJETO

N1, N2

FABRICAO

OPERAO

ms
Exerccio:
O grfico acima esquematiza a porcentagem de correes efetuadas durante o
desenvolvimento de um produto. Uma das curvas tpica do nvel N3 e a outra
dos nveis N1 e N2. Comparar as caractersticas desses nveis de competncia.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 5

1.4- ASPECTOS DA PRODUO

PREVENO DE PROBLEMAS

ENGENHARIA DA QUALIDADE

QFD

JIT

.Engenharia da Qualidade- Otimizao das funes crticas do processo de produo de modo a satisfazer tanto quanto possvel os valores mais desejados pelo
cliente, e ainda a minimizao do custo total.
.Propagao da funo qualidade-(QFD-Quality Function Deployment)
Maneiras sistemticas de auxilio na identificao dos requisitos do cliente e sua
propagao em todas as reas da empresa, permanecendo sempre fiel s necessidades do cliente. O QFD auxilia a identificao dos parmetros crticos que devem ser otimizados pela Engenharia da Qualidade.
.Fabricao acionada pela encomenda-(JIT-Just In Time)
A fabricao "puxada pela encomenda ou demanda" ao invs de "empurrada
pela fbrica".
O JIT necessita de boa qualidade dos produtos para poder funcionar.
O JIT no "entrega em tempo". Tenta eliminar os estoques de reposio, no
funcionando, portanto para produtos de baixa qualidade.
.Estgios da produo

PROPAGAO DOS REQUISITOS

ESTABELECIMENTO DO MELHOR PROJETO


VERIFICAO DO PROJETO
VALIDAO DO PROJETO
VALIDAO DOS PROCESSOS DE PRODUO

CURVA DE APRENDIZADO COMPLETA

DESENVOLVIMENTO

PRODUO

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 6

2- CONFIABILIDADE
2.1- CONCEITOS
CONFIABILIDADE -Medida da capacidade de um item desempenhar uma funo
requerida sob condies preestabelecidas por um determinado perodo de tempo.(ISO-8402).
MTTF-"Mean Time To Failure"-Tempo mdio (ou Tempo Esperado) para o item
falhar.
MANUTENIBILIDADE -Medida da facilidade(menor custo) com que um item reparado.
MTTR-"Mean Time To Repair"-Tempo mdio de reparo.
DISPONIBILIDADE -Frao do tempo em que o item est operacional.
MTBF-"Mean
Time
Between
Failures"-Tempo
mdio
entre
falhas.
MTBF=MTTF+MTTR
A=MTTF/MTBF (disponibilidade assinttica)
TOLERNCIA A FALHAS -Capacidade de execuo correta de um algoritmo na
presena de falhas ou defeitos.
2.2 - CUSTOS:

.CUSTO TOTAL PARA OPERAO DO SISTEMA DURANTE n ANOS.


n

C=I+

Si Pi

(1 + D )
i =1

I=Custo de Aquisio
Si=Custo da i-sima manuteno anual
i

D=Taxa de desconto anual


Pi=nmero de falhas esperadas no ano

OBS.- Esse modelo no considera a perda por falta de qualidade. Na realidade o


custo sempre decrescente com o aumento da qualidade.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 7

2.3 CICLO DE VIDA DE UM SISTEMA


FONTES DE ERROS

TCNICAS DE DETECO

Especificao
e projeto

Projeto do algoritmo .
Especificaes formais

Simulao
Verificao da consistncia

Prottipo
lo/resposta

Projeto do algoritmo .

ESTGIO

Teste

de

estmu-

Fiao e montagem
"Timing"
Falha de componente
Fiao e montagem .
Falha de componente

Teste de sistema ,("Burn-In")


Diagnsticos

Instalao

Montagens .
Falha de componente

Teste de sistema
Diagnsticos

Operao

Falha de componente .
Erros operacionais
Flutuaes ambientais

Diagnsticos

Fabricao

2.4- ESTGIO DE FABRICAO DO HARDWARE


INSPEO DE
COMPONENTES

FABRICAO DE
CARTES C.I.

MONTAGEM

MONTAGEM

TESTE DOS

PAINIS

CARTES C.I.

CARTES C.I.

TESTE DE

INSPEO E
TESTE DOS
CARTES C.I.

PAINIS

MONTAGEM DO
SISTEMA

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 8

TESTE DE MATURIDADE DO PROJETO (DMT)Estimativa do MTTF de um novo produto antes da fabricao em serie.("RUNIN").
Procedimento:
(a)-Operar um conjunto de amostras das partes em teste por um perodo prolongado de tempo(6 a 8 unidades por 2 a 4 meses) em condies que simulam o
ambiente de operao no campo.
(b)-Observar, registrar e classificar as falhas de acordo com fatores do tipo: modo, tempo, causa ambiental. As falhas similares so agrupadas com freqncia de
ocorrncia decrescente.
(c)-Investigar e corrigir as causas das falhas.
(d)-Avaliar o MTTF. ( 0=MTTF desejado)
(e)-Continuar o procedimento at que o MTTF atinja o valor 0 .
ESTGIO DE FABRICAO DO SOFTWARE
O software de um equipamento construdo utilizando-se algum modelo de
CICLO DE VIDA estudado na Engenharia de Software, como por exemplo, o modelo clssico CASCATA, PROTOTIPAO, ESPIRAL, UNIFICADO, etc..
Em geral esses modelos no estipulam mtodo de avaliao quantitativa da confiabilidade do software. Do ponto de vista qualitativo o processo de produo do
software no difere conceitualmente do processo do hardware nos estgios de
projeto. Desse modo, o controle de qualidade do software representado pelos
diversos procedimentos de avaliao estabelecidos para os estgios do ciclo de
vida.
Exemplo: MODELO ESPIRAL

PLANEJAMENTO

ANLISE DOS RISCOS

AVALIAO DO CLIENTE

ENGENHARIA

Exerccio: Identificar no modelo espiral de desenvolvimento do software os aspectos relacionados com o controle de qualidade. Detalhar o modelo antes disso.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 9

2.5 PRINCPIO DO CRESCIMENTO DA CONFIABILIDADE


( "Reliability Growth")
A confiabilidade de um produto cresce medida que seu projeto corrigido e o
processo de fabricao aperfeioado.
No caso do hardware, existe um limite mximo de confiabilidade (MTTF potencial). Esse valor teoricamente atingido quando restarem apenas falhas ocasionadas por erros de projeto e portanto restam apenas as possveis falhas de componentes.

Modelos de Crescimento da Confiabilidade:


. Modelo de Duane
E(F)=T
Com base na curva de crescimento de confiabilidade de um determinado produto
podem ser estabelecidas trs regies:
R: Se uma unidade falhar em um tempo menor que Tr, esta rejeitada.
T: Se uma unidade falhar aps Tr, esta reparada e o teste continua.
A: Se uma unidade sobreviver ao teste durante um tempo maior que Tn , esta
aceita.
Risco do Consumidor-Probabilidade do MTTF<0 e unidade aceita.
Risco do Produtor-Probabilidade do MTTF>0 e unidade rejeitada.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 10

2.6 INSPEO DE COMPONENTES


Pr-seleo de componentes ("screening") antes da montagem das placas.
Kb: custo da substituio de um componente a nvel de placa
Ks: custo de substituio de um componente a nvel de sistema
Kf: custo de substituio de um componente no campo
Estima-se que: Kf=10Ks e Ks=10Kb
Custo X1000$
1000

4%
2%
1.2%
0.8%
%
componentes
defeituosos

100
custo do
equipamento automtico
de teste
10
10

100

1000

Nmero de componentes utilizados anualmente

ECONOMIA DA PRE-SELEO DE COMPONENTES


Exerccio
-Discutir os aspectos ligados confiabilidade na produo de um software
"ndustrial".
Esquematizar um ciclo de vida do software
Quais as principais semelhanas e diferenas no controle de qualidade com
relao ao hardware.
Que significado poderia ser dado ao MTTF e MTTR no caso do software.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 11

II. FALHAS E SUAS MANIFESTAES


1.DEFINIES
1.1- FALHA (1) :Modificao em um componente fsico provocada por processo
de degradao interna ou por ao do ambiente.("FAILURE").
FALHA (2) :Estado errneo do hardware ou software resultado de falhas em componentes, interferncia fsica do ambiente, engano do operador ou projeto incorreto.("FAULT").
1.2- DEFEITO :Caracterstica( ou parmetro) de um componente fsico, ou de um
algoritmo, produzida fora de especificao.
1.3- ERRO :Resultado incorreto produzido por um sistema.
1.4- CATEGORIAS DE FALHAS OU ERROS
. PERMANENTE(HARD) :Falha ou erro de manifestao contnua , estvel e irreversvel.
. INTERMITENTE :Falha ou erro ocasional decorrente de instabilidades de componentes fsicos ou defeitos nos algoritmos.
. TRANSITRIA (SOFT) :Falha ou erro ocasional decorrente de modificaes
temporrias de condies ambientais.(ex. Interferncia Eletromagntica).
1.5- FONTES DE ERROS

ERROS TPICOS

.Falhas permanentes
.Falhas intermitentes
.Falhas transitrias
.Defeitos de projeto

.Permanente
.Intermitente
.Transitrio
.Intermitente

TAXA OCORRNCIA

Em um sistema predominam as falhas transitrias do hardware somadas com as


falhas provocadas por defeitos no software. A fonte das falhas de software classificada como Defeito de projeto.
Esses dois tipos de falhas so os predominantes nos sistemas atuais.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 12

1.6- ORIGENS DOS DEFEITOS EM CIRCUITOS INTEGRADOS


.Decorrem dos processos de produo.
DEFEITO
STD(SSI,MSI,LSI)

% RELATIVA (CMOS) % RELATIVA (TTL)

.SUPERFCIE
(contaminao,material
estranho,...)
.CRISTAL
(imperfeies,
trincas,...)
.OXIDO
("pinholes",
defeito passivao,...)
.DIFUSO
(anomalia de difuso,
defeito de isolao,...)
.METALIZAO
(curto circuito,
circuito aberto,...)
.CIRCUITO DE E/S
("curtos","leakage"
excessivo,...)

38

16

32

14

51

1.7- FALHAS A NVEL LGICO (Modos de falha)


.Falhas nos CIs observadas a nvel de "pinos", ocasionadas plos defeitos internos.
-"STUCK-AT" ou "GRAMPEADO":Valores lgicos nos pinos, ou trilhas, permanentemente em "0" ou "1".
-"CURTO":Duas ou mais linhas fisicamente em curto-circuito. Esse tipo de falha
tambm decorrente de defeitos nas placas de circuito impresso, conectores , cabos, etc..
-"ABERTO"-Idem, em circuito aberto.
-"RUIDOSO"-Linha com nvel lgico instvel.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 13

2. DISTRIBUIES DAS FALHAS DE COMPONENTES


2.1- FUNO CONFIABILIDADE :
R(t)- Probabilidade de um componente no falhar no intervalo de tempo de 0 a
t.
F(t)=1-R(t)
f(t)=dF(t)/dt
das falhas
(t)=f(t)/R(t)

.Distribuio da ocorrncia das falhas


.Densidade de probabilidades da distribuio de ocorrncia
.Taxa instantnea de falhas

TAXA DE FALHAS TPICA DE UM COMPONENTE ELETRNICO


("CURVA DA BANHEIRA")

: taxa de falhas
perodo de mortalidade infantil
perodo
de
envelhecimento
perodo de vida
normal

tempo

2.2- COMPORTAMENTO NO PERODO DE VIDA NORMAL


(t) aproximadamente constante=
R(t)=exp(-t)
exponencial)
MTTF= 1/

F(t)=1-exp(t)

f(t)=exp(-t)

(d.p.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 14

2.3- COMPOSICAO DA TAXA DE FALHAS (PERIODO DE VIDA NORMAL)


.MODELO MIL-HDBK-217
=L Q (C1T+C2E)

( circuito integrado lgica digital, memria)

=L Q (cyc+C1T+C2E)

( memria EEPROM)

=bEAQ...

(componente discreto)

O valor de calculado por essa frmula em falhas/106horas


FATOR

FAIXA

L "Learning factor"
(baseado na maturidade do
processo de fabricao)

1:10

Q "Quality factor"
(baseado no processo de
inspeo e C.Q)
T "Temperature factor"
(baseado na temperatura de
operao e tipo de CI)

1:150
0.1:1000

E "Enviromental factor"
(baseado no ambiente
de operao)

0.2:10

C1 ,C2 "Complexity factors"


(baseado no encapsulamento, numero de "gates" equivalentes, numero de pinos, numero de bits,etc.)
L - FATOR DE APRENDIZADO
O fator de aprendizado 10 , nas seguintes condies:
(a)-componente novo em produo inicial.
(b)-ocorreram muitas mudanas de projeto.
(c)-interrupo prolongada da produo.
caso contrario, uma vez estabilizado o processo de produo L
Q - FATOR DE QUALIDADE :
.-Definido por classe de componente:
Q
SBB1B2CD-

classe
classe
classe
classe
classe
classe

A, militar norma MIL-38510


B, militar MIL-35810
B, militar norma MIL-883
B- no militar (idem)
C militar norma MIL-38510
D comercial

E -.Solicitao ambiental mecnica


GB
SF

-Imvel ameno(escritrio)
-Orbital(satelite)

0.2
0.2

1
2
5
10
16
150

vale 1.

CONFIABILIDADE DE SISTEMAS DIGITAIS


GF
GM
NS
NU
AI
AU
ML
T

-Imovel fixo
-Portatil
-Naval(encapsulado)
-Naval-superficie
-Aereo- habitado
-Aereo no habitado
-Missil-lanamento

prof. B. J. Souza 15

1.0
4.0
4.0
5.0
4.0
6.0
10.0

-Solicitao por temperatura (CI silcio)

EA 1
1

= 0.1exp
K
T
298
J

MODELO DE ARRHENIUS
Leva em conta o fator de velocidade de reao qumica em funo da temperatura de juno.
MTTF1=MTTF2 exp{

EA 1 1
( )}
K T1 T2

MTTF1 = MTTF a temperatura T1


MTTF2 = MTTF a temperatura T2
EA = Energia de ativao (eV)
K=8.617x10-5 eV/0K Constante de Boltzman
-FATOR DE ACELERAO
F=1/2 exp{

EA 1 1
( )}
K T1 T2

ENERGIA DE ATIVAO
Valor caracterstico do tipo de material do CI.
EA
TTL,DTL,ECL
0.40
MOS, VHSIC CMOS 0.35
0.6
I2L
GaAs
1.4
TEMPERATURA DE JUNO
TJ=TA+Icc.Vcc.Af.JA
TJ=Temperatura de juno
TA=Temperatura ambiente
Vcc=Tenso de alimentao
Icc=Corrente de alimentao
Af=Fator de ventilao (com ventilador=0.75 sem ventilador=1.0)
JA=resistncia trmica da pastilha (0K/W)
FATOR DE COMPLEXIDADE C1
Depende do nmero de Gates equivalente (tamanho do circuito).
Exemplos (MIL-217-F Notice 1)

CONFIABILIDADE DE SISTEMAS DIGITAIS

Tipo
SSI,MSI,LSI (TTL,ECL)
PLA/PAL

SSI, MSI (MOS)


PLA/PAL (MOS)
Microprocessador MOS

ROM
EEPROM
DRAM
SRRAM

prof. B. J. Souza 16

Nmero de Gates
1 a 100
101 a 1000
1 a 200
201 a 1000
1001 a 5000
1 a 100
101 a 1000
1 a 500
501 a 2000
8 bits
16 bits
32 bits
At 16K bits
64K a 256K bits
256K a 1M bits
256K a 1M bits

C1
0.0025
0.005
0.010
0.21
0.42
0.010
0.020
0.00085
0.0017
0.060
0.28
0.56
0.00065
0.0034
0.010
0.062

FATOR DE COMPLEXIDADE C2
Depende do tipo de encapsulamento e nmero de pinos.
Exemplos (MIL-217-F Notice 1) todos com encapsulamento de cermica quando
aplicvel. NP o nmero de pinos.
C2 = 2.8 10 4 ( N P )1.08
Hermticos DIP, PGA, SMT
DIP Glass Seal
C 2 = 9.0 10 5 ( N P )1.51
EXEMPLO :

CI
bipolar
0.115

Resistor
fixo
.0015
0.096
Capacitor
fixo
.003
0.144

: (10-6falhas/hora
E

C1

6.0

5.0

1.0

1.9

0.006 0.002

8.0

5.0

24.0

1.0

C2

cv

1.6
2.0

- TAXA DE FALHAS DE UMA PLACA :METODO DE CONTAGEM DE COMPONENTES


-Soma dos s dos componentes. Os valores so tabelados nas normas utilizadas,
considerando-se os componentes nas mesmas condies.
METODO DE "STRESS"
-Soma dos s dos componentes, calculados um a um conforme as condies de
operao de cada componente na placa.
OUTROS COMPONENTES

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 17

:soquetes, conectores, furos metalizados, pontos de solda, etc. so contabilizados


conforme valores tabelados em normas, e adicionados taxa de falhas total da
placa.
ESTIMATIVAS DO MTTF (A partir de ensaio)
MTODO DE TESTE ACELERADO
m=MTTF vida mdia verdadeira (vida mdia da populao)
M=estimativa da vida mdia
N=nmero de tens ensaiados
T=durao do ensaio
h=NT horas de operao dos tens (nmero de horas equivalente de ensaio)
r=nmero de falhas observadas
=nvel de significncia
100(1-)%=nvel de confiana
Para distribuio de falhas exponencial e ensaio com reposio

m =

M=h/r

2r
M
( , 2r + 2)
2

Para ensaio sem reposio

m =

M=h/r

2r
M
(, 2r )
2

2(0.05,)

2(0.90,)

2(0.95,)

2
4
6
8
10
20

0.103
0.711
1.635
2.733
3.94
10.85

4.605
7.779
10.65
13.36
15.98
28.41

5.991
9.448
12.59
15.51
18.31
31.41

Exerccio:
Estimar o MTTF com nvel de confiana de 0.90 de um componente, a partir dos
seguintes dados de ensaios:
JA =100 0C/W (14 pinos,plstico)
Temperatura do ensaio=125 0C
Af=0.75
Icc=10mA,Vcc=5.0 V
MODO DE FALHA
M1:0.3eV
M2:0.5eV
M3:1.0eV

T=
r=
r=
r=
N=

ENSAIOS
48
168
6
1
8
6
6
1
40k
34k

500
1
3
2
6k

1000
0
1
1
5k

horas

Exerccio
Um carto de interface utiliza 20 CIs CMOS da famlia 74HC com as seguintes caractersticas:

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 18

Screening: classe B1, encapsulamento cermico, 16 pinos, potncia dissipada em


cada CI igual a 65mW, resistncia trmica juno/encapsulamento de 31 oC/W e
complexidades C1=0.020 e C2=0.010.
a) Calcular a taxa de falhas desse carto quando instalado em um trem em uma
gaveta com ventilao forada na qual a temperatura permanece em 32 oC.
b) Calcular a taxa de falhas desse carto quando instalado em um trem em uma
gaveta sem ventilao forada na qual a temperatura permanece em 52 oC.
III- TCNICAS DE CONFIABILIDADE
1.DEFINIES
1.1- CONFINAMENTO DE FALHA :Quando a falha ocorre desejvel limitar a abrangncia de seus efeitos. O confinamento da falha o mtodo de limitar o espalhamento dos efeitos da falha em uma determinada rea do sistema.
1.2- DETECO DE FALHAS : Muitas falhas provocam sintomas. A deteco um
mtodo de tornar observvel algum sintoma da falha.
1.3- MASCARAMENTO DE FALHAS : So tcnicas empregadas para esconder os
sintomas de uma falha.
1.4- RE-TENTATIVA("RETRY") :Em muitos casos tentar outra vez a operao de
um sistema pode ser bem sucedida. Isso ocorre, por exemplo, quando a falha
transitria.
1.5- RECONFIGURAO : Substituio de uma parte falha do sistema por uma
outra parte redundante. Pode ocorrer com ou sem degradao das funes do
sistema .
1.6- RECUPERAO : Processo de eliminao dos efeitos das falhas ou dos erros.
1.7- REINCIO("RESTART/RESET") :Recuperao a partir de um estado inicial
bem definido("frio"),ou de um estado intermedirio muito anterior("morno") ou
bem recente("quente").
1.8- REPARO : Substituio de componente falho e reincio bem sucedido(REINTEGRAO) do componente no sistema(em geral "frio"."cold start").
.CENARIO DE UM PROCESSO DE DETECO/REPARO
Falha
Falha

MTBF

MTTD

MTTR
DET.

DIAG. RECON

MTTF
REC.

REIN

MTBF: Tempo mdio entre falhas


MTTD: Tempo mdio para a deteco de falhas.
MTTF: Tempo esperado para a prxima falha, a partir do instante que o sistema
reiniciado.

CONFIABILIDADE DE SISTEMAS DIGITAIS


2. PREVENO DE FALHAS

prof. B. J. Souza 19

("FAULT-AVOIDANCE")

2.1- DEFINIO
:Conjunto de tcnicas destinadas a aumentar o Tempo Mdio
para Falhar (MTTF) de um sistema. So tcnicas que procuram maximizar o MTTF
dos componentes fsicos , minimizar o nmero de defeitos no projeto e proteger o
sistema da ao do ambiente.
2.2- MODELO MIL-217 :Otimizao de =L . Q (C1T +C2E )

L :
Utilizao de componentes com uma histria de uso bem conhecida.
Q :
Utilizao de componentes de melhor qualidade,inspeo de componentes e "burn-in" dos equipamentos.
C1,C2 :
Simplificao do projeto e otimizao da memria. A utilizao de
componentes de alta integrao(LSI,VLSI) tende a diminuir a taxa de falhas se
comparada com um sistema MSI de mesma complexidade.
Por exemplo: processador PDP-8 : [PDP-8(MSI)]=325x [PDP-8(LSI)]
Melhoria do ambiente do sistema.
-Filtros de Linha
-Blindagem eletromagntica
-Aterramentos
-Isolao(acoplamento ptico, fibra ptica,..)
-Amortecimento de vibraes
-Protees contra umidade e poluio

T : Diminuio da temperatura de operao do sistema. Em geral realizada


por remoo do ar aquecido por ventiladores. Em alguns casos por trocadores de
calor com fluido liquido(freon,p.ex).
Utilizando-se o fator de acelerao de Arrenhius observa-se que (40o)=3.0x
(30o)
(com EA =1.0 eV).
Uma regra que pode ser adotada a de que o MTTF quase dobra a cada 10o de
diminuio da temperatura de operao de um componente.
Por exemplo , valores simulados para um PDP-8 mostram que:
temperatura ambiente
(interna ao gabinete)
50o C( sem ventilao)
40o C(c/ventiladores)

MTTF
3555 h
5980 h

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 20

3. DETECO DE FALHAS
3.1- DEFINIO :Mecanismo pelo qual se observa a presena de uma falha ou
erro baseado em sintomas presentes nos sinais ou na informao fornecidos por
um componente.
- FATOR DE COBERTURA :Porcentagem de todas as falhas possveis de um componente detectveis pelo mecanismo.
- FALHAS DE MODO COMUM :Falhas simultneas em dois componentes duplicados que produzem erros idnticos.
3.2- MTODOS BASICOS PARA DETECO DE FALHAS
DUPLICAO/COMPARAO

y1
E1
x
y2

E2

0: y1=y2
d=
DETECTOR
1: y1~y2
CODIFICAO/VERIFICAO
X

CODIFICADOR

Xc

DECODIFICADOR

0: Xc cdigo
d=
1: Xc no cdigo

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 21

4.CDIGOS PARA DETECO DE ERROS


4.1- DEFINIES :
.Dada uma palavra de n bits, com k bits de informao e r bits de redundncia
(n=k+r) pode-se construir um conjunto de 2k palavras que constitui um cdigo
de redundncia k/n.
U(x): Nmero de 1s em uma palavra x
Z(x): Nmero de zeros em uma palavra x
.d(x1,x2) : Distncia Hamming entre x1 e x2 d(x1,x2)=U(x1x2)
.Cdigos Separados: Quando os r bits redundantes podem ser identificados.
.Cdigos No-Separados:(caso contrrio)
4.2- CDIGOS M de N:
.So cdigos No-Separados nos quais devem comparecer exatamente M 1s em
uma palavra de N bits.
4.3- CDIGOS DE PARIDADE: ("HORIZONTAL")
.As palavras so subdivididas em campos C de n bits. Para cada campo acrescentado um bit de paridade p cujo valor definido por:
U(C)=impar[par] p=1
paridade PAR[IMPAR]
U(C)=par[impar] p=0
.TCNICAS UTILIZADAS:
ESQUEMA
(a).Bit por palavra
(b).bit por byte
byte
(c).Entrelaado
campo
(d).Por pastilha

COBERTURA
.todos
.todos
.todos
.todos

erros de 1 bit
erros de nmero impar de bits
erros de 1 bit
erros com nmero impar de bits por

.todos erros de 1 bit


.todos erros de nmero impar de bits por
.grande nmero de erros mltiplos adjacentes
.(idem entrelaado)

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 22

.PRINCIPAIS APLICAES:
-Paridade em memrias(RAM e PROM)
-Paridade em vias paralelas (Dados, Endereos e Controle)
-Paridade em comunicao serial (ex. USART)
4.4- CDIGOS ARITMTICOS:
.So cdigos A(x) tais que A(x*y)=A(x)*A(y). Onde * uma operao aritmtica
e x,y so palavras no codificadas.
Dois exemplos deste tipo de cdigo so:
. AN : Os cdigos so gerados muliplicando-se o operando (N) por um mdulo (A)
no potncia de 2. um cdigo do tipo No-Separado.
Na verificao so corretos os casos em que o resultado divisvel por N.
. RESIDUO: So cdigos Separados onde o campo de verificao R(N) calculado
por R(N)=N mod m. A verificao pode ser efetuada por comparao.
4.5- CDIGOS CCLICOS (CRC):So geralmente empregados em comunicao
serial(por exemplo em controladores de disco magntico). Na forma Separada,
blocos de comprimento fixo("frames") so transmitidos seguidos por um campo
que contem o resto da diviso do "frame" por um polinmio gerador. Na recepo
a verificao efetuada pela diviso do "frame" e resto pelo mesmo polinmio
gerador.
Se T(x)=F(x)+xkR(x) ento T(x) G(x) =constante
R(x)= resto da diviso de F(x) por G(x)
A cobertura deste tipo de cdigo depende do polinmio gerador(grau r). Os mais
comuns so os CRC-32 que utilizam r=32. Em geral permite a deteco de:
-Qualquer nmero de erros em bits adjacentes de comprimento :r
-Qualquer nmero impar de bits errados
-A probabilidade de no detectar erro de um bit qualquer menor ou igual a :2-r
.

5.OUTROS MTODOS DE DETECO


5.1- PARIDADE("VERTICAL") :Para cada bloco de comprimento b palavras( de n
bits) de valor constante, includa uma palavra de verificao(n bits) igual somatria mdulo2 de todas as palavras do bloco. Inclui os bits de paridade "horizontal" se existirem. A verificao efetuada recalculando-se a somatria e comparando-se o resultado com a palavra de paridade "vertical".
Este esquema mais utilizado em memrias tipo PROM ou "mask-ROM", com a
verificao realizada periodicamente pelo software.
5.2- "CHECKSUMS" :So esquemas semelhantes paridade vertical, com o uso
de somatria aritmtica,desprezando o "vai-um". empregado em memrias tipo
PROM, na movimentao de blocos de dados entre memrias RAM ou em comunicao paralela.
5.3- "WATCHDOG TIMERS / TIME-OUT" : Os WDTs so "Timers" que provocam
interrupes no mascarveis se no forem desativados periodicamente pela
UCP. So utilizados para verificar padres temporais de execuo de um software.
O "Time-Out" um esquema mais utilizado em protocolos de comunicao para
evitar esperas indefinidas de mensagens. So implementados geralmente pela
programao de um relgio de tempo real(despertador).

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 23

.Exerccios:
-Projetar um circuito de gerao e verificao que exemplifique cada uma das
formas de codificao dos itens 4.2 a 4.5.
- Esquematizar o projeto(software e hardware) de um WDT para um microprocessador, com intervalo de interrupes programvel. Sugerir um critrio para
desativao do WDT que verifique o funcionamento da UCP.

6. CONFIABILIDADE DE SISTEMAS
.Modelos de Redes de Confiabilidade
REPRESENTAO: Os NS representam elementos de um sistema que falham
(e/ou so reparados) de forma estatisticamente independente dos demais. Os
RAMOS representam uma lgica de dependncia funcional entre os elementos.
E1

(x1)
E3

E2

(x3)

(x2)

MODELO PROBABILSTICO: Xn=<x1,x2,...,xN> representa os possveis estados


ocupados pelo sistema. A cada elemento associa-se uma varivel aleatria binria
xi , com a seguinte conveno:
xi =0 Elemento Ei normal.
xi =1 Elemento Ei falho.
p{Ei normal}=p{xi =0}=pi p{Ei falho}=p{xi =1}=1-pi =qi
Os eventos nesse espao de estados so representados por funes f(X) que renem os estados nos quais o sistema considerado normal [f(X)=0] ou falho
[f(X)=1]. Esses eventos so necessariamente disjuntos e coletivamente exaustivos .
exemplo:
Estados Xn
n
0
1
2
3
4
5
6
7

Sistema
x1
0
0
0
0
1
1
1
1

x2
0
0
1
1
0
0
1
1

x3
0
1
0
1
0
1
0
1

f(X)
0:normal
1:falho
0:normal
1:falho
0:normal
1:falho
1:falho
1:falho

Probabilidades (As variveis xi so independentes)


p1p2p3
p1p2q3
p1q2p3
p1q2q3
q1p2p3
q1p2q3
q1q2p3
q1q2q3

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 24

p{sistema normal}=p{f(X)=0}=p1p2p3+p1q2p3+q1p2p3=(p1+p2-p1p2)p3

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 25

FUNO CONFIABILIDADE R(t): A funo confiabilidade de um elemento Ei a


probabilidade deste elemento manter-se operando normalmente, sem nenhuma
falha, no intervalo de tempo [0,t].
A confiabilidade de uma rede de elementos dada por:
R(t)=p{f(X(t)=0}
substituindo-se pi por Ri(t).
No exemplo anterior R(t)=[R1(t)+R2(t)-R1(t)R2(t)]R3(t)
TEMPO MDIO PARA FALHAR-MTTF :

MTTF = R(t )dt


0
No caso de sistemas eletrnicos em geral , adota-se o modelo de taxa de falhas
constante , de modo que a confiabilidade dada por:

R(t ) = e t
DISTRIBUIO DAS FALHAS- F(t) : a probabilidade de um elemento falhar pelo
menos uma vez no intervalo de tempo [0,t).
F(t)=1-R(t)

F (t ) = 1 e t

f(t)= (d /dt)F(t) : densidade de probabilidades de F(t)

f (t ) = e t

(t)=f(t)/R(t)
a funo taxa de falhas [ou "hazard function" h(t) ]. Representa a probabilidade de um elemento falhar no intervalo de tempo t,t+dt dado que
o elemento tem operado normalmente no intervalo 0,t.
No caso de componente eletrnico com constante significa que essa probabilidade no depente de t, ou seja, o componente no tem memria de sua vida.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 26

DISTRIBUIO DE POISSON
Supor que um componente tenha taxa de falhas constante , portanto no tem
memria, e quando este componente falhar seja substitudo por outro novo e
idntico em um tempo de reparo desprezvel em relao ao MTTF do componente. Nessas condies pode-se modelar uma sucesso de falhas como se fosse
uma repetio de falhas de um nico componente que fosse recuperado instantaneamente.
A probabilidade de ocorrer k falhas em um perodo de tempo t representada
por uma distribuio de Poisson da varivel aleatria k.

( t ) k e t
P(k ) =
k!
E (k ) = t valor esperado do nmero de falhas em um perodo de tempo t.

2 ( k ) = t

Varincia de k.

CLCULO DE R(t) DE REDES:


ELEMENTOS EM SERIE:
E1

E2

En

R(t ) = Ri (t )
i =1

ELEMENTOS EM PARALELO:
E1

E2

En
n

R (t ) = 1 (1 Ri (t ))
i =1

SISTEMAS k/n: So sistemas constitudos por n elementos em paralelo que exigem pelo menos k elementos funcionando para que o sistema funcione.
Quando os todos os elementos so idnticos, com confiabilidade R(t), a confiabilidade do sistema dada por:

Rs (t ) =

nk

Cn, i R n i (1 R)i

i =0

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 27

Exerccios:
a) Qual o nmero esperado de falhas de um sistema com MTTF=10000 horas em
um perodo de 5 anos?
c)Calcular o MTTF e a probabilidade de sobrevivncia por 1 ano do sistema ele1=2=3=10-3 f/h

trnico representado no modelo abaixo.


-5
4=10
f/h
E1

E2

E4

E3

b) Supor um sistema paralelo com n elementos idnticos cada um com confiabilidade R. Construir os grfico da confiabilidade Rp do sistema em funo do tempo
e em funo de R para n=1,2 e 3. Analisar o comportamento de Rp conforme se
aumenta o valor de n.
d)Calcular a confiabilidade Rs(t) de um sistema 2/3, onde cada unidade tem uma
confiabilidade R(t)=e-.t
e) Um sistema de controle tem uma arquitetura esquematizada no diagrama abaixo.
Os sensores so redundantes , os processadores so redundantes e os atuadores
no so duplicados.
e1) Supondo-se que a manuteno desse sistema somente possa ser realizada
diariamente a partir de zero horas, qual a probabilidade desse sistema sobreviver
por um dia de operao.
e2) Calcular o MTTF do sistema.
Barramento de sistema

Processador A
MTTF=50000h
Sensores A
MTTF=25000h

Sensores B
MTTF=25000h

Processador B
MTTF=50000h
Atuadores
MTTF=30000h

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 28

7. MASCARAMENTO DE FALHAS
7.1- DEFINIO: So tcnicas que, por meio de redundncias adicionadas a nvel lgico ou em nvel de mdulos ou nvel de sistema, permitem que determinados modos de falhas internas no provoquem erros na sada. O objetivo dessas
tcnicas diminuir a taxa de erros e no a taxa de falhas .
Utilizam-se duas tcnicas bsicas:
.Redundncia N-modular:
Quando a redundncia adicionada nos componentes.
.Correo de erros:
Quando a redundncia adicionada na informao, de modo que os erros produzidos pelas falhas possam ser corrigidos antes de atingir a sada.
Nos dois casos, os circuitos podem ou no realizar a deteco da falha.
7.2- REDUNDNCIA N-MODULAR:
Neste caso, N mdulos funcionalmente idnticos realizam simultaneamente a
mesma operao. Os resultados produzidos so votados e o "melhor" deles colocado na sada. O esquema mais comum o que utiliza 3 mdulos idnticos, e
utiliza um votador de maioria(2 em 3) para escolher o valor da sada. Esse mtodo denominado Redundncia Modular Triplicada(TMR-"Triple Modular Redundancy").

y1
M1

y2
M2

y
VOTADOR

y3
M3
y=maioria(y1,y2,y3)
y1y2y3f(x)
maioria(y1,y2,y3)=(y1 e y2) ou (y1 e y3) ou(y2 e y3)

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 29

CONFIABILIDADE DO SISTEMA TMR:


R: Confiabilidade de um mdulo
Rv : Confiabilidade do Votador
Considera-se uma rede do tipo 2/3 em serie com o votador:
RTMR =Rv (3R2 -2R3 )
Exerccio
Supondo-se que cada mdulo de um sistema TMR tenha uma taxa de falhas constante igual a , e o votador tenha uma taxa de falhas constante v , calcular:
(a) a confiabilidade do sistema RTMR(t)
(b) o valor do MTTF do sistema TMR .
(c)Comparar o MTTF do TMR com o MTTF de um sistema (simplex) constitudo
por um nico mdulo.
(d)Por quanto tempo o sistema TMR apresentar uma taxa de erros menor que o
sistema simplex?
(a) RTMR(t)=e-v t (3e-2t -2e-3t )

(b) MTTF =

3
2

v + 2 v + 3

(c) Se v <<

ento

MTTF(TMR)=5/6=(5/6)MTTFsimplex

(d)Supor v=k
Calcular t1 onde RTMR =Rsimplex .Para t<t1 o TMR "melhor" e para t>t1 o
TMR "pior". Resolver graficamente para alguns valores de k.

7.3- CORREO DE ERROS


Para a correo de erros so utilizados cdigos com redundncia suficiente para a
correo de t erros e ainda a deteco de p erros.Sendo d a distncia do cdigo tem-se: (2t+p+1)=d
A classe mais importante a que utiliza cdigos de correo lineares .So cdigos separados (n,k) onde se acrescenta k bits de paridade aos (n-k) bits de
informao.Esses cdigos podem ser descritos por uma matriz geradora G e uma
matriz de decodificao H.
O vetor d com n-k bits de dados transformado no vetor x com n bits de modo que:
x=dG
(1,n) (1,n-k) ( n-k,n)
O vetor x decodificado de modo que:
Hx=s
(n-k,n) (n,1) (n-k,1)
O vetor s denominado sndrome. Em geral H definida de forma que s=0
indica x correto e s 0 indica os bits de x a serem corrigidos.
Exemplo: cdigo (n=7,k=3) 3 bits de paridade,4 bits de dados
<x1,x2,x3,x4,x5,x6,x7>=<d1,d2,d3,d4,p1,p2,p3>
p3=d1d2d4
p1=d1d2d3 p2=d2d3d4

CONFIABILIDADE DE SISTEMAS DIGITAIS

G=

1
0
0
0

0
1
0
0

0
0
1
0

0
0
0
1

1
1
1
0

0
1
1
1

1
1
0
1

Exemplo: cdigo (n=7,k=3)


d1
d2
d3
d4
H=

1
1
0

1
0
1

prof. B. J. Souza 30

1
1
1

0
1
1

p1
1
0
0

p2

p3

0
1
0

0
0
1

Neste exemplo, s=<s1,s2,s3> quando diferente de 0, indica o nmero do bit a


ser corrigido(caso x contenha um nico erro).s=<0,1,1> por exemplo, indica
que o bit d4 deve ser corrigido, uma vez que <0,1,1> a coluna d4 da matriz
H.
APLICAO:
Os cdigos de correo de erros lineares so aplicados principalmente nos sistemas de memrias RAM ECC. As memrias representam os maiores contribuintes
para a taxa de falhas de um computador. Alguns dados de falhas so apresentados abaixo.
TAXA DE ERROS X DENSIDADE DA MEMORIA
Densidade(bits/pastilha)
Taxa tpica(% por 1000horas)
"Soft"
"Hard"
1k
0.001
0.0001
4k
0.02
0.002
16k
0.10
0.011
64k
0.13
0.016
CONFIABILIDADE DA
Tipo de Erro
Simples "soft"(corrigvel)
Simples "hard"(corrigvel)
Duplo "soft"
Duplo "hard"

MEMORIA
MTTF(16Mbyte- pastilhas de 64k bits)
13.5 dias
109.7 dias
864 dias
7021 dias

(ref. Electronic Design-setembro 1980) (Dados antigos. A confiabilidade melhorou muito)


SISTEMAS DE MEMORIA COM CORREO/DETECO DE ERROS
(SEC/DED-"Single Error Correction/Double Error Detection)
Esses sistemas utilizam pastilhas de suporte,como por exemplo
AM2960,DP8400(National),etc.compatveis com expanses da memria.

Exerccio:
-Projetar um sistema de memria de 1Mbyte de dados, para um microcomputador, que utilize o esquema SEC/DED.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 31

7.4- VOTADORES(NIVEL LOGICO) :


So circuitos lgicos que realizam a votao de maioria "bit a bit". Podem ser
no-sincronizados ou sincronizados.
7.5- MASCARAMENTO DE FALHAS A NIVEL LOGICO
Conjunto de tcnicas a nvel lgico(interno s pastilhas LSI,VLSI principalmente)que utilizam cdigos corretores de erros e/ou redundncias lgicas para diminuir a taxa de erros do componente.
Em geral as falhas a serem mascaradas so do tipo "grampeadas" em 0 ou 1.
Em um tipo de tcnica, denominada lgica "interwoven"("inter-fiada"), o circuito
organizado em estgios, de modo que as falhas crticas nas sadas de um estgio tornam-se subcrticas no estgio seguinte e finalmente mascaradas no estgio
final. Cada estgio usa redundncia a nvel de "gates" e a "fiao" de um estgio
para outro obedece determinados padres pr-estabelecidos. Teoricamente podese implementar qualquer tipo de funo lgica que tolera um determinado nmero de falhas.
Tipo de Porta lgica
Falha Critica
Falha Sub-Critica
01
AND
10
10
OR
01
Nenhuma
NOT
01,10
0
0 1
NAND
VOTADOR
Nenhuma
01,10
Exerccios:
-Projetar um circuito votador sncrono (combinatrio).
-Projetar um circuito votador para 3 sinais pulsados de freqncias idnticas,
sendo que a defasagem entre os pulsos pode chegar a 10% do perodo.
-Projetar um circuito para a funo Z=( ( XY )W ) que tolere 1 falha crtica na
entrada.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 32

IV-TCNICAS DE DISPONIBILIDADE
1-MODELAGEM

1.1- DISPONIBILIDADE:

A funo disponibilidade A(t), representa a probabilidade de um sistema estar


operando no instante t.
A disponibilidade assinttica A definida por: A=limA(t)
t.
A pode ser interpretada como a frao do tempo em que o sistema opera normalmente. Assim, se A=0,99 significa que o sistema opera normalmente 99%
do tempo.

1.2- PROCESSOS DE MARKOV:


Um processo de Markov um processo estocstico definido por um conjunto
finito de estados, um conjunto de transies de estado e uma probabilidade associada a cada transio. Dado que o processo ocupa um estado i, no instante t, a
probabilidade da primeira transio ocorrer para um estado j ,representada por
pij , no depende dos estados ocupados anteriormente, mas somente do estado
i.
As probabilidades pij sero representadas por: pij =ijt onde ij uma taxa
constante e t um intervalo de tempo tal que pij t <<1.
Os processos de Markov sero representados por um diagrama de transies de
estados com indicaes das taxas ao lado de cada transio.

k1,i
i,j1
k,i
i

i,j

km,i

i,jn

Para cada estado i, a seguinte condio deve ser satisfeita:

i = i ,n
n

pi , j

i , j
=
i

pi , n = 1
n

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 33

. PROBABILIDADE DE OCUPAO DOS ESTADOS:


Sero considerados apenas os processos de Markov representados por cadeias
simples. Uma cadeia simples contem um nmero finito de estados e irredutvel,
ou seja, todos os estados so alcanveis a partir de qualquer estado. Assim no
existem estados absorventes (terminais).
A probabilidade de ocupao i(t) a probabilidade do processo ser encontrado
no estado i no instante t . Esses valores podem ser calculados resolvendo-se o
seguinte sistema de equaes diferenciais:

d (t )
= (t )[ A]
dt

(t ) = 1

com a condio:

[0(t)
onde (t) um vetor linha
e [A] uma matriz definida da seguinte forma:

Ai , j = i , j

para ij

1(t)......

n(t)]

Ai ,i = i , k
k i

Na condio limite, t tem-se que d(t)/dt=0 de modo que:


Nesse caso i(t) ser representado simplesmente por i.

[A]=0.

TEMPOS DE ESPERA NOS ESTADOS


Quando um estado i alcanado o processo permanece nesse estado por um perodo de tempo ti aleatrio. Esse tempo de espera tem distribuio exponencial
dada por:

p (ti t ) = 1 exp(i t )
O valor mdio Ti do tempo de espera portanto

Ti =

TEMPOS DE RECORRNCIA
O tempo de recorrncia de um estado i o tempo que o processo leva para retornar ao estado i , medido a partir do instante que o processo chegou ao estado
i pela ltima vez. Esse tempo tem uma distribuio mais complexa, mas o valor
mdio pode ser calculado pela expresso:

mi , i =

Ti

TEMPOS DE PRIMEIRA PASSAGEM


O tempo de primeira passagem de um estado i para um estado j o tempo que o
processo leva para chegar ao estado j pela primeira vez, medido a partir do instante que o processo chegou ao estado i. Esse tempo tem uma distribuio mais
complexa, mas o valor mdio pode ser calculado resolvendo-se o sistema recursivo:

mi , j = Ti +

pi , k m k , j

k j

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 34

1.3- CLCULO DA DISPONIBILIDADE DE UM SISTEMA:


Um sistema pode ser modelado por um processo de Markov onde os estados representam as situaes operacionais em que o sistema pode ser encontrado. Essas situaes podem ser estado normal ou estado falho ou estado degradado. As
taxas ij representam taxas de falhas de elementos e as taxas ij representam
taxas de reparo dos elementos do sistema. Nessas condies a funo disponibili-

i (t ) ,onde D um subconjunto
iD
de estados para os quais se considera que o sistema , como um todo, esta operando normalmente.

dade A(t) pode ser calculada por: A(t)=

EXEMPLO 1: Calcular a disponibilidade de um equipamento com MTTF=1000 horas e tempo mdio de reparo MTTR=1 hora.

0: normal

1: falho

Esse sistema pode ser representado por um modelo de Markov com dois estados:
0-normal e 1-falho. O sistema transita de 0 para 1 quando ocorre uma falha, que
se supe com taxa constante . O sistema transita de 1 para 0 quando completado o reparo do sistema. A taxa de reparo suposta igual a reparos/hora.

01==10-3 falhas/h
[A]=

10==1 reparo/h
=[0

1]

O sistema de equaes diferenciais para esse caso fica:

d 0 (t )
= 0 (t ) + 1 (t )
dt

0 (t ) + 1 (t ) = 1

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 35

resolvendo-se o sistema:

0 (t ) =
1 (t ) =

exp[( + )t ]
exp[( + )t ]

Em equilbrio (valores assintticos) tem-se que [A]=0


Com a condio : 0+1=1 obtm-se:
0= / (+)
e 1= / (+)
A disponibilidade assinttica a probabilidade do sistema ser encontrado no estado 0 (normal) depois de um tempo muito grande. A=0 e portanto
A=/(+)
A=0,9990 (99,9%).

ou

A= MTTF / (MTTF+MTTR)

EXEMPLO 2: Calcular a disponibilidade de um sistema duplicado,onde cada equipamento tem um MTTF=1000 horas e o tempo mdio de reparo para um ou dois
equipamentos de 1 hora (MTTR=1 hora).
Modelo de 3 estados:
estado 0:E1 e E2 normais
estado 1:E1 ou E2 falho
estado 2:E1 e E2 falhos.

0:normal

2:falho

1:operacional

A transio do estado 0 para o estado 1 representa a falha de E1 ou E2.Como as


01=2 . A transio de
taxas de falha so idnticas (MTTF1=MTTF2=1/)
1 para 2 representa a falha de apenas 1 equipamento e 12=.
[A]=

-2
-

obtm-se:

2
-(+)
0

[A]=0

i=1

CONFIABILIDADE DE SISTEMAS DIGITAIS

0 =

2 +

A = 0 + 1 =

1 =

2
(2 + )( + )

prof. B. J. Souza 36

2 =

22
(2 + )( + )

2 + 3
= 0.999998
(2 + )( + )

Exerccios:
a)Calcular a disponibilidade de um sistema duplicado com duas unidades idnticas de MTTF=1000 horas cada uma e com tempos mdios de reparo iguais a 1
hora para uma unidade e 2 horas para duas unidades falhas simultaneamente.
b)Recalcular a disponibilidade de um sistema definido no exerccio anterior, na
situao em que o reparo de duas unidades falhas simultaneamente executado, primeiro repondo-se uma das unidades, em seguida religando-se o sistema e
finalmente repondo-se a outra unidade.
c) Um servidor dual configurado com dois computadores idnticos, uma unidade
de discos espelhados (UD) e um sistema de comunicaes de dados (SisCom)
conforme o esquema abaixo.Os dados de confiabilidade desse sistema so:
MTTF(horas)
MTTR(horas)
Computador
50000
1
UD
20000
1
SisCom
10000
2
C1) Calcular a disponibilidade assinttica desse servidor.
C2) Calcular o tempo mdio entre duas intervenes consecutivas de manuteno(Reparo de uma parte qualquer do servidor).
C3) Calcular o MTTF do sistema.
Bar

Computador A

Computador B

SisCom
UD
SERVIDOR

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 37

1.4- CONCEITOS SOBRE TCNICAS DE DISPONIBILIDADE


Um sistema pode ser encontrado em trs principais estados: normal degradado
ou falho. Em geral considera-se o sistema disponvel mesmo que este no realize
todas as funes previstas para o estado normal, quando este se encontra em
um estado degradado. A disponibilidade aplicvel portanto a cada funo independente do sistema. Em relao a cada uma das funes, a disponibilidade pode
ser melhorada com um aumento da confiabilidade (maior MTTF) dos recursos necessrios para a realizao da funo e melhoria dos mecanismos de recuperao
dos recursos falhos(menor MTTR).
PRINCIPAIS EVENTOS NA OPERAO DO SISTEMA
SISTEMA NORMAL
falha
deteco
(transitria) retentativa
(permanente) diagnostico
isolao
reconfigurao

manuteno
mascaramento
(esgotamento da redundncia)

(esgotamento da redundncia)

reinicio
recuperao (falha catastrfica)
SISTEMA DEGRADADO
Reparo

reintegrao

SISTEMA
FALHO

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 38

2-ARQUITETURAS TOLERANTES A FALHAS


2.1- TIPOS DE ARQUITETURAS

As arquiteturas de computadores em aplicaes que exigem alta confiabilidade


podem ser inicialmente classificadas conforme a aplicao exija operao ininterrupta (non-stop) ou no. No primeiro caso esto as aplicaes em controle de
processos crticos(veculos de transporte, gerao e distribuio de energia, controle de trfego, comutao telefnica,etc.). O segundo caso inclui o processamento de dados em geral.
A principal diferena nestes dois tipos de sistemas reside no tempo disponvel para reintegrao dos elementos de reserva. Em um sistema de operao ininterrupta os elementos de reserva devem permanecer ligados , com status permanentemente atualizados e prontos para entrarem em operao imediata ("hot standby"). Nos demais sistemas a reserva pode eventualmente permanecer desligada(ou como mais freqente, realizando outras tarefas), de modo que sua
reintegrao pode causar uma parada temporria do sistema("cold-standby").
Quanto principal tcnica de projeto da arquitetura em funo da aplicao temse:
Sistema no interrompivel (non-stop)

a)MASCARAMENTO DE FALHAS
b)REDUNDANCIA N-MODULAR

sistema interrompvel

a)REDUNDANCIA N-MODULAR

No caso da redundncia N-modular um esquema geral dessas arquiteturas pode


ser representado da seguinte forma:
s1
y1

CHAVE

M1
N+R
x

y2

M2

s2

y
N+R

N+R

sN

DETECTOR
(comutador)

y
VOTADOR

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 39

A reserva operacional um conjunto de R unidades em condies de substituir


qualquer uma das N unidades ativas do sistema.
Qualquer uma das unidades tem a capacidade de realizar um conjunto de funes
essenciais f1,f2,...fn e um conjunto de funes auxiliares a1,a2,...ax. As funes
essenciais devem ser instaladas em todas as N+R unidades, enquanto que as
funes auxiliares podem ser distribudas de uma forma qualquer entre elas.
Quando uma unidade ativa que realiza uma funo auxiliar ai substituda por
uma outra que no contm essa funo, a operao do sistema pode ficar degradada. Esse tipo de degradao denominado degradao suave ("gracefull degradation").
AO DO DETECTOR/COMUTADOR (DC):
Este elemento opera associado ao votador, realizando principalmente a funo de
reconfigurao do sistema. O algoritmo do elemento DC pode ser representado
por:
.Enquanto existir reserva disponvel:
.Se ( y i y)e(yk=y)e(Mk no interligada) ento :
.desliga Mi
.interliga Mk
Esse algoritmo aplica-se ao caso em que toda a reserva permanece on-lineligada. Existem entretanto outras possibilidades quanto operao da reserva:
.On-line-Ligada (reintegrao totalmente automtica)
.On-line-Desligada (reintegrao totalmente automtica)
.Off-line (reintegrao parcialmente manual)
CONFIABILIDADE DO SISTEMA
O sistema evolui passando por um estado de esgotamento da reserva , perda do
limiar de consenso do votador e finalmente para o estado falho. Para sistemas
sem reparo a funo confiabilidade tem um limite superior que pode ser expresso
por:
p

Rs = Rvcd C ( N + R, i ) Rm ( N + R i ) (1 Rm) i
i =0

p= N/2+R
um mdulo

R:nmero de unidades de reserva

Rm=Confiabilidade de

Exerccio Construir um grfico de Rs em funo de Rm , supondo Rvcd=1 e


N=3, para os seguintes valores de R:
R=0:
Rs=Rm : sistema simplex
R=0:
sistema TMR
R=1 :
1 unidade de reserva On-line-ligada
R=2 :
2 unidades reserva On-line-ligadas
Para R=0,1,2 qual o valor mnimo de Rm tal que a confiabilidade do sistema Rs
maior que a confiabilidade do sistema simplex (R s>R m)?
2.2- EXEMPLOS DE CONFIGURAES
a) SISTEMAS DUAIS :
R= , Off-line-desligada

CONFIABILIDADE DE SISTEMAS DIGITAIS


(Votador):Comparao

prof. B. J. Souza 40

1/2 ou 2/2("Dual-Fail safe")

MTODOS DE RECONFIGURAO
(1): A unidade ativa roda programa de diagnstico continuamente. Se detectar
alguma falha, comuta a chave para a outra unidade que passa a ser a unidade
ativa.
(2): As duas unidades rodam auto-teste. Quando ocorrer simultaneamente discrepncia na sada das duas unidades e deteco de falha na unidade ativa, o
comparador realiza a comutao. Caso ocorra deteco de erro nas duas unidades, ambas rodam um programa de diagnstico. A unidade que conseguir passar
pelo diagnstico primeiro, assume o controle como unidade ativa.
(3):A unidade ativa controla um "watchdog timer". Se falhar na desativao do
WDT, a outra unidade assume o controle automaticamente.
(4):Um circuito de arbitragem externo contm uma constante que continuamente comparada com valores produzidos pelas duas unidades. Se a unidade ativa no produzir um resultado correto o rbitro realiza a comutao.

MTODOS DE SINCRONIZAO
(1): nvel de relgio .Utiliza relgio comum ou relgios duplicados com amarrao
de fase.
(2): nvel de instruo. As unidades de controle dos dois processadores realizam
um protocolo de comunicao de dados dentro do ciclo de cada instruo. As fases dos ciclos de instruo so ajustadas com a introduo de ciclos de "wait".
(3): nvel de clculos .Os resultados de clculos das duas unidades so transmitidos a um comparador.Alm da comparao,este gera sinais de interrupo para a
unidade mais rpida a fim de atrasa-la.
(4): nvel de software .As unidades trocam mensagens contendo resultados de
clculos para comparao.O protocolo de comunicao do tipo envia/aguarda
mensagens permite a sincronizao dos dois processos.
b) SISTEMAS N-MODULARES
MTODOS DE RECONFIGURAO
(1): NMR/Simplex. Inicialmente a configurao NMR(N impar)..Quando uma unidade falha, esta e uma outra unidade vo para a reserva. Assim um sistema
TMR passa para Simplex sempre que uma unidade falha.
(2) "Self-Purge". Inicialmente todas as unidades so conectadas ao votador.
medida que falham, estas vo sendo removidas para a reserva.
(3) Redundncia Hbrida. Corresponde ao esquema geral definido em 2.1.
MTODOS DE SINCRONIZAO (idem, sistemas duais)
MTODOS DE VOTAO
O elemento que est sendo denominado VOTADOR pode na realidade realizar
qualquer outra funo de escolha de resultados produzidos pelas unidades. Entre
estas pode ser utilizada por exemplo uma votao adaptativa onde o "nmero de
votos" de cada unidade varia dinamicamente. Entretanto os vrios esquemas de

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 41

votao geralmente utilizam um nmero impar de unidades para evitar o problema de empate.
Um outro tipo de escolha, mais utilizado quando o nmero de unidades par,
corresponde a estgios sucessivos de comparaes. Por exemplo, um sistema
com 4 unidades pode utilizar um esquema 2/4, em uma configurao denominada
DUAL-DUAL.

V- TCNICAS DE MANUTENIBILIDADE
1. ASPECTOS DA MANUTENO DE SISTEMAS
As tcnicas de manutenibilidade visam minimizar principalmente dois fatores: o
MTTR e a taxa de falso alarme .
O falso alarme corresponde s chamadas para manuteno originadas principalmente por diagnstico incorreto e falhas transitrias. Alguns levantamentos realizados mostram que a taxa de falso alarme chega a ser de duas a quatro vezes a
taxa efetiva de falhas no sistema.
Quanto manuteno propriamente dita, duas distribuies so mais importantes: a distribuio dos tempos de reparo (TTR) e a distribuio de horas de trabalho para o reparo(H.H). Essas distribuies so distintas uma vez que em geral,
quando um tcnico gasta mais de um certo nmero de horas para reparar o sistema um outro tcnico mais experiente enviado ao campo, e assim sucessivamente. As distribuies tpicas desses tempos so esquematizadas abaixo.
%
MTTR=4.4
25
mediana=2.0
20
15
20% das chamadas geram reparos entre 0 e 1 hora
10
5
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 >20
TTR
%
35%
10
media=6.3
9
mediana=3.0
8
7
6
5
4
3
2
1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 >20 HH

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 42

2 - PROJETO P/ MANUTENIBILIDADE
Algumas tcnicas de projeto podem ser empregadas visando minimizar o MTTR e
a taxa de falso alarme. O MTTR depende essencialmente dos procedimentos de
deteco e diagnstico das falhas implementados no sistema.
Em sistemas de alta disponibilidade o diagnstico preferencialmente realizado
em diferentes nveis, conforme os procedimentos de reparo utilizados. O nvel
mais alto de diagnstico realizado em nvel de UNIDADE DE REPARO EM
CAMPO (URC). Uma vez diagnosticada a URC falha, a manuteno efetuada por
simples substituio .Essa substituio, dependendo da configurao do sistema,
pode ser realizada automaticamente se houver reserva "on-line".
A URC falha consertada em laboratrio e novamente adicionada reserva, ou
simplesmente descartada, dependendo do porte da URC. O conserto da unidade
depende de nveis de diagnstico mais refinados, realizados "off-line, com auxlio
manual. A facilidade de deteco de falhas e conserto de uma URC est diretamente relacionada a um atributo de projeto denominado TESTABILIDADE .
A questo do falso alarme esta associada qualidade e preciso do diagnstico
em nvel de URC, e aos procedimentos de retentativa implementados. Neste ltimo caso, a retentativa procura eliminar os falsos diagnsticos de falhas permanentes. A maior parte das falhas ocorridas em um sistema de natureza transitria, sendo que uma dificuldade importante neste caso distinguir uma falha transitria de uma falha intermitente.
As principais recomendaes de projeto visando a manutenibilidade podem ser
resumidas da seguinte forma:
- Projeto estruturado com nfase na modularidade.
- Isolao de ambientes de subsistemas independentes.
- Auto-Testes nos subsistemas(mecanismos de deteco/correo/diagnstico).
- Observabilidade e controlabilidade de estados internos dos mdulos.
- Relatrios de estatsticas de falhas e erros.
- Minimizao do uso de equipamentos externos(p.ex. Analisadores lgicos).
- Projeto do empacotamento que facilite a substituio(sem desenergizao do
sistema).
- Reparo baseado em reposio(sem "swap" de mdulos).
- Emprego de processadores independentes para diagnstico(eventualmente remotos)
3. TESTABILIDADE
3.1 CONCEITO
A testabilidade de um mdulo (hardware ou software)corresponde facilidade
com que este pode ser testado. Uma concluso sobre o funcionamento correto
do mdulo, para todas as entradas, ou a identificao dos componentes internos
que esto falhos ou com defeitos, so os principais aspectos relacionados com a
testabilidade.
3.2 TESTE E DIAGNSTICO A NVEL LGICO
No nvel lgico a testabilidade est relacionada com a observabilidade e controlabilidade dos estados internos do circuito. A observao dos estados internos pode
ser realizada diretamente por meio de pinos de teste ou fiao de alguns sinais
para conectores, por exemplo, ou indiretamente atravs dos sinais de sada.(Obs.- No primeiro caso, as recomendaes mais indicadas podem ser vistas
nas apostilas dos laboratrios digitais).
A observao indireta, atravs das sadas, consiste em calcular um conjunto de
entradas que produzem na sada um valor igual ao estado interno a ser observado. Algumas tcnicas so propostas, como por exemplo os clculos por diferena
booleana para circuitos combinatrios.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 43

3.3 PROJETO ESTRUTURADO DE CIRCUITOS SEQENCIAIS


No caso de circuitos seqenciais o projeto pode ser realizado de modo que todos
os sinais de estado fiquem reunidos em um registrador de deslocamento com
carga e sadas paralelas (Ao invs de espalhar-se os estados em Flip-Flops).
Em operao normal, o registrador de estados atualizado por meio de carga paralela. No modo "teste, o registrador pode ser carregado pela entrada serial
("Scan In"), permitindo a controlabilidade externa do circuito. A leitura serial
("Scan Out") permite a observabilidade dos estados atravs de um nico fio.
Essa tcnica, empregada, por exemplo, j nos computadores IBM 4341 e denominada tcnica LSSD("Level Sensitive Scan Design").

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 44

VI CONFIABILIDADE DO SOFTWARE
1. CONCEITOS
Os erros produzidos por um sistema so de um modo geral originados por quatro
motivos principais: as falhas de componentes, solicitaes fsicas externas no
previstas, entradas imprevistas, operao imprpria e defeitos de projetos. Os
erros devidos ao software exclusivamente podem ser considerados como causados basicamente por defeitos de projeto("bugs"). Em outras palavras, o software
sem defeito no falha.
As duas principais tcnicas de combate aos erros de um sistema, como a preveno de falhas("fault avoidance") e a tolerncia falhas ("fault tolerance"), podem
ser empregadas para o projeto do software. A preveno de falhas no caso significa a realizao de um projeto do software acompanhado de um rgido controle
de qualidade. Neste caso as tcnicas de verificao e validao (V&V) estudadas
pela Engenharia de Software representam fundamentalmente tcnicas de preveno de falhas, ou mais apropriadamente, preveno de defeitos de projeto.
Entretanto, do mesmo modo que a preveno de falhas no hardware no garante
a infalibilidade deste, a produo de software com "zero defeitos" ainda pode ser
considerada na prtica um objetivo muito longe de ser atingido, e muitos consideram por motivos muito fortes que esse objetivo na realidade inatingvel, exceto
eventualmente para uma classe de software de baixa complexidade e de produo altamente automatizada.
As tcnicas de tolerncia falhas no software tm por objetivo minimizar a taxa
de erros do sistema provocadas por falhas no software. No se conhece ainda alguma tcnica que possa de fato eliminar essas falhas e, ainda como no hardware,
o que se procura com a tolerncia falhas obter um sistema com uma probabilidade de apresentar erros dentro de certos limites pr-estabelecidos. Esses requisitos dependem principalmente da aplicao do sistema e de uma relao custo/beneficio aceitvel.
2. ERROS DO SOFTWARE
A fim de se caracterizar alguns conceitos relativos ao software ser adotado um
modelo simples de um software em geral, definido por uma especificao e um
conjunto de algoritmos. A especificao um mapeamento do tipo Y=f(X), onde
Y um espao das sadas, X o espao das entradas, mais comumente denominado de Domnio das Entradas, e f uma funo bem definida pela especificao.
Os algoritmos so construes do software que visam realizar a funo f de modo que Y = Ak(X), onde Ak o algoritmo candidato. Nesse caso, uma falha do
software um resultado yi=Ak(xi) tal que yif(xi). O que convm destacar nessa definio que no se define falha de software se no for dada uma especificao. Ou de outra forma, um software definido simplesmente por Y=Ak(X),
passa a ser a prpria especificao, de modo que este "deve se comportar como
se comporta. No produz erros. Em situaes nas quais o nico usurio o prprio programador, a questo da existncia ou no de erros "pessoal. Em sistemas de alguma aplicao geral, entretanto a questo da especificao e conseqentemente dos erros assume um aspecto muito importante.
Uma caracterstica particular do software que a ocorrncia das falhas determinadas por um subconjunto de pontos do domnio das entradas X para os quais
este responde incorretamente. Se a probabilidade de ocorrncia de uma dessas
entradas for muito pequena possvel que o software no venha a falhar durante
todo seu perodo de operao. Corresponde aproximadamente a falhas transitrias, intermitentes ou "sensveis a padres" no caso do hardware.
O perfil operacional do software uma distribuio de probabilidades definida sobre o domnio X. Conforme o ambiente de operao do software esse perfil pode
se alterar.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 45

3. CONFIABILIDADE DO SOFTWARE
Existe alguma controvrsia quanto s formas de quantificar a confiabilidade do
software. Intuitivamente ou por analogia ao hardware, aceita-se dizer que quanto
mais tempo um software permanece em execuo sem apresentar falhas , maior
sua confiabilidade.
Um outro aspecto tambm geralmente aceito que mais cedo ou mais tarde o
software falha, ou seja no perfeito. Com essas duas premissas em mente pode-se definir uma funo confiabilidade R(t) para o software como sendo a probabilidade deste ser executado sem apresentar falhas desde o incio de operao
(t=0) at o instante
considerado. Durante esse intervalo de tempo, se o software no sofrer alteraes, a curva R(t) deve ser decrescente. A varivel t considerada aqui foi o "tempo de execuo" e pode no corresponder necessariamente ao tempo real , nos casos em que o sistema no opera ininterruptamente.
Quando a operao do software mais caracterizada pelo nmero de execues
("rodadas"), a funo confiabilidade pode ser expressa na forma R(n), indicando
a probabilidade do software ser executado sem apresentar erros at a ensima
rodada.
Os parmetros associados confiabilidade do software podem ser definidos por
uma confiabilidade assinttica, ou seja, limite de R(n) para n tendendo a infinito,
estimada por

R=

nf
n

onde n o nmero de execues realizadas e nf o nmero de execues nas


quais o software apresentou falhas.
Um outro parmetro o MTTF, ou seu inverso correspondente taxa de falhas.
O tempo mdio para falhar MTTF , por analogia ao hardware, mede o tempo mdio que o software demora em apresentar uma falha.
O estudo da confiabilidade resume-se essencialmente na busca de mtodos para
predio e estimativa desses parmetros, com base em modelos "a priori" da funo confiabilidade e testes do tipo "caixa preta" realizados sobre o software.
Esses estudos podem ser vistos por exemplo na referncia [ Musa].
Uma das principais dificuldades especficas do software, com respeito modelagem para estimativa da confiabilidade, reside na aplicao do princpio do crescimento da confiabilidade("Reliability Growth").
No caso do hardware mais fcil aceitar-se a hiptese de que quanto mais o
hardware testado, sua confiabilidade aumenta (A tendncia eliminar os defeitos do projeto que causam falhas). No software entretanto observa-se uma situao muito comum em que a correo de um defeito acaba na realidade introduzindo outros, s vezes em maior quantidade do que os corrigidos. Com relao
modelagem da confiabilidade do software , essa considerao pode levar a modelos intratveis e no muito teis. Com o aperfeioamento das tcnicas de manuteno do software, e em geral de todo o processo de produo, a tendncia
assumir-se o princpio de crescimento da confiabilidade medida que o software
testado e defeitos so corrigidos. Isso viabiliza tambm a utilizao de modelos
mais adequados e teis.
Para efeito de exemplificao ser considerado aqui o modelo Logaritmo-Poisson
desenvolvido por Musa [3]. Nesse modelo a taxa de falhas de um software decresce medida que as falhas ocorrem. Toda vez que uma falha ocorre o software modificado com a finalidade de corrigi-lo e evitar que esse tipo de falha venha ocorrer novamente.
Assim:
()=0exp(-)
onde:
(t) : nmero mdio de falhas observadas at o instante t

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 46

t : tempo acumulado de execuo.


0 : taxa de falhas inicial.
: intensidade de decrscimo da taxa de falhas.
t: tempo de execuo.
Nesse modelo a taxa de falhas decresce medida que o software corrigido. Durante a fase de depurao do software os instantes de ocorrncia das falhas so
registrados, o nmero de falhas acumulado contabilizado e com esses valores
pode se estimar os parmetros e 0 . Com esses parmetros pode-se calcular
a taxa de falhas correspondente ao incio da fase de operao. Nessa fase, a taxa
de falhas permanece constante at a primeira falha, quando ento o software sofre uma manuteno e a taxa melhora de acordo com os mesmos parmetros e
0.
Nesse aspecto a diferena quanto falha de um componente do hardware, com
taxa de falhas inicial h que quando este componente falhar ser substitudo
por um outro com a mesma taxa . Um mdulo de software com taxa de falhas
inicial 0, quando falhar ser substitudo por um outro mdulo (corrigido) com
taxa s menor que a anterior. Esse modelo exige uma deteco de falhas perfeita.
Esse tipo de modelagem poder corresponder a uma aproximao aceitvel na
medida em que a equipe de manuteno tenha o mesmo perfil da equipe de produo("mesmo ") e o perfil operacional do software corresponda em boa aproximao ao perfil operacional utilizado na fase de depurao e testes.
Para se estimar os parmetros do modelo necessrio registrar os instantes de
ocorrncia das falhas t1, t2, ..., ti, ...tme . (medidos no relgio de tempo de execuo). Com esses valores anotados possvel utilizar o mtodo dos mnimos
quadrados para a estimativa dos parmetros.

ln = ln 0
ri : estimativa de no instante de ocorrncia da falha i . Pode ser calculada pelo
valor de ti e do nmero de falhas observadas at esse instante (=i ). Os parmetros pode ser estimados plotando-se os pontos

ln ri = ln r0 i

e traan-

do-se a reta mdia. (regresso linear simples).

(t ) = ln(0 t + 1)

P
F

ln

P
F

t =

(t ) =
1

0 t + 1

: Taxa de falhas no instante atual (presente).


: Taxa de falhas em um instante futuro.

t :

Tempo esperado de teste para que a taxa de falhas atinja o valor

supondo-se que atualmente a taxa de falhas

P .

: Numero de falhas adicionais esperadas no teste para que a taxa de fa-

F supondo-se que atualmente a taxa de falhas P .


R(t ) = exp([ (t ) (ti )]
lhas atinja o valor

Confiabilidade do software no instante t dado que a ltima falha observada (e


portanto a ltima modificao) ocorreu no instante ti .

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 47

Exerccio:
Um servidor tem uma arquitetura ilustrada na figura abaixo.i

Rede Local

Computador A
SWx

Computador B
SWy

Roteador

Disco
SERVIDOR
A aplicao um servio de cartrio utilizado na autenticao de documentos.
Cada anlise de documento realizada apenas por um dos computadores SWx
ou SWy, no havendo comunicao entre eles para efeito da aplicao. Foram
experimentados dois programas para o servio , o ADx e o ADy. No primeiro ms
foi utilizado o ADx instalado nos dois computadores. Para cada falha observada o
instante de ocorrncia foi anotado, o relgio foi parado e o fornecedor do software realizou uma modificao com o propsito de corrigir algum problema. Enquanto o fornecedor no providenciava uma nova verso os erros subseqentes
eram ignorados .No segundo ms procedeu-se da mesma forma para avaliar o
software ADy. Os instantes anotados so os seguintes:
(horas) t1
ADx

t2

t3

T4

t5

t6

t7

t8

t9

t10

0.1 0.2 0.6 1.2 2.4 21.0 52.0 205.0 510.0 700.0

(horas) t1
t2
0.5 1.0
ADy

t3
T4
t5
t6
1.1 2.2 3.5 5.0

t7
t8
12.0 32.0

t9
58.0

t10
210.0

Fim
teste
720.0

720.0

a)Avaliar a confiabilidade dos dois softwares.


b) Se apenas um dos softwares tiver que ser utilizado no servidor, qual deve ser
a melhor escolha entre ADx e ADy ?. Considerar que em operao a ocorrncia
de falha no aplicativo obriga cada documento ser analisado manualmente, de
modo que o custo da falha bastante alto.Alm disso, o fornecedor prestar assistncia tcnica por um perodo de 2 anos.
c) Calcular a probabilidade desse servidor sobreviver por um ms de operao
(720 horas), considerando que utilizado apenas o software escolhido no item 3.
instalado nos dois computadores.
d) Calcular a probabilidade desse servidor sobreviver durante o terceiro ms de
operao (720 horas) considerando que SWx=ADx e SWy=ADy foram instalados logo aps os dois primeiros meses de testes.
Utilizar o modelo logaritmo-Poisson

( ) = e
0

ti instante da falha
valo de tempo)

ln = ln 0
ri

ou

ln = ln 0 +

taxa de falhas instantnea estimada (falhas por inter-

CONFIABILIDADE DE SISTEMAS DIGITAIS


i

ti

ADx

1
2
3
4
5
6

0.1
0.2
0.6
1.2
2.4
21.0

52.0

205.0

510.0

10

700.0

(fim)

720.0

ri

ADx

1/0.1=10.0
1/(0.2-0.1)=10.0
1/(0.6-0.2)=2.50
1/(1.2-0.6)=1.66
1/(2.4-1.2)=0.83
1/(212.4)=0.054
1/(5221)=0.0322
1/(20552)=0.0065
1/(510205)=0.0033
1/(700510)=0.0053
1/(720510)=0.0048

-ln
ADx
-2.3
-2.3
-0.9
-0.5
0.18
2.9

prof. B. J. Souza 48
ri

ti

ADy

ri

Ady

0.5
1.0
1.1
2.2
3.5
5.0

2.0
2.0
10.0
0.91
0.77
0.67

-ln
ri
ADy
-0.69
-0.69
-2.3
0.09
0.26
0.4

3.4

12.0

0.14

1.97

5.0

32.0

0.05

5.7

58.0

0.038

3.3

5.2

210.0

0.0066

5.3

720.0

0.0015

6.5

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 49

4. SOFTWARE TOLERANTE A FALHAS


A tolerncia a falhas no software um conjunto de tcnicas que visam detectar a
ocorrncia de falhas no software durante sua execuo e no permitir que as essas falhas venham produzir erros no sistemas. Os defeitos no software so defeitos de projeto que no foram detectados na fase de testes, de modo que para um
certo subconjunto do domnio das entradas Xe, o algoritmo implementado produz
um resultado Ye=A(Xe) f(Xe) ou seja, fora da especificao.
Durante a execuo do software se ocorre uma dessas entradas em Xe o software dever falhar, e o resultado incorreto em Ye poder propagar-se no sistema e
produzir erro na sada. O problema que esse subconjunto Xe desconhecido e
o fato dos resultados Ye serem diferentes de f(Xe) somente podem ser reconhecidos por um observador ideal ("orculo") externo que conhea e calcule corretamente a funo f .
As tcnicas de tolerncia a falhas propostas so na realidade formas de minimizar
a gerao de erros, de modo que o sistema tolere um certo nmero de falhas(causadas por defeitos), mascarando essas falhas e no permitindo que venham a produzir erros.
As principais tcnicas de tolerncia falhas no software so denominadas Blocos
de Recuperao("Recovery Blocks") e n-Verses(n-Version") propostas
inicialmente por Horning e Avizienis respectivamente. Essas tcnicas utilizam
trs conceitos amplamente empregados no caso do hardware que so, a deteco
de falhas, redundncia e independncia. A redundncia e independncia , no caso, comparecem associadas no conceito de diversidade.
A diversidade apoia-se na hiptese de que dados dois algoritmos Ai e Aj para a
mesma especificao f(X) e
Se yi(x)=Ai(x)f(x) e yj(x)=Aj(x)f(x) ento p(yi=yj)<
caso Ai e A j forem o suficientemente diversificados.
Os dois algoritmos podem estar incorretos para uma mesma entrada x
,entretanto a probabilidade de produzirem resultados incorretos, porem idnticos,
pode ser muito baixa.
Esta hiptese sozinha pode contornar o problema da deteco de falhas. Resta
entretanto, uma vez detectada a falha, produzir um resultado pelo menos aceitvel na sadia, que pode no ser o especificado. Se essa situao ocorrer diz-se o
sistema degradou-se, mas no de forma drstica("gracefull degradation").
4.1 O ESQUEMA DE BLOCOS DE RECUPERAO
Um Bloco de Recuperao(BR) constitudo por uma lista ordenada de algoritmos diversificados Y=Ai(X), i=2,..n e um Teste de Aceitao T(y).
O resultado produzido pelo BR o primeiro resultado y da lista tal que T(y)
verdadeiro, ou um erro detectado caso nenhum algoritmo produza um resultado
aceitvel.
Uma forma proposta de representar um BR e que preserva a estrutura de blocos
da maior parte das linguagens de programao, pode ser ilustrada por:

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 50

ensure <T(y)>
by <y=A1(x)>
else by <y=A2(x)>
.
.
else by <y=An(x)>
else error
A ltima clusula significa que nenhum dos algoritmos produziu um resultado aceitvel, segundo o critrio T, e neste caso o erro fatal, porem detectado. O encadeamento de blocos pode ser obtido substituindo-se qualquer <Ai(x)> por um
BR interno. Uma sada else error de um bloco interno provoca automaticamente uma sada deste tipo no bloco que o envolve.
O projeto de um BR envolve a construo do teste de aceitao, que deve ser o
mais simples possvel para que a possibilidade de falhas no teste seja minimizada, e a construo de algoritmos alternativos para implementar a especificao
f(X).
Em geral essas duas questes so muito dependentes do problema, de forma que
se torna difcil encontrar um mtodo geral para resolve-las.
O projeto do teste de aceitao pode ser encaminhado a partir da especificao ,
procurando-se estabelecer uma condio necessria para y=f(x) simples de implementar. Por exemplo, se a funo f for gerao de uma lista y ordenada
crescente a partir de uma lista de nmeros x, uma condio necessria para y
que: y[1]:y[2] :.... :y[n]. Essa condio no suficiente uma vez que
possvel que os valores da lista y sejam distintos dos valores da lista x, por defeitos no algoritmo de ordenao. Entretanto pode ser um teste de aceitao eficiente para esses algoritmos.
A utilizao dos BR pode estar associada tambm ao desempenho do software.
Nos casos em que se dispe de algoritmos com diferentes desempenhos em termos de tempo de processamento utilizado, porm com precises inversamente
proporcionais. O BR pode ser utilizado ordenando-se os algoritmos com desempenho decrescentes (e possivelmente com precises crescentes).
4.2 O ESQUEMA DE n-VERSES
Este esquema emprega n algoritmos diversificados Ai(X) e uma funo
y= escolha (y1,y2,...,yn).
Os algoritmos so executados em paralelo e os resultados transmitidos a um votador que decide a partir dos n resultados um valor y de consenso, ou se no
existir tal consenso, um valor mediano, um valor mais seguro ou simplesmente
uma indicao de falha, conforme as caractersticas da aplicao. Como no caso
dos testes de aceitao, aqui a escolha do valor mais apropriado entre os n resultados tambm dependente do problema, e importante que a funo escolha
seja a mais simples possvel.
Em muitas aplicaes, como em controle de processos, os resultados yi dos algoritmos so valores binrios, por exemplo, comandos para abrir ou fechar uma
vlvula. Nestes casos, basta um nmero impar de verses para que o votador
possa decidir por maioria simples o comando que deve ser efetuado(o que no
significa que esteja correto).
O problema de construo de algoritmos diversificados semelhante ao dos BR.
Em primeiro lugar necessrio garantir-se no mnimo a consistncia da especificao, que comum s varias verses. Se a especificao estiver incorreta, o que
corresponde aos modos de falha comum no caso do hardware, pouco poder ser
afirmado sobre os resultados a serem produzidos pelo sistema.
A partir de uma mesma especificao o primeiro nvel de diversidade a ser tentado o emprego de solues diversificadas para o problema, o que nem sempre

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 51

possvel. s vezes prefervel utilizar-se uma mesma soluo que comprovadamente a melhor.
O segundo nvel de diversidade corresponde ao nvel de algoritmo propriamente
dito, que em geral bastante dependente das estruturas de dados empregadas.
Se as estruturas de dados, formas de codificao da informao, etc., forem convenientemente diversificada, uma mesma soluo poder produzir algoritmos suficientemente diversos.
O terceiro nvel corresponde diversificao das linguagens de programao utilizadas. Muitos enganos so cometidos nessa passagem, do algoritmo para o cdigo, e se as linguagens forem bastante diversas, PASCAL e ASSEMBLER por exemplo, possvel evitar-se que enganos deste tipo sejam idnticos. Possveis
defeitos de compiladores e outras ferramentas de desenvolvimento podem ser
mais facilmente contornados.
Alm de todas essas providncias, uma outra que tem sido experimentada a
utilizao de equipes distintas para o desenvolvimento de cada uma das verses.
O emprego deste nvel de diversidade ainda controvertido, uma vez que difcil
garantir que a metodologia de desenvolvimento utilizada pelas equipes seja suficientemente distinta. A "cultura tecnolgica" das vrias equipes em geral muito
semelhante. Por outro lado, o nmero de experimentos deste tipo pequeno, dado o elevado custo que representam. No entanto tem sido utilizada em aplicaes
muito criticas, como por exemplo em reatores nucleares.
O esquema de n-Verses mais apropriado para o processamento paralelo, localizando-se cada verso em um processador. O votador neste caso pode ser implementado diretamente por um votador em hardware, quando a funo escolha
suficientemente simples, ou por um programa localizado em um outro processador de entrada/sadia, ou ainda replicado nos n processadores.
Neste ltimo caso, nada impede que tenham implementaes tambm diversificadas.
De qualquer forma, uma caracterstica dos votadores que exigem uma razovel
sincronizao entre as diferentes verses, uma vez que sua ao depende da disponibilidade dos n resultados para que possa decidir.
Um esquema de sincronizao pode ser implementado do seguinte modo : Quando cada verso termina o seu clculo, esta envia o resultado ao votador. O votador por sua vez aguarda a chegada de um nmero suficiente de resultados, para
ento produzir o resultado final. Considerando-se ainda as possveis falhas no
hardware de cada processador, importante que as esperas sejam controladas
por "time-out, evitando-se esperas indefinidas. A necessidade deste tipo de sincronismo um fator limitante no nvel de diversidade das verses. Para um desempenho aceitvel do sistema os tempos envolvidos devem ser o suficientemente balanceados. A verso mais lenta determina o desempenho do sistema, o que
pode ser crtico em aplicaes de tempo real.
Em geral, utiliza-se ainda um mesmo tipo de processador, com recursos idnticos
que tambm limita o uso de verses muito distintas [quanto aos recursos exigidos(tamanho da memria principalmente)].
Uma outra forma de sincronizao, que em algumas aplicaes pode ser menos
rgida, consiste na simples atualizao em locais preestabelecidos, do resultado
produzido pelas n verses. O votador neste caso periodicamente consulta esses
resultados e toma sua deciso. Esse esquema tambm depende de um certo equilbrio de tempos por parte das diferentes verses.
4.3 COMBINAO

BR+NV

Algumas formas de combinao entre os esquemas de BR e NV so ainda possveis. Um exemplo o chamado de Blocos de Recuperao por Consenso. Parte-se de um esquema NV, onde cada verso contm uma lista de alternativas. Em
uma primeira iterao, a primeira alternativa de cada verso executada e os
resultados passados para o votador. Este verifica se existe um consenso, ou re-

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 52

sultados idnticos em pelo menos duas verses, o que ser ento o resultado final. Seno existir consenso, o votador executa um Teste de Aceitao para o
"melhor" dos n resultados e adota este caso aceitvel.
Se a primeira iterao no for bem sucedida, uma segunda tentada, neste caso
utilizando a segunda alternativa de cada verso, e assim sucessivamente at, no
pior caso, uma indicao de falha seja produzida pelo votador, o que corresponde a uma situao de "esgotamento da redundncia. Este esquema tem a vantagem de exigir apenas um teste de aceitao, em relao ao caso em que cada
uma das n-verses fosse implementada por um esquema BR puro. No entanto o
problema do teste de aceitao continua sendo dependente de problema, com a
necessidade de se estabelecer, para cada caso, o que viria a ser um "melhor resultado".
5. MODELAGEM DO SOFTWARE TOLERANTE A FALHAS
Em sistemas onde o projeto tem objetivos rgidos de confiabilidade e/ou disponibilidade, importante adotar-se alguns critrios quanto confiabilidade do software. Assim, se for considerado que o software e' um dos componentes de um
processador, a taxa de falhas deste processador ser em primeira anlise igual
soma das taxas de falhas do hardware e do software s + h ,ou seja, estes
componentes esto em "serie" em uma rede de confiabilidade. Quando na modelagem do sistema considera-se apenas a taxa de falhas do hardware est sendo
assumido implicitamente que ,ou o software perfeito, ou que apresenta uma
taxa de falhas desprezvel em relao do hardware. Entretanto no caso mais
geral necessrio utilizar-se uma estimativa ou previso da taxa de falhas do
software e verificar o que pode ser melhorado se necessrio.
A alternativa de construo de software tolerante a falhas, dentro dos esquemas
vistos anteriormente deve enfrentar evidentemente o problema de custos.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 53

Exerccio
a) Uma aplicao instalada nesse servidor utilizou duas variantes distintas X e Y
provenientes de dois fornecedores. A variante X foi instalada no computador A e
a Y no computador B e, por meio de converso de formatos, X e Y podem acessar dados em quaisquer dos discos A e B. A aplicao foi testada por um determinado perodo e sempre que uma falha foi detectada em uma variante o fornecedor realizou uma correo especfica para aquele problema. Os instantes de falha anotados foram:
(horas) t1
X

t2

t3

T4

t5

t6

t7

t8

t9

t10

1.6

4.4

8.8

16.2

28.4

48.5

81.6

136.
2

226.
2

374.6

0.00
1

0.00
3

0.01
0

0.02
8

0.07
8

0.21
4

0.58
1

1.58
1

4.30
0

11.68
9

Fim
teste
500.
0

(horas)
Y

Avaliar a confiabilidade dos dois softwares no instante de fim de teste.(Utilizar o


modelo de crescimento de confiabilidade Log-Poisson).
b) Supor que aps o perodo de testes as variantes X e Y vo continuar a serem
atualizadas pelos fornecedores sempre que uma falha for observada, durante todo o tempo de vida dessa aplicao que deve ser de 20000 horas. Foi implementado um teste de aceitao T que pode ser incorporado nas duas variantes. Na
avaliao (off-line) de T forma utilizados 100 testes independentes e algumas
modificaes, tendo sido observada apenas uma falha de T.
Do ponto de vista exclusivamente de confiabilidade quais das seguintes configuraes de software melhor, supondo que deva ser instalada aps o perodo de
teste e permanecer at o final.
(Justificar quantitativamente).
a) X em A e B.
b) Y em A e B
c) X em A e Y em B
d) Bloco de recuperao XTYT tanto em A quanto em B.

50.0

You might also like