Hechos
En los aviones Airbus hay computadoras para asegurar la envolvente de vuelo o para mover las superficies de control. Los FADEC controlan totalmente los motores. Las computadoras toman decisiones en lugar de los pilotos, o incluso en contra de sus órdenes. Los aviones Boeing tienen computadoras similares, incluso si la tripulación tiene más autoridad.
Bahía electrónica A330, fuente , foto de 'swiss_a320'
Implicaciones de seguridad
Al ser críticos, los sistemas son redundantes y se supervisan entre sí para detectar posibles fallas y aislar los componentes defectuosos. Sin embargo, una computadora aún puede desarrollarse a partir de especificaciones defectuosas, o estar mal fabricada, y un programa puede contener errores. Si el mismo defecto está presente en todas las computadoras en la línea de producción, el propósito de la redundancia puede fracasar, ya que no podrían detectar un comportamiento erróneo.
Esto se expresa mejor en este artículo :
Debido a las graves consecuencias resultantes de un único punto de falla, la redundancia de hardware es fundamental en los sistemas DAL A. Pero si la aeronave usa una arquitectura redundante construida con canales similares, ese sistema seguirá siendo susceptible a fallas de modo común que pueden causar que todos los canales fallen de la misma manera.
Pregunta
¿Cuáles son los principios utilizados en la aviación para reducir la posibilidad de que las computadoras redundantes fallen o cometan los mismos errores al mismo tiempo?
En lo que respecta a Airbus:
Cada unidad se compone de dos placas diferentes , una que controla la salida y la otra que la controla. Disímil significa CPU y conjuntos de chips diferentes (A320 usa i386 (Intel) y m68k (Motorola); los modelos más nuevos usan diferentes combinaciones, básicamente lo que se usaba mucho en el momento en que se diseñaron) y software escrito por dos equipos independientes.
Hay fail-overs, dos o tres dependiendo del sistema (IIRC, la unidad que lee los side-sticks es la única con cuatro copias).
Los dos ejes principales, cabeceo y balanceo, están controlados por dos sistemas diferentes. ELAC controla el elevador y los alerones, SEC controla el estabilizador horizontal y los alerones. Se trata de dos cadenas completamente independientes que incluyen diferentes superficies de control reales, excepto las palancas laterales.
El A320 tiene respaldo (hidro)mecánico para cabeceo a través de la rueda de ajuste y guiñada a través de los pedales, utilizando el acoplamiento de guiñada y balanceo para balanceo. Esto funciona incluso con una falla eléctrica completa. Sin embargo, las copias de seguridad de IIRC en los modelos más nuevos no (porque nunca ha ocurrido una falla eléctrica completa).
La redundancia no solo se logra multiplicando las computadoras, sino también diversificándolas. En los aviones de pasajeros de Airbus, se usan dos computadoras diferentes (una con chips Intel, la otra con chips Motorola en el caso del A320) y el software se escribe dos veces, uno para control y otro para monitoreo, por dos equipos que no pueden interactuar. .
Para citar del capítulo 12 de The Avionics Handbook :
A pesar de los costos no recurrentes inducidos por la disimilitud, es fundamental que las cinco computadoras sean de diferente naturaleza para evitar fallas de modo común. Estas fallas podrían conducir a la pérdida total del sistema de control de vuelo eléctrico. En consecuencia, se pueden distinguir dos tipos de ordenadores:
2 ELAC (computadoras de elevadores y alerones) y 3 SEC (computadoras de elevadores y spoilers) en A320/A321 y,
3 FCPC (computadoras primarias de control de vuelo) y 2 FCSC (computadoras secundarias de control de vuelo) en A330/A340.
Tomando el 320 como ejemplo, los ELAC son producidos por Thomson-CSF alrededor de microprocesadores 68010 y los SEC son producidos en cooperación por SFENA/Aerospatiale con un hardware basado en el microprocesador 80186. Por lo tanto, tenemos dos equipos diferentes de diseño y fabricación con diferentes microprocesadores (y circuitos asociados), diferentes arquitecturas informáticas y diferentes especificaciones funcionales. A nivel de software, la arquitectura del sistema conduce al uso de cuatro paquetes de software (canal de control ELAC, canal de monitoreo ELAC, canal de control SEC y canal de monitoreo SEC) cuando, funcionalmente, uno sería suficiente.
En general, el software no está mal fabricado. Cuando se crea (programa) el software, se pueden introducir defectos como usted describió, ya sea por implementaciones defectuosas o por malas especificaciones. Las implementaciones defectuosas se detectan probando el software. Las pruebas toman muchas formas; La prueba unitaria es una de las formas más básicas, donde se prueban las funciones individuales del código de programación subyacente para ver si se implementa correctamente. Esto puede escalar hacia arriba cuando se realizan pruebas de sistema e integración donde se acoplan piezas más grandes del software para ver cómo funciona como un todo. Pero simplemente probar el código en este nivel no capta todo. Escribir un programa rara vez se trata de hacer que haga lo que usted quiere que haga, se trata principalmente de manejar todos los casos extremos extraños y escenarios de falla. Y aquí es donde la mayoría del software falla.
Para protegerse contra tales casos, puede ejecutar auditorías, simulaciones, análisis de código estático y muchas otras formas de inspecciones y pruebas.
Las especificaciones defectuosas son una bestia diferente, donde debe confiar en la documentación. En un mundo perfecto, cada requisito debe documentarse a un nivel que describa por qué existe el requisito y cualquier entrada y salida que debería resultar de él, si corresponde. Las especificaciones son desarrolladas por varias personas para evitar que una persona olvide algo o interprete algo incorrectamente, pero esto tampoco cubre todo.
Para agregar otro nivel de protección contra defectos de software, agrega varias instancias del sistema y también tiene un equipo que crea su propia versión de los sistemas, preferiblemente en un hardware diferente. Luego puede dividir la responsabilidad de ciertos subsistemas y repartirla entre las diversas computadoras que ejecutan el sistema, agregando otro nivel de redundancia y disminuyendo la carga computacional en cada computadora y el riesgo de que cualquier parte del sistema interactúe de manera imprevista. .
The Fast Company tuvo un excelente artículo sobre el proceso de creación de software para el transbordador espacial. Aunque no está directamente relacionado ni con Airbus ni con Boeing, da una idea de cómo funcionó el proceso y en qué resultó.
Los sistemas primarios deben tener computadoras y software idénticos y es el caso de muchas computadoras de sistemas de vehículos aerotransportados. Sin embargo, los sistemas de respaldo independientes deben tener sistemas y software diferentes según la arquitectura y los requisitos y esquemas de administración de redundancia para la seguridad. Además de los controles de vuelo que tienen hardware diferente, las pantallas de vuelo principales para los lados del piloto y el copiloto para la velocidad del aire y la navegación inercial a menudo son triplemente redundantes para retener la función de actitud. Estos utilizan correctamente 3 computadoras idénticas del sistema de navegación, mientras que la "copia de seguridad" es diferente para fines de determinismo y funciones críticas de seguridad de vuelo. La arquitectura general del sistema de paralelo o más (tríplex) debe tener sistemas independientes y redundantes que cumplan con los criterios normativos y de la agencia en cuanto a seguridad y aeronavegabilidad, así como confiabilidad y disponibilidad. En general, tener computadoras idénticas para "sistemas primarios" requerirá pruebas de inserción de fallas en profundidad de combinación de interacciones complejas que minimizarán la posibilidad de fallas de software y, a veces, temores infundados de que los defectos se manifiesten de alguna manera en la latencia. Las pruebas adecuadas en todos los entornos son la clave para obtener deshacerse de cualquier defecto que podría causar peligros y riesgos potenciales. Se recomiendan métodos de seguridad del software para prevenir, eliminar y controlar tales problemas para garantizar que se cumplan los requisitos de seguridad y aeronavegabilidad. En estos casos, se requieren análisis de seguridad y revisiones independientes con aprobaciones.
usuario3528438
usuario3528438
usuario
Notts90 apoya a Mónica
KorvinStarmast
Bob Jarvis - Слава Україні
Bob Jarvis - Слава Україні
cody p
minutos
brigada
pete855217
gordito
gordito