Escolar Documentos
Profissional Documentos
Cultura Documentos
UPM
Objetivos
Veremos cules son los factores que afectan a la
fiabilidad de un sistema
Tambin veremos algunas tcnicas para
tolerar fallos de software
ndice
Introduccin
Prevencin y tolerancia de fallos
Redundancia esttica y dinmica
Programacin con N versiones
Bloques de recuperacin
Fallos de funcionamiento
Conceptos bsicos
Tipos de fallos
Fallos transitorios
desaparecen solos al cabo de un tiempo
ejemplo: interferencias en comunicaciones
Fallos permanentes
permanecen hasta que se reparan
ejemplo: roturas de hardware, errores de software
Fallos intermitentes
fallos transitorios que ocurren de vez en cuando
ejemplo: calentamiento de un componente de hardware
Modos de fallo
intervalo
nunca
falla
avera
valor
tiempo
tipo
pronto
nunca
fallo
silencioso
parada
segura
arbitrario
tarde
fallo
incontrolado
ndice
Introduccin
Prevencin y tolerancia de fallos
Redundancia esttica y dinmica
Programacin con N versiones
Bloques de recuperacin
Tolerancia de fallos
Se trata de conseguir que el sistema contine funcionando aunque
se produzcan fallos
Prevencin de fallos
Se realiza en dos etapas:
Evitacin de fallos
Se trata de impedir que se introduzcan fallos durante la
construccin del sistema
Eliminacin de fallos
Consiste en encontrar y eliminar los fallos que se producen en el
sistema una vez construido
10
Hardware
Utilizacin de componentes fiables
Tcnicas rigurosas de montaje de subsistemas
Apantallamiento de hardware
Software
11
Comprobaciones
Revisiones de diseo
Verificacin de programas
Inspeccin de cdigo
Pruebas (tests)
Son necesarias, pero tienen problemas:
12
13
14
funcionalidad
mnima para control
de trfico bsico
sistema de reserva
para fallos
catastrficos
15
ndice
Introduccin
Prevencin y tolerancia de fallos
Redundancia esttica y dinmica
Programacin con N versiones
Bloques de recuperacin
Comparacin
Redundancia dinmica y excepciones
Seguridad, fiabilidad y confiabilidad
16
Redundancia
17
Redundancia en hardware
Redundancia esttica
Los componentes redundantes estn siempre activos
Se utilizan para enmascarar los fallos
Ejemplo:
Redundancia modular triple ( N)
Redundancia dinmica
Los componentes redundantes se activan cuando se detecta un
fallo
Se basa en la deteccin y posterior recuperacin de los fallos
Ejemplos:
sumas de comprobacin
bits de paridad
18
Redundancia dinmica
Dos etapas: deteccin y recuperacin de fallos
Bloques de recuperacin
Proporcionan recuperacin hacia atrs
Excepciones
Proporcionan recuperacin hacia adelante
19
versin 1
resultado
versin 2
gua
versin 3
20
Comparacin consistente
X1
X2
X3
> x0
> x0
no
> x0
s
no
> y0
> y0
> y0
V1
V2
La comparacin de valores
reales no es exacta
Cada versin produce un
resultado correcto, pero
diferente de las otras
No se arregla comparando con
x0+, y0+
V3
21
Desarrollo independiente.
No debe haber interaccin entre los equipos.
No est claro que distintos programadores cometan errores
independientes.
Presupuesto suficiente.
Los costes de desarrollo se multiplican.
El mantenimiento es tambin ms costoso.
22
4. Reparacin de fallos
Aunque el sistema funcione, el fallo puede persistir y hay que
repararlo
23
Deteccin de errores
24
25
Recuperacin de errores
Es la etapa ms importante
Se trata de situar el sistema en un estado correcto desde
el que pueda seguir funcionando
Hay dos formas de llevarla a cabo:
Recuperacin directa (hacia adelante)
Se avanza desde un estado errneo haciendo correcciones sobre
partes del estado
26
Recuperacin directa
27
Recuperacin inversa
28
Efecto domin
R12
T1
T2
R21
R22
29
Reparacin de fallos
30
Bloques de recuperacin
31
Esquema de recuperacin
restaurar
punto de
recuperacin
entrada
al bloque
establecer
punto de
recuperacin
ms
ejecutar
alternativa
error
ok
test
abandonar
punto de
recuperacin
no
32
Sintaxis
ensure <condicin de aceptacin>
by
<mdulo primario>
else by
<mdulo alternativo>
else by
<mdulo alternativo>
...
else by
<mdulo alternativo>
else error;
33
34
Prueba de aceptacin
35
Bloques de recuperacin
Redundancia dinmica
Diseo
algoritmos alternativos
proceso gua
Ejecucin
algoritmos alternativos
prueba de aceptacin
Ejecucin
mltiples recursos
Deteccin de errores
puntos de recuperacin
Deteccin de errores
votacin
prueba de aceptacin
36
ndice
Introduccin
Prevencin y tolerancia de fallos
Redundancia esttica y dinmica
Programacin con N versiones
Bloques de recuperacin
37
Excepciones
38
39
respuesta
normal
excepcin
de interfaz
excepcin
de avera
reanudacin
manejadores
de excepciones
actividad normal
peticin
de servicio
respuesta
normal
excepcin
interna
excepcin
de interfaz
excepcin
de avera
40
ndice
Introduccin
Prevencin y tolerancia de fallos
Redundancia esttica y dinmica
Programacin con N versiones
Bloques de recuperacin
41
Seguridad y fiabilidad
42
Confiabilidad
disponibilidad
de utilizacin
servicio
disponible
continuamente
no hay
situaciones
catastrficas
no hay fugas
de informacin
no autorizadas
no hay
alteraciones
de informacin
aptitud para
reparaciones
y cambios
disponibilidad
fiabilidad
seguridad
confidencialidad
integridad
mantenibilidad
43
Resumen
44