Anbieter zum Thema
Hardwarebasierte Fehler-Injektion mit und ohne Kontakt
Typischerweise wird das Test-Team die hardwarebasierte Fehler-Injektion mit Kontakt nutzen, um Fehler an den Ein-/Ausgabeschnittstellen der Electronic-Control-Unit zu injizieren, sowie auch die Variante ohne Kontakt, um Soft-Errors zu aktivieren – zum Beispiel um eine Speicherverfälschung aufgrund von Strahlung oder elektromagnetischer Einflüsse zu simulieren.
Techniken mit Kontakt
Die Techniken mit Kontakt können permanente Fehler modellieren, und sie sind nicht-beeinflussend (wenngleich bei falscher Anwendung das Risiko einer Beschädigung besteht).
Techniken ohne Kontakt
Die Techniken ohne Kontakt sind mehr auf transiente Fehler fokussiert und sind ebenfalls nicht-beeinflussend. Jedoch besteht nur wenig Kontrollpotenzial hinsichtlich des Zeitpunkts und des Ortes der Fehler-Injektion.
Softwarebasierte Fehler-Injektion ist beeinflussbar
Softwarebasierte Fehler-Injektionstechniken erlauben die Injektion von Fehlern lediglich an Stellen, die durch Software zugänglich sind, also Speicher und Register für speicherabgebildete Peripheriekomponenten. Das bedeutet, dass damit nur transiente Fehler modelliert werden können. Das Hauptproblem softwarebasierter Fehlerinjektionstechniken besteht darin, dass sie beeinflussend sind: Weil der Ingenieur zur Injektion eines Fehlers den Software-Binärcode modifizieren muss, besteht die Gefahr, dass sich das Testobjekt im Vergleich zur Produktionsversion unterschiedlich verhält.
Nutzung realer Hardware schränkt die Beobachtbarkeit ein
Die zuvor beschriebenen Techniken nutzen reale Hardware, was die Beobachtbarkeit einschränkt. Sie sind kontrollierbar und reproduzierbar. Weil sie aber reale Hardware nutzen, sind sie niemals vollständig deterministisch. Alle drei Techniken laufen schnell genug (in Echtzeit), um komplexe Software-Stacks zu bewältigen.
Voller Zugriff auf alle Hardwareelemente des Systems
Die simulations-basierte Fehlerinjektion – ausgeführt auf Gatter- oder Register-Transfer-Ebene – hat den Vorteil vollständiger Zugriffsmöglichkeiten auf alle Hardwareelemente des Systems. Sie ist nicht beeinflussend, bietet aber volle Beobacht- und Kontrollierbarkeit und ist deterministisch. Allerdings sind die Simulationen extrem langsam, was sie bei komplexeren Szenarien unbrauchbar macht.
Virtuelle Prototypen als Software-Abbild der Hardware
Ein virtueller Prototyp ist ein Software-Modell, welches die Hardware nachbildet. Entwicklerteams können einen virtuellen Prototypen verwenden, um die digitalen Aspekte einer Mikrocontroller-Einheit, einer Electronic-Control-Unit (ECU) oder gar eines kompletten ECU-Netzwerks zu modellieren, und die Simulation auf einem Desktop-PC ausführen. Virtuelle Prototypen führen denselben Binärcode wie die reale Hardware aus. Weil der virtuelle Prototyp ein Soft-Modell ist, können Softwareteams bereits Monate vor der Verfügbarkeit des tatsächlichen Hardware-Bausteins darauf zugreifen.
Virtuelle Prototypen stellen Umgebungen dar
Virtuelle Prototypen geben Entwicklungsteams mehr als nur Software-Modelle zur Hardware-Simulation; sie stellen Umgebungen dar, die ihnen das Debuggen und Analysieren von Hardware-/Software-Interaktionen erlauben. Sie bieten auch komplette Sichtbarkeit der internen und externen Register und Signale, ermöglichen die volle Kontrolle über die Programmausführung und sind zudem nicht-beeinflussend.
Die gesamte Systemausführung lässt sich einfrieren
Entwickler können mittels virtueller Prototypen die gesamte Systemausführung zu einem beliebigen Zeitpunkt einfrieren – sogar bei Multicore-Hardware – um interne Werte auszulesen oder zu modifizieren. Fortgeschrittene Analysefunktionen lassen sie außerdem die Software (auf Anwendungsebene) mit Hardware-Ereignissen korrelieren, die Code-Coverage ermitteln, Fehler-Injektion ausführen, sowie die Simulationen mittels Skripts automatisieren.
Virtuelle Prototypen integrieren sich nahtlos in vorhandene Software-Toolketten und verbinden sich mit externen Tools von Drittanbietern zwecks vollständiger „Hardware-in-the-Loop“- und „Rest-of-Bus“-Simulationen. Entwickler können die Simulationsmodelle auf einfache Weise einsetzen und skalieren. Virtuelle Prototypen lassen sich über eine weltweit operierende Organisation hinweg leicht gemeinsam nutzen, archivieren und einsetzen.
Artikelfiles und Artikellinks
Link: Weitere Informationen
(ID:44908852)