El desarrollo y mantenimiento de software aeronáutico, y especialmente el software utilizado a bordo de aeronaves, constituye una tarea de enorme complejidad. Debido a los prolongados ciclos de vida que caracterizan a estas aplicaciones, muchas veces se encuentran desarrolladas en lenguajes de programación para los cuales no existen las sofisticadas herramientas disponibles para lenguajes más actuales. Ello provoca que los desarrolladores deban utilizar a menudo herramientas ad-hoc, de baja reusabilidad. El objetivo es mejorar el proceso de desarrollo de aplicaciones aeronáuticas mediante la implementación de herramientas reusables, que faciliten la producción de software de alta calidad.