Meios para obter e validar a dependabilidade
• Tolerância a defeitos / falhas
• Prevenção de defeitos / falhas
• Remoção de defeitos
• Previsão de defeitos / falhas
• Bibliografia
• J-C Laprie, Dependability: Basic Concepts and Terminology, Springer-Verlag, 1992.
Sistemas Tolerantes a Falhas
1
Luís Almeida, EST -IPCB, 2º semestre 2001
Meios para obter e validar a dependabilidade
Vivemos num mundo imperfeito (desculpem se ainda não sabiam!)
Mais cedo ou mais tarde aparecerá um defeito, que activará um erro
e causará uma falha (provavelmente uma sequência de falhas)
E por mais cuidado que se tenha...
Torna-se obrigatória a utilização combinada de várias técnicas e
métodos para conseguir minorar o aparecimento, o número e
impacto de defeitos.
(prevenção do aparecimento de defeitos, remoção de defeitos e
previsão de futuros defeitos, e tolerância a defeitos)
Sistemas Tolerantes a Falhas
2
Luís Almeida, EST -IPCB, 2º semestre 2001
1
Meios para obter e validar a dependabilidade
Pretende-se minorar
• o aparecimento dos defeitos
prevenção do aparecimento de defeitos
• o número dos defeitos
remoção de defeitos e previsão de futuros defeitos / falhas
• o impacto dos defeitos
tolerância a defeitos
Sistemas Tolerantes a Falhas
3
Luís Almeida, EST -IPCB, 2º semestre 2001
Meios para obter e validar a dependabilidade
Organização das técnicas em obtenção vs. validação
Técnicas para tornar um dado sistema dependível
(obtenção de dependabilidade)
Prevenção de defeitos
(e.g. Técnicas de projecto adequadas)
Tolerância a defeitos
(e.g. Utilização de redundância)
Técnicas para melhorar ou verificar a dependabilidade de um dado
sistema (validação da dependabilidade)
Remoção de defeitos
(e.g. Técnicas de teste e verificação)
Previsão de defeitos (e.g. Injecção de defeitos, teste de resistência)
Sistemas Tolerantes a Falhas
4
Luís Almeida, EST -IPCB, 2º semestre 2001
2
Meios para obter e validar a dependabilidade
Organização das técnicas em evitar vs. tolerar
Técnicas para evitar o aparecimento de defeitos
(“fault avoidance”)
Prevenção de defeitos
Remoção de defeitos
Técnicas para tolerar defeitos existentes ou que venham a existir
(“fault tolerance”)
Tolerância a defeitos
Sistemas Tolerantes a Falhas
5
Luís Almeida, EST -IPCB, 2º semestre 2001
Tolerância a falhas / defeitos
Tolerância a defeitos
(“fault tolerance”)
• Processamento de erros
Remoção dos erros do estado do sistema antes que seja
gerada uma falha
• Tratamento de defeitos
Prevenção da activação de defeitos
Sistemas Tolerantes a Falhas
6
Luís Almeida, EST -IPCB, 2º semestre 2001
3
Tolerância a falhas / defeitos
Processamento de erros
( “error processing”)
• Recuperação de erros
(“error recovery”)
Condução do sistema de um estado erróneo para um
estado sem erro:
• do passado recente (“backward recovery”)
(requer definição de pontos de recuperação)
• novo (“forward recovery”)
(normalmente corresponde a um modo de
funcionamento degradado)
Sistemas Tolerantes a Falhas
7
Luís Almeida, EST -IPCB, 2º semestre 2001
Tolerância a falhas / defeitos
Processamento de erros (cont.)
• Compensação de erros
(“error compensation”)
Usa-se redundância para que um erro interno não cause a
falha do serviço prestado pelo sistema
(e.g. através de mecanismos de votação para mascarar
defeitos)
Sistemas Tolerantes a Falhas
8
Luís Almeida, EST -IPCB, 2º semestre 2001
4
Tolerância a falhas / defeitos
Processamento de erros
(em termos de comportamento temporal)
• Recuperação de erros
• Em situação de erro, a recuperação, devido essencialmente à
troca de estados, impõe um custo computacional elevado
• A duração do período de recuperação é relativamente larga
• Compensação de erros
• Devido à existência de redundância, o processamento extra
requerido na presença de erros é, normalmente, desprezável
• A duração do período de compensação é muito reduzida
Sistemas Tolerantes a Falhas
9
Luís Almeida, EST -IPCB, 2º semestre 2001
Tolerância a falhas / defeitos
Detecção de erros
(“error detection”)
• É obrigatória quando se usa recuperação de erros
(daí a designaç ão comum de Detecção e Recuperação de Erros)
Um componente que possua mecanismos internos para
detecção de erros diz-se que é um componente com
auto-verificação
(“self-checking component”)
• A utilização de componentes redundantes com auto-verificação
permite facilmente realizar a compensação de erros
Diz-se então Detecção e Compensação de Erros
Sistemas Tolerantes a Falhas
10
Luís Almeida, EST -IPCB, 2º semestre 2001
5
Tolerância a falhas / defeitos
Tratamento de defeitos
• Diagnóstico de defeitos
Determinação da causa do(s) erro(s) em termos de localização e
natureza (i.e., identificação e caracterizaç ão do(s) defeito(s))
• Passivação de defeitos
Evitar que um defeito seja novamente activado
(e.g., através da desactivação do componente defeituoso)
Pode implicar a reconfiguração do sistema
Sistemas Tolerantes a Falhas
11
Luís Almeida, EST -IPCB, 2º semestre 2001
Tolerância a falhas / defeitos
Defeitos, Erros e Falhas em Sistemas Tolerantes a Falhas
• Defeito brando
(“soft fault”)
Aquele em que a passivação, após diagnóstico, não é
necessária devido a uma baixa probabilidade de reactivação
• Defeito firme
(“hard fault”)
Aquele em que a passivação, após diagnóstico, é fundamental
para que o sistema possa continuar em operação
Sistemas Tolerantes a Falhas
12
Luís Almeida, EST -IPCB, 2º semestre 2001
6
Tolerância a falhas / defeitos
Defeitos, Erros e Falhas em Sistemas Tolerantes a Falhas
• Defeitos independentes
(“independent faults”)
Aqueles que são atribuíveis a causa diversas
• Defeitos relacionados
(“related fault”)
Aqueles que são atribuíveis a uma mesma causa
(e.g., fonte de alimentação, relógio de sistema)
Em geral causam falhas de modo-comum (“common-mode
failures”)
Sistemas Tolerantes a Falhas
13
Luís Almeida, EST -IPCB, 2º semestre 2001
Tolerância a falhas / defeitos
Defeitos, Erros e Falhas em Sistemas Tolerantes a Falhas
• Erros coincidentes
(“coincident errors”)
Os que resultam da aplicação das mesmas entradas ao sistema
• Falhas simultâneas
(“simultaneous failures”)
Ocorrem dentro de uma determinada janela temporal prédefinida
• Falhas sequenciais
(“sequential failures”)
As que não são simultâneas
Sistemas Tolerantes a Falhas
14
Luís Almeida, EST -IPCB, 2º semestre 2001
7
Tolerância a falhas / defeitos
Outras observações
A necessidade de redundância pode ser reduzida tirando partido de
determinadas propriedades do sistema
(e.g., utilização de códigos de detecção e correcção de erros, de
algorítmos tolerantes a falhas)
A tolerância a defeitos deve ser recursiva, i.e., os mecanismos que a
sustentam devem ser protegidos contra o aparecimento de defeitos
A tolerância a defeitos pode também ser aplicada em relação a defeitos
intencionais e não apenas acidentais
Sistemas Tolerantes a Falhas
15
Luís Almeida, EST -IPCB, 2º semestre 2001
Tolerância a falhas / defeitos
Técnicas para
obtenção de tolerância
Processamento
de erros
Recuperação
de erros
para um
estado
passado
Sistemas Tolerantes a Falhas
para um
novo
estado
Tratamento
de erros
Compensação
de erros
Diagnóstico
Passivação
Redundância
16
Luís Almeida, EST -IPCB, 2º semestre 2001
8
Remoção de defeitos
Remoção de defeitos
(“fault removal”)
• Verificação
Confrontação do comportamento do sistema com determinadas
propriedades designadas, condições de verificação
Quando a verificação falha:
• Diagnóstico
Identificação das causas da falha da verificação
• Correcção
Eliminação das causas identificadas de modo a que o sistema
cumpra as condições de verificação
Sistemas Tolerantes a Falhas
17
Luís Almeida, EST -IPCB, 2º semestre 2001
Remoção de defeitos
Verificação
• Condições de verificação
•Gerais
Que se aplicam a uma classe de sistemas sendo
relativamente independentes da especificação
(e.g., ausência de “deadlock”, conformidade com o
projecto e regras de construção)
•Específicas
Directamente deduzidas das especificações do sistema
Sistemas Tolerantes a Falhas
18
Luís Almeida, EST -IPCB, 2º semestre 2001
9
Remoção de defeitos
Verificação
• Verificação estática
Não requer o funcionamento do sistema (i.e., é feita “off-line”)
• Verificação dinâmica
Efectuada com o sistema em funcionamento (i.e., “on-line”)
Sistemas Tolerantes a Falhas
19
Luís Almeida, EST -IPCB, 2º semestre 2001
Remoção de defeitos
Verificação estática
Pode ser efectuada:
• No próprio sistema (e.g., análise de fluxo de dados, de
complexidade, verificação por compilador)
• Num modelo comportamental do sistema (e.g., redes de
Petri, máquinas de estados finitos)
Sistemas Tolerantes a Falhas
20
Luís Almeida, EST -IPCB, 2º semestre 2001
10
Remoção de defeitos
Verificação dinâmica
Pode ser efectuada:
• Recorrendo a entradas simbólicas
(execução simbólica)
• Recorrendo a entradas quantificadas, i.e., valores
(teste)
Sistemas Tolerantes a Falhas
21
Luís Almeida, EST -IPCB, 2º semestre 2001
Remoção de defeitos
Verificação dinâmica - Teste
A escolha dos valores de entrada pode ser efectuada de acordo com:
•O objectivo do teste
Teste de conformidade vs. Teste de defeitos
•O modelo do sistema
Teste funcional vs. Teste estrutural
•A existência ou não de um modelo de defeitos
Teste orientado a classes de defeitos
(e.g., defeitos tipo “stuck-at”, no micro-código de µPs)
Sistemas Tolerantes a Falhas
22
Luís Almeida, EST -IPCB, 2º semestre 2001
11
Remoção de defeitos
Verificação dinâmica – Geração de padrões de teste
• Geração determinística
Os padrões são pré-seleccionados de acordo com
determinados critérios
• Geração estatística
Os padrões são gerados aleatoriamente com uma determinada
distribuição de probabilidades definida com base em certos
critérios
Sistemas Tolerantes a Falhas
23
Luís Almeida, EST -IPCB, 2º semestre 2001
Remoção de defeitos
Verificação dinâmica – Avaliação dos resultados do teste
Problema do oráculo
Decidir se os resultados satisfazem ou não as condições de verificação
As condições de verificação podem aplicar-se a todas as saídas do
sistema ou apenas a uma função delas (i.e., a assinatura do sistema)
Os resultados do teste podem ser comparados com:
•Saídas de um sistema simulado
•Saídas de um sistema de referência
Sistemas Tolerantes a Falhas
24
Luís Almeida, EST -IPCB, 2º semestre 2001
12
Remoção de defeitos
Outras noç ões
Projecto orientado à verificabilidade
(“design for verifiability”)
Projecto de um sistema por forma a facilitar a respectiva verificação
Manutenção correctiva
Remoção de defeitos durante a fase operacional do ciclo de vida do
sistema. Pode ser:
• Manutenção curativa – remoção de defeitos que já causaram erros
• Manutenção preventiva – remoção de defeitos antes que causem erros
Sistemas Tolerantes a Falhas
25
Luís Almeida, EST -IPCB, 2º semestre 2001
Remoção de defeitos
Positiva – OK !
Verificação
Negativa
Diagnóstico
Correcção
Sistemas Tolerantes a Falhas
26
Luís Almeida, EST -IPCB, 2º semestre 2001
13
Remoção de defeitos
Verificação
Condições de
verificação
Gerais
Específicas
Estática
Dinâmica
Execução
simbólica
Teste
modelo do sistema
Teste funcional
Teste estrutural
Sistemas Tolerantes a Falhas
No
sistema
Num
modelo
objectivo
Teste de conformidade
Teste de defeitos
27
Luís Almeida, EST -IPCB, 2º semestre 2001
Previsão de defeitos / falhas
Previsão de defeitos
(“fault forecasting”)
Avaliação do comportamento do sistema relativamente ao
aparecimento de defeitos ou sua activação
A avaliação pode ser:
• Determinística
• Probabilística
Sistemas Tolerantes a Falhas
28
Luís Almeida, EST -IPCB, 2º semestre 2001
14
Previsão de defeitos / falhas
Ciclo de vida do sistema
Alternância entre um estado de serviço correcto e outro de serviço
incorrecto.
Falha
Serviço
correcto
Serviço
incorrecto
Restabelecimento
Sistemas Tolerantes a Falhas
29
Luís Almeida, EST -IPCB, 2º semestre 2001
Previsão de defeitos / falhas
Definem-se, então, as seguintes medidas de dependabilidade:
• Fiabilidade
(“reliability”)
Medida do fornecimento contínuo de serviço correcto
(ou alternativamente do tempo até à próxima falha - MTTF)
• Disponibilidade
(“availability”)
Medida do fornecimento de serviço correcto relativamente à
alternância entre os estados referidos acima (A = MTTF / MTBF)
Sistemas Tolerantes a Falhas
30
Luís Almeida, EST -IPCB, 2º semestre 2001
15
Previsão de defeitos / falhas
(cont):
• Manutenção
(“maintainability”)
Medida do fornecimento contínuo de serviço incorrecto
(i.e., medida do tempo até ao próximo restabelecimento - MTTR)
(MTBF = MTTF + MTTR)
• Segurança
(“safety”)
Medida do fornecimento de serviço seguro
(ou alternativamente do tempo até à próxima falha catastrófica)
Sistemas Tolerantes a Falhas
31
Luís Almeida, EST -IPCB, 2º semestre 2001
Previsão de defeitos / falhas
Outras medidas alternativas das mesmas grandezas:
• Fiabilidade – taxa de falha – λ
( λ = 1 / MTTF )
• Manutenção – taxa de reparação – µ
( µ = 1 / MTTR )
• Disponibilidade – A
( A = µ / (µ
µ + λ) )
Sistema ultra-fiável => λ <10-9 falhas/hora => MTTF > 114 000 anos !!!
e.g.
Sistemas aeronáuticos (controlo de aviões, de tráfego aéreo...)
Sistemas ferroviários (controlo de passagens de nível, de tráfego...)
Sistemas espaciais...
Sistemas Tolerantes a Falhas
32
Luís Almeida, EST -IPCB, 2º semestre 2001
16
Previsão de defeitos / falhas
Referência
Significado habitual
Grandeza
Grandeza usual
a
Time to fail
Fiabilidade
MTTF = 1 / λ
b
Time to repair
Manutenção
MTTR = 1 / µ
a _
a+b
On-line relative time
Disponibilidade
MTTF
= µ
MTTF + MTTR µ+λ
Time to catastrophy
Segurança
c
Restabelecimento
do serviço
R
Sistemas Tolerantes a Falhas
R
FB
a
Falha
catastrófica
Falha
benigna
FC
b
c
33
t
Luís Almeida, EST -IPCB, 2º semestre 2001
Previsão de defeitos / falhas
As medidas de dependabilidade permitem ”prever” a ocorrência de falhas
(probabilisticamente, claro...)
A sua quantificação faz-se com recurso à modelização dos processos
básicos (i.e., de falha, de manutenção, de activação do sistema, etc.)
usando dados obtidos por teste
Sistemas Tolerantes a Falhas
34
Luís Almeida, EST -IPCB, 2º semestre 2001
17
Previsão de defeitos / falhas
• Probabilidade do sistema se encontrar em funcionamento no instante
t, dado que no instante t0 estava em funcionamento e que a sua taxa
média de falha é dada por λ
R(t) = e- λλ(t-t0)
• Distribuição de Poisson, probabilidade de x eventos no intervalo de
tempo t0 a t, com uma taxa média de eventos dada por λ
x/x! e- λλ (t-t0), x=0,1,...
p(x) = [ λ (t-t0)]
(
R(t) = p(0) => probabilidade de 0 falhas de t0 a t
Sistemas Tolerantes a Falhas
35
Luís Almeida, EST -IPCB, 2º semestre 2001
18
Download

Meios para obter e validar a dependabilidade Meios para obter e