Anexo III. Patrones Arquitectónicos para el Dominio Automovilístico

Anuncio
Anexo III. Patrones Arquitectónicos para el Dominio Automovilístico
Nombre:
Patrón redundante homogéneo
Contexto
El patrón redundancia homogéneo (Homogenous Redundant) es un patrón que mejora la fiabilidad del
sistema ofreciendo múltiples (dos) canales. Esos canales operan en secuencia. El patrón mejora la
fiabilidad al mejorar el comportamiento frente a fallos aleatorios. Dado que la redundancia es
homogénea (ambos canales son idénticos) por definición un fallo sistemático que se produce en un
canal se produciría igualmente en el otro, por lo que no nos ofrece protección contra fallos sistemáticos.
Problema
El patrón redundante homogéneo da protección contra fallos aleatorios del sistema, para que este
pueda continuar ejecutándose en presencia de fallos. El canal primario continuaría trabajando mientras
no haya problemas. En caso de fallo en el canal, el sistema es capaz de detectarlo y cambiar al canal
backup.
Estructura
La estructura del patrón homogéneo se muestra en la Figura. Se puede apreciar que el patrón modifica
la arquitectura para contar con dos canales idénticos. Los elementos de validación implementan la
política switch-to-backup, invocando el otro canal cuando un error es detectado en el canal que está en
ejecución.
Estructura del Patrón Redundante Homogéneo
Consecuencias
El patrón es conceptualmente simple y fácil de diseñar. Provee una buena cobertura contra errores
aleatorios. Es útil para entornos donde la seguridad es un factor crítico y han de continuar operando
incluso en presencia de fallos.
Las desventajas del patrón son principalmente el alto coste de replicación y su baja cobertura a fallos
sistemáticos. Además, dado que el sistema se ejecuta en un solo canal y cambia al canal en espera solo
en caso de fallo, el cálculo realizado al detectarse el fallo se pierde. Además, o bien el dato de entrada se
pierde también o hay un tiempo de rehacer ese cálculo, que debería tenerse en cuenta en algunas
aplicaciones de tiempo real.
1
Anexo III. Patrones Arquitectónicos para el Dominio Automovilístico
Nombre:
Patrón de Triple Redundancia Modular
Contexto
El patrón de Triple Redundancia Modular (Triple Redundancy Pattern) o TMR es un patrón usado para
mejora la fiabilidad y seguridad de los sistemas donde no hay estado libre de fallos. El Patrón TMR es un
patrón que ofrece un número de canales impar (tres) que se ejecutan de forma concurrente en paralelo,
cada uno verificando los resultados del resto. Se comparan los resultados de los distintos canales, y en
caso de discrepancia, se aplica la política de mayoría-de-dos-tercios-gana (el resultado con dos votos
gana).
Problema
El problema que trata de resolver el patrón de Triple Redundancia Modular es básicamente el mismo
que el del redundante homogéneo, que es proveer protección contra fallos aleatorios, con la restricción
adicional de que en caso de fallo el dato de entrada no debe perderse y no debemos consumir tiempo
adicional en computar la respuesta en caso de fallo.
Estructura
La figura muestra la estructura replicada del patrón triple redundante modular. Cada canal individual
contiene los objetos que procesan los datos de entrada en una serie de pasos de computación. Los
canales no cotejan los resultados con el resto de canales en puntos estratégicos. Por el contrario, los
canales operan completamente en paralelo, y solamente al final los resultados se comparan. El
comparador implementa la política winner-take-all por lo que los dos canales que producen el resultado
considerado correcto ganarán.
Estructura del Patrón de Triple Redundancia Modular
Consecuencias
El patrón triple redundante modular solo puede detectar fallos aleatorios. Dado que los canales son
homogéneos, por definición un fallo sistemático aparecerá en todos los canales. Dado que los canales
están ejecutando en paralelo el sensor está replicado o al menos los tres canales son capaces de adquirir
el dato, por lo que no hay pérdidas de datos en caso de fallo y no se necesita recalcular la salida.
Este patrón añade el tiempo de computación del comparador afectando al comportamiento del sistema
en el caso general. Por otro lado, otra desventaja del patrón es el alto coste de replicación. El patrón
TMR es muy común en aplicaciones en las que los requisitos de fiabilidad son muy altos y compensan el
coste de replicación.
2
Anexo III. Patrones Arquitectónicos para el Dominio Automovilístico
Nombre:
Patrón Sanity-Check
Contexto
El patrón sanity-check es un patrón muy ligero que provee de una cobertura mínima frente a fallos. El
propósito del patrón sanity-check es asegurar que el sistema está operando de un modo razonable,
aunque no sea del todo correcto. Es muy útil en situaciones donde la actuación del sistema no sea crítica
(como una mejora opcional) pero que pueda causar daño si se hace de una manera incorrecta. En el
patrón sanity-check utilizamos un sensor independiente (o un sensor de nuestro sistema que nos provee
de otra manera de realizar el calculo sin usar el sensor principal) que verifica si el sistema ha de ser
llevado a un estado libre de fallos.
Muchos sistemas críticos tienen estados libres de fallo como condición para asegurar que el sistema es
seguro en todo momento. Cuando disponemos de un estado libre de fallo y no se requiere un alto nivel
de fiabilidad, entonces la seguridad del sistema se puede mantener a un coste bajo en relación a otros
patrones.
El principio básico por el que se rige este patrón es: si el canal del actuador falla, el canal de
monitorización lo detecta. Si el canal de monitorización falla el sistema sigue funcionando
correctamente.
Problema
El patrón pretende resolver evitar que el problema pueda causar “daños” cuando se detecten
desviaciones menores o moderadas del valor del previsto y que no tienen impacto en la seguridad,
proveyendo así un mínimo nivel de protección a un coste muy bajo.
Estructura del patrón:
La figura muestra la estructura básica del patrón sanity-check. Se puede apreciar el uso de un sensor
adicional y de la monitorización del actuador que se traduce normalmente en comprobar el valor que
realmente se está aplicando. Tanto el canal principal como el de sanity-check operan de manera
concurrente.
Estructura del Patrón Sanity-check
Consecuencias
El patrón sanity-check es una solución de bajo coste que provee una cobertura mínima frente a fallos.
Permite el reúso de otros sensores presentes en el sistema o el uso de sensores rudimentarios con el fin
de detectar fallos. La comparación que realiza es normalmente una verificación para ver si el valor que
realmente se ha obtenido esta dentro de un rango bastante amplio. Como resultado, la cobertura es
mínima y no pretende replicar la precisión del canal principal. Esto significa que este patrón es aplicable
en sistemas en los que hay un estado libre de fallos al que podemos llegar si la salida es muy distinta a la
que se pretendía y en los que las pequeñas desviaciones que no son detectadas por el patrón no afectan
a la seguridad del sistema.
3
Anexo III. Patrones Arquitectónicos para el Dominio Automovilístico
Nombre
Patrón Watchdog (perro guardián)
Contexto
El patrón watchdog es un patrón muy ligero que provee de una cobertura mínima frente a fallos. El
patrón watchdog únicamente comprueba que los cálculos internos se están llevando a cabo
satisfactoriamente. Esto significa que la cobertura frente a fallos es mínima, y un amplio rango de fallos
no será detectado.
Problema
Los sistemas de tiempo real son aquellos en que se puede predecir la respuesta en el tiempo. En estos
sistemas las salidas tienen un deadline en el que tienen que ser aplicadas. Si el cálculo acaba mas allá del
deadline el resultado puede considerarse irrelevante o incorrecto. Si la salida llega demasiado tarde, el
sistema no podrá ser controlado, se dice entonces que el sistema está en la región inestable.
Estructura del patrón
La estructura del patrón se muestra en la figura, en la que se puede apreciar su simplicidad. El canal
principal trabaja de manera independiente al watchdog, y le envía “pruebas de vida” cada cierto tiempo
al watchdog. A esto se le denomina “stroking the watchdog” (acariciar al guardián). El watchdog emplea
la periodicidad del stroking para detectar si se ha producido un fallo. Muchos watchdog únicamente
comprueban que el stroke se produce cada cierto lapso de tiempo y no se preocupan si el stroke llega
demasiado pronto, por el contrario otros aseguran que el stroke llega exactamente en el instante
previsto.
Estructura del Patrón Watchdog
Consecuencias
El patrón watchdog es un patrón extremadamente ligero que raramente se utiliza solo en sistemas
críticos. Es extremadamente bueno identificando fallos en la línea de tiempo, especialmente cuando una
base de tiempo independiente guía al watchdog. Puede ser utilizado para detectar deadlocks en el canal
principal.
Dado que su cobertura es tan baja su efecto sobre la fiabilidad es prácticamente inapreciable y
raramente se utiliza solo.
4
Descargar