Seite 1 SICHERHEIT 2008,, 2. April 2008. BMW AG, Dr. Stefan-Alexander Schneider PMFS IT Consulting, Pierre R. Mai TÜV-Nord, Dr. Tomislav Lovric
Seite 2 Agenda. Einführung in die Qualifizierung von Entwicklungswerkzeugen Methode der Validierungssuite Anforderungen an eine Validierungssuite Prüfschritte einer Validierungssuite Erfahrungen mit der Validierung von Entwicklungswerkzeugen Ausblick
Seite 3 Einführung in die Qualifizierung von EWs. Festschreibung von Version und Konfiguration von 1. Betriebsumgebung, 2. Codegenerator incl. relvanter Hooks, 3. Compiler mit ggf. Quellcodedateien sowie 4. Entwicklungsrichtlinien Wie z.b.: Windows, JAVA, MATLAB, TargetLink, Windriver und Modellierungsrichtlinien in einem Dokument:
Seite 4 Methode der S m eval E EW geeignete Menge von Stimuli gegebenes Modell Auswertungsfunktion eines Modells bzgl. Ausführungsumgebung Menge von Ergebnissen durch ein Entwicklungswerkzeug vermittelte Transformation Zu zeigen ist, dass für alle Modelle und alle hierfür möglichen Stimuli der Abstand d(e_m, e_m ) = 0 für geeignete Metrik d ist. Die Abbildung d definiert damit den Korrektheitsbegriff (konkret Bitgenauigkeit der Ergebnisse). Teststrategie definiert die notwendigen Modelle und Stimuli.
SICHERHEIT 2008 Seite 5 Methode der Alle Modelle werden wie folgt getestet: Referenz Interpreter Model + References Simulator MIL results C-Code Generator? Stimuli PC C code + SIL results Target PIL results 001 101010010001001001001001001111100......0100110 Analyse der Bitvergleiche
Seite 6 Herleitung der EW-Besonderheiten. Anpassungen an TVS und/oder RefInt EW Besonderheiten Schleife, solange bis alle NOKs zugewiesen sind, entweder als Anpassungen an TVS, RefInt oder EW TVS-Entwickler Zuweisung Unabhängiger Entwickler Analyse Entwicklungswerkzeug Ergebnisse PIL und RefInt weichen in mindestens einem Bit im Ergebnis voneinander ab NOK TVS-Entwickler Analyse ERR Spezifizierte Tests TVS-Testrechner Test-Ergebnisse Qualifizierungsbericht Entwicklungswerkzeug Abkürzungen: TVS TargetLink-Validierungssuite NOK not OK ERR Abbruch bei der Codegenerierung OK Kritisch dann, wenn es möglicherweise zu einer nicht bemerkten fehlerhaften Codegenerierung kommt, trotz sowohl 1. Beachtung der Modellierungsrichtlinien als auch 2. Einsatz des ES-Richtliniencheckers als auch 3. Aufbereitung des TargetLink Modells mittels TL-Toolkette als auch 4. Beachtung sämtlicher Hinweise aus den Log-Datei.
Seite 7 Herleitung der Anforderungen. Problem: Keine direkt passenden Prüfkriterien für eine EW- Validierungssuite in Normen existent Aufgabe: Herleitung von Anforderungen an eine VS Filterprozess Nutzung und Verfeinerung der Anforderungen: VS-Anforderungen V2.0 Resultat: 113 abgestufte Anforderungen funktionale nicht-funktionale IEC 61508 ISO 26262 BMW Grob PTB EXP 39 12 7 4 51
Seite 8 Anforderungen an eine VS-Anforderungen VS-Anforderungen V2.0 Herleitung und Leitfaden Generelle Struktur der Anforderungen: Anforderungen an eine VS für die VS Hauptprüfung (Hauptteil) Anforderungen für eine Vorprüfung (=Anhang; prinzipielle Anforderungen)
Seite 9 Anforderungen an eine Gliederung der Anforderungen an eine VS (Hauptteil) 1. Anforderungen an die Funktionen der VS, z.b. an Testausführung; Protokollierung von Konfigurationsdaten; 2. Anforderung an Dokumentation und Reportgenerierung z.b. Erstellung eines EW-Qualifizierungsberichtes 3. Anforderungen an Struktur und Aufbau der VS z.b. Testdatenbank; verschiedene Testkategorien mit systematisch aus aus der Sprachdefinition hergeleiteten Tests 4. Anforderung and die Validierung der korrekten Umsetzung von EW-Input z.b. Modular aufgebauter EW-Input 5. Anforderungen an die Validierung der Zwischendarstellung z.b. Lesbarkeit 6. Anforderungen an sonstige Funktionsprüfungen am EW z.b. Einbindung von weiteren Modulen in den Code 7. Anforderungen an Verifizierung und Validierung der VS z.b. Strukturierte und plangemäße V&V Aktivitäten 8. Anforderungen an Qualität der VS z.b. Konfig. Management; Planung und Ausführung von QS Maßnahmen Gliederung der Anforderungen für eine Vorprüfung 1. Unterstützung und Ermöglichung von geeignetem EW-Input 2. Eigenschaften der Zwischendarstellung und des EW-Output 3. Sonstige Funktionsprüfungen am EW 4. Qualität des EW
Seite 10 Prüfschritte der Strukturiertes schrittweises Vorgehen bei der TVS-Prüfung Prüf-Phase Prüfgegenstand Fragen Vorprüfungen (Prinzipielle Eignung des EW) EW Definition EW + Dokumentation EW-Hersteller Audits Bsp: Ermöglicht das EW Modulare Programmierung? VS Teilprüfung: TAU Eignung VS Tst-Ablauf Umgebung VS Teilprüfung: Testfälle Eignung VS Testfall-Planung TAU + Dokumentation TAU-Hersteller Audits VS-Teststrategie VS-Testplan VS-Testspezifikation Bsp: Protokollierung von aller Daten? Bsp: Eingung der Test-Kateg. zu Sprachkonstrukten, ; zu Bausteinen für modular. Prog... Hauptprüfung: VS Eignung der VS insgesamt VS-Dokumentation VS-Entwicklung, V&V VS-Hersteller Audits -> Ermittlung des abgestuften Erfüllungsgrades zu jeder Anforderung Bsp: Testfälle und Ausführung zu Sprachkonstrukten, ; VS- V&V Pläne / Berichte Gesamt-Ergebnis: Die Anforderungen werden in zufrieden stellender Weise erfüll
Seite 11 Erfahrungen mit der
Seite 12 Erfahrungen mit der? Konvertierung mit float to unsigned long and round to zero anstatt mit float to unsigned long?
Seite 13 Erfahrungen mit der Validierungssuite
Seite 14 Erfahrungen mit der Bei dem Versuch das Maximum aus drei Konstanten (-32768,-32768 und 0.5) als Int zu bilden scheitert der Codegenerator und generiert Code statt das Maximum einfach zu berechnen /* MinMax: P_Model/MinMax_3 P_Model/MinMax_3: folded operation max to constant value -32768 Variable 'Sa1_MinMax_3' replaced by 'Aux_S16' */ Aux_S16 = -32768 /* -32768. */; if (0 /* 0.5 */ > Aux_S16) { /* Variable 'Sa1_MinMax_3' replaced by 'Aux_S16' */ Aux_S16 = 1 /* 0.5 */; } /* TargetLink outport: P_Model/Out1 3 */ Sa1_Out1 3 = (sint32) Aux_S16; Besonders beachtenswert ist dabei das UNTERSCHIEDLICHE Runden von 0.5 einmal zu 0 in der Abfrage und mal zu 1 in der Zuweisung.
Seite 15 Erfahrungen mit der Beschreibung: Der Shift-Operator, z.b. angewendet auf Uint16, hat unerwatetes Verhalten. If a value is shifted by more than 16, than the result is not allways 0 (as might be expected and currently computed by the reference interpreter), e.g. 13 << 237 = 40960 für SIL und MIL, aber 0 für PIL und 46 << 204 = 57344 für SIL, MIL und PIL Status
Seite 16 Ausblick. Die beiden referenzierten Dokumente 1. VS-Anforderungen - Herleitung und Leitfaden zur Anwendung, und 2. VS-Anforderungen - Anforderungen an eine Validierungssuite für Entwicklungswerkzeuge sind aus bestehenden Normen systematisch abgeleitet wurden angewandt und sind Praxiserprobt schließen somit die normative Lücke für Anforderungen an eine Validierungssuite für Entwicklungswerkzeuge. Der Einsatz einer Validierungssuite wird empfohlen sowohl in der IEC 61508-3, 2nd Edition, Bemerkung 3 zu 7.4.4.11 als auch ISO WD 26262-8, 10.4.5 mit Tabellen 10.1 und 10.2. Die Dokumente setzten somit den Stand der Technik. BMW plant darüber hinaus den Einsatz der Validierungssuite ganz allgemein für die Qualifizierung von Entwicklungswerkzeugen aus Qualitätssicherungsaspekten heraus.
Seite 17 Abschluß. Vielen Dank für die Aufmerksamkeit. Kontakt Dr. Stefan-Alexander Schneider, BMW AG Stefan-alexander.schneider@bmw.de +49 (0) 89 382-54566 Dr. Tomislav Lovric, TÜV NORD TLovric@tuev-nord.de +49 (0) 201 825-4101 Herr Pierre Mai, PMSF IT Consulting pmai@pmsf.de +49 (0) 8332 93669 13