Benutzer:Validatorte/Tool-Qualifizierung

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Tool-Qualifizierung (engl. tool qualification) ist ein Verfahren, mit dem die Eignung eines Softwaretools zur Entwicklung sicherheitsrelevanter Produkte aufgezeigt werden soll. Das betrifft einerseits Geräte und Einrichtungen in Verkehrsmitteln, beispielsweise Zügen, Flugzeugen, Bussen oder Personenwagen, in Medizinprodukten vom Diagnosegerät bis hin zu Implantaten wie Herzschrittmacher und viel anderen mehr.

Tool-Qualifizierung per Tool-Validierung

[Bearbeiten | Quelltext bearbeiten]

Die häufigste Methode, um ein Tool zu qualifizieren, ist die Tool-Validierung, also das Testen des Tools. Bei der „Validierung“ wird überprüft, ob die richtigen Anforderungen (aus Sicherheitssicht) umgesetzt sind, während bei der "Verifizierung" die Korrektheit der Implementierung gegenüber einer Spezifikation überprüft wird (siehe auch [1] und [2]). Ursache für die Verwendung des Begriffs "Validierung" in diesem Zusammenhang ist, dass es bei der Tool-Qualifizierung im Wesentlichen darauf ankommt, die richtigen Gefahren des Tools abzuwenden, die in der Risiko-Analyse als Anforderungen identifiziert wurden. Z.B. einen „Absturz“ eines Werkzeuges zu vermeiden ist typischerweise Aufgabe der Verifizierung und ist bei der Tool-Qualifizierung (aus Sicherheitssicht) nicht so schlimm, solange dabei keine falschen Ergebnisse erzeugt werden.

Immer mehr Systeme sind "sicherheits-relevant" für den Menschen, i.e. können bei Fehlfunktionen die Gesundheit und das Leben bedrohen, z.B. selbsfahrende Autos, Dronen und Herzschrittmacher. Daher wird es immer wichtiger sichere Systeme zu entwickeln und es gibt Gesetze und Sicherheits-Standards an die sich die Hersteller solcher Systeme halten müssen.

Um sichere Systeme zu entwickeln benötigt man sichere Hardware, sichere Software und sichere Entwicklungswerkzeuge. Sicherheit bei Hardware wird in Ausfallwahrscheinlichkeiten gemessen. Sicherheit bei Software und Werkzeugen wird durch sichere Entwicklungsprozesse und Methoden erreicht. Software kann validiert und verifiziert werden. Tools können für gewisse Anwendungen qualifiziert werden. Daher fordern die Standards für funktionale Sicherheit die Werkzeuge zu qualifizieren. Die funktionale Sicherheit kann durch Fehler in Werkzeugen gefährdet werden. Zum Beispiel kann ein Compiler ein korrektes Programm in ein sich teilweise falsch verhaltendes Executable übersetzen und damit ein gefährliches System erzeugen.

Nachdem die Werkzeuge nicht Teil des Systems sind, sondern nur zu dessen Entwicklung dienen, sind die Sicherheitsanforderungen an Werkzeuge geringer als bei der Hard- und Software vom System. So kann man unter Umständen ein Tool als sicher argumentieren/klassifizieren und muss es dann nicht qualifizieren (testen), sondern nur vorsichtig anwenden.

Dieses Prinzip ist in den wesentlichen Sicherheitsstandards (IEC 61508, DO-178B, ISO 26262, EN 50128,…) gleich und wird in drei Phasen erreicht:

  1. Klassifikationsphase: Klassifizierung der Werkzeuge nach Qualifizierungsbedarf (Risiko-Analyse)
  2. Qualifizierungsphase: Qualifizierung der kritischen Werkzeuge. Es gibt unterschiedliche Methoden zu Toolqualifizierung, z.B. Validierung & Verification, Analyse des Entwicklungsprozesses und Nachweis der Betriebsbewährtheit.
  3. Anwendungsphase: Sichere Anwendung der Werkzeuge

Wichtig ist, dass die Schritte immer vom Anwender der Werkzeuge und in der Umgebung in der das System entwickelt wird durchgeführt werden müssen. Der Hersteller der Werkzeuge kann (und muss teilweise auch) diese Schritte unterstützen, wenn sein Werkzeug zur sicheren Entwicklung sicherer Systeme eingesetzt werden soll.

Folgende Dokumente werden dabei i.d.R. benötigt:

  • Tool Classification Report (TCR): Enthält das Ergebnis (und die Begründung) der Klassifizierung, basierend auf einer Risikoanalyse möglicher Werkzeugfehler
  • Tool Safety Manual (TSM): Enthält die für den Anwender wichtigen Sicherheitsanweisungen beim Umgang mit dem Werkzeug
  • Tool Qualification Plan (TQP): Beschreibt den Plan in welchen Schritten welche Funktionen von einem oder mehreren Werkzeugen qualifiziert werden sollen und die dazugehörigen Maßnahmen, meistens Tests.
  • Tool Qualification Report (TQR): Beschreibt die Ergebnisse der Tool-Qualifizierung, meistens also die Testergebnisse.

Sollte die Klassifizierung des Werkzeuges keinen Qualifizierungsbedarf ergeben, dann können TQP und TQR entfallen.

Während TCR, TQP und TQR nur für die Dokumentation (Sicherheitsnachweis) benötigt werden, so muss das TSM bei jeder relevanten Anwendung des Werkzeugs beachtet werden. Nur damit wird sicher gestellt, dass die Werkzeuge vom Anwender richtig und sicher verwendet werden. Die Inhalte des TSM hängen von der Klassifizierung des Werkzeugs ab.

Inhalte des Tool-Safety-Manuals

Die Inhalte des TSM hängen also stark von der Klassifizierung ab: Werden Werkzeug-Funktionen als vom Anwender nicht verwendet klassifiziert, so dürfen diese dann auch nicht verwendet werden. Werden potentielle Fehler als erkennbar / vermeidbar durch Maßnahme M klassifiziert, so muss die Maßnahme M auch im Safety Manual stehen. Wurden potentielle Werkzeugfehler als nicht/schlecht entdeckbar klassifiziert, so muss das Tool auf Abwesenheit dieser potentiellen Fehler qualifiziert, also z.B. getestet werden. Die Qualifizierungsergebnisse zeigen eventuell echte, konkrete Werkzeugfehler auf, zu denen es dann auch konkrete Erkennungs-Vermeidungsmaßnahmen gibt, die ebenfalls in Safety Manual aufgenommen werden müssen. Zusätzlich müssen noch die Gegenmaßnahmen zu den relevanten bekannten Fehlern im TSM enthalten sein.

Es gilt also: Je mehr Funktionen eines Werkzeuges per Qualifizierung als korrekt gezeigt werden können, desto weniger Maßnahmen muss der Anwender beim Umgang mit dem Werkzeug beachten. Umgekehrt gilt ebenfalls: Je mehr Maßnahmen der Anwender zur Überprüfung des Werkzeugs durchführt, desto weniger muss er qualifizieren.

Tool Qualifizierung sollte nicht mit Zertifizierung von Tools verwechselt werden. Zertifikate sind unabhängige Überprüfungen, die z.B. eine erfolgreiche Tool Qualifizierung dokumentieren und den Anwender dabei einige Schritte erleichtern/abnehmen können. Das sorgfältige Anwenden der Werkzeuge gemäß TSM gehört insbesondere nicht zu den Schritten die durch ein Zertifikat ersetzt werden können.

Die unterschiedlichen Sicherheitsstandards gehen alle nach diesem Schema vor. Sie unterscheiden sich im Wesentlichen durch

  • Die Art wie die Werkzeuge/Werkzeugfehler klassifiziert werden
  • Die erlaubten & empfohlenen Qualifizierungsmethoden
  • Die Namen der Dokumente

Einen tieferen Einblick in einzelne Aspekte der Tool Qualifizierung gibt Oscar Slotosch im Podcast "Tool and Library Qualification"[3], der in den wesentlichen smartphone applications (iTunes, Spotify,.. ) zu finden ist.

Tool-Klassifizierung/-Qualifizierung nach ISO 26262

[Bearbeiten | Quelltext bearbeiten]

Die ISO 26262 klassifiziert die Werkzeuge durch sogenannte „Tool Confidence Levels“ (TCL1), die sich aus dem Tool Impact (TI), also der Möglichkeit Fehler einzufügen oder zu übersehen und der Entdeckungswahrscheinlichkeit (Tool Detection TD) durch Maßnahmen wie folgt berechnen:[4]

TI/TD TD1: High TD2: Medium TD3: Low/Unknown
TI1: No Impact TCL1 TCL1 TCL1
TI2: Impact TCL1 TCL2 TCL3

Die von der ISO 26262[5] empfohlenen Qualifizierungsmethoden hängen von der Kritikalität des Projektes ab, in dem die Werkzeuge eingesetzt werden:[6]

  • Keine Qualifizierung für Werkzeuge mit TCL1
  • „Proven In Use“ Argumentation für Werkzeuge in Projekten mit ASIL A, B und C für Werkzeuge mit TCL2
  • Assessment des Werkzeug-Entwicklungsprozesses für Werkzeuge in Projekten mit ASIL A, B und C für Werkzeuge mit TCL2
  • Validierung (Test) für Werkzeuge in Projekten mit ASIL D und ASIL C für Werkzeuge mit TCL3
  • Entwicklung nach einem Sicherheitsstandard für Werkzeuge in Projekten mit ASIL D und ASIL C für Werkzeuge mit TCL3

Der TCR heißt in der ISO 26262 „Tool Criteria Evaluation Report“ und das TSM „Tool Application Guideline“.[4]

Weitere Informationen dazu sind in Kapitel 8-11 ("Confidence in the use of software tools") [4] der ISO 26262[5] zu finden. Die Tool-Qualifizierung ist in der ISO 26262[5] 8-11.4.6 "Tool Qualicication"[6] beschrieben.

Tool-Klassifizierung/-Qualifizierung nach ISO 21448 (SOTIF)

[Bearbeiten | Quelltext bearbeiten]

Für Autonomous Driving, welches Machine Learning verwendet, wird ebenfalls Tool Confidence gefordert. Nach ISO 21448 (SOTIF = "Safety Of The Intended Functionality")[7] ist Tool Confidence auch für Machine Leaning Tools eine Anforderung.

Tool-Klassifizierung/-Qualifizierung nach IEC 61508 und EN 50128

[Bearbeiten | Quelltext bearbeiten]

Die IEC 61508[8][9] und EN 50128[10][11] klassifizieren Werkzeuge nach der Art der automatisierten Prozesse:

  • T3: Werkzeuge die konstruktiv sind, also deren Fehler direkt im Produkt enthalten sein könnten.
  • T2: Werkzeuge die analysierend oder verifizierend sind, deren Fehler also einen Fehler im Produkt übersehen könnten
  • T1: andere Werkzeuge

Die empfohlenen Qualifizierungsmethoden hängen von der Klassifizierung ab:

  • Für T3 Werkzeuge muss
    • Eine Qualifizierung aus Kombination von Fehler-Erkennungs- und Vermeidungsmaßnahmen sowie Validierung durchgeführt werden, d.h. entweder muss es für einen potentiellen Fehler eine effektive Maßnahme geben, oder eine Validierung, die dessen Abwesenheit zeigt.
    • Eine „Effektive Maßnahmen-Strategie“ zu Erkennung / Vermeidung aller potentiellen Werkzeugfehler durchgeführt werden (das Entspricht einer TCL1-Klassifizerung gemäß ISO 26262).
  • Für T2 (und T3) Werkzeuge muss ein TSM erstellt werden mit Spezifikation des Werkzeuges und den durchzuführenden Sicherheitsmaßnahmen.

Tool-Klassifizierung/-Qualifizierung nach DO-178C/DO-330

[Bearbeiten | Quelltext bearbeiten]

Die DO 178C[12][13] klassifiziert Werkzeuge nach der Art der automatisierten Prozesse („Criteria“ genannt“) und nach dem Sicherheitslevel (Assurance Level AL) der anwendenden Projekte in sogenannte „Tool Qualification Levels“ (TQL). Folgende Tabelle zeigt die Klassifizierung (Assurance Level A1 ist die höchste Projektklassifizierung und TQL1 die höchste Werkzeugklassifikation).

AL \ Art Criteria 1: Konstruktiv Criteria 2: Analysierend Criteria 3: Verifizierend
AL1 TQL 1 TQL 4 TQL 5
AL2 TQL 2 TQL 4 TQL 5
AL3 TQL 3 TQL 5 TQL 5
AL4 TQL 4 TQL 5 TQL 5
AL5 TQL 5 TQL 5 TQL 5

Die DO 330[14] beschreibt dann welche Maßnahmen bei der Entwicklung des Werkzeuges zu beachten sind.  TQL 5 entspricht in etwa einer (Black-Box) Validierung per Test in den anderen Standards, während TQL 1 in etwa die gleiche Qualität bei der Tool-Entwicklung erfordert wie sie von der Software im Produkt (für AL1) gefordert wird. Die DO-330 erlaubt es allerdings auch den TQL zu reduzieren. Vorrausetzung dafür ist eine Argumentation über den Impact oder die Fehlererkennungswahrscheinlichkeit durch andere Aktivitäten.

Der TCR ist in der DO 178C/DO 330 im PSAC (Plan for Software Aspects of Certification) enthalten, der TQR gehört zum: „Tool Accomplishment Summary” und wesentliche Teile vom TSM sind im sogenannten „Tool Problems Report“ enthalten.

Weitere Informationen dazu sind in [14], [12] bzw. DO-178C[13] zu finden.

Tool-Klassifizierung/-Qualifizierung für Medizin-Bereich

[Bearbeiten | Quelltext bearbeiten]

Im medizinischen Bereich gilt die ISO 13485 (Qualitätsmanagement-Systeme)[15] und die ISO/IEC 62304 (Software) behandeln das Thema Tool-Qualifizierung nicht explizit. Dennoch müssen die Tools sicher verwendet werden. Das folgt zum einen aus der konsequenten Anwendung der Qualitäts- und Risiko-Mangements auf die Werkzeugkette, mit der das Produkt entwickelt wird, als auch aus der Referenz in der ISO/IEC 62304. Zu dem Thema empfiehlt die ISO/IEC 62304 den Lesern wörtlich "Readers of the standard are encouraged to use IEC 61508 as a source for good software methods, techniques and tools". In der Sicherheitsnorm ISO/IEC 60601-1 werden in 14.6.2 ebenfalls "validated tools" zum Umsetzen der Risiko-Vermeidungsmaßnahmen gefordert.

Im Medizin-Bereich müssen also Tools auch klassifiziert und qualifiziert werden. Man kann sich allerdings aussuchen, wie man das macht, z.B. wie in der IEC 61508 beschrieben. Die FDA[16] setzt international Standards mit Ihren Methoden und Prüfungen im Medizin-Bereich. Z.B. die 21-CFR-820. Die FDA[16] akzeptiert z.B. auch ein Vorgehen nach DO-330[14], oder fordert in Ihrer eigenen Drug Development Tools (DDT) RIchtlinie einen abgestimmten Tool Qualification Plan und Report.

Die Tool-Klassifizierung und Qualifizierung ist auch in der GAMP[17] (Good Automated Manufactoring Practice) als Teil der IT Struktur beschrieben.

Einzelnachweise / Referenzen

[Bearbeiten | Quelltext bearbeiten]
  1. Validierung_(Informatik) (Wikipedia-Seite)
  2. Verifizierung#Informatik (Wikipedia-Seite)
  3. Podcast: Tool and Library Qualification, siehe https://anchor.fm/validas
  4. a b c ISO 26262:2018 8-11 Confidence in the use of softare tools
  5. a b c ISO 26262 (Wikipedia-Seite)
  6. a b ISO 26262:2018 8-11.4.6 Tool Qualification
  7. ISO 21448 (Wikipedia-Seite)
  8. IEC 61508-3 7.4.4: Requirements for support tools
  9. IEC 61508 (Wikipedia-Seite)
  10. EN 50128 6.7: Support tools and languages
  11. EN 50128 (Wikipedia-Seite)
  12. a b DO-178B and DO-178C: 12.2 Tool Qualification
  13. a b DO-178C (Wikipedia-Seite)
  14. a b c DO-330: Software Tool Qualification Considerations
  15. ISO 13485 (Wikipedia-Seite)
  16. a b FDA (Wikipedia-Seite)
  17. GAMP (Wikipedia-Seite)


Food and Drug Administration DDT Drug Development Tool (DTD) Qualification Process ,https://www.fda.gov/drugs/drug-development-tool-ddt-qualification-programs/drug-development-tool-ddt-qualification-process