The growing number of customers and their specific application domains for the NH90 has led to an increasing number of functionally different helicopter variants. In order to cope with the high number of software variants, the NH90 software team has developed a software architecture that is based on Software Product Line (SPL) principles. Military avionics systems are constrained by many factors that limit the selection of SPL implementation technologies, most prominently the strict safety regulations on product, tools and processes. Many SPL initiatives in this domain also face an already existing design together with a large code base. The NH90 software team has defined architectural principles that an SPL should follow in order to meet theses restrictions. The NH90 SPL attempts to follow these principles. Its implementation relies on three pillars: an embedded real-time framework, extensive code generation and a set of design and coding patterns. This article describes these principles that determine the NH90 SPL architecture, the techniques used for code generation, and a selection of the design and coding patterns, as an example of a software product line implementation in a real project within the avionics domain.
Mendeley saves you time finding and organizing research
Choose a citation style from the tabs below