RTCA DO178C – Softwarequalität in der Luftfahrt!
RTCA-DO178 – Der Mythos! Schon 1980 gab es in der Luftfahrt erste Überlegungen wie man Software sicher und möglichst fehlerfrei entwickeln kann. Aus diesen Überlegungen hat sich eine weit über die Software hinaus viel geachtete Norm entwickelt. Aktuell in der Version RTCA-DO178C. Anwendung findet die Norm in allen fliegenden Systemen. Mit der EASA (Europa) und FAA (USA) gibt es auch Behörden bei denen man den Nachweis der Erfüllung der Norm erbringen muss, bevor man die Software überhaupt verbauen darf.
Der nachfolgende Beitrag beantwortet folgende 2 Fragen:
- Was sind die wesentlichen Inhalte des RTCA DO 178C?
- Welche Inhalte hat der Planungsprozess?
Was sind die wesentlichen Inhalte des RTCA-DO178C?
Der Standard definiert den Software-Planungs-, Entwicklungs-, Verifikations-, Qualitätssicherungs- und Konfigurationsmanagementprozess.
In Abhängigkeit der Sicherheitsstufe in die die Software eingestuft wurde (DAL A: catastrophic bis DAL E: no effects) sind verschiedene Entwicklungsmethoden erlaubt bzw. vorgeschrieben und es entstehen unterschiedliche Dokumentations- und Review-Pflichten.
Auf den Planungsprozess wird ein besonderes Augenmerk gelegt. Folgendes Zitat aus dem Standard verdeutlicht dies: „Effective planning is a determining factor in producing software that satisfies the guidance of this document.”
Nachfolgend wird daher der Inhalt und das Ergebnis dieses Prozesses näher beleuchtet.
Welche Inhalte hat der Planungsprozess?
Kurz gesagt definiert der Planungsprozess den roten Faden durch das Projekt bis zur finalen Zulassung des Produktes. Gerade weil Software Projekte sehr dynamisch sind und sich Dinge immer wieder ändern ist es essentiell zu wissen wo man hin will und wie der Weg dahin aussieht. Nur so lassen sich Projekte so durchführen, dass am Ende sichere Produkte entstehen. Diese Erkenntnis hat dazu geführt, dass man dem Planungsprozess eine sehr wichtige Rolle im RTCA-DO178C zugewiesen hat.
PSAC: Plan of Software Aspect for Certification
Der Plan for Software Aspects of Certification (PSAC). Er ist ein absolut zentraler Bestandteil jeden RTCA DO 178C Projektes. Er gibt den Überblick über das gesamte Projekt. Mit seiner Hilfe muss es möglich sein durch das gesamte Projekt zu navigieren und er beschreibt die wesentlichen, zertifizierungsrelevanten Strategien.
SDP: Software Development Plan
Neben dem PSAC gibt es, zumindest in den größeren Projekten den Software Development Plan (SDP). Er beschreibt den Software Lebenszyklus und definiert dessen Ergebnisse. Er beschreibt die Organisationsstruktur, Entwicklungsmethoden und verwendete Entwicklungstools.
SVP: Software Verification Plan
Aus Sicht des RTCA DO 178C wichtiger als der SDP ist wiederum der Software Verification Plan (SVP). Die Wichtigkeit dieses Planes kann man auch an folgendem Zitat zum RTCA-DO178C sehen: „Entwickle die Software wie Du magst – Beweise mir aber dass das was Du gemacht hast richtig und das Richtige ist!“
Die wesentlichen inhaltlichen Punkte des SVP sind:
- Verifikationsstrategie (System-, Integrations-, Software-, Unitebene)
- Organisatorische Verantwortlichkeiten
- Methoden zur Erreichung der notwendigen Unabhängigkeit
- Verifikationsmethoden (Review, Test, etc.)
- Verifikationsumgebung (Testumgebung)
- Transition Criteria um mit dem Software Verifikationsprozess zu beginnen
- Annahmen/Begründungen zur Korrektheit des verwendeten Compilers
- Re-Verifikationsstrategie und Vorgehensweisen
SCMP: Software Configuration Management Plan
Um die im SDP und SVP beschriebene Software Entwicklung und Verifikation effizient und erfolgreich umsetzen zu können ist das Konfigurationsmanagement noch ein ganz wichtiger Baustein. Da im Laufe eines RTCA-DO178C Projekt sehr viele Life-Cycle Data entstehen ist eine Konfigurationsmanagement Strategie notwendig. Das Konfigurationsmanagement nicht Versionskontrolle bedeutet sieht man am Inhalt des Configuration Management Plans (SCMP):
- Beschreibung der Konfigurationsumgebung (Tools, etc.)
- Beschreibung der Konfigurationsprozessaktivitäten (Baselining, Traceability, Problem Reporting, Änderungskontrolle, etc.)
- Transition Criteria um mit dem Konfigurationsmanagementprozess zu beginnen
- Definition der Software Life Cycle Daten die durch den Konfigurationsmanagementprozess entstehen
- Unterauftragnehmer Management bezüglich des Konfigurationsmanagements
SQAP: Software Quality Assurance Plan
Der letzte Plan der noch benötigt wird ist dann der Software Quality Assurance Plan. Er hat folgenden Inhalt. Wichtige Inhalte sind hier die Festlegung der Transition Criteria um mit der Qualitätssicherung zu beginnen, Definition der Strategie, der Verantwortlichkeiten, der Aktivitäten (Reviews, Audits, Reports, etc.) sowie der Tools in der Qualitätssicherung:
Qualitätssicherung in einem Luftfahrtprojekt bedeutet inhaltlich vor allem zu prüfen und sicherzustellen, dass die definierten Prozesse in Entwicklung und Verifikation eingehalten werden. Gleichzeitig bildet die Qualitätssicherung auch die Brücke zur Zulassung. Audits von Zulassungsbehörden setzen voraus, dass intern eine aktive Qualitätssicherung betrieben wurde. Wenn Zulassungsbehörden größere Probleme entdecken, gerät auch die Qualitätssicherung in einen großen Rechtfertigungsdruck.
Fazit
Der RTCA-DO178C kommt vermutlich sehr nahe an das Ideal einer sicheren Software Entwicklung. Wenn man die dort definierten Prozesse konsequent und effizient anwendet wird man mit hoher Wahrscheinlichkeit eine Software entwickeln die ein Minimum an Fehlern enthält. Wie aber auch schon der beschriebene Planungsprozess erahnen lässt, ist der Aufwand einer Entwicklung nach RTCA DO 178C schon erheblich. Einfach mal „nebenher“ lässt sich so ein Projekt nicht stemmen.
Weitere HEICON Blog Beiträge zum Thema:
- Die Supplements des DO 178 – Woher kommen diese und was ist deren Inhalt?
- RTCA DO 331 Modellbasierte Entwicklung und Verifikation in der Luftfahrt
Gerne unterstützen wir vom HEICON Team bei individuellen Fragen zu Ihrem Projekt mit unseren Leistungen. Senden Sie eine Mail an: info[at]heicon-ulm.de.
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!