Professional Documents
Culture Documents
prof. B. J. Souza 1
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
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
prof. B. J. Souza 4
nova
Preveno de problemas
reduo da "inconfiabilidade"
Eliminao do desperdcio
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.
prof. B. J. Souza 5
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
DESENVOLVIMENTO
PRODUO
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:
C=I+
Si Pi
(1 + D )
i =1
I=Custo de Aquisio
Si=Custo da i-sima manuteno anual
i
prof. B. J. Souza 7
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
Instalao
Montagens .
Falha de componente
Teste de sistema
Diagnsticos
Operao
Falha de componente .
Erros operacionais
Flutuaes ambientais
Diagnsticos
Fabricao
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
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
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.
prof. B. J. Souza 9
prof. B. J. Souza 10
4%
2%
1.2%
0.8%
%
componentes
defeituosos
100
custo do
equipamento automtico
de teste
10
10
100
1000
prof. B. J. Souza 11
ERROS TPICOS
.Falhas permanentes
.Falhas intermitentes
.Falhas transitrias
.Defeitos de projeto
.Permanente
.Intermitente
.Transitrio
.Intermitente
TAXA OCORRNCIA
prof. B. J. Souza 12
.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
prof. B. J. Souza 13
: taxa de falhas
perodo de mortalidade infantil
perodo
de
envelhecimento
perodo de vida
normal
tempo
F(t)=1-exp(t)
f(t)=exp(-t)
(d.p.
prof. B. J. Souza 14
=L Q (cyc+C1T+C2E)
( memria EEPROM)
=bEAQ...
(componente discreto)
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
classe
classe
classe
classe
classe
classe
-Imvel ameno(escritrio)
-Orbital(satelite)
0.2
0.2
1
2
5
10
16
150
vale 1.
-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
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
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)
Tipo
SSI,MSI,LSI (TTL,ECL)
PLA/PAL
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
prof. B. J. Souza 17
m =
M=h/r
2r
M
( , 2r + 2)
2
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:
prof. B. J. Souza 18
MTBF
MTTD
MTTR
DET.
DIAG. RECON
MTTF
REC.
REIN
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
MTTF
3555 h
5980 h
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
prof. B. J. Souza 21
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
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
.
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)
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
prof. B. J. Souza 24
p{sistema normal}=p{f(X)=0}=p1p2p3+p1q2p3+q1p2p3=(p1+p2-p1p2)p3
prof. B. J. Souza 25
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 ) = 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.
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.
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
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
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
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)
prof. B. J. Souza 29
(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.
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
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
MEMORIA
MTTF(16Mbyte- pastilhas de 64k bits)
13.5 dias
109.7 dias
864 dias
7021 dias
Exerccio:
-Projetar um sistema de memria de 1Mbyte de dados, para um microcomputador, que utilize o esquema SEC/DED.
prof. B. J. Souza 31
prof. B. J. Souza 32
IV-TCNICAS DE DISPONIBILIDADE
1-MODELAGEM
1.1- DISPONIBILIDADE:
k1,i
i,j1
k,i
i
i,j
km,i
i,jn
i = i ,n
n
pi , j
i , j
=
i
pi , n = 1
n
prof. B. J. Souza 33
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
[A]=0.
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
mi , j = Ti +
pi , k m k , j
k j
prof. B. J. Souza 34
i (t ) ,onde D um subconjunto
iD
de estados para os quais se considera que o sistema , como um todo, esta operando normalmente.
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]
d 0 (t )
= 0 (t ) + 1 (t )
dt
0 (t ) + 1 (t ) = 1
prof. B. J. Souza 35
resolvendo-se o sistema:
0 (t ) =
1 (t ) =
exp[( + )t ]
exp[( + )t ]
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
-2
-
obtm-se:
2
-(+)
0
[A]=0
i=1
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
prof. B. J. Souza 37
manuteno
mascaramento
(esgotamento da redundncia)
(esgotamento da redundncia)
reinicio
recuperao (falha catastrfica)
SISTEMA DEGRADADO
Reparo
reintegrao
SISTEMA
FALHO
prof. B. J. Souza 38
a)MASCARAMENTO DE FALHAS
b)REDUNDANCIA N-MODULAR
sistema interrompvel
a)REDUNDANCIA N-MODULAR
CHAVE
M1
N+R
x
y2
M2
s2
y
N+R
N+R
sN
DETECTOR
(comutador)
y
VOTADOR
prof. B. J. Souza 39
Rs = Rvcd C ( N + R, i ) Rm ( N + R i ) (1 Rm) i
i =0
p= N/2+R
um mdulo
Rm=Confiabilidade de
prof. B. J. Souza 40
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
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
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.
prof. B. J. Souza 43
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.
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
prof. B. J. Souza 46
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-
(t ) = ln(0 t + 1)
P
F
ln
P
F
t =
(t ) =
1
0 t + 1
t :
P .
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
( ) = e
0
ti instante da falha
valo de tempo)
ln = ln 0
ri
ou
ln = ln 0 +
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
prof. B. J. Souza 49
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
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-
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.
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
50.0