domingo, febrero 10, 2008

Sistemas críticos: ADA en los sistemas de los Airbus A320 y Boeing 777

Acostumbrado durante muchos años a meter parches en sistemas - desde los Unix hasta los Windows -, sistemas de propósito general, siempre te llama la atención como los sistemas de aviones o barcos se programarán, y qué métodos de ingeniera utilizan para implementar esas especificaciones. Por otra parte, los lenguajes de programación que se utilizan en estos sistemas de aviónica o de control tan especializados y tan críticos. Casi todos ellos utilizan ADA para implementar las especificaciones de los sistemas necesarios.

Leyendo un poco más sobre el software que utiliza estos sistemas, encontré este artículo que comenta la implementación de AIMC en los sistemas del Boeing 777, siendo la mayoría del código del mismo ADA. El AIMC fue desarrollado por Honeywell, y eligieron ADA, porque, tras la comparación con C, el tiempo de depuración de los sistemas en ADA sería muy inferior que un sistema escrito en C. Este sistema se ejecuta sobre micro AMD 29050. Otro sistema que utiliza ADA en el 777 es el sistema de frenado, escrito totalmente en ADA y que se ejecuta sobre dos microcontroladores Motorola 58333.

Airbus por otra parte también ha hecho un uso de ADA en los sistemas de sus aviones, en especial a partir del A320, avión con el que debutó los sistemas fly-by-wire en sus productos. Hay una particularidad en los sistemas de Airbus: mucho del código que corren alguno de ellos se diseñaron usando herramientas de diseño automático de código, en el caso de Airbus SCADE.

Aunque no he encontrado mucho sobre las técnicas de ingeniería que se utilizan en estos sistemas, me encantaría leer algo sobre ellas. Para aviónica puede encontrarse algo más en el libro The Avionics Handbook , aunque mucho más centrado en la parte de la electrónica.

No hay comentarios: