ASPICE-Zertifizierung: Kriterien und Nutzen für Softwareentwickler in der Automobilindustrie
Zertifizierungen für Softwareentwickler und Softwareentwicklungsprozesse sind nötig, um eine hohe Qualität der Softwareprodukte sicherzustellen. Durch eine ASPICE-Zertifizierung können Hersteller von Automobil-spezifischen Entwickler-Toolkits ihren Kunden nachweisen, inwiefern ihre Produkte die gestellten Anforderungen erfüllen, welches Maß an Support sie für ihre Produkte bieten und wie effizient sie agieren. Im Folgenden erfahren Sie mehr zu diesem Thema.
Ich erinnere mich noch gut daran, wie meine Freunde und ich in der Oberstufe im Rahmen eines Forschungswettbewerbs die ersten Erfahrungen mit der Programmierung eingebetteter Systeme machten. Bei unserem Beitrag handelte es sich um einen vernetzten Wecker (Stichwort „Internet of Things“), der über ein WLAN Glühbirnen, eine Kaffeemaschine und Bluetooth-Lautsprecher einschalten konnte. Am Tag der Präsentation waren die verschiedenen Funktionen einsatzbereit, störten sich jedoch oft wechselseitig. Glücklicherweise funktionierte alles perfekt, als unser Projekt begutachtet wurde. Allerdings wäre eine spätere oder wiederholte Prüfung eventuell weniger erfolgreich ausgefallen.
Als Softwareentwickler wissen Sie nur zu gut, dass zahllose Debugging-Zyklen erforderlich sind, bevor ein neues Programm läuft und die gestellten Anforderungen erfüllt. Daher ist es wichtig, dass Ihr Compiler dauerhaft garantierten Produktsupport sowie Zugriff auf die Hardware-Sicherheitsmodule (HSM) des zu programmierenden Mikroprozessors bietet und dass die Compiler-Bibliotheken sorgfältig gepflegt und auf dem neuesten Stand gehalten werden. Wenn Sie auf eine Zertifizierung gemäß Automotive Software Process Improvement and Capability Determination (kurz „ASPICE“ oder „Automotiv SPICE“) achten, können Sie sicherstellen, dass das von Ihrem Anbieter bereitgestellte Entwickler-Toolkit diese Anforderungen erfüllt.
Als Softwareentwickler sind Sie wahrscheinlich bereits mit dem SPICE-Standard vertraut, der auf der Norm ISO 15504 basiert. Bei ASPICE handelt es sich um eine speziell auf Softwareentwicklungsprozesse in der Automobilindustrie zugeschnittene Version dieses Zertifizierungsmodells. Folglich bestätigt Ihnen eine hohe ASPICE-Bewertung, dass der Hersteller Ihres Entwicklungs-Toolkits auf professionelle, gut organisierte Entwicklungsprozesse achtet. Als Gedächtnisstütze finden Sie im Folgenden einen kurzen Überblick über die Unterteilung der SPICE- bzw. ASPICE-Reifegraddimension.
Insgesamt gibt es sechs ASPICE-Reifegrade, die entlang einer Skala mit Werten von 0 bis 5 angeordnet sind:
Im Rahmen einer ASPICE-Bewertung werden das Unternehmen des Auftraggebers und seine Produkte durch einen Assessor untersucht. Wenn dieser Assessor bestätigen kann, dass die Produkte des Unternehmens ihre Designziele erfüllen und außerdem sorgfältig dokumentiert sind, ist dies für eine Einstufung in Level 1 ausreichend. Für eine Einstufung in die Level 2 bis 5 ist es zusätzlich erforderlich, dass Interviews mit Mitarbeitern und Managern sowie Praxisanalysen konkreter Entwicklungsprozesse durchgeführt werden. Das dabei verwendete Zertifizierungsmodell stellt hohe Anforderungen und rückt unter anderem die Compliance- und Sicherheitsstandards in den Vordergrund, die bei der Entwicklung von Fahrassistenzsystemen wichtig sind.
Der eingangs erwähnte, von mir und meinen Freunden entwickelte IoT-Wecker verfügte nur über einige einfache Funktionen, beispielsweise zum Einschalten einer Glühbirne. Im Unterschied dazu muss die von Ihnen entwickelte Software in der Lage sein, Daten aus verschiedenen Sensoren zu verarbeiten und stets die passenden Reaktionen auszulösen. Vor allem wenn es sich um ein Produkt für ein Fahrassistenzsystem handelt, das ständig aktualisiert und an neue FAS-Hardware angepasst werden muss, benötigen Sie einen Compiler, der immer auf dem neuesten Stand ist. Und genau in diesem Punkt bietet Ihnen eine ASPICE-Zertifizierung eine gewisse Sicherheit.
Wenn der Anbieter Ihres Entwickler-Toolkits im Rahmen einer ASPICE-Bewertung in Level 1 eingestuft wird, können Sie sicher sein, dass Ihr Toolkit wie vorgesehen funktioniert – zumindest zu Beginn. Beispielsweise wäre diese Einstufung für mein damaliges Team für den Schulwettbewerb passend gewesen. Die Software in unserem IoT-Wecker funktionierte garantiert, solange es nur um das Auslösen des erstens Alarms ging, versagte dann jedoch manchmal den Dienst, als wir eine Schlummerfunktion hinzufügten. Auf Ihre Situation übertragen bedeutet das: Wenn ein Anbieter Level 1 auf der Reifegradskala von ASPICE erreicht, können Sie sicher sein, dass das von diesem angebotene Entwickler-Toolkit seinen Zweck erfüllt. Zugleich ist jedoch nicht gewährleistet, dass es langfristig die Weiterentwicklung Ihrer Produkte unterstützt. Letzteres ist jedoch gerade in der Automobilbranche entscheidend, in der jede eingesetzte Software kontinuierlich verbessert wird.
Daher sollten Sie unbedingt darauf achten, dass das von Ihnen gewählte Toolkit über die gesamte Lebensdauer Ihrer Software nutzbar bleibt und außerdem an technologische Neuerungen angepasst wird. Wenn ein Bug gemeldet wird, sollte das Toolkit umgehend mit einem entsprechenden Patch aktualisiert werden können. Und wenn eine neue Generation von Sensoren auf den Markt kommt, müssen Sie möglichst schnell in der Lage sein, neue Funktionen zur Ansteuerung dieser Sensoren in Ihre Produkte zu integrieren. Vor diesem Hintergrund bietet Ihnen eine Level-2-Zertifizierung (oder höher) die Gewissheit, dass der betreffende Anbieter ein funktionstüchtiges Entwickler-Toolkit bereitstellt, das er dauerhaft unterstützen kann. Stammt Ihr Toolkit dagegen von einem Anbieter mit Level-1-Zertifizierung, so besteht das Risiko, dass Sie im Bedarfsfall keine Unterstützung erhalten. Somit ist ein Anbieter mit Level-2-Zertifizierung ein Muss, wenn Ihr Unternehmen Software zur Steuerung kritischer, sicherheitsrelevanter Funktionen entwickelt.
Über Level 2 hinausgehende Zertifizierungen sind sicherlich wünschenswert, belegen jedoch vor allem die Effizienz des betreffenden Anbieters und weniger eine bessere Leistungsfähigkeit seines Toolkits. Deshalb kommt es vor allem auf die Einhaltung der Kriterien für Level 1 und 2 an. So können Sie sicherstellen, dass das Produkt des Anbieters funktioniert, dass es sich bei dem Anbieter um ein etabliertes Unternehmen handelt und dass der Anbieter sein Toolkit auch künftig unterstützt, pflegt und weiterentwickelt. Nicht umsonst hat das TASKING®-Team von Altium vor Kurzem eine Level-2-Zertifizierung gemäß ASPICE-Standard erhalten und damit einmal mehr bewiesen, was viele Softwareentwickler aus der Automobilbranche längst wussten: dass Altium hervorragende Softwarelösungen anbietet und langfristig unterstützt – auch und gerade für die Entwicklung von Produkten für Fahrzeugsysteme.
Möchten Sie mehr über branchenspezifische Zertifizierungen erfahren? Dann sprechen Sie mit einem unserer Experten.