Blog

7 Tipps und ein Rezept für die erfolgreiche Qualifizierung des Softwaretools

7 Tipps, die die Qualifizierung Ihrer Software-Tools erleichtern können

Die Qualifizierung (auch Zertifizierung genannt) von Software-Tools ist eine allgemeine Anforderung im sicherheitskritischen Engineering-Bereich. Häufig wirft dieser Aspekt des Entwicklungslebenszyklus viele Fragen und Probleme auf. Nachstehend habe ich meine Erfahrungen mit solchen Aufgaben in der Luft- und Raumfahrtindustrie in sieben Tipps zusammengefasst. Zwar stehen meine Tipps in engem Zusammenhang mit der Anwendung der RTCA-Normen DO-178C und DO-330, aber sie sind auch in anderen kritischen Sicherheitsbereichen anwendbar. Beachten Sie diese Tipps, um die Effizienz Ihres Projekts zu steigern.

Tipp № 1. Bewerten Sie die Qualifikationskriterien für Tools richtig

Normalerweise ist die Qualifikation jedes einzelnen Tools nicht erforderlich. Definieren Sie genaue Nutzungsszenarien für die Werkzeuge und bewerten Sie diese anhand der in den Standards festgelegten Qualifikationskriterien. Das ist wie in einem Gerichtsverfahren, bei dem der Standard ein Richter und Sie ein Anwalt sind. Sie müssen begründen, dass Ihr Werkzeug keine höhere oder überhaupt keine Qualifikation erfordert. Sind Ihre Argumente stichhaltig und überzeugend, dann wird es keine Probleme mit der Zertifizierungsbehörde geben.

Tipp № 2. Analysieren Sie gründlich die Werkzeugkette

Zur Erzielung eines Ergebnisses werden zumeist mehrere Werkzeuge konsequent eingesetzt. Hier müssen Sie eine weise Entscheidung treffen. Sie müssen entweder jedes Werkzeug aus der Kette als Entwicklungstool qualifizieren oder der Kette ein weiteres Werkzeug hinzufügen, das das Ergebnis überprüft, und Sie qualifizieren dann nur dieses Werkzeug als Verifizierungswerkzeug. Manchmal ist es sinnvoller, ein zusätzliches Verifizierungswerkzeug hinzuzufügen, selbst wenn die Kette aus einem einzigen Entwicklungswerkzeug besteht.

Tipp № 3. Qualifizieren Sie nur die erforderliche Funktionalität

Auch hier sollte das Szenario für den Einsatz der Werkzeuge sorgfältig bewertet werden. Häufig müssen Sie nur einen Teil der funktionalen Möglichkeiten qualifizieren. Denken Sie in diesem Fall darüber nach, diese Funktionalität zu kategorisieren, damit Sie das Werkzeug nicht vollständig qualifizieren müssen. Ein gutes Beispiel ist die Unterteilung des Tools in eine GUI-Applikation (grafische Benutzeroberfläche, GBO) und ein Befehlszeilendienstprogramm. Das Letztere setzt die Geschäftslogik um und wird qualifiziert. Die GUI-Anwendung wird weniger detailliert entwickelt. Die Übersicht des Befehlszeilenprotokolls dient als Brücke zwischen diesen beiden Komponenten. Dieser Ansatz kann Ihren Arbeitsaufwand erheblich reduzieren.

Tipp № 4. Fertige Pakete zur Werkzeugqualifizierung (COTS) können ein Problem darstellen.

Ein übermäßiges Vertrauen in das COTS-Tool Qualification Package kann Ihnen viele schlaflose Nächte bereiten. Ein Werkzeug, das mit einem Qualifikationspaket von einem Anbieter mitgeliefert wird, bietet keine Garantie für ein reibungsloses Funktionieren. Zumeist werden Sie einige zusätzliche Operationen durchführen müssen, wie z.B. die Durchführung von Qualifikationstests und die Auswertung ihrer Ergebnisse. Diese zusätzlichen Aufgaben können recht zeitaufwendig sein. Darüber hinaus kann ein Tool-Qualifizierungspaket Voraussetzungen erfordern, die Ihr Zielsystem nicht gewährleisten kann. Es kann es beispielsweise ein Dateisystem auf Ihrem Zielsystem zur Speicherung von Zwischendaten und -Ergebnissen oder eine Möglichkeit zum schrittweisen Debuggen erfordern. Berücksichtigen Sie bei der Planung des Werkzeugeinsatzes zusätzlichen Qualifizierungsaufwand und Paketbeschränkungen.

Tipp № 5. Optimieren Sie Ihre Kosten

Bewerten Sie die Gesamtkosten für die Qualifizierung des Werkzeugs. Ermitteln Sie, welche Einsparungen dieses Tool für Ihr Projekt bringen wird. Manchmal ist es aus Zeit- und Budgetperspektive effizienter, die Werkzeugqualifizierung abzulehnen und einen vollständigen Verifizierungszyklus für die Ergebnisse seiner Anwendung durchzuführen. Dies ist insbesondere dann nützlich, wenn eine einzigartige Komponente entwickelt wird und keine weitere Anwendung des Werkzeugs geplant ist.

Tipp № 6. Planen Sie die Qualifizierungsaktivitäten für Werkzeuge rechtzeitig

Stimmen Sie die Anwendung des Werkzeugs und die Qualifizierungsstrategie mit den zuständigen Behörden gleich zu Beginn des Projekts ab. Die Umsetzung von Maßnahmen zur Qualifizierung des Tools hat gleichzeitig mit der Systementwicklung zu erfolgen. Evaluieren Sie das verfügbare COTS-Qualifizierungspaket vor der Entscheidung über Werkzeuganwendung. Dieser Hinweis mag offensichtlich erscheinen. Bei vielen Projekten stellt sich die Frage der Produktqualifizierung jedoch erst wenige Wochen vor dem geplanten Fertigstellungstermin, d.h. zu einer Zeit, in der es viele andere Probleme im Hinblick auf Funktionalität und Entwicklung geben könnte. Dann können Sie sich nicht den Luxus leisten, wertvolle Ressourcen für die Verknüpfung von solchen Fragen mit Qualifikationen zu verschwenden.

Tipp № 7. Kombinieren Sie vorhergehende Tipps

Jeder dieser sieben Tipps ist für sich genommen wertvoll. Sie können jedoch bessere Ergebnisse erzielen, wenn Sie sie kreativ kombinieren. Versuchen Sie mehrere Werkzeugketten zu analysieren und bewerten Sie den gesamten Implementierungsaufwand für verschiedene Varianten. Gerne können Sie COTS (gebrauchsfertig zugekaufte Softwaretools) zu Ihren eigenen Werkzeugketten hinzufügen. Übertragen Sie Qualifikationsaufgaben von Entwicklungstools auf Verifizierungswerkzeuge, indem Sie in Ihren Produktlebenszyklus zusätzliche Operationen einfügen. Es ist wie mit der Musik: Sie haben nur sieben Noten, aber man kann Tausende von Melodien spielen.


Lassen Sie mich diese sieben Tipps abschließend anhand eines praktischen Beispiels für ein Werkzeug zur Erzeugung von Parameterelementdaten erläutern. Angenommen, das Tool verwendet bestimmte Anforderungen, die in einer formalen Notation dargestellt werden, um eine Binärdatendatei zu erzeugen. Diese Datei wird dann in das Zielobjekt hochgeladen.

Tipp № 1: Dieses Tool ist definitiv ein Entwicklungswerkzeug, da wir die binäre Ausgangsdaten ohne weitere Tests und Verifizierung verwenden. Es muss gemäß DO-330 TQL1 - TQL3 qualifiziert werden, je nach dem Gewährleistungsniveau des Systementwurfs (DAL).

Tipp № 5: Die Qualifizierung eines Entwicklungstools ist eine teure Aufgabe, die das Budget überfordern kann.

Tipps № 1, № 2 und № 5: Die Kosten können durch Hinzufügen eines zusätzlichen Verifizierungswerkzeugs (DO-330 TQL5) in die Kette und etwas manuelle Verifizierung gesenkt werden.

Tipp № 3: Der Qualifizierungsaufwand kann minimiert werden, indem die Funktionalität der Generierung von Datendateien aus der grafischen Benutzeroberfläche (GBO), den Einstellungen und anderen Werkzeugkomponenten herausgenommen werden.

Als Ergebnis wird das Softwaretool dieser Parameterelemente in folgende Elemente umgewandelt:
  1. GBO, Konfiguration und andere Komponenten, die mit jeder Methode der schnellen Architektur entwickelt werden können. Diese Komponenten erzeugen eine Art Datenbank (DB)-Datei für die weitere Generierung, zum Beispiel im xml-Format. Es ist keine Qualifikation erforderlich.
  2. Ein Befehlszeilen-Dienstprogramm, das eine Datenbankdatei in eine Binärdatei für das Zielobjekt konvertiert. Darüber hinaus erstellt dieses Dienstprogramm eine .txt-Datei, die Datenbankparameter und Ausführungsprotokollinformationen in lesbarer Form enthält. Die genaue Übereinstimmung zwischen der Datenbankdatei, der Binärdatei und der leicht lesbaren Datei im .txt-Format wird durch die Kriterien des Verifikationswerkzeugs qualifiziert.
  3. Dieser Prozess wird durch einen weiteren Verifizierungsschritt ergänzt. Ein Entwickler fügt dem Konfigurationsmanagementsystem zusammen mit den binären Ausgabedaten eine Datenbankdatei und eine Textdatei hinzu. Dann stellt der Verifizierungsingenieur sicher, dass die Informationen in der Textdatei den Anforderungen entsprechen.

Dieses Beispiel zeigt also, dass ein kreativer Ansatz eine kostspielige Qualifizierung eines Entwicklungswerkzeugs in eine wesentlich einfachere Abfolge von Verifizierung und Qualifizierung des Dienstprogramms umwandeln kann. Vergessen Sie jedoch nicht Tipp Nr. 6 - jeder kreative Plan sollte von der Zertifizierungsbehörde genehmigt werden.