embedded testing - embedded testing ......simulationsbasiertes testen | prof. dr.-ing. p. fromm,...
TRANSCRIPT
Simulationsbasiertes Testen von
sicherheitskritischer Software auf
Multicore Controllern
Prof. Dr.-Ing. Peter Fromm
Shrikant Sagar
Hochschule Darmstadt
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 2
Embedded Testing
Conference 2017
Inhalt
Functional Safety und
Simulationsbasiertes Testen
Das Werkzeug winAMS
System under Test
Evaluationsergebnisse
Erweiterung des Ansatzes
Zusammenfassung und Ausblick
Funktionale Sicherheit
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 3
Embedded Testing
Conference 2017
IEC 61508 ISO 26262
Automobil
ISO xyz
...
ISO 13849
Maschinen
Methodische Vorgaben am Beispiel ISO26262 - Auswahl
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 4
Embedded Testing
Conference 2017
Aurix
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 5
Embedded Testing
Conference 2017
Mögliche Testumgebungen
Vorteile
Kostengünstig
Zugriff auf alle Daten
Einfache Coverage Messung
Breite Toolauswahl
Nachteile
Erfüllt nicht die ISO26262
Es werden nur “logische Fehler”
gefunden
Beschränkung auf 100%
applikativen Code
Vorteile
Erfüllt die Vorgaben der
ISO26262
Echter “Objektcode” wird
getestet
Nachteile
Aufwändig
Nicht alle “Zustände” erreichbar
Coverage eingeschränkt
Targetspezifisch
Teure Hardware Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 6
Embedded Testing
Conference 2017
Das Werkzeug winAMS der Firma Gaio
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 7
Embedded Testing
Conference 2017
User IDE
Build
Environment
“.elf”
Build
Output
winAMS Environment
Caseplayer 2
(Static Code
Analyser)
Coverage
Reports
MPU Simulator ATDE Editor Testcases
OMF Converter Tool specific
executable
Stub creation
support
Hook up code
creation support
Einsatzgebiet
UnitTest
Das Werkzeug winAMS der Firma Gaio
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 8
Embedded Testing
Conference 2017
Code Execution im Simulator
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 9
Embedded Testing
Conference 2017
System under Test
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 10
Embedded Testing
Conference 2017
Sicherheitsfunktionen (Auszug)
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 11
Embedded Testing
Conference 2017
Group Requirement Implementation Requested State
TargetSpeed The targetspeed has to be updated by the
control logic
• Check targetspeed age • Safe 2
TargetSpeed The targetspeed has to be in a valid range,
considering the Error State constraints
• Check Targetspeed value before
setting engine signal
• Correct
targetspeed value
LIDAR The car shall not drive against an obstacle • Check collision signal of LIDAR
• Use Watchdog / CRC to ensure
updated and correct LIDAR signal
• Safe 1 (d < x)
• Safe 2 (d < y)
• Safe 2 (no
signal)
EngineSpeed The enginespeed may only be set to a non-
zero value in the ISRUNNING state of the
car
• Check car state in event driven
Engine runnable (problem, if
event is not fired)
• And in addition in cyclic logic
runnable
• Safe 2
Input
System Output
Logic
Sicherheitskonzept
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 12
Embedded Testing
Conference 2017
Sicherheitsmonitorfunktionen überwachen die Applikation
Monitorfunktionen sind kritisch und müssen daher nach SIL
qualifiziert werden
Control Check_Joystick
Check_Lidar
...
Check_CAN
Check_TargetSpd
Check_setLidar
Check_WheelSpd
Position
Se
nso
rs
Acto
rs ...
Signallayer
Architekturkonzept
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 13
Embedded Testing
Conference 2017
SWC
Remote
SWC
Monitor_x
SWC
Control_n
SWC
Map
SWC
Control_1
SWC
Display
Signallayer
Core 0
Core 1
Core 2
Signal Signal Signal
CAN ... GPIO IPC
Sicherheitsfunktionen
Unittest von “reinem” Applikationscode
Schritt 1 – Projekt aufsetzen
C ist eine Standard Sprache, oder?
Compilerspezifische Anpassung und Projektkonfiguration sehr
aufwändig
Kein C++ Support
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 14
Embedded Testing
Conference 2017
Unittest von “reinem” Applikationscode
Testfälle generieren - Qualität der Testfälle (MC/DC)
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 15
Embedded Testing
Conference 2017
Gute Unterstützung z.B. mittels MC/DC.
Grenzen werden bei zu komplexen Datenstrukturen erreicht.
Unittest von “reinem” Applikationscode
Startup File
Sicherstellung von definiertem Systemkontext
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 16
Embedded Testing
Conference 2017
Testen von Code mit Hardwarezugriffen
winAMS bietet die Möglichkeit Hardwareaufrufe durch Stubs zu
ersetzen
Für Register - Schreiboperationen ist dieses eine akzeptable Lösung,
für Leseoperationen eher nicht
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 17
Embedded Testing
Conference 2017
//Clear NEWDAT flag
MODULE_CAN.MO[__MObj_i].CTR.U=BIT_1<<IFX_CAN_MO_
CTR_RESNEWDAT_OFF;
//check if a new frame has been received in the meantime and data might got corrupted
while(MODULE_CAN.MO[__MObj_i].STAT.B.NEWDAT==TRUE||MODULE_CAN.MO[__MObj_i].STAT.B.RXUPD==TRUE)
Kombinatorik
True / False Bedingungen
Zeitverhalten....
Testen von Code mit OS-Aufrufen
Betriebssysteminitialisierung lässt sich im Simulator nicht ausführen
Betriebssystemaufrufe können nicht getestet werden (Kontext kann
nicht ohne weiteres hergestellt werden)
Stubbing ist prinzipiell möglich aber mit viel Aufwand versehen
Messaging über Coregrenzen hinweg kann nicht simuliert werden
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 18
Embedded Testing
Conference 2017
Input und Output Parameter
Eine erweiterte Definition
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 19
Embedded Testing
Conference 2017
Unit under Test (C-Funktion)
Parameter Return
Globals Globals
Referenzen
HW-Regs HW-Regs
OS-Calls OS-Calls
Traps (ca.
300)
Interrupts Interrupts
Spannende Fragen...
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 20
Embedded Testing
Conference 2017
Reicht der Unittest aus?
Wie wirtschaftlich ist das Ganze?
Wie sieht eine optimale
Teststrategie aus?
Wieviele Funktionen können getestet werden?
Eine Aufwandsbetrachtung....
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 21
Embedded Testing
Conference 2017
Initiales Design
Verstärkte Abstraktion über Signallayer
Erweiterter Ansatz....
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 22
Embedded Testing
Conference 2017
Prototypische Implementierung
Implementierung für Aurix und dem PLS Debugger ist erfolgt
Testfälle werden von winAMS generiert
Auf dem Target läuft ein spezieller TestTask, der im Testmodus den
Aufruf der Runnables orchestriert
Unterstützung von
Hardware Aufrufen
OS Aufrufen
ISR Betrieb
Überwachung von Timing Anforderungen
Traps
Unit, Integrations und Systemtests
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 23
Embedded Testing
Conference 2017
Input/Output über einfache CSV Dateien
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 24
Embedded Testing
Conference 2017
Multicore Integrationstest
Testen von Signalflüssen
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 25
Embedded Testing
Conference 2017
sl_
sa
fety
sl_
ap
p
sig_target_speed
UART /
ZigBee
SWC_safety_input
sig_lidar_coll
CAN
sig_safe_state sig_target_check
CAN
sig_lidar sig_target_check sig_control_eng
SWC_control
sig_control_eng sig_control_check
SWC_safety_logic
CAN Timeline
Core 1
Core 0
Zusammenfassung und Ausblick
“There is no silver bullet”
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 26
Embedded Testing
Conference 2017
Zusammenfassung und Ausblick
Simulationsbasiertes Testen ist für reinen Applikationscode eine
interessante Testtechnologie
Im Gegensatz zu reinem PC-basierten Testen erfüllt es die
Anforderungen der ISO26262
Konfiguration des Systems sollte vereinfacht werden, neue Code
Standards und C++ sollten unterstützt werden
Test von hardwarenahen Modulen und OS-Aufrufen ist wirtschaftlich
nicht gut möglich
In der Architektur muss eine strenge Trennung zwischen
Applikationscode und Basissoftware realisiert sein
Eine Erweiterung mit Anbindung an Targethardware ist relativ einfach
möglich und bringt deutlichen Mehrwert
Simulationsbasiertes Testen | Prof. Dr.-Ing. P. Fromm, Shrikant Sagar | University of Applied Sciences Darmstadt 27
Embedded Testing
Conference 2017
Questions / Contact
Taming the Beast | Prof. Dr.-Ing. P. Fromm | University of Applied Sciences Darmstadt 28
Prof. Dr.-Ing. Peter Fromm
Microcontroller und Informationstechnik
Hochschule Darmstadt - University of Applied Sciences
FB Elektrotechnik und Informationstechnik (EIT)
Birkenweg 8
64295 Darmstadt
Tel.: +49 (6151) 16-38237
Email: [email protected]
Web: www.eit.h-da.de