ISO 26262 kalibrierbare Software
ISO 26262 kalibrierbare Software: Der Anhang C der ISO 26262 beschäftigt sich mit konfigurierbarer Software. Dieser Blog fasst wichtige Anforderungen der Norm an Konfigurierbare/kalibrierbare Software nach ISO26262 zusammen und zeigt praxisrelevante Herausforderungen von Software-konfigurierbaren Embedded Systemen auf.
Zunächst einmal bietet die Verwendung von Kalibrierdaten in konfigurierbaren Systemen nur Vorteile. Das funktionale Verhalten des Gesamtsystems, kann durch einfache und schnelle Änderungen in den Kalibrierdaten an das jeweils gewünschte Verhalten angepasst werden, ohne das der Source Code, bzw. dessen Struktur angepasst werden müssen. Dadurch wird eine mehrfache Wiederverwendung des Source Codes ermöglicht. Wenn es gut gemacht ist, sollten sogar die Unit Tests inklusive des Nachweises der strukturellen Source Coverage weitgehend wiederverwendbar sein. Dies sind durchaus gewichtige Vorteile.
Anforderungen der ISO 26262-6:
Die Norm unterscheidet zunächst zwischen Kalibrierdaten und Konfigurationsdaten:
Kalibrierdaten: „Data that will be applied after the software build in the development process“
Als Beispiele werden fahrzeugspezifische Parameter genannt.
Konfigurationsdaten: „Data that is assigned during software build and that controls the software build process“ z.B. Pre-Prozessor Instruktionen.
Der Anhang C der ISO 26262-6 [Software] definiert folgendes Vorgehen:
Spezifikation
C.4.6: Die Spezifikation der Kalibrierdaten muss folgende Punkte berücksichtigen:
- gültige Werte
- die beabsichtigte Nutzung
- die Datenbereiche
- die Skalierung und die Einheiten der Daten
- sowie die gegenseitigen Abhängigkeiten einzelner Daten
Verifikation
C.4.7: Die Verifikation muss die Benutzung der Kalibierdaten im definierten Datenbereich nachweisen.
C.4.5: sagt aus, dass eine Kombination aus folgenden Maßnahmen die vollständige Verifikation einer konfigurierbaren Software nachweisen kann:
- Verifikation der konfigurierbaren Software
- Verifikation der Konfigurationsdaten
- Verifikation der konfigurierten Software
Im Weiteren wird in der Norm aufgeführt, dass die Kombination von 1. und 2. eine vollständige Verifikation darstellt.
Alternativ kann nur eine Kombination von 2. und 3. durchgeführt werden.
Anmerkung: Der Norm sagt aus, dass eine konfigurierte Software noch nicht die Kalibrierdaten enthält. Aus meiner Sicht, macht aber das in Punkt C.4.5 angesprochene Vorgehen nur Sinn, wenn man die Kalibrierdaten mit einschließt. Bezüglich der Verifikation einer Software welche Kalibrierdaten enthält, sagt die Norm nur sehr wenig aus.
ISO 26262 kalibrierbare Software – Erfahrungen aus der Praxis
Die Komplexität der Verifikation steckt in der Vielzahl und der Varianz der Kalibrierdaten, sowie der sich daraus ergebenden variantenreichen, unterschiedlichen funktionalen Verhaltensweisen.
An funktionalen Requirements solcher Systeme erkennt man sofort, dass es aufgrund der Vielzahl der Kalibriermöglichkeiten nicht möglich ist, die Requirements auch nur annähernd 100% zu verifizieren.
Die Verifikation der kalibrierbaren Software und die Validierung/Verifikation der Kalibrierdaten (wie in C4.5 der Norm festgelegt) ist der erste richtige Schritt. Allerdings muss die Verifikation der kalibrierbaren Software aus Tests und aus Begründungen (Äquivalenzklassen) bestehen, dass diese Tests ausreichend sind. Ideal geeignet für die Begründung ist die Software Architektur. Voraussetzung zum Gelingen dieser Vorgehensweise, sind gute Requirements und eine detaillierte Architektur. Der große Vorteil liegt darin, dass man damit die Verifikation allgemeingültig machen kann, d.h. egal welcher konkrete Satz von Kalibrierdaten zur Anwendung kommt, die Verifikation gilt und muss nicht geändert werden!
Die in der Norm angegebene Alternative (eine Verifikation der Konfigurations- bzw. Kalibrierdaten, sowie die Verifikation der konfigurierten/kalibrierten Software) ist in ihrer Durchführung sicher deutlich einfacher, da nur genau ein Satz von Kalibrierdaten getestet wird. Der große Nachteil hierbei ist, dass die Verifikation auch nur für diesen einen ausgewählten Satz von Daten gilt.
Fazit:
Konfigurierbare/kalibrierbare Software nach ISO26262 bietet Vorteile, die dann voll zur Geltung kommen, wenn es gelingt die Verifikation allgemeingültig zu machen, d.h. unabhängig von den individuellen Kalibrierdaten. Bis 2015 habe ich ein Projekt mit höchsten Sicherheitsanforderungen begleitet, bei dem diese Vorgehensweise (auf meine Initiative hin) erfolgreich zur Anwendung kam.
Weitere HEICON Blog Beiträge zum Thema
- EN50128 konfigurierbare Systeme: Fluch oder Segen?
- Guter Safety Software Entwicklungsprozess – Was ist das?
Ihre individuellen Fragen zur praktischen Umsetzung der ISO 26262 beantworten wir gerne in einem ersten, kostenlosen 30min Beratungsgespräch!
Vereinbaren Sie gleich einen Termin: Eine kurze Mail an info[at]heicon-ulm.de genügt, oder greifen Sie gleich zum Telefonhörer: +49 (0) 7353 981 781 (Mo bis Fr 08:00 – 18:00Uhr).
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!