Der C-Compiler in der GNAT Pro Ada Toolchain von AdaCore, Anbieter von Softwareentwicklungs- und Verifikationswerkzeugen für unternehmens- und sicherheitskritische Systeme, wurde für die Klasse T3 gemäß der europäischen Sicherheitsnorm CENELEC EN 50128 zertifiziert.
AdaCore hat die T3-Qualifizierung seiner GNAT Pro Ada for PowerPC ELF Toolchain um den C-Compiler ergänzt. Dadurch erfüllt die Lösung die Anforderungen der Norm für sicherheitsrelevante Software der Eisenbahn EN 50128:2011. AdaCore hat die Zertifizierung für Alstom, einem internationalen Unternehmen mit Fokus auf sicherheitskritische Bahnsysteme, durchgeführt. Der unabhängige Sicherheitsgutachter CERTIFER hat dabei die Validierung übernommen. Die T3-Zertifizierung für den C-Compiler ergänzt die frühere T3-Zertifzierung für den Ada-Compiler der Toolchain. T3 ist die höchste Qualifikationsstufe der EN 50128.
Die Zertifizierung umfasste mehrere Schritte:
- Durchlaufen von Super Test C Conformance von SolidSands und der GCC-Testsuite der Free Software Foundation
- Analyse der Fehlerberichte, die sich auf die jeweilige Version des C-Compilers beziehen, sowie Behebung mehrerer Probleme, die als kritisch identifiziert wurden, sowie
- Nachweis der korrekten Integration des C-Codes mit der in Ada geschriebenen Hauptapplikation.
«Beide Compiler sind nun unter den anspruchsvollsten Tool-Qualifizierungsanforderungen der EN 50128 zertifiziert und Alstom kann volles Vertrauen in die Qualität des generierten Codes haben.“»
„Alstom und AdaCore verbindet eine langjährige Partnerschaft. Als Anbieter von qualifizierten Ada-Tools haben wir Alstom in der Vergangenheit bei einer Vielzahl von sicherheitskritischen Eisenbahnprojekten unterstützt“, berichtet Jamie Ayre, Commercial Director bei AdaCore. „Da die meisten Systeme heutzutage in mehreren Sprachen entwickelt werden, darunter auch C für eine Reihe von Funktionen, war es sinnvoll, den C-Compiler in GNAT Pro mit der gleichen T3-Klassifizierung zu zertifizieren wie den Ada-Compiler. Beide Compiler sind nun unter den anspruchsvollsten Tool-Qualifizierungsanforderungen der EN 50128 zertifiziert und Alstom kann volles Vertrauen in die Qualität des generierten Codes haben.“
Über CENELEC EN 50128
CENELEC EN 50128:2011 ist eine europäische Norm, die die Entwicklung, den Einsatz und die Wartung von sicherheitsrelevanter Software für Eisenbahnsteuerungs- und -sicherungssysteme regelt. Sie definiert mehrere Software Safety Integrity Levels (SILs), die von 0 (niedrigstes oder nicht sicherheitsrelevanters Level) bis 4 (höchstes Level) reichen und die damit verbundene Richtlinie zur Verwendung einer Reihe von Techniken und Maßnahmen während der Software-Lebenszyklusprozesse, basierend auf dem SIL der Anwendung. Diese Anleitung kann von nicht empfehlenswert (z. B. die Verwendung von dynamischer Software-Rekonfiguration bei SIL1 bis SIL4) bis hin zu obligatorisch reichen. Die Techniken und Maßnahmen decken ein breites Spektrum an Software-Engineering-Aktivitäten ab und umfassen Top-Down-Design-Methoden, Modularität, verifizierte Komponenten und Komponentenbibliotheken, Konfigurationsmanagement und Änderungskontrolle sowie die entsprechende Berücksichtigung von organisatorischen und personellen Kompetenzfragen.
EN 50128 definiert Verfahren, um ein Tool zu zertifizieren und ermöglicht damit, dass dieses Tool eine manuelle Tätigkeit ersetzen kann. Ziel ist es, den Nachweis zu erbringen, dass potenzielle Werkzeugausfälle die Sicherheit nicht beeinträchtigen. Die Norm identifiziert drei Klassen von Tools und die Anforderungen, die mit der Rechtfertigung ihrer Verwendung verbunden sind. Klasse T1 umfasst Tools, die keinen Einfluss auf die Verifikation oder den endgültigen ausführbaren Code haben. Klasse T2 umfasst Verifikationswerkzeuge, bei denen ein Ausfall dazu führen kann, dass ein Fehler nicht erkannt wird, aber keine Auswirkungen auf den endgültigen ausführbaren Code hat. Klasse T3 umfasst Entwicklungs-Tools wie beispielsweise Compiler, bei denen ein Fehler zu fehlerhaftem Code im ausgeführten Programm führen kann.