Fiabilidad
UPM
Fiabilidad y tolerancia de fallos
Juan Antonio de la Puente DIT/UPM
Transparencias basadas en el capítulo 5 del libro de A. Burns y A. Wellings Real-Time Systems and Programming Languuages, 3ª edición (2001)
Objetivos
u
Veremos cuáles son los factores que afectan a la fiabilidad de un sistema También veremos algunas técnicas para tolerar fallos de software
u
STRL-30/05/01
©2001 Juan Antonio de la Puente
1
Índice
u u u u
Fiabilidad, averías y fallos Modos de fallo Prevención y tolerancia de fallos Redundancia estática y dinámica
– Programación con N versiones – Bloques de recuperación
u u
Redundancia dinámica y excepciones Seguridad, fiabilidad y confiabilidad
STRL -30/05/01
©2001 Juan Antonio de la Puente
2
Fallos defuncionamiento
u
Los fallos de funcionamiento de un sistema pueden tener su origen en
– – – – Una especificación inadecuada Errores de diseño del software Averías en el hardware Interferencias transitorias o permanentes en las comunicaciones
u
Nos centraremos en el estudio de los errores de software
STRL -30/05/01
©2001 Juan Antonio de la Puente
3
Conceptos básicos
u
u
uu
La fiabilidad (reliability) de un sistema es una medida de su conformidad con una especificación autorizada de su comportamiento Una avería (failure) es una desviación del comportamiento de un sistema respecto de su especificación Las averías se manifiestan en el comportamiento externo del sistema, pero son el resultado de errores (errors) internos Las causas mecánicas o algorítmicas delos errores se llaman fallos (faults)
STRL -30/05/01
©2001 Juan Antonio de la Puente
4
Fallos encadenados
u
Los fallos pueden ser consecuencia de averías en los componentes del sistema (que son también sistemas)
avería avería
fallo fallo
error error
avería avería
fallo fallo
STRL -30/05/01
©2001 Juan Antonio de la Puente
5
Tipos de fallos
u
Fallostransitorios
– desaparecen solos al cabo de un tiempo – ejemplo: interferencias en comunicaciones
u
Fallos permanentes
– permanecen hasta que se reparan – ejemplo: roturas de hardware, errores de diseño de software
u
Fallos intermitentes
– fallos transitorios que ocurren de vez en cuando – ejemplo: calentamiento de un componente de hardware
Debe impedirse que los fallos de todosestos tipos causen averías
STRL -30/05/01 ©2001 Juan Antonio de la Puente 6
Tipos de avería (failure modes)
nunca se avería
avería
valor
tiempo
arbitrario
error de intervalo
error de valor
pronto
nunca (omisión)
avería por retraso
avería incontrolada
avería silenciosa
parada segura
avería controlada
STRL -30/05/01
©2001 Juan Antonio de la Puente7
Prevención y tolerancia de fallos
u
Hay dos formas de aumentar la fiabilidad de un sistema:
– Prevención de fallos
» Se trata de evitar que se introduzcan fallos en el sistema antes de que entre en funcionamiento
– Tolerancia de fallos
» Se trata de conseguir que el sistema continúe funcionando aunque se produzcan fallos
u
En ambos casos el objetivo es desarrollar sistemascon tipos de averías bien definidos
STRL -30/05/01
©2001 Juan Antonio de la Puente
8
Prevención de fallos
u
Se realiza en dos etapas:
– Evitación de fallos
» Se trata de impedir que se introduzcan fallos durante la construcción del sistema
– Eliminación de fallos
» Consiste en encontrar y eliminar los fallos que se producen en el sistema una vez construido
STRL -30/05/01©2001 Juan Antonio de la Puente
9
Técnicas de evitación de fallos
u
Hardware
– Utilización de componentes fiables – Técnicas rigurosas de montaje de subsistemas – Apantallamiento de hardware
u
Software
– – – – Especificación de requisitos rigurosa o formal Métodos de diseño comprobados Lenguajes con abstracción de datos y modularidad Utilización de entornos de desarrollo con...
Regístrate para leer el documento completo.