1 Integrantes: Ricardo Macedo Carolina Vigil Henry Paz Control Del Tráfico Aéreo: Un Estudio De Caso En Diseño De Alta Disponibilidad Integrantes: Ricardo Macedo Carolina Vigil Henry Paz
2 Introducción La FAA se ha enfrentado a este problema [de la complejidad] a través de su intento de hace diez años para reemplazar su sistema de tráfico de control aéreo. La sistema de sustitución, llamado Sistema de automatización avanzada, combina todos los retos de la informática en la década de 1990. Un programa que es más de un millón de líneas de tamaño se distribuye a través de cientos de ordenadores y encajado en un nuevo hardware, todo lo cual debe responder en todo momento a sus impredecibles eventos en tiempo real. Incluso una pequeña falla puede amenazar la seguridad pública.
3 Introducción El Control del tráfico aéreo (ATC) es uno de los más exigentes de todas las aplicaciones de software. Es hard – real time , lo que significa que los plazos de tiempo se deben cumplir a detalle, la seguridad es crítica, lo que significa que las vidas humanas se pueden perder si el sistema no funciona correctamente, y es altamente distribuida, lo que requiere docenas de controladores de trabajar en cooperación para guiar aeronave a través del sistema de vías respiratorias.
4 Introducción En los Estados Unidos, cuyos cielos están llenos de aviones comerciales, privados y militares, el ATC es un área de intenso escrutinio público. Aparte de las cuestiones obvias de seguridad, construcción y mantenimiento de una caja fuerte, sistema de vías respiratorias confiable requiere enormes gastos de dinero público. ATC es una empresa multimillonaria.
5 Introducción En los Estados Unidos, el tráfico aéreo está controlado por la Administración Federal de Aviación (FAA), una agencia gubernamental responsable de la seguridad de la aviación en general. Como un vuelo progresa desde su aeropuerto de salida a su aeropuerto de llegada, se ocupa de varias entidades . ATC guían de forma segura a través de cada porción de las vías (instalaciones y servicios de tierra) que está utilizando. El control en tierra coordina el movimiento de aeronaves en tierra en un aeropuerto. Torres de control de la aeronave volando dentro del área de un aeropuerto terminal de control, una sección cilíndrica del espacio aéreo centrada en un aeropuerto. Por último, los centros en el camino se dividen los cielos del país en 22 grandes sectores de la responsabilidad.
6 Introducción Considere la posibilidad de un vuelo de línea aérea de Key West, Florida, a Washington, DC Dulles Airport. La tripulación del vuelo se comunicará con el control de tierra de Key West para el rodaje de la puerta hasta el final de la pista, Key West Tower durante el despegue y subida, que se, y luego a Miami Center (el centro de la ruta cuyo espacio aéreo se refiere Key West), una vez que sale de la zona oeste de clave de control terminal. Desde allí, el vuelo será entregado a Jacksonville Center, Centro de Atlanta, y así sucesivamente, hasta que entra en el espacio aéreo controlado por Washington Center. Desde Washington Center, que será entregada a la torre de Dulles, que orientará su aproximación y aterrizaje. Al salir de la pista de aterrizaje, el vuelo se comunicará con el control de tierra Dulles para su taxi a la puerta.
7
8 Introducción El sistema se llama Inicial Sector Suite System (ISSS), que estaba destinado a ser un soporte físico y de software del sistema para los 22 centros de control en ruta en los Estados Unidos. El ISSS era solo uno de un conjunto de sistemas fuertemente relacionados, esto tuvo un efecto profundo en su arquitectura. En particular, hubo gran incentivo para adoptar diseños y elementos comunes cuando sea posible debido a que el desarrollador del ISSS también pretendía hacer una oferta en otros sistemas. Después de todo, estos diferentes sistemas (en centro de la ruta, la torre, el control de tierra) comparten muchos elementos: interfaces para sistemas de radio, interfaces con bases de datos de vuelo del plan, las interfaces entre sí, la interpretación de los datos de radar, los requisitos de fiabilidad y rendimiento, y así sucesivamente. Así, el diseño del ISSS fue influenciado por los requisitos en términos generales para todos los sistemas actualizados, no sólo los del ISSS específicamente. El conjunto completo de sistemas actualizados iba a ser llamado el Sistema de Automatización Avanzada (AAS).
9 Relación con el Ciclo de Negocios de ArquitecturaEl sistema de control aéreo se relaciona con el ciclo de Arquitectura de Negocios (ABC). Los usuarios finales son controladores federales de tránsito aéreo, el cliente es la Administración Federal de Aviación, y la organización de desarrollo es una gran empresa que suministra muchos otros importantes sistemas intensivos en software para el gobierno de EE.UU. Factores en el entorno técnico incluyen el uso obligatorio de Ada como lenguaje de aplicación para los grandes sistemas de gobierno de software y el surgimiento de la computación distribuida como una forma rutinaria de construir sistemas de enfoque y tolerancia a fallos.
10
11 Requisitos y CualidadesDado que el control del tráfico aéreo es muy visible, con grandes cantidades comerciales, gubernamentales, civiles interesados y dado que se trata de posible pérdida de la vida humana, sus dos importantes requisitos de calidad son los siguientes: 1. Ultra alta disponibilidad, lo que significa que el sistema está absolutamente prohibido estar inoperativo durante más de períodos muy cortos. La exigencia de disponibilidad real para el ISSS está dirigido a 0,99999, lo que significa que el sistema debería estar disponible por menos de 5 minutos al año. (Sin embargo, si el sistema es capaz de recuperarse de un error y reanudar la operación en 10 segundos, que el fracaso no se cuenta como el tiempo disponible.) 2. Alto rendimiento, lo que significa que el sistema tiene que ser capaz de procesar un gran número de aviones. hasta sin "perder" ninguno de ellos. Las redes tienen que ser capaces de soportar las cargas de comunicación y el software tiene que ser capaz de realizar sus cálculos de manera rápida y predecible.
12 Requisitos y CualidadesAdemás, los siguientes requisitos, aunque no tan crítico para la seguridad de la aeronave y sus pasajeros, son factores importantes en la forma de la arquitectura y los principios detrás de esa forma: La apertura, lo que significa que el sistema tiene que ser capaz de incorporar los componentes de software desarrollado comercialmente, incluyendo las funciones de ATC y los servicios básicos de computación tales como paquetes gráficos de la pantalla La capacidad de campo de subconjuntos del sistema, para manejar el caso en que el proyecto de mil millones de dólares cae víctima de las reducciones en el presupuesto (y por ende la funcionalidad) Como en efecto sucedió. La capacidad de hacer modificaciones a la funcionalidad y manejar las actualizaciones de hardware y software (nuevos procesadores, que nuevos dispositivos E / S y los controladores, las nuevas versiones del compilador de Ada).
13 Requisitos y CualidadesLa capacidad para operar con e interfaz a un desconcertante conjunto de sistemas externos, tanto de hardware como de software, algunos con décadas de antigüedad, otros aún no ejecutadas Por último, este sistema es inusual en que se debe cumplir un gran número de partes interesadas, en particular los controladores, que son los usuarios del sistema final. Aunque esto no suene extraño, la diferencia es que los controladores tienen la capacidad de rechazar el sistema si no es de su agrado, incluso si cumple con todas sus necesidades operativas. Las implicaciones de esta situación fueron profundas para los procesos de determinación de necesidades y el diseño del sistema, y que se ralentizaba considerablemente.
14
15 Requisitos y CualidadesEl diseño del ISSS exige una mayor flexibilidad en el número de puestos de control se asignan a cada sector; entre uno y cuatro son deseados, y el número se puede cambiar de vista administrativo, mientras que el sistema está en operación. Cada sector debe tener al menos dos controladores asignados. El primero es el controlador de radar, que supervisa los datos de radar de vigilancia, se comunica con la aeronave, y es responsable de mantener la separación segura. El controlador es responsable de manejar la situación táctica en el sector. El segundo controlador es el responsable del tratamiento, que recupera la información (como los planes de vuelo) de cada aeronave, ya sea en el sector o lo estarán pronto. El responsable del tratamiento proporciona el controlador de radar con la información necesaria acerca de las intenciones de la aeronave con el fin de forma segura y eficiente que guía a través del sector.
16 Requisitos y CualidadesISSS está diseñado para soportar hasta 210 consolas por en centro de la ruta. Cada consola contiene su propio procesador para estaciones de trabajo de clase, la CPU es un IBM RS/6000. Los requisitos ISSS convocatoria de un centro para el control de 400 a aviones pistas simultáneamente. Puede haber 16 a 40 radares para apoyar un mecanismo único. Un centro puede tener desde 60 hasta 90 posiciones de control (cada uno con una o varias consolas dedicadas a él). El código para implementar ISSS contiene aproximadamente 1 millón de líneas de Ada.
17 Requisitos y CualidadesConvertir el radar informes para la exhibición y difusión a todas las consolas. Cada consola elige los informes que necesita para mostrar, cualquier consola es capaz de mostrar cualquier área. Maneje alertas conflicto (posibles colisiones de aviones) u otros datos transmitidos por el equipo anfitrión. Interfaz con el host para la entrada y la recuperación de los planes de vuelo. Suministro de extensa y controlar la información, tales como gestión de redes, para permitir que los administradores del sitio para volver a configurar la instalación en tiempo real.
18 Requisitos y CualidadesProporcionar una capacidad de grabación para su posterior reproducción. Proporcionar instalaciones gráfico de interfaz de usuario, tales como ventanas, en las consolas. Disposiciones especiales relacionadas con la seguridad son necesarias, como la transparencia de las ventanas para mantener los datos que puede ser decisivo de ser oscurecida.
19 Layered View Las dos filas más bajas de elementos por encima de AIX representan extensiones de AIX que se ejecutan en espacio de direcciones del kernel AIX. Debido a los requisitos de desempeño y a la compatibilidad con el sistema operativo AIX, estas extensiones son generalmente pequeños programas escritos en el lenguaje C. Ya que se ejecutan dentro del espacio de direcciones del kernel, las fallas en estos programas pueden llegar a dañar AIX, por lo que tienen que ser relativamente pequeños, programas de confianza que reflejen la táctica de límite de exposición. El Atomic Emision Manager (ABM) desempeña un papel clave en la comunicación entre los módulos de Administrador Local de disponibilidad dentro de una suite del sector para gestionar la disponibilidad de la suite de funciones. El administrador de la estación ofrece servicios de datagramas en la LCN y sirve como el representante local de los servicios de gestión de red LCN. La interfaz de red subcapa proporciona una función similar para los mensajes de punto a punto, compartir su información de la red con el administrador de la estación. Las siguientes dos capas representan las extensiones del sistema operativo que se ejecutan fuera de espacio de direcciones del kernel AIX y por lo tanto no puede dañar directamente AIX si contienen fallas. Estos programas son generalmente escrito en Ada.
20 Layered View Prepare Messages controla los mensajes de LCN de programas de aplicación. Prepare BCN Messages desempeña una función similar para los mensajes que se envíen en el BCN. Una de las funciones de estos programas es determinar cuál de las múltiples copias redundantes de un programa de aplicación dentro de un sector privado es el principal y por lo tanto va a recibir mensajes. El Local Availability Manager proporciona la información de control necesarios para hacer esta determinación. La capa superior es donde residen las aplicaciones. El local Availability Manager y los programas internos de tiempo de sincronización son servicios de nivel de aplicación del sistema. El local Availability Manager se encarga de gestionar el inicio, finalización, y la disponibilidad de los programas de aplicación. Se comunica con cada espacio de direcciones en su propio procesador para controlar su funcionamiento y comprobar su estado. Asimismo, se comunica con el Administrador de Disponibilidad local de los otros procesadores en su suite del sector para gestionar la disponibilidad de la suite de funciones, incluyendo el cambio de una copia primaria a una de seguridad de un programa de aplicación, cuando sea apropiado. El Administrador de Disponibilidad local comunica con la aplicación Global de Gestión de la Disponibilidad que reside en las consolas M & C para informar sobre el estado y aceptar comandos de control. El programa de Sincronización de Tiempo Interno se sincroniza el reloj del procesador con la de los otros procesadores del ISSS, que es crucial para el funcionamiento de las funciones de disponibilidad de gestión.
21 Layered View
22 Tolerancia a fallas (Nueva Vision)Los requisitos de alta disponibilidad para la ISSS eleva la tolerancia a fallos para un rol importante en el diseño del sistema. Por un lado, un sistema en frío reinicia en el caso de que una falla haya estado fuera de la cuestión. La jerarquía tolerante a fallos: Esta estructura se describe cómo se detectan fallos, aisla y cómo se recupera el sistema. Considerando que el PAS / SAS estructura las trampas y recuperación de errores que son confinados en una sola aplicación, la jerarquía tolerante a fallos está diseñado para capturar y recuperarse de errores que son el resultado de la interacción entre aplicaciones.
23 Tolerancia a fallas (Nueva Vision)La jerarquía tolerante a fallos del ISSS proporciona varios niveles de detección de fallas y recuperación. Cada nivel de forma asincrónica Detecta errores en uno mismo, sus compañeros, y los niveles más bajos. Maneja las excepciones de los niveles inferiores. Diagnósticos, recupera, informes o plantea excepciones. Cada nivel está destinado a producir otro incremento en la disponibilidad del sistema por encima de la producida por los niveles inferiores. Los niveles son los siguientes: Física (red, el procesador y los dispositivos I / O) El sistema operativo Tiempo de ejecución medio ambiente Aplicación Disponibilidad local Grupo de disponibilidad Disponibilidad global Sistema de seguimiento y control
24 Tolerancia a fallas (Nueva Vision)La detección de fallas y aislamiento se realizan en cada nivel de la jerarquía, la detección de fallas es incorporado en las pruebas, eventos en tiempo de espera, pruebas de red de circuitos, el protocolo de la pertenencia al grupo, y, como último recurso, la reacción humana a las alarmas e indicadores. Las fallas de recuperación se lleva a cabo en cada nivel en la jerarquía de software y puede ser automática o manual. Para los administradores de disponibilidad local, de grupo, y global, los métodos de recuperación son manejados en tablas. En un PAS, hay cuatro tipos de recuperación de fallas. El tipo de recuperación utilizado depende de la situación operativa actual y está determinada por el Administrador de Disponibilidad Local utilizando tablas de decisión, de la siguiente manera: En una conversión, el SAS se hace cargo casi inmediatamente de su PAS. Un reinicio tibio utiliza puesto de control de datos (por escrito a la memoria no volátil). Un arranque en frío se utilizan datos por defecto y pierde la historia del estado. Un corte y cambio se utiliza para la transición a los nuevos (o viejos) la lógica o datos de adaptación. La redundancia es proporcionada por el hardware de red (LCN, BCN, y los bridges), hardware del procesador (hasta cuatro procesadores por grupo de procesadores, la grabación redundante), y el software (varios espacios de direcciones por cada unidad operativa).
25
26 Relación entre las VistasEn el ISSS, los CSCIs son elementos en la vista de descomposición del módulo. Estas se componen de aplicaciones, que a su vez son elementos en la vista de proceso y la vista de cliente-servidor. Las aplicaciones se implementan como programas y paquetes de Ada, que se muestra en la vista de código, que son elementos en la vista de la concurrencia. La vista por capas describe la funcionalidad asignada a los módulos en la vista de la descomposición de una manera que muestra lo que ellos están autorizados a utilizar. Por último, una vista especializada se enfoca en la consecución de un atributo de calidad en un tiempo de ejecución en particular. Utiliza los elementos del proceso, la capa, y las vistas del módulo.
27 Adaptación de la Data ISSS hace un uso extensivo de la táctica modificabilidad de "archivos de configuración," el cual lo llama adaptación de la data. La Adaptación de datos representa un atajo elegante y esencial para modificar el sistema frente a requisitos específicos del sitio, preferencias de usuario o centros específicos, los cambios de configuración, cambios en los requerimientos, y otros aspectos del software que se puede esperar que varían con el tiempo y a través de sitios de despliegue. En efecto, el software ha sido diseñado para leer sus parámetros de funcionamiento y las especificaciones de comportamiento a partir de datos de entrada, por lo que es completamente general con respecto al conjunto de comportamientos que pueden ser representadas en los datos. Por ejemplo, un cambio de requisitos para dividir los datos en una vista de ventana ATC en dos ventanas separadas, un cambio no trivial en muchos sistemas, podría lograrse cambiando los datos sobre la adaptación y unas pocas líneas de código. El lado negativo es que los datos de adaptación presenta un complicado mecanismo de mantenedores. Por ejemplo, aunque es trivial (desde un punto de vista operativo) para agregar nuevos comandos o la sintaxis de comandos para el sistema, la aplicación de esta flexibilidad es en realidad un lenguaje interpretativo complicado por sí mismo. Asimismo, complicadas interacciones pueden ocurrir entre diferentes piezas de datos de adaptación, que pueden afectar a la corrección, y no existen mecanismos automáticos o semiautomático en el lugar para protegerlos de los efectos de esas contradicciones. Por último, los datos de adaptación aumenta significativamente el espacio de estado en el que el software operativo debe llevar a cabo correctamente, lo que tiene amplias implicaciones para las pruebas del sistema.
28 Código de Templates para AplicacionesLos templates tiene implicaciones arquitectónicas: Hace que sea fácil añadir nuevas aplicaciones al sistema con un mínimo de preocupación por el funcionamiento real de los mecanismos de tolerancia a fallos de diseño en el enfoque. Codificadores y mantenedores de las aplicaciones no necesitan saber sobre los mecanismos de manejo de mensajes, y no es necesario que se aseguren que sus aplicaciones son tolerantes a fallos ya que ha sido manejado en el nivel de diseño más alto (arquitectura). El Código de templates representa un refinamiento de la táctica "servicios comunes abastractos", la parte de cada aplicación que es común es instanciada en el template. Esta táctica se relaciona con varias otras tácticas para la modificabilidad. Además, refleja la "anticipación de los cambios esperados“, le da a los procesos de una " coherencia semántica", porque todos hacen lo mismo cuando son vistas de forma abstracta. El template permite a los programadores concentrarse en los detalles de su aplicación, dando lugar a "generalizar el módulo." Y al hacer las interfaces y protocolos parte del template, ellos "mantienen la estabilidad de la interfaz" y logran "la adhesión a los protocolos definidos”.
29 Código de Templates para Aplicaciones
30 Como el Sistema ATC logra sus objetivos de calidad
31 Arquitectura de solucionesComo una arquitectura afecta el comportamiento, rendimiento, tolerancia a fallos, y facilidad de mantenimiento, es moldeada por los estrictos requisitos en cualquiera de estas áreas. En el caso del ISSS, la fuerza impulsora más importante es la exigencia de disponibilidad del sistema: Menos de 5 minutos por cada año de inactividad.
32 ISSS FÍSICO ISSS es un sistema distribuido, que consiste en una serie de elementos conectados por redes de área local. El anfitrión del sistema informático es el corazón del sistema de automatización en el camino. En cada centro de ruta hay dos ordenadores centrales, uno primario y el otro dispuesto a hacerse cargo de haber algún problema con el primario.
33 Consolas comunes son estaciones de trabajo del controlador de tránsito aéreo. Ofrecen muestra de la información y la posición de la aeronave asociados etiquetas de datos en un formato de vista en planta (la pantalla de radar). Las consolas comunes se conectan a los ordenadores host a través de la Red de Comunicaciones Locales (LCN), la red primaria del ISSS. Cada host es la interfaz con la LCN a través de dos unidades de interfaz LCN (cada una llamada Liu-H), que actúan como un par redundante tolerante a fallos.
34 El LCN se compone de cuatro redes paralelas de red en anillo para la redundancia y para el equilibrio de carga en general. Una red es compatible con la transmisión de datos de vigilancia para todos los procesadores..
35 Un transformador se utiliza para comunicaciones punto a punto entre pares de procesadores, uno proporciona un canal para la visualización de datos que se envían desde las consolas comunes de unidades de grabación para la reproducción de la capa, y una es una de repuesto Puentes sirven de enlace entre las redes de los anillos de acceso y los de la columna vertebral.
36 La mejora de acceso directo del radarel canal (EDARC) ofrece una pantalla de copia de seguridad de la posición de la aeronave y los datos limitados de vuelo EDARC se utiliza en el caso de una pérdida de los datos de pantalla proporcionado por el anfitrión
37 La copia de seguridad de la Red de Comunicaciones (BCN) es una red Ethernet usando los protocolos TCP / IP. Se utiliza para otras funciones del sistema, además de la interfaz EDARC y también se utiliza como una red de copia de seguridad en algunas condiciones de emergencia LCN.
38 Tanto el LCN y la BCN han asociado las consolas Monitor-y-control (M & C). Estas dan al personal de mantenimiento del sistema una visión global del estado del sistema y les permiten controlar su funcionamiento. las consolas M & C son consolas ordinarias que contienen un software especial para apoyar las funciones de M & C y garantizar además el nivel superior o global funciones de gestión de disponibilidad.
39
40 MÓDULO DESCOMPOSICIÓNLos elementos del módulo del software operativo del ISSS se les llama software de ordenador Elementos de Configuración (CSCIs). CSCIs corresponden en gran parte a asignaciones de trabajo, equipos grandes se dedican al diseño, construcción y pruebas de ellos.
41 Hay cinco CSCIs en los del ISSS, de la siguiente manera:1.Pantalla de gestión, responsable de la producción y conservación de la imagen 2.Sistema Común de Servicios, responsable de proporcionar servicios de utilidad generales en el software de control del tráfico aéreo. 3.Registro, análisis y reproducción, responsable de la captura de sesiones del tránsito aéreo para su posterior análisis. 4.Modificación del Sistema Nacional del Espacio Aéreo, lo que implica una modificación del software que reside en el host (fuera del ámbito de aplicación de este capítulo). 5. El sistema operativo IBM AIX, proporcionando el medio ambiente del sistema operativo subyacente para el software operativo.
42 PROCESO La base de la concurrencia en el ISSS reside en elementos llamados aplicaciones. La solicitud corresponde aproximadamente a un proceso, en el sentido de cooperar procesos secuenciales de Dijkstra, y está en el núcleo del enfoque de los diseñadores del ISSS adoptado para tolerancia a fallo Las aplicaciones se comunican por paso de mensajes, que es el conector en este punto de vista de componentes y conectores
43 una aplicación puede ser una unidad operativa o de un grupo funcional.Los dos se diferencian en la funcionalidad de la aplicación que está respaldada por una o más copias secundarias, que se mantienen con el Estado y los datos de la copia primaria y esperan para hacerse cargo en caso de que la copia principal falla.
44 Las unidades operativas tienen un diseño tolerante a fallas, grupos funcionales no. La solicitud se implementa como una unidad operativa si sus requisitos de disponibilidad dictan lo contrario, se implementa como un grupo funcional. Las aplicaciones interactúan de un modo cliente-servidor. El cliente de la operación envía al servidor un mensaje de solicitud de servicio, y el servidor responde con un acuse de recibo.
45
46 Dentro de una unidad operativa, el PAS envía notificaciones de cambio de estado a cada uno de SAS.Cuando un grupo funcional recibe un mensaje, sólo tiene que responder y actualizar su propio estado, según corresponda. Por lo general, el PAS de una unidad operativa recibe y responde a mensajes en nombre de la unidad operacional. A continuación, debe actualizar tanto su propio estado y el estado de su SAS, que implica el envío de los mensajes SAS adicionales.
47 CLIENTE-SERVIDOR Puesto que las aplicaciones en la visión por procesos interactúan entre sí de manera cliente-servidor, es razonable para mostrar una vista de cliente-servidor del ISSS Los clientes y servidores se diseñaron cuidadosamente para que tengan interfaces coherentes. Esto se vio facilitado por el uso de protocolos de paso simple de mensajes-para la interacción.
48