Die Module bieten auch eine gemeinsame Anwendungsprogrammierschnittstelle (API). Wie heute in der gesamten Branche üblich, ist eine solche Architektur so konzipiert, dass sich die Entwickler auf eine Anwendungsschicht konzentrieren können, die auf robusten unteren Schichten aufbaut, die den Zugriff auf Hardware und Netzwerke regeln. Sollte ein Teil des Systems ausfallen, können die Anwendungen sogar auf anderen Modulen im Netz ausgeführt werden. Solche verteilten Datenverarbeitungsansätze werden auch in der Automobilindustrie mit Software-definierten Fahrzeugen (SDV) und ihren zonalen Architekturen eingesetzt.
Avioniksoftware sicher machen
Wie die Automobilindustrie hat auch die Luft- und Raumfahrtindustrie ihre Hardware kontinuierlich verbessert, um das Ausfallrisiko zu minimieren und dazu beizutragen, die Sicherheit der Millionen von Fluggästen zu gewährleisten, die täglich an Bord kommen. Ein großer Teil dieser Hardware ist jedoch von Software abhängig. Die Norm DO-178 mit dem Titel Software Considerations in Airborne Systems and Equipment Certification wird sowohl von der kommerziellen als auch von der militärischen Luft- und Raumfahrtindustrie verwendet, wobei der militärische Schwerpunkt eher auf dem Erfolg der Mission als auf der Sicherheit liegt. Die Norm bietet Anleitungen für den gesamten Softwareentwicklungsprozess, von der anfänglichen Planung bis hin zu integralen und Entwicklungsprozessen.
Ähnlich wie die Sicherheitsintegritätsstufen von Automobil- und Industriesystemen (ASIL/SIL) bewertet DO-178 die Risiken, die mit einer Softwareanomalie und dem daraus resultierenden möglichen Ausfall verbunden sind. Sie definiert fünf Entwicklungssicherheitsstufen, beginnend mit E, bei der ein Fehlerzustand die Betriebsfähigkeit des Flugzeugs nicht beeinträchtigt. Ein Unterhaltungssystem während des Fluges ist ein Beispiel für ein System der Stufe E.
Stufe D gilt als geringfügige Fehlerbedingung, die zu Unannehmlichkeiten führen würde, wie z. B. ein Ausfall des Flugschreibers. Die höchste Stufe, A, ist für potenziell katastrophale Ausfälle reserviert. Ein solcher Vorfall würde die Fortsetzung des sicheren Fluges verhindern, wie z. B. ein Problem mit dem Fly-by-Wire-System.
Ein Kernpunkt von DO-178 ist die Softwareverifikation, die neben dem Testen auch Reviews und Analysen umfasst. Dieser Prozess beginnt mit High-Level-Softwareanforderungen, aus denen eine geeignete Softwarearchitektur und Low-Level-Anforderungen abgeleitet werden. Jede Anforderung erfordert Tests, die beweisen, dass die Anforderung erfüllt wurde. Außerdem ist eine bidirektionale Rückverfolgbarkeit erforderlich, d. h. die Verbindung zwischen den High-Level-Anforderungen und dem Quellcode kann in beide Richtungen nachgewiesen werden. Außerdem darf es keinen toten Code geben, der keinen Bezug zu einer Anforderung hat.