Suchen

Softwareentwicklung DO-178C – verbesserte Zertifizierung für preisgünstige Systeme in der Luftfahrt

Autor / Redakteur: Bill St. Clair * / Franz Graser

Der 20 Jahre alte Standard DO-178B wird heutigen Gegebenheiten bei der Softwareentwicklung im Avionikbereich nicht mehr gerecht. Die überarbeitete Norm DO-178C soll die Zertifizierung der Avioniksoftware auf den Stand der Technik des 21. Jahrhunderts bringen.

Firmen zum Thema

Code-Wachstum in modernen Flugzeugtypen: In den achtziger Jahren umfassten die Computersysteme einer Boeing 757 rund 190.000 Codezeilen (Lines of Code, LOC). Bei moderneren Maschinen wie der Boeing 777 oder dem Airbus 330/340 wuchs die Komplexität auf bis zu vier Millionen LOC. Aktuelle Flugzeugtypen enthalten rund 27 Millionen Codezeilen.
Code-Wachstum in modernen Flugzeugtypen: In den achtziger Jahren umfassten die Computersysteme einer Boeing 757 rund 190.000 Codezeilen (Lines of Code, LOC). Bei moderneren Maschinen wie der Boeing 777 oder dem Airbus 330/340 wuchs die Komplexität auf bis zu vier Millionen LOC. Aktuelle Flugzeugtypen enthalten rund 27 Millionen Codezeilen.
(Grafik: LDRA)

Derzeitige Avioniksysteme fordern eine Zertifizierung im Einklang mit den Richtlinien des Standards DO-178B (ED 12B). Das Dokument wurde mit der Radio Technical Commission für Aeronautics (RTCA) für die US-Luftfahrtbehörde FAA entwickelt. Dessen Wirksamkeit wird jedoch mehr und mehr in Frage gestellt, da die Komplexität der modernen Avionik-Software immer weiter ansteigt.

Da sowohl Boeing als auch Airbus ein exponentielles Wachstum bei der Größe und Komplexität der Avioniksoftware (siehe Abb. 1) planen, müssen die Softwareanbieter neue Softwaretechnologien und Methodologien zu benutzen – was nach der Norm DO-178B nicht vorgesehen war.

DO-178B wurde 1992 veröffentlicht und entspricht den damaligen strengen Entwicklungstaktiken und Technologien. Die Norm lässt daher nur wenig oder gar keinen Spielraum für derzeitige Entwicklungs- und Verifikationstechnologien und Methoden – einschließlich formaler Methoden, modellbasierter Entwicklung und dem Einsatz objektorientierter Technologien. Die unmittelbar bevorstehende Veröffentlichung der Norm DO-178C spricht dieses Versäumnis an und hilft, die Zertifizierung der Avioniksoftware auf den Stand der Technologien des 21. Jahrhunderts zu bringen.

Das Althergebrachte: DO-178B

Bevor wir den neuen Standard besprechen, wollen wir den Stand von heute ansehen. DO-178B ist ein umfassender und gestufter Satz von Softwareentwicklungsaktivitäten und Objektiven. „Gestuft“ bezieht sich auf die vier Sicherheitsanforderungsstufen (SILs), die im Standard enthalten und mit A, B, C und D gekennzeichnet sind, wobei A die höchste sicherheitskritische Stufe darstellt. „Aktivitäten“ beschreibt die Verfahren, die zu leisten sind, um spezifische „Objektive“ zu erfüllen. Der Standard erstellt einen gründlichen Vergleich dieser Objektive mit den vier SILs. Somit ist DO-178B eindeutig in seiner Struktur und sein Zweck wird unmissverständlich definiert.

DO-178B setzt einen traditionellen Entwicklungszyklus voraus, der sich linear von den gesetzten Anforderungen über Design und Code bis zu Integration und Test weiterentwickelt. Sein Prozessmodell gleicht einem Wasserfall- oder V-Modell, in dem bewertete Anforderungen stimmig sind (DO-178B erwähnt Anforderungsbewertungen in keiner Weise), und es gibt eine allgemeine Einteilung der Anforderungserhebung und Softwareentwicklungsprozesse. Nicht-funktionale „abgeleitete Anforderungen“, die dem Design- oder Implementationsprozess entnommen wurden, bilden die Ausnahme hierzu.

Die stimmigen Anforderungen auf „hoher Stufe“ sind die Eigenschaften für die Anforderungen auf „niedriger Stufe“, die die Softwarekonstruktion festlegen. Doch die Trennung der Anforderungen vom Softwareentwicklungsprozess führt oft zu mangelnder Differenzierung zwischen den Anforderungen auf niedriger Stufe und dem Design.

Die Verifikation gemäß DO-178B beruht vor allem auf Top-Down-Tests, einer Methode, die zur Zeit sechzig bis achtzig Prozent des Projektbudgets ausmacht – ein Aufwand, der durch die Tatsache getrieben wird, dass Testen erst dann am integrierten Softwaresystem vorgenommen wird, bei dem die Anforderungen und Designbestimmungen schon lange vorher festgelegt wurden.

Die aktuelle DO-178B-Verifikation konzentriert sich auf Testabdeckung funktionaler Anforderungen und Softwarestrukturen mittels struktureller Abdeckungsanalyse sowie auch mittels Daten- und Programmkontrollstrukturen. Die Analyse von Daten- und Kontrollabdeckung ist üblicherweise ein manueller, analytischer Prozess eigens für diesen Zweck – und treibt die Kosten der Verifikation schnell in die Höhe.

Mit Hinsicht auf DO-178B ist zum Schluss die Rückverfolgbarkeit (d. h. kausale Links zwischen Anforderungen auf verschiedenen Sicherheitsstufen und entsprechenden Artefakten in der Softwareentwicklung) festzulegen, bevor das Softwaresystem als zertifizierbar anerkannt werden kann. Diese kausalen Links beinhalten sowohl statische Links, die festgelegt sind und erhalten bleiben müssen (z. B. Zuordnen von Anforderung auf niedriger Stufe zum Quellcode) und dynamische Links (z. B. gemäß der strukturellen Abdeckungsanalyse).

Normalerweise enthält die Zertifizierbarkeit eine Bestätigung der Rückverfolgbarkeit (Slice-Analyse), die eine Softwareanforderung auf hoher Stufe zu Anforderung(en) auf niedriger Stufe und die damit assoziierten Testfälln vom Design zum Quellcode und dann zum Objektcode rückverfolgt.

(ID:33978220)