Deutsche BlogsDO178

RTCA-DO178C – Softwarequalität in der Luftfahrt!

RTCA-DO178C

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.

Gerne unterstütze ich Sie z.B. mit einem Workshop rund um Ihr RTCA-DO178C Projekt und weiteren HEICON Produkten sowie individuellen Fragen zu der Thematik. Senden Sie eine Mail an: info[at]heicon-ulm.de.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.