Você está na página 1de 56

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 1

CONFIABILIDADE DE SISTEMAS DIGITAIS

Prof. Bencio Jos de Souza

CONFIABILIDADE DE SISTEMAS DIGITAIS 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

prof. B. J. Souza 2

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 I. CONCEITOS FUNDAMENTAIS QUALIDADE POR PROJETO

prof. B. J. Souza 3

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/

?
PROJETO FABRICAO

? = problemas
OPERAO

?
???

1980/

?
PROJETO FABRICAO

? = problemas
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

N1, N2

-24

PROJETO

FABRICAO

0 OPERAO +3 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 DESENVOLVIMENTO ESTABELECIMENTO DO MELHOR PROJETO VERIFICAO DO PROJETO VALIDAO DO PROJETO VALIDAO DOS PROCESSOS DE PRODUO CURVA DE APRENDIZADO COMPLETA 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.(ISO8402). 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 Si Pi C=I+ i i =1 ( 1 + D ) I=Custo de Aquisio D=Taxa de desconto anual Si=Custo da i-sima manuteno anual Pi=nmero de falhas esperadas no ano i 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 ESTGIO


Especificao

FONTES DE ERROS Projeto do algoritmo . Especificaes formais Projeto do algoritmo . Fiao e montagem "Timing" Falha de componente Fiao e montagem . Falha de componente Montagens . Falha de componente Falha de componente . Erros operacionais Flutuaes ambientais

TCNICAS DE DETECO Simulao Verificao da consistncia Teste de estmulo/resposta

e projeto
Prottipo

Fabricao

Teste de sistema ,("Burn-In") Diagnsticos Teste de sistema Diagnsticos Diagnsticos

Instalao

Operao

2.4- ESTGIO DE FABRICAO DO HARDWARE


INSPEO DE COMPONENTES

FABRICAO DE CARTES C.I.

MONTAGEM PAINIS

MONTAGEM CARTES C.I.

TESTE DOS CARTES C.I.

TESTE DE PAINIS

INSPEO E TESTE DOS CARTES C.I.

MONTAGEM DO SISTEMA

CONFIABILIDADE DE SISTEMAS DIGITAIS TESTE DE MATURIDADE DO PROJETO (DMT)-

prof. B. J. Souza 8

Estimativa do MTTF de um novo produto antes da fabricao em serie.("RUN-IN"). 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 .Falhas permanentes .Falhas intermitentes .Falhas transitrias .Defeitos de projeto ERROS TPICOS .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 falhas (t)=f(t)/R(t) .Distribuio da ocorrncia das falhas .Densidade de probabilidades da distribuio de ocorrncia das

.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) MTTF= 1/ F(t)=1-exp(t) f(t)=exp(-t) (d.p. exponencial)

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) =L Q (cyc+C1T+C2E) =bEAQ... n ( circuito integrado lgica digital, memria) ( memria EEPROM) (componente discreto)

O valor de calculado por essa frmula em falhas/106horas FATOR L "Learning factor" (baseado na maturidade do processo de fabricao) Q "Quality factor" (baseado no processo de inspeo e C.Q) T "Temperature factor" (baseado na temperatura de operao e tipo de CI) E "Enviromental factor" (baseado no ambiente de operao) FAIXA 1:10

1:150

0.1:1000

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 vale 1. Q - FATOR DE QUALIDADE : .-Definido por classe de componente: Q SBB1classe A, militar norma MIL-38510 classe B, militar MIL-35810 classe B, militar norma MIL-883 1 2 5

CONFIABILIDADE DE SISTEMAS DIGITAIS B2CDclasse B- no militar (idem) classe C militar norma MIL-38510 classe D comercial 10 16 150

prof. B. J. Souza 15

E -.Solicitao ambiental mecnica GB SF GF GM NS NU AI AU ML -Imvel ameno(escritrio) -Orbital(satelite) -Imovel fixo -Portatil -Naval(encapsulado) -Naval-superficie -Aereo- habitado -Aereo no habitado -Missil-lanamento 0.2 0.2 1.0 4.0 4.0 5.0 4.0 6.0 10.0

T -Solicitao por temperatura (CI silcio) T = 0.1exp

EA 1 1 K TJ 298

MODELO DE ARRHENIUS Leva em conta o fator de velocidade de reao qumica em funo da temperatura de juno.

E 1 1 MTTF1=MTTF2 exp{ A ( )} 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 E 1 1 F=1/2 exp{ A ( )} K T1 T2 ENERGIA DE ATIVAO Valor caracterstico do tipo de material do CI. EA TTL,DTL,ECL 0.40 MOS, VHSIC CMOS0.35 I2L 0.6 GaAs 1.4

CONFIABILIDADE DE SISTEMAS DIGITAIS TEMPERATURA DE JUNO TJ=TA+Icc.Vcc.Af.JA

prof. B. J. Souza 16

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 Nmero de Gates C1 SSI,MSI,LSI (TTL,ECL) 1 a 100 0.0025 101 a 1000 0.005 PLA/PAL 1 a 200 0.010 201 a 1000 0.21 1001 a 5000 0.42 SSI, MSI (MOS) 1 a 100 0.010 101 a 1000 0.020 PLA/PAL (MOS) 1 a 500 0.00085 501 a 2000 0.0017 Microprocessador MOS 8 bits 0.060 16 bits 0.28 32 bits 0.56 ROM At 16K bits 0.00065 EEPROM 64K a 256K bits 0.0034 DRAM 256K a 1M bits 0.010 SRRAM 256K a 1M bits 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. Hermticos DIP, PGA, SMT DIP Glass Seal

C 2 = 2.8 10 4 ( N P )1.08

C 2 = 9.0 10 5 ( N P )1.51

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 17

EXEMPLO : : (10-6falhas/hora b CI bipolar Resistor fixo .0015 Capacitor fixo .003 E 6.0 Q 5.0 L 1.0 T 1.9 C1 C2 R cv 0.115

0.006 0.002

8.0 24.0

5.0 1.0

1.6 2.0

0.096 0.144

- 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 :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

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 18

Para distribuio de falhas exponencial e ensaio com reposio


2r M ( , 2r + 2) Para ensaio sem reposio 2r M m = 2 M=h/r (, 2r )

M=h/r

m =

2 4 6 8 10 20

2(0.05,) 0.103 0.711 1.635 2.733 3.94 10.85

2(0.90,) 4.605 7.779 10.65 13.36 15.98 28.41

2(0.95,) 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: 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.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 19

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 MTBF MTTD MTTR DET. DIAG. RECON REC. REIN MTTF Falha

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 ("FAULT-AVOIDANCE")

prof. B. J. Souza 20

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 21

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 E2 y2 0: y1=y2 d= DETECTOR 1: y1~y2


CODIFICAO/VERIFICAO
X CODIFICADOR Xc DECODIFICADOR X

0: Xc cdigo d= 1: Xc no cdigo

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 22

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)=par[impar] p=0 U(C)=impar[par] p=1 paridade PAR[IMPAR] .TCNICAS UTILIZADAS: ESQUEMA (a).Bit por palavra (b).bit por byte (c).Entrelaado COBERTURA .todos erros de 1 bit .todos erros de nmero impar de bits .todos erros de 1 bit .todos erros com nmero impar de bits por byte .todos erros de 1 bit .todos erros de nmero impar de bits por campo .grande nmero de erros mltiplos adjacentes .(idem entrelaado)

(d).Por pastilha

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 23

.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 .

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 24

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). .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.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 25

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 (x2) (x3)

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 independentes) p1p2p3 p1p2q3 p1q2p3 p1q2q3 q1p2p3 q1p2q3 q1q2p3 q1q2q3 (As variveis xi so

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

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 26

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)= (d /dt)F(t) : densidade de probabilidades de F(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.

CONFIABILIDADE DE SISTEMAS DIGITAIS DISTRIBUIO DE POISSON

prof. B. J. Souza 27

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

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 i =0

Cn, i R n i (1 R)i

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 28

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 eletrnico representado no modelo abaixo. 1=2=3=10-3 f/h -5 f/h 4=10
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 29

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

x M2

y2 VOTADOR

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

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 30

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 )
3 2 v + 2 v + 3

(b) MTTF =

(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.

CONFIABILIDADE DE SISTEMAS DIGITAIS 7.3- CORREO DE ERROS

prof. B. J. Souza 31

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> p1=d1d2d3 p2=d2d3d4 p3=d1d2d4 1000101 G= 0100111 0010110 0001011

Exemplo: cdigo (n=7,k=3) d1 d2 d3 1 1 0 1 0 1 1 1 1

d4 0 1 1

p1 1 0 0

p2 0 1 0

p3 0 0 1

H=

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.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 32

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 MEMORIA Tipo de Erro MTTF(16Mbyte- pastilhas de 64k bits) Simples "soft"(corrigvel) 13.5 dias Simples "hard"(corrigvel) 109.7 dias Duplo "soft" 864 dias Duplo "hard" 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. a

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 33

7.4- VOTADORES(NIVEL LOGICO) : So circuitos lgicos que realizam a votao de maioria "bit a bit". Podem ser nosincronizados 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 pode-se implementar qualquer tipo de funo lgica que tolera um determinado nmero de falhas. Tipo de Porta lgica Falha Critica Falha Sub-Critica AND 10 01 OR 01 10 NOT 01,10 Nenhuma NAND 0 0 1 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 34

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,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 . PROBABILIDADE DE OCUPAO DOS ESTADOS:

prof. B. J. Souza 35

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

com a condio:

(t ) = 1
i i

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

Ai , j = i , j

para ij

Ai ,i = i , k
k i

Na condio limite, t tem-se que d(t)/dt=0 de modo que: [A]=0. Nesse caso i(t) ser representado simplesmente por i. 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:

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 36

mi , j = Ti +

k j

pi , k m k , j

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 disponibilidade A(t) pode ser calculada por: A(t)= i (t ) ,onde D um subconjunto de estados para os quais
iD

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: 0normal 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]= - O sistema de equaes diferenciais para esse caso fica: 10==1 reparo/h =[0 1]

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

0 (t ) + 1 (t ) = 1

CONFIABILIDADE DE SISTEMAS DIGITAIS resolvendo-se o sistema:

prof. B. J. Souza 37

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

1:operacional

2:falho

A transio do estado 0 para o estado 1 representa a falha de E1 ou E2.Como as taxas de falha so idnticas (MTTF1=MTTF2=1/) 01=2 . A transio de 1 para 2 representa a falha de apenas 1 equipamento e 12=. [A]= -2 - 2 -(+) 0 0 - [A]=0 e i=1

CONFIABILIDADE DE SISTEMAS DIGITAIS obtm-se:

prof. B. J. Souza 38

0 =

2 +

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

2 (2 + )( + )

2 =

22 (2 + )( + )

A = 0 + 1 =

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 39

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 manuteno falha deteco (transitria) retentativa (permanente) diagnostico isolao reconfigurao mascaramento (esgotamento da redundncia) SISTEMA FALHO

(esgotamento da redundncia)

reinicio recuperao (falha catastrfica) SISTEMA DEGRADADO Reparo reintegrao

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 40

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 (nonstop) 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 tem-se: Sistema no interrompivel (non-stop) a)MASCARAMENTO DE FALHAS b)REDUNDANCIA N-MODULAR a)REDUNDANCIA N-MODULAR

sistema interrompvel

No caso da redundncia N-modular um esquema geral dessas arquiteturas pode ser representado da seguinte forma:
s1 y1 M1 N+R x M2 N y2 / s2 y
VOTADOR

CHAVE

y N+R

N+R

sN

DETECTOR (comutador)

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 41

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-line-ligada. 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:

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

p= N/2+R mdulo

R:nmero de unidades de reserva

Rm=Confiabilidade de um

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 42

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 (Votador):Comparao 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.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 43

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 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.

CONFIABILIDADE DE SISTEMAS DIGITAIS


V- TCNICAS DE MANUTENIBILIDADE

prof. B. J. Souza 44

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 2 - PROJETO P/ MANUTENIBILIDADE

prof. B. J. Souza 45

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)

CONFIABILIDADE DE SISTEMAS DIGITAIS 3. TESTABILIDADE

prof. B. J. Souza 46

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. 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


VI CONFIABILIDADE DO SOFTWARE

prof. B. J. Souza 47

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 o-

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 48

perao. 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. 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 nf por R = 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.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 49

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 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 traando-se a reta mdia. (regresso linear simples).

(t ) = ln(0 t + 1)
=

(t ) =
1 1

0 t + 1

ln

P F

t =

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 50

P : Taxa de falhas no instante atual (presente). F : Taxa de falhas em um instante futuro.

R(t ) = exp([ (t ) (ti )]

do-se que atualmente a taxa de falhas P . : Numero de falhas adicionais esperadas no teste para que a taxa de falhas atinja o valor F supondo-se que atualmente a taxa de falhas P .

t : Tempo esperado de teste para que a taxa de falhas atinja o valor F supon-

Confiabilidade do software no instante t dado que a ltima falha observada (e portanto a ltima modificao) ocorreu no instante ti .
Exerccio: Um servidor tem uma arquitetura ilustrada na figura abaixo.i

Rede Local

Computador A SWx
Disco

Computador B SWy

Roteador

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
0.1 ADx (horas) t1 0.5 ADy

t2
0.2

t3
0.6

T4
1.2

t5
2.4

t6
21.0

t7
52.0

t8

t9

t10

205.0 510.0 700.0

Fim teste 720.0

t2 1.0

t3 1.1

T4 2.2

t5 3.5

t6 5.0

t7 12.0

t8 32.0

t9 58.0

t10 210.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

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 51

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
tempo)

ln = ln 0

ou

ln = ln 0 +

ti instante da falha i
1 2 3 4 5 6 7 8 9 10
(fim)

ri taxa de falhas instantnea estimada (falhas por intervalo de -ln ri ADx


-2.3 -2.3 -0.9 -0.5 0.18 2.9 3.4 5.0 5.7 5.2 5.3

ti ADx ri ADx
0.1 0.2 0.6 1.2 2.4 21.0 52.0 205.0 510.0 700.0
720.0

ti ADy ri Ady
0.5 1.0 1.1 2.2 3.5 5.0 12.0 32.0 58.0 210.0
720.0

-ln ri ADy
-0.69 -0.69 -2.3 0.09 0.26 0.4 1.97 3 3.3 5 6.5

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/(21-2.4)=0.054 1/(52-21)=0.0322 1/(20552)=0.0065 1/(510205)=0.0033 1/(700510)=0.0053 1/(720510)=0.0048

2.0 2.0 10.0 0.91 0.77 0.67 0.14 0.05 0.038 0.0066 0.0015

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 52

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 degradouse, 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


ensure <T(y)> by <y=A1(x)> else by <y=A2(x)> . . else by <y=An(x)> else error

prof. B. J. Souza 53

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

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 54

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 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.

CONFIABILIDADE DE SISTEMAS DIGITAIS

prof. B. J. Souza 55

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 resultados 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 56

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
1.6

t2
4.4

t3
8.8

T4
16.2

t5
28.4

t6
48.5

t7
81.6

t8

t9

t10

136.2 226.2 374.6

Fim teste 500.0

X
(horas )
0.001 0.003 0.010 0.028 0.078 0.214 0.581 1.581 4.300 11.689 50.0

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.