-
Hintergrund
-
Technisches Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Fehlerinjektionstestvorrichtung und - Verfahren und betrifft insbesondere eine Fehlerinjektionstestvorrichtung und -Verfahren zum Ermitteln, ob ein Fehler auf normale Weise injiziert wird, während ein Fehlerinjektionstest auf einer elektronischen Steuervorrichtung, welche in einem Fahrzeug eingerichtet ist, ausgeführt wird, und ob eine Erholung von dem injizierten Fehler gemäß einem gültigen Maßstab vorgenommen wird.
-
Beschreibung der bezogenen Technik
-
Eine steigende Anzahl von elektronischen Steuervorrichtungen, z.B. elektronischen Steuereinheiten (ECUs - abgeleitet vom Englischen „electronic control unit“), wird jüngst in Fahrzeugen zum Durchführen diverser Funktionen implementiert. Jedoch wird die Zuverlässigkeit von Software (S/W), welche in die elektronischen Steuervorrichtungen eingebettet ist, aufgrund von Unfällen, welche durch fehlerhaft arbeitende elektronische Steuervorrichtungen verursacht wurden, in Frage gestellt. Dementsprechend definieren ISO-26262-Standards, dass Funktionssicherheitsanforderungen, welche für andere Bereiche (z.B. Schienenverkehrs-, Luftfahrt- oder Atomkraftindustrie) angewendet werden, für die Automobilindustrie angewendet werden sollten und dass Softwareelemente der elektronischen Steuervorrichtungen unter Verwendung eines Fehlerinjektionstests getestet werden sollten.
-
Die elektronischen Steuervorrichtungen sind im Allgemeinen ausgestaltet, so dass sie Fehler vermeiden und verhindern, und müssen Mechanismen zum Detektieren von Fehlern und zur Selbsterholung von den Fehlern innerhalb einer kurzen Zeitdauer, sogar falls ein unerwarteter Fehler auftritt, aufweisen. Daher gibt es einen Bedarf danach, einen Fehler zwangsweise in die elektronische Steuervorrichtung einzubringen und zu verifizieren, ob eine Detektion des Fehlers und eine Erholung von dem Fehler normal durchgeführt werden, bevor die elektronische Steuervorrichtung tatsächlich in dem Fahrzeug installiert wird.
-
Konventionellerweise wurden elektronische Steuervorrichtungen geprüft, um zu ermitteln, ob sie ohne bestimmte Probleme arbeiten, indem ein Zustand der elektronischen Steuervorrichtung vor und nach einer Fehlerinjektion überwacht wird. Jedoch werden die Vorrichtungen nicht derart geprüft, um zu ermitteln, ob der Fehler normal injiziert wurde, und auch nicht, um gemäß einem gültigen Verfahren und Maßstab zu ermitteln, ob eine Erholung von dem Fehler erfolgt ist, weshalb die Zuverlässigkeit des Fehlerinjektionstests verringert ist. Da ferner ein Entwickler erforderlich ist, um den Fehler direkt in eine elektronische Steuervorrichtung (z.B. unter Verwendung einer „Debugger“-Anweisung) zu injizieren, einen Zustand der elektronischen Steuervorrichtung zu beobachten und dann einen Bericht über das Ergebnis zu erstellen, ist dies hinsichtlich Zeit und Kosten ineffizient.
-
Erläuterung der Erfindung
-
Die vorliegende Erfindung bzw. Offenbarung (nachfolgend kurz „Erfindung“) schafft eine Fehlerinjektionstestvorrichtung und ein Fehlerinjektionstestverfahren, durch welche ermittelt werden kann, ob ein Fehler normal eingebracht wird und ob eine Erholung von dem Fehler bzw. Behebung des Fehlers (nachfolgend kurz „Erholung von dem Fehler“) gemäß einem vordefinierten Verfahren und Maßstab bzw. Standard bzw. Richtmaß (hierin auch kurz nur „Maßstab“) während eines Fehlerinjektionstests auf einer elektronischen Steuervorrichtung erfolgt ist.
-
Die vorliegende Erfindung schafft eine Fehlerinjektionstestvorrichtung und - Verfahren, durch welche ein Fehlerinjektionstest auf einer elektronischen Steuervorrichtung automatisiert werden kann, indem der Fehlerinjektionstest automatisch durchgeführt wird und der Testergebnisbericht automatisch erstellt wird.
-
Gemäß Ausführungsformen der vorliegenden Erfindung kann eine Fehlerinjektionstestvorrichtung (z.B. Vorrichtung zum Testen einer Fehlerinjektion) aufweisen: ein Kommunikationsmodul, welches mit einer elektronischen Steuervorrichtung kommuniziert; ein Testszenarioverwaltungsmodul, welches ein Testszenario zum Durchführen eines Fehlerinjektionstests auf der elektronischen Steuervorrichtung (z.B. Ausüben eines Fehlerinjektionstests auf die elektronische Steuervorrichtung) erzeugt; ein Testausführungsmodul, welches den Fehlerinjektionstest gemäß dem Testszenario durchführt und Fehlerdaten an die elektronische Steuervorrichtung übermittelt (gesendet); ein Fehlerdetektionsmodul, welches ermittelt, ob die Fehlerdaten normal von dem Testausführungsmodul an die elektronische Steuervorrichtung übermittelt werden; und ein Erholungsermittlungsmodul (z.B. Fehlerbehebung-Ermittlungsmodul), welches ermittelt, ob die elektronische Steuervorrichtung sich von einem Fehler, der durch die von dem Testausführungsmodul übermittelten Fehlerdaten in die elektronische Steuervorrichtung eingebracht wurde, erholt.
-
Die Fehlerinjektionstestvorrichtung kann ferner aufweisen ein Überwachungsmodul, welches einen Zustand der elektronischen Steuervorrichtung überwacht, wenn der Fehlerinjektionstest gestartet ist.
-
Die Fehlerinjektionstestvorrichtung kann ferner aufweisen ein Berichterstellungsmodul, welches, wenn der Fehlerinjektionstest abgeschlossen (z.B. vollendet) ist, einen Testergebnisbericht erstellt, welcher eine Zustandsinformation der elektronischen Steuervorrichtung und eine Analyseinformation über eine Veränderung eines Zustands der elektronischen Steuervorrichtung vor und nach der Übermittlung der Fehlerdaten aufweist.
-
Das Testszenario kann eine Testausführungsbedingung, die an die elektronische Steuervorrichtung zu übermittelnden Fehlerdaten, einen Fehlerdetektionsmaßstab (z.B. Fehlerdetektionsstandard, Fehlerdetektionsrichtmaß) und einen Erholungsermittlungsmaßstab (z.B. Erholungs- bzw. Fehlerbehebungsermittlungsstandard, Erholungs- bzw. Fehlerbehebungsermittlungsrichtmaß) aufweisen.
-
Die Testausführungsbedingung kann einen Zieltask (Englisch „target task“), in welchen ein Fehler einzubringen ist, einen Zeitpunkt zum Übermitteln der Fehlerdaten und eine Fehlerdatenübermittlung-Wiederholungsbedingung aufweisen.
-
Die Fehlerdaten können mit einem Fehlertyp aus einer Mehrzahl von vorbestimmten Fehlertypen korrespondieren, welche eine Taskausführungsunterbrechung, eine Verhinderung einer erneuten Taskausführung (z.B. Taskwiederholung, Englisch „task rerun“) durch einen Scheduler (z.B. (Task-)Steuerprogramm, bspw. Taskplaner), eine Verhinderung einer erneuten Taskausführung durch Alarm Unterbrechung des Alarmgebens (z.B. Unterbrechung eines genutzten Alarms; Englisch „interruption of alarming“), eine Verhinderung einer erneuten Taskausführung nach einem Warten auf ein Ereignis, eine Verhinderung einer erneuten Taskausführung durch Hervorrufung einer Systemblockade während eines Wartens auf eine Ressource, eine Verhinderung einer erneuten Taskausführung durch Hervorrufung eines Stapelüberlaufs (Englisch „stack overflow“), einen Task-Überlauf (z.B. Task-Zeitüberschreitung; Englisch „task overrun“), eine Variablenwert-Kontamination, eine Codeveränderung, eine CPU-Register-Wertkontamination, eine Softwarekomponentenkontamination und einen Bit-Flip aufweisen.
-
Das Fehlerdetektionsmodul kann ermitteln, dass die Fehlerdaten normal übermittelt werden, wenn der Fehler detektiert wird basierend auf einem Fehlerdetektionsmaßstab, welcher bestimmt, ob der Fehler mindestens einen/eine von einem Taskausführung-Zählwert, einem Alarmzyklus-Wert (z.B. Alarmtakt-Wert), einem Fehlercode-Wert, einem Datenwert eines bestimmten Speicherbereichs, einem Gesamtsystembetrieb und einer Taskausführungszeit (z.B. auch Tasklaufzeit bzw. Laufzeit / Ausführungsdauer eines Tasks) beeinflusst.
-
Das Erholungsermittlungsmodul kann ermitteln, ob die elektronische Steuervorrichtung sich von dem Fehler erholt, basierend auf einem Erholungsermittlungsmaßstab (z.B. Fehlerbehebungsermittlungsmaßstab), welcher bestimmt, ob die elektronische Steuervorrichtung sich von dem Fehler erholt, welcher mindestens einen/eine von einem Taskausführung-Zählwert, einem Alarmzyklus-Wert, einem Fehlercode-Wert, einem Datenwert eines bestimmten Speicherbereichs, einem Gesamtsystembetrieb und einer Taskausführungszeit beeinflusst.
-
Das Überwachungsmodul kann ausgeben ein Diagramm, welches Veränderungen in einem Taskzustand angibt, und ein Diagramm, welches Veränderungen in einem Variablenwert der elektronischen Steuervorrichtung angibt, welche aus einem Fehlerinjektionstestlauf resultieren.
-
Das Testszenarioverwaltungsmodul kann ein Testszenario, das zu den Charakteristiken der elektronischen Steuervorrichtung passt, erzeugen basierend auf einer Einstellungsinformation der elektronischen Steuervorrichtung, welche durch das Kommunikationsmodul empfangen wird.
-
Der Zeitpunkt zum Übermitteln von Fehlerdaten kann gemäß einer Anzahl, wie oft ein vorbestimmter Zieltask ausgeführt wird, und/oder einer Wartezeit, nachdem der Fehlerinjektionstest gestartet wurde, festgelegt sein.
-
Das Erholungsermittlungsmodul kann ermitteln, dass die elektronische Steuervorrichtung dabei fehlschlägt, sich von dem Fehler zu erholen, wenn eine Erholung von dem Fehler nicht innerhalb einer Erholungszulässigkeitsdauer erfolgt ist.
-
Gemäß Ausführungsformen der vorliegenden Erfindung kann ein Fehlerinjektionstestverfahren aufweisen: Aufbauen einer Kommunikationssitzung mit einer elektronischen Steuervorrichtung unter Verwendung eines Kommunikationsmoduls; Empfangen von Ausgestaltungsinformationen der elektronischen Steuervorrichtung (z.B. Informationen über die Spezifikationen der elektronischen Steuervorrichtung) über die aufgebaute Kommunikationssitzung; Erzeugen eines Testszenarios zum Durchführen eines Fehlerinjektionstests auf der elektronischen Steuervorrichtung (z.B. Ausüben eines Fehlerinjektionstests auf die elektronische Steuervorrichtung); Durchführen des Fehlerinjektionstests gemäß dem Testszenario; Übermitteln (Senden) von Fehlerdaten an die elektronische Steuervorrichtung; Ermitteln, ob die Fehlerdaten normal an die elektronische Steuervorrichtung übermittelt werden; und Ermitteln, ob die elektronische Steuervorrichtung sich von einem durch die übermittelten Fehlerdaten in die elektronische Steuervorrichtung eingebrachten Fehler erholt.
-
Das Fehlerinjektionstestverfahren kann ferner aufweisen Überwachen eines Zustands der elektronischen Steuervorrichtung, wenn der Fehlerinjektionstest gestartet ist.
-
Das Fehlerinjektionstestverfahren kann ferner aufweisen, wenn der Fehlerinjektionstest abgeschlossen (z.B. vollendet) ist, Erstellen eines Testergebnisberichts, welcher eine Zustandsinformation der elektronischen Steuervorrichtung und eine Analyseinformation über eine Veränderung eines Zustands der elektronischen Steuervorrichtung vor und nach der Übermittlung der Fehlerdaten aufweist.
-
Das Testszenario kann eine Testausführungsbedingung, die an die elektronische Steuervorrichtung zu übermittelnden Fehlerdaten, einen Fehlerdetektionsmaßstab und einen Erholungsermittlungsmaßstab aufweisen.
-
Die Testausführungsbedingung kann einen Zieltask (Englisch „target task“), in welchen ein Fehler einzubringen ist, einen Zeitpunkt zum Übermitteln der Fehlerdaten und eine Fehlerdatenübermittlung-Wiederholungsbedingung aufweisen.
-
Die Fehlerdaten können mit einem Fehlertyp aus einer Mehrzahl von vorbestimmten Fehlertypen korrespondieren, welche eine Taskausführungsunterbrechung, eine Verhinderung einer erneuten Taskausführung durch einen Scheduler, eine Verhinderung einer erneuten Taskausführung durch Unterbrechung des Alarmgebens, eine Verhinderung einer erneuten Taskausführung nach einem Warten auf ein Ereignis, eine Verhinderung einer erneuten Taskausführung durch Hervorrufung einer Systemblockade während eines Wartens auf eine Ressource, eine Verhinderung einer erneuten Taskausführung durch Hervorrufung eines Stapelüberlaufs, einen Task-Überlauf, eine Variablenwert-Kontamination, eine Codeveränderung, eine CPU-Register-Wertkontamination, eine Softwarekomponentenkontamination und einen Bit-Flip aufweisen.
-
Das Ermitteln, ob die Fehlerdaten normal übermittelt werden, kann aufweisen Ermitteln, dass Fehlerdaten normal übermittelt werden, wenn der Fehler detektiert wird basierend auf einem Fehlerdetektionsmaßstab, welcher bestimmt, ob der Fehler mindestens einen/eine von einem Taskausführung-Zählwert, einem Alarmzyklus-Wert, einem Fehlercode-Wert, einem Datenwert eines bestimmten Speicherbereichs, einem Gesamtsystembetrieb und einer Taskausführungszeit beeinflusst.
-
Das Ermitteln, ob die elektronische Steuervorrichtung sich von dem Fehler erholt, kann aufweisen Ermitteln, ob die elektronische Steuervorrichtung sich von dem Fehler erholt, basierend auf einem Erholungsermittlungsmaßstab, welcher bestimmt, ob die elektronische Steuervorrichtung sich von dem Fehler erholt, welcher mindestens einen/eine von einem Taskausführung-Zählwert, einem Alarmzyklus-Wert, einem Fehlercode-Wert, einem Datenwert eines bestimmten Speicherbereichs, einem Gesamtsystembetrieb und einer Taskausführungszeit beeinflusst.
-
Das Überwachen des Zustands der elektronischen Steuervorrichtung kann aufweisen: Ausgeben eines Diagramms, welches Veränderungen in einem Taskzustand angibt, und eines Diagramms, welches Veränderungen in einem Variablenwert der elektronischen Steuervorrichtung angibt, welche aus einem Fehlerinjektionstestlauf resultieren.
-
Das Erzeugen des Testszenarios kann aufweisen Erzeugen eines zu den Charakteristiken der elektronischen Steuervorrichtung zu passenden Testszenarios basierend auf einer Einstellungsinformation der elektronischen Steuervorrichtung.
-
Der Zeitpunkt zum Übermitteln von Fehlerdaten kann gemäß einer Anzahl, wie oft ein vorbestimmter Zieltask ausgeführt wird, und/oder einer Wartezeit, nachdem der Fehlerinjektionstest gestartet wurde, festgelegt sein.
-
Das Ermitteln, ob die Fehlerbehebung bzw. -erholung ausgeführt ist (z.B. der Fehler beseitigt ist), kann aufweisen Ermitteln, dass die elektronische Steuervorrichtung dabei fehlschlägt, sich von dem Fehler zu erholen, wenn eine Erholung von dem Fehler nicht innerhalb einer Erholungszulässigkeitsdauer erfolgt ist
-
Figurenliste
-
Die obigen und weitere Ziele, Eigenschaften und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung für den Fachmann ersichtlicher, indem beispielhafte Ausführungsformen davon unter Bezugnahme auf die beigefügten Zeichnungen detailliert beschrieben werden, wobei:
- 1 ein Blockdiagramm eines Fehlerinjektionstestsystems gemäß Ausführungsformen der vorliegenden Erfindung ist,
- 2 interne Konfigurationen einer Fehlerinjektionstestvorrichtung und einer elektronischen Steuervorrichtung gemäß Ausführungsformen der vorliegenden Erfindung zeigt,
- 3 eine Abfolge eines Gesamtablaufs eines Fehlerinjektionstestverfahrens gemäß Ausführungsformen der vorliegenden Erfindung zeigt,
- 4 eine Ansicht zum Erläutern, wie eine Fehlerinjektionstestvorrichtung ein Testszenario gemäß Ausführungsformen der vorliegenden Erfindung erzeugt, ist,
- 5 ein Beispiel einer Fehlerinjektionstestvorrichtung, welche einen Zustand einer elektronischen Steuervorrichtung überwacht und ausgibt, gemäß Ausführungsformen der vorliegenden Erfindung zeigt,
- 6 ein Beispiel einer Fehlerinjektionstestvorrichtung, welche einen Testergebnisbericht erstellt, gemäß Ausführungsformen der vorliegenden Erfindung zeigt, und
- 7 bis 12 Flussdiagramme, welche ein Fehlerinjektionstestverfahren gemäß Ausführungsformen der vorliegenden Erfindung darstellen, sind.
-
Es ist zu verstehen, dass die angehängten Zeichnungen nicht notwendigerweise maßstabsgetreu sind und eine etwas vereinfachte Darstellungsweise von verschiedenen Eigenschaften darstellen, um die Grundprinzipien der Erfindung aufzuzeigen. Die spezifischen Konstruktionsmerkmale der vorliegenden Erfindung, einschließlich z.B. konkrete Abmessungen, Ausrichtungen, Positionen und Formen, wie sie hierin offenbart sind, werden (zumindest) teilweise von der jeweiligen geplanten Anwendung und Nutzungsumgebung vorgegeben.
-
Detaillierte Beschreibung
-
Gleiche Bezugszeichen beziehen sich durchgehend durch die Beschreibung auf gleiche (oder gleichwertige) Elemente. Nicht alle Bestandteile von Ausführungsformen der vorliegenden Erfindung werden beschrieben, und eine Beschreibung von dem, was gemeinhin in der Technik bekannt ist, oder von dem, was sich in den Ausführungsformen überschneidet, wird weggelassen. Die durchgehend durch die Beschreibung verwendeten Ausdrücke, wie zum Bespiel „∼ Teil“, „∼ Modul“, „∼ Element“, „∼ Block“, etc., können in Software und/oder Hardware implementiert sein, und eine Mehrzahl von „∼ Teilen“, „∼ Modulen“, „∼ Elementen“ oder „∼ Blöcken“ kann in einem einzigen Element implementiert sein oder ein einziges „∼ Teil“, „∼ Modul“, „∼ Element“ oder „∼ Block“ kann eine Mehrzahl von Elementen aufweisen.
-
Es ist ferner zu verstehen, dass der Ausdruck „verbinden“ oder seine Derivate sich auf beides, direkte und indirekte Verbindung, beziehen, und die indirekte Verbindung umfasst unter anderem eine Verbindung über ein drahtloses Kommunikationsnetzwerk.
-
Der Ausdruck „aufweisen (oder aufweisend)“ oder „umfassen (oder umfassend)“ ist einschließend oder offen, und schließt zusätzliche, nicht erwähnte Elemente oder Verfahrensschritte nicht aus, sofern es nicht anders erwähnt ist.
-
Es ist zu verstehen, dass, obwohl die Ausdrücke erster, zweiter, dritter, etc. hierin verwendet sein können, um verschiedene Elemente, Komponenten, Bereiche, Schichten und/oder Abschnitte zu beschreiben, diese Elemente, Komponenten, Bereiche, Schichten und/oder Abschnitte nicht mittels dieser Ausdrücke eingeschränkt werden sollen. Diese Ausdrücke werden nur verwendet, um ein Element, eine Komponente, einen Bereich, eine Schicht oder einen Abschnitt von einem anderen Bereich, einer anderen Schicht oder einem anderen Abschnitt zu unterscheiden.
-
Es ist zu verstehen, dass die Singularformen „ein/eine“ und „der/die/das“ Pluralreferenzen einschließen, sofern der Kontext dies nicht klarerweise anders vorgibt.
-
Es ist außerdem zu verstehen, dass eine oder mehrere der nachstehenden Verfahren oder Teile davon durch mindestens eine Steuereinheit durchgeführt werden können. Der Begriff „Steuereinheit“ kann sich auf eine Hardware-Vorrichtung beziehen, welche einen Speicher und einen Prozessor aufweist. Der Speicher ist dazu eingerichtet, die Programmbefehle zu speichern, und der Prozessor ist speziell dazu eingerichtet, die Programmbefehle auszuführen, um einen oder mehr Vorgänge, welche weiter unten beschrieben werden, durchzuführen. Die Steuereinheit kann Betriebe von Einheiten, Modulen, Bauteilen oder dergleichen, wie hierin beschrieben, steuern. Ferner ist es zu verstehen, dass die nachstehenden Verfahren durch eine Vorrichtung, welche die Steuereinheit in Verbindung mit einer oder mehreren weiteren Komponenten aufweist, ausgeführt werden kann, wie dies durch einen Fachmann in der Technik verstanden wird.
-
Ferner kann die Steuereinheit der vorliegenden Erfindung als nichtflüchtige, computerlesbare Medien, welche ausführbare Programmbefehle, die durch einen Prozessor, eine Steuereinrichtung oder dergleichen ausgeführt werden, enthalten, umgesetzt sein. Beispiele der computerlesbaren Medien umfassen, sind aber nicht beschränkt auf, ROM (kurz für Nur-Lese-Speicher; Englisch „Read Only Memory“), RAM (kurz für Speicher mit wahlfreiem Zugriff; Englisch „Random Access Memory“), Compact-Disk-(CD)-ROMs, Magnetbänder, (Floppy-)Disketten, Flash-Speicher, Chipkarten (z.B. Smartcards, Speicherkarten) und optische Datenspeichervorrichtungen. Das computerlesbare Aufzeichnungsmedium kann auch in netzwerkverbundenen Computersystemen verteilt werden, so dass die Programmbefehle auf eine verteilte Art gespeichert und ausgeführt werden, z.B. mittels eines Telematikservers oder eines Steuergerätenetzwerks (Controller Area Network, kurz CAN).
-
Bezugszeichen, welche für die Verfahrensschritte verwendet werden, dienen lediglich zur Einfachheit der Beschreibung, jedoch nicht dazu, eine Reihenfolge der Schritte zu beschränken. Falls nicht der Kontext eindeutig etwas anderes angibt, kann somit die verfasste Reihenfolge auf andere Weise umgesetzt werden.
-
Das Prinzip und Ausführungsformen der vorliegenden Erfindung werden nun unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
1 ist ein Blockdiagramm eines Fehlerinjektionstestsystems gemäß Ausführungsformen der vorliegenden Erfindung.
-
Wie in 1 gezeigt, weist ein Fehlerinjektionstestsystem auf eine Fehlerinjektionstestvorrichtung 100, eine Schnittstellenvorrichtung 200 und eine elektronische Steuervorrichtung 300.
-
Die Fehlerinjektionstestvorrichtung 100 kann eine Vorrichtung oder Endgerät, wie beispielsweise ein Computer, ein Laptop, ein Tablet, ein Smartphone oder dergleichen, sein, welche/welches einen Datenverarbeitungsprozessor, d.h. eine zentrale Recheneinheit (CPU), und einen Speicher aufweist. Ein Computerprogramm oder eine Anwendung zum Durchführen eines Fehlerinjektionstests kann in der Fehlerinjektionstestvorrichtung 100 geladen werden.
-
Die Schnittstellenvorrichtung 200 kann eine Vorrichtung zum Verbinden der Fehlerinjektionstestvorrichtung 100 und der elektronischen Steuervorrichtung 300 sein, welche ein Debugger (z.B. Fehlersucheinrichtung bzw. -programm) oder ein Kommunikationsadapter sein kann. Die Fehlerinjektionstestvorrichtung 100 kann die Schnittstellenvorrichtung 200 nutzen, um auf einen Prozessor, ein Register oder einen Speicher der elektronischen Steuervorrichtung 300 zuzugreifen. Die Fehlerinjektionstestvorrichtung 100 kann durch die Schnittstellenvorrichtung 200 Fehlerdaten an die elektronische Steuervorrichtung 300 senden und Informationen über einen Zustand der elektronischen Steuervorrichtung 300 empfangen.
-
Die Schnittstellenvorrichtung 200 und die elektronische Steuervorrichtung 300 können Daten mittels einer CAN-Kommunikation (wobei CAN für Controller Area Network, z.B. auf Deutsch Steuergerätenetzwerk, steht) austauschen. Falls die Schnittstellenvorrichtung 200 ein Debugger ist, kann diese mittels der JTAG-Schnittstelle (wobei JTAG kurz für „Joint Test Action Group“ steht) mit der elektronischen Steuervorrichtung 300 verbunden sein. Die Fehlerinjektionstestvorrichtung 100, die Schnittstellenvorrichtung 200 und die elektronische Steuervorrichtung 300 können auf drahtgebundene oder auf drahtlose Weise miteinander verbunden sein.
-
Die elektronische Steuervorrichtung 300 kann eine elektronische Steuereinheit (ECU) für ein Fahrzeug sein. Die elektronische Steuervorrichtung 300 ist jedoch nicht auf Fahrzeuge beschränkt, sondern kann auch für andere Produkte in unterschiedlichen Branchen verwendet werden. Beispielsweise kann die elektronische Steuervorrichtung 300 eine Fernbedienungsterminal-Einheit (RTU, Englisch „Remote Terminal Unit“) sein, welches im Energieversorgungssystem verwendet wird. Zur Einfachheit der Erläuterung wird jedoch hierin angenommen, dass die elektronische Steuervorrichtung 300 für Fahrzeuge gedacht ist.
-
In einem Fall, dass die elektronische Steuervorrichtung 300 nicht mit einem Fahrzeugfahrsimulationswerkzeug 500 oder einem Fahrzeug 600 verbunden ist, ist eine Stiftplatinenbox (z.B. eine Box mit einer (Auf-)Steckplatine; Englisch „pin board box“) 400 erforderlich, um elektrische Energie an die elektronische Steuervorrichtung 300 zu liefern, damit die Fehlerinjektionstestvorrichtung 100 einen Fehlerinjektionstest auf der elektronischen Steuervorrichtung 300 durchführen kann.
-
Die Fehlerinjektionstestvorrichtung 100 kann den Fehlerinjektionstest durchführen, sogar wenn die elektronische Steuervorrichtung 300 mit dem Fahrzeugfahrsimulationswerkzeug 500 oder dem Fahrzeug 600 verbunden ist. Mit anderen Worten kann die Fehlerinjektionstestvorrichtung 100 den Fehlerinjektionstest durchführen, um zu der Situation, bei der die elektronische Steuervorrichtung 300 verbunden ist, zu passen. Das heißt, dass es möglich ist, eine Infrastruktur (z.B. Testanlage) aufzubauen zum Durchführen eines Fehlerinjektionstests auf nicht nur einer unbefestigten bzw. nichtmontierten elektronischen Steuervorrichtung, sondern auch auf einer elektronischen Steuervorrichtung, welche mit einem Fahrzeugfahrsimulationswerkzeug, beispielsweise einem Hardware-in-the-loop-(HIL-)Werkzeug, oder einem Fahrzeug verbunden ist.
-
2 zeigt interne Konfigurationen einer Fehlerinjektionstestvorrichtung und einer elektronischen Steuervorrichtung gemäß Ausführungsformen der vorliegenden Erfindung.
-
Wie in 2 gezeigt, kann die Fehlerinjektionstestvorrichtung ein Kommunikationsmodul 110 und eine Steuereinheit (nicht gezeigt) zum Durchführen eines Fehlerinjektionstests aufweisen, und die Steuereinheit kann ein Testszenarioverwaltungsmodul 120, ein Überwachungsmodul 130, ein Testausführungsmodul 140, ein Fehlerdetektionsmodul 150, ein Erholungsermittlungsmodul 160 und ein Berichterstellungsmodul 170 aufweisen.
-
Die Steuereinheit kann einen wie vorstehend erläuterten Prozessor aufweisen, welcher einen Fehlerinjektionstest ausführt und in dem Testvorgang erzeugte Daten verarbeitet. Die Fehlerinjektionstestvorrichtung 100 kann basierend auf einem Betriebssystem, wie beispielsweise Windows, Linux, Mac, Android, etc., arbeiten.
-
Obwohl die Module, welche die Steuereinheit bilden, in der folgenden Beschreibung in den Fokus gerückt werden, sind Funktionen, die durch die jeweiligen Module ausgeführt werden, als in einer einzelnen Steuereinheit ausgeführt zu verstehen.
-
Das Kommunikationsmodul 110 ist ein Modul zum Aufbauen einer Kommunikationssitzung und Durchführen einer Kommunikation mit der elektronischen Steuervorrichtung 300. Das Kommunikationsmodul 110 sendet durch das Testszenarioverwaltungsmodul 120 erzeugte Fehlerdaten (z.B. ein oder mehrere Fehlerdaten-Elemente) an die elektronische Steuervorrichtung 300 gemäß einer Testausführungsanweisung von dem Testausführungsmodul 140 und empfängt Zustandsinformation (z.B. eine oder mehrere Zustandsinformationen) von der elektronischen Steuervorrichtung 300. Die Zustandsinformation der elektronischen Steuervorrichtung 300 umfasst Taskausführungsinformation und Variablenwert-Information.
-
Das Testszenarioverwaltungsmodul 120 erzeugt ein Testszenario zum Durchführen eines Fehlerinjektionstests auf der elektronischen Steuervorrichtung 300. Das Testszenario weist eine Testausführungsbedingung (z.B. Testlaufbedingung), an die elektronische Steuervorrichtung 300 zu übermittelnde Fehlerdaten, eine Fehlerdetektionsmaßstab-Information und eine Erholungsermittlungsmaßstab-Information auf.
-
Das Testszenarioverwaltungsmodul 120 kann ein Testszenario, welches zu den Charakteristiken der elektronischen Steuervorrichtung 300 passt, erzeugen, indem es eine Einstellungsinformation der elektronischen Steuervorrichtung 300, welche durch das Kommunikationsmodul 110 empfangen wird, analysiert.
-
Die Einstellungsinformation der elektronischen Steuervorrichtung 300 ist eine Information, welche spezifisch für die elektronische Steuervorrichtung 300 ist, und kann aus einer ‚*.oil‘-Datei, welche Ausgestaltungsinformationen der elektronischen Steuervorrichtung (z.B. Informationen über die Spezifikationen der elektronischen Steuervorrichtung) aufweist, oder einer ‚*.map‘-Datei, welche Adressen- oder Symbolinformationen aufweist, erlangt werden, falls die elektronische Steuervorrichtung 300 das OSEK/VDX-Betriebssystem aufweist. Falls die elektronische Steuervorrichtung 300 ein anderes Betriebssystem als das OSEK/VDX-Betriebssystem aufweist, kann die Einstellungsinformation der elektronischen Steuervorrichtung 300 durch andere Dateitypen oder einen Quellcode selbst definiert sein.
-
Das Testszenarioverwaltungsmodul 120 kann die Einstellungsinformation der elektronischen Steuervorrichtung 300 analysieren, um alle Arten von Fehlern, mit welchen in der elektronischen Steuervorrichtung 300 zu rechnen ist, zu extrahieren.
-
Die Fehlerdaten beziehen sich auf Daten zum künstlichen Hervorrufen eines Fehlers auf der elektronischen Steuervorrichtung 300. Die Fehlerdaten werden in Abhängigkeit von dem Fehlertyp bestimmt (z.B. ermittelt, festgelegt).
-
Ein Erzeugen eines Testszenarios wird im Detail unter Bezugnahme auf 4 beschrieben.
-
Das Überwachungsmodul 130 überwacht den Zustand der elektronischen Steuervorrichtung 300, sobald ein Fehlerinjektionstest gestartet wird/ist. Beispielsweise gibt das Überwachungsmodul 130 die Zustandsinformation der elektronischen Steuervorrichtung 300, welche durch das Kommunikationsmodul 110 empfangen wird, auf einer Anzeige der Fehlerinjektionstestvorrichtung 100 aus. Das Überwachungsmodul 130 kann Diagramme von Veränderungen des Taskzustands (Englisch „task state“) und von Variablen der elektronischen Steuervorrichtung 300 auf der Anzeige ausgeben.
-
Unter Bezugnahme auf 5 können überwachte Veränderungen des Taskzustands auf der Anzeige der Fehlerinjektionstestvorrichtung 100 in der Form einer Balkengrafik ausgegeben werden und Veränderungen von Variablen in der Form einer Grafik mit unterbrochenen Linien ausgegeben werden.
-
Das Überwachungsmodul 130 kann ermitteln, ob die elektronische Steuervorrichtung 300 normal arbeitet, basierend auf der Zustandsinformation der elektronischen Steuervorrichtung 300, wenn der Fehlerinjektionstest gestartet ist. Das Überwachungsmodul 130 überwacht den Zustand der elektronischen Steuervorrichtung 300 in Echtzeit von Anfang bis Ende des Fehlerinjektionstests.
-
Das Testausführungsmodul (z.B. Testlaufmodul) 140 führt den Fehlerinjektionstest gemäß dem durch das Testszenarioverwaltungsmodul 120 erzeugten Testszenario aus. Das Testausführungsmodul 140 sendet Fehlerdaten durch das Kommunikationsmodul 110 an die elektronische Steuervorrichtung 300. Die Fehlerdaten können gemäß einer Testausführungsbedingung an die elektronische Steuervorrichtung 300 zu einem bestimmten Zeitpunkt oder wiederholt gesendet werden. Beispielsweise kann die Testausführungsbedingung einen Zieltask (Englisch „target task“), in welchen ein Fehler einzubringen ist, einen Zeitpunkt zum Übermitteln der Fehlerdaten und eine Fehlerdatenübermittlung-Wiederholungsbedingung aufweisen.
-
Das Fehlerdetektionsmodul 150 ermittelt, ob die Fehlerdaten normal an die elektronische Steuervorrichtung 300 gesendet wurden. Wenn die Fehlerdaten normal an die elektronische Steuervorrichtung 300 gesendet wurden, tritt ein Fehler in der elektronischen Steuervorrichtung 300 aufgrund der Fehlerdaten auf. Das Fehlerdetektionsmodul 150 kann den Fehler detektieren und kann ermitteln, dass die Fehlerdaten normal an die elektronische Steuervorrichtung 300 gesendet wurden. Das Fehlerdetektionsmodul 150 detektiert einen Fehler basierend auf der Fehlerdetektionsmaßstab-Information, welche in dem Testszenario enthalten ist.
-
Das Erholungsermittlungsmodul (z.B. Fehlerbehebung-Ermittlungsmodul) 160 kann ermitteln, ob sich die elektronische Steuervorrichtung 300 von dem Fehler erholt hat. Ob eine Erholung von dem Fehler (z.B. Behebung des Fehlers) erfolgt ist, kann basierend auf der Erholungsermittlungsmaßstab-Information, welche in dem Testszenario enthalten ist, ermittelt werden.
-
Wenn der Fehlerinjektionstest abgeschlossen ist, erstellt das Berichterstellungsmodul 170 einen Testergebnisbericht, welcher Zustandsinformation(en) der elektronischen Steuervorrichtung 300 und Analyseinformation(en) über eine Veränderung eines Zustands der elektronischen Steuervorrichtung vor und nach der Übermittlung der Fehlerdaten an die elektronische Steuervorrichtung 300 aufweist. 6 zeigt ein Beispiel eines Testergebnisberichts. Der Testergebnisbericht kann in zahlreichen Ausgestaltungen erstellt werden und in einem Dateiformat bereitgestellt werden.
-
Die elektronische Steuervorrichtung 300 weist ein Betriebssystem 310 und eine Mehrzahl von Tasks (Aufgaben) auf (siehe 2). Das Betriebssystem kann das Echtzeitbetriebssystem (RTOS, Englisch „Real Time Operating System“) sein. Das Betriebssystem 310 ist jedoch nicht auf das RTOS beschränkt, aber es kann hierin beim Beschreiben von Ausführungsformen der vorliegenden Erfindung als das RTOS angenommen werden, da die elektronische Steuervorrichtung 300 als eine Steuervorrichtung für Fahrzeuge angenommen wird. Viele verschiedene Betriebssysteme können verwendet werden.
-
Das RTOS bietet eine Umgebung, um es zu ermöglichen, einen gegebenen Prozess in einer festgelegten Zeitdauer durchzuführen. Jeder Prozess arbeitet in der Einheit eines Tasks 320, und der Task 320 weist vier Zustände auf: Laufend, ausgesetzt/unterbrochen (Englisch „suspended“), wartend und bereit. Da die Tasks 320 einer nach dem anderen ausgeführt werden können, werden alle Tasks 320 ferner durch einen (Task-)Scheduler (z.B. (Task-)Steuerprogramm, bspw. Taskplaner) verwaltet und in der Prioritätsreihenfolge ausgeführt.
-
Ein Task ist eine Grundeinheit einer Software, welche in dem RTOS erstellt wird. Das heißt, dass das RTOS ein Prozess (z.B. ausgeführte Programminstanz) genannt werden kann und der Task ein Thread genannt werden kann. Wenn die elektronische Steuervorrichtung 300 gestartet wird, arbeitet ein großer Prozess, genannt das RTOS, und arbeitet ein Thread, genannt der Task.
-
Als rein repräsentatives Beispiel des RTOS gibt es das OSEK/VDX, welches in eingebetteten Umgebungen verwendet wird. OSEK/VDX weist Elemente, wie in der nachfolgenden Tabelle 1 gelistet, auf. Die Fehlerinjektionstestvorrichtung
100 kann künstlich einen Fehler in die elektronische Steuervorrichtung
300 unter Verwendung der in Tabelle 1 nachfolgend gezeigten Elemente einbringen.
Tabelle 1
Task | Grundlegendste Arbeitseinheit des RTOS |
Unterbrechung (Interrupt) | Verwendet beim Verwalten von Hardware-Mechanismen und asynchronen Ereignissen |
Ressource | Verwendet beim Teilen einer Ressource zwischen Tasks |
Alarm | In der Lage, den Task periodisch auszuführen |
Ereignis | Synchronisiere Tasks basierend auf einem Ereignissignal |
(Event) | |
Nachricht (Message) | Verwendet beim Senden von Daten zwischen Tasks |
-
Des Weiteren ist das Betriebssystem 310 der elektronischen Steuervorrichtung 300 nicht wesentlich. Die elektronische Steuervorrichtung 300 kann mit Firmware ohne irgendein Betriebssystem arbeiten.
-
3 zeigt eine Abfolge eines Gesamtablaufs eines Fehlerinjektionstestverfahrens gemäß Ausführungsformen der vorliegenden Erfindung.
-
Wie in 3 gezeigt, erzeugt die Fehlerinjektionstestvorrichtung 100 ein Testszenario für einen Fehlerinjektionstest in S301. Das Testszenario weist eine Testausführungsbedingung, an die elektronische Steuervorrichtung 300 zu sendende Fehlerdaten, einen Fehlerdetektionsmaßstab (z.B. Fehlerdetektionsstandard, Fehlerdetektionsrichtmaß) und einen Erholungs- bzw. Fehlerbehebungsermittlungsmaßstab (z.B. Erholungs- bzw. Fehlerbehebungsermittlungsstandard, Erholungs- bzw. Fehlerbehebungsermittlungsrichtmaß) auf.
-
Die Fehlerinjektionstestvorrichtung 100 überwacht in S302 den Betrieb der elektronischen Steuervorrichtung 300, sobald ein Fehlerinjektionstest gestartet ist. Falls ermittelt wird, dass sich die elektronische Steuervorrichtung 300 in einem Normalzustand befindet, sendet die Fehlerinjektionstestvorrichtung 100 in S303 Fehlerdaten zum Hervorrufen eines Fehlers an die elektronische Steuervorrichtung 300.
-
Wie oben beschrieben, beziehen sich die Fehlerdaten auf Daten zum künstlichen Einbringen eines Fehlers in die elektronische Steuervorrichtung 300 und werden diese durch einen Fehlertyp ermittelt.
-
Der Fehlertyp kann unterteilt werden in eine Taskausführungsunterbrechung, eine Verhinderung einer erneuten Taskausführung (z.B. Taskwiederholung, Englisch „task rerun“) durch den Scheduler, eine Verhinderung einer erneuten Taskausführung durch Unterbrechung des Alarmgebens (z.B. Unterbrechung eines genutzten Alarms; Englisch „interruption of alarming“), eine Verhinderung einer erneuten Taskausführung nach einem Warten auf ein Ereignis, eine Verhinderung einer erneuten Taskausführung durch Hervorrufung einer Systemblockade während eines Wartens auf eine Ressource, eine Verhinderung einer erneuten Taskausführung durch Hervorrufung eines Stapelüberlaufs (Englisch „stack overflow“), einen Task-Überlauf (z.B. Task-Zeitüberschreitung; Englisch „task overrun“), eine Variablenwert-Kontamination, eine Codeveränderung, eine CPU-Register-Wertkontamination, eine Softwarekomponentenkontamination oder einen Bit-Flip.
Tabelle 2
Zahl | Fehlertyp | Beschreibung des Fehlertyps und der Fehlereinbringungsmethode |
1 | Taskausführungsunterbrechung | Zwangsweise Unterbrechung eines laufenden Tasks |
→ Manipuliere Befehlszeiger (Englisch: „instruction pointer“): Rufe Fehlfunktion eines laufenden Tasks hervor |
2 | Verhinderung einer erneuten Taskausführung durch einen Scheduler | Unterbreche/Blockiere erneute Ausführung des Tasks, nachdem der Task in einen Standby-Zustand eingeht durch den Scheduler |
→ Verändere „Aktiv Zähler“-Wert (‚Active_count‘-Wert) zum Hervorrufen einer Fehlfunktion des laufenden Tasks |
3 | Verhinderung einer erneuten Taskausführung durch Unterbrechung des Alarmgebens | Unterbreche Ausführung eines Tasks, welcher periodisch durch einen Alarm ausgeführt wird |
→ Manipuliere Alarmzyklus zum Unterbrechen/Blockieren der Ausführung des Tasks |
4 | Verhinderung einer erneuten Taskausführung nach einem Warten auf ein Ereignis | Versetze den Tasks in einen Zustand des Wartens auf ein Ereignis und Unterbreche/Blockiere das erneute Ausführen des Tasks |
→ Manipuliere Warten-Ereignis-Maske zum Unterbrechen/Blockieren einer erneuten Ausführung |
5 | Verhinderung einer erneuten Taskausführung durch Hervorrufung einer | Unterbreche/Blockiere Ausführung eines anderen Tasks, welcher auf eine Freigabe einer Ressource wartet, indem die Freigabe |
| Systemblockade während eines Wartens auf eine Ressource | der Ressource des Tasks, welcher die Ressource nutzt, unterbrochen/blockiert wird |
→ Manipuliere eine Ressource-ID, um den normalen Betrieb des Tasks zu unterbrechen |
6 | Verhinderung einer erneuten Taskausführung durch Hervorrufung eines Stapelüberlaufs | Rufe Überlauf hervor, indem der Stapel (Stack) eines laufenden Tasks voll gemacht wird |
→ Rufe Fehlfunktion des gesamten Systems hervor, indem dem Stapelzeiger ein Maximalwert zugewiesen wird |
7 | Task-Überlauf (Hervorrufung eines Auslassens oder einer Verzögerung eines anderen Tasks) | Verzögere die Taskausführungszeit später als erwartet |
→ Übergebe an andere Funktion, welche eine lange Taskausführungszeit hat, während der Task läuft (nächster auszuführender Task wird ausgelassen oder verzögert durch den verspäteten Task) |
Rufe Taskauslassung hervor ohne Task-Überlauf |
→ Vergebe eine höhere Priorität an einen Task mit langer Ausführungszeit als an einen Task mit kurzer Ausführungszeit |
8 | Variablenwert-Kontamination | Verändere den Wert einer bestimmten Variablen auf einen beliebigen Wert (innerhalb oder außerhalb eines Wertebereichs) |
→ Verändere den Wert einer bestimmten Variablen durch Verweis auf eine map-Datei |
9 | Codeveränderung | Verändere den Wert eines Codes in einem Codebereich auf einen beliebigen Wert |
→ Verändere den Wert eines Codes in einem Codeadressbereich durch Verweis auf eine map-Datei |
10 | CPU-Register-Wertkontamination | Verändere den Wert eines Registers auf einen beliebigen Wert |
→ Verändere den Wert eines Registers |
11 | Softwarekomponenten- | Identifiziere die Softwarekomponente und |
| kontamination | Verändere Information(en), wie beispielsweise Ereignis, Ausführbar (Runable), etc. |
→ Verändere Ereigniseinstellungsinformation, verändere Ausführbar-Funktionsadresse |
12 | Bit-Flip | Verändere ein Bit eines beliebigen Speicherbereichs |
→ Verändere den Wert eines beliebigen Speicherbereichs stückweise (z.B. bitweise) |
-
Nach dem Senden der Fehlerdaten detektiert die Fehlerinjektionstestvorrichtung 100 in S304 einen Fehler gemäß dem Fehlerdetektionsmaßstab, um zu ermitteln, ob die Fehlerdaten normal gesendet wurden. Die Fehlerinjektionstestvorrichtung 100 kann ermitteln, dass die Fehlerdaten normal gesendet wurden, falls der Fehler basierend auf dem Fehlerdetektionsmaßstab detektiert wird, welcher bestimmt (z.B. ermittelt, festlegt), ob ein Fehler in mindestens einem/einer von einem Taskausführung-Zählwert, einem Alarmzyklus-Wert (z.B. Alarmtakt-Wert), einem Fehlercode-Wert, einem Datenwert eines bestimmten Speicherbereichs, dem Gesamtsystembetrieb und einer Taskausführungszeit (z.B. auch Tasklaufzeit bzw. Laufzeit / Ausführungsdauer eines Tasks) auftritt.
-
Tabelle 3 repräsentiert Ziele für die Detektion und Fehlerdetektionsmaßstäbe. Das Ziel für die Detektion bezieht sich auf ein Objekt, von dem erwartet wird, dass es einen Fehler aufgrund der Fehlerdaten aufweist.
Tabelle 3
Zahl | Ziel für die Detektion | Fehlerdetektionsmaßstab | Zugehöriger Fehlertyp |
1 | Taskausführung-Zähler | Detektiere einen Fehler, falls der Taskausführung-Zählwert nicht inkrementiert wird | 1, 2, 3, 4, 5, 11 |
2 | Alarm-Information | Detektiere einen Fehler, falls der Alarmzyklus-Wert auf ,0' geändert ist | 3 |
3 | Funktionsausführungs- | Falls eine Situation auftritt, in welcher | 8, 9 |
| ergebnisse | eine eingerichtete Funktion während der Ausführung des Programms nicht normal arbeitet, wird eine Ausführung der Funktion gestoppt und der Fehlercodewert ausgegeben, wobei ein Fehler detektiert wird, falls der Fehlercode nicht ein Normalwert ist. | |
4 | Speicherbereich | Detektiere einen Fehler, falls Fehlerdaten, welche den Fehler hervorrufen, in einem bestimmten Speicherbereich innerhalb der elektronischen Steuervorrichtung enthalten sind | 1, 2, 3, 4, 5, 8, 9, 10, 11, 12 |
5 | System betrieb | Falls ein Phänomen auftritt, dass das RTOS der elektronischen Steuervorrichtung nicht läuft, sondern eingefroren ist (in einem Fall, dass der Betrieb aller Tasks angehalten ist und ein Fehler in der Debugger-Verbindung auftritt) | 6 |
6 | Taskausführungszeit | Sammle durchschnittliche Ausführungszeit jedes Tasks und detektiere einen Fehler, falls die Taskausführungszeit außerhalb der Fehlerspanne (z.B. vorbestimmten Fehlergrenze) der durchschnittlichen Ausführungszeit liegt | 7 |
-
Der Taskausführung-Zählwert ist ein Zählwert eines bestimmten Tasks, welcher inkrementiert wird, sobald der Task durch den Scheduler ausgeführt wird.
-
Der Alarmzyklus-Wert bezieht sich auf einen Wiederholungszyklus (z.B. Wiederholungstakt) des Alarmgebens. Der Alarm wird automatisch aktiviert, wenn eine festgelegte Marke (z.B. Schwellenwert; Englisch „Tick“) durch den Zähler erreicht wird. Wenn der Alarm aktiviert wird, wird eine festgelegte Aktion (welche mit einem Task oder einer Alarmrückruffunktion in Verbindung steht) durchgeführt.
-
Der Fehlercode bezieht sich auf einen Code, welcher einem Problem zugeordnet ist, das auftritt, wenn eine eingerichtete Funktion nicht wie erwartet arbeitet. Die meisten Programme weisen typspezifische Codes zu. Der Fehlercode gibt einen Fehlercodewert an, falls eine Situation detektiert wird, in der eine eingerichtete Funktion nicht normal wie vorgesehen arbeitet und das Programm beendet wird bzw. aufhört zu laufen.
-
Die Fehlertypen, welche in den sechs Arten von Zielen für die Detektion, wie in Tabelle 3 dargelegt, einen Fehler hervorrufen, sind wie folgt: Unter den Fehlertypen, welche vorstehend in Tabelle 2 dargelegt sind, sind Fehlertypen, welche einen Fehler in der Taskausführungsinformation hervorrufen, die Nr. 1, 2, 3, 4, 5 und 11, ist ein Fehlertyp, welcher einen Fehler in der Alarm-Information hervorruft, die Nr. 3, sind Fehlertypen, welche einen Fehler in dem Funktionsausführungsergebnis hervorrufen, die Nr. 8 und 9, sind Fehlertypen, welche einen Fehler in einem Speicherbereich hervorrufen, die Nr. 1, 2, 3, 4, 5, 8, 9, 10, 11 und 12, ist ein Fehlertyp, welcher einen Fehler im Systembetrieb hervorruft, die Nr. 6 und ist ein Fehlertyp, welcher einen Fehler in der Taskausführungszeit hervorruft, die Nr. 7.
-
Wenn ein Fehler in der elektronischen Steuervorrichtung 300 aufgrund der Fehlerdaten auftritt, erholt sich die elektronische Steuervorrichtung 300 automatisch von dem Fehler. Diesbezüglich ermittelt die Fehlerinjektionstestvorrichtung 100 in S305 gemäß dem Erholungsermittlungsmaßstab, ob die elektronische Steuervorrichtung 300 sich von dem Fehler basierend auf einem gültigen Vorgang und Maßstab bzw. Standard bzw. Richtmaß (hierin kurz auch nur „Maßstab“) erholt.
-
Die Fehlerinjektionstestvorrichtung
100 kann ermitteln, ob die Fehlerbehebung bzw. -erholung erfolgt ist, basierend auf dem Erholungsermittlungsmaßstab, welcher bestimmt (z.B. ermittelt, festlegt), ob die Erholung von einem Fehler, der in mindestens einem/einer von dem Taskausführung-Zählwert, dem Alarmzyklus-Wert, dem Fehlercode-Wert, dem Datenwert eines bestimmten Speicherbereichs, dem Gesamtsystembetrieb und der Taskausführungszeit auftritt, erfolgt ist. Tabelle 4 repräsentiert Erholungsermittlungsmaßstäbe.
Tabelle 4
Zahl | Ziel für die Detektion | Erholungsermittlungsmaßstab |
1 | Taskausführung-Zähler | Ermittle, dass Erholung von einem Fehler erfolgt ist, falls der Taskausführung-Zählwert wieder inkrementiert wird |
2 | Alarm-Information | Ermittle, dass Erholung von einem Fehler erfolgt ist, falls der Alarmzyklus-Wert auf einen Wert vor dem Einbringen der Fehlerdaten zurückgesetzt ist |
3 | Funktionsausführungsergebnisse | Ermittle, dass Erholung von einem Fehler erfolgt ist, wenn ein Fehlercode, von dem erwartet wird, dass er von einem Fehler herrührt, auf einen Normalwert zurückgesetzt ist, nachdem der Fehlercode überwacht und die Fehlerdaten eingegeben wurden. |
4 | Speicherbereich | Ermittle, dass Erholung von einem Fehler erfolgt ist, wenn Daten eines bestimmten Speicherbereichs auf jene vor dem Eingeben von Fehlerdaten zurückgesetzt sind oder auf jene in einem Bereich von Datenwerten, welche als normal ermittelt werden, nachdem der Speicherbereich überwacht und die Fehlerdaten eingegeben wurden. |
5 | System betrieb | Ermittle, dass Erholung von einem Fehler erfolgt ist, wenn das RTOS normal wieder arbeitet (falls deie Debugger-Verbindung sich normalisiert hat und der Task normal arbeitet) |
6 | Taskausführungszeit | Ermittle, dass Erholung von einem Fehler erfolgt ist, wenn die Taskausführungszeit auf innerhalb der Fehlerspanne der durchschnittlichen Ausführungszeit zurückgesetzt ist |
-
Die Fehlerinjektionstestvorrichtung 100 überprüft das Fehlerdetektionsergebnis und das Fehlerbehebungsergebnis und stoppt dann die Überwachung der elektronischen Steuervorrichtung 300 in S306 und erstellt einen Testergebnisbericht in S307.
-
Beim Durchführen eines Fehlerinjektionstests auf der elektronischen Steuervorrichtung 300 kann auf diese Weise die Zuverlässigkeit des Fehlerinjektionstests erhöht werden, indem ermittelt wird, ob der Fehler normal in die elektronische Steuervorrichtung 300 eingebracht wird, und gemäß einem vordefinierten Verfahren und Maßstab ermittelt wird, ob eine Erholung von dem Fehler erfolgt ist.
-
4 ist eine Ansicht zum Erläutern, wie eine Fehlerinjektionstestvorrichtung ein Testszenario gemäß Ausführungsformen der vorliegenden Erfindung erzeugt.
-
Wie in 4 gezeigt, kann die Fehlerinjektionstestvorrichtung ein Testszenario basierend auf einer Einstellungsinformation der elektronischen Steuervorrichtung 300 und optionaler Information des Nutzers erzeugen. 4 zeigt eine Testszenario-Dialogbox, welche auf einer Anzeige der Fehlerinjektionstestvorrichtung 100 angezeigt wird, um es dem Nutzer zu erlauben, seine/ihre optionale Information einzugeben.
-
Der Nutzer kann einen Titel und eine Beschreibung eines Testszenarios (P1) eingeben. Der Nutzer kann außerdem eine Testausführungsbedingung (P2) eingeben. Beispielsweise kann die Testausführungsbedingung einen Zieltask, in welchen ein Fehler einzubringen ist, einen Zeitpunkt zum Senden der Fehlerdaten und eine Fehlerdatenübermittlung-Wiederholungsbedingung aufweisen. Der Zeitpunkt zum Senden der Fehlerdaten kann gemäß der Anzahl von Ausführungen eines vorbestimmten Zieltasks und/oder einer Wartezeit nach dem Start des Fehlerinjektionstests festgelegt (z.B. eingestellt) werden.
-
Beispielsweise, wie in 4 gezeigt, kann der Nutzer ,Task_t1' für den Zieltask auswählen und ,500' für die Anzahl an Ausführungen und ,1000' für die Wartezeit. In diesem Fall werden, nachdem der ,Task_t1' 500 Mal ausgeführt ist, nach dem Verstreichen von 1000 ms Fehlerdaten an die elektronische Steuervorrichtung 300 gesendet. Ferner kann der Nutzer eine Wiederholungsbedingung zum Einstellen einer sich wiederholenden Übermittlung der Fehlerdaten setzen. Der Nutzer kann einen Abstand zwischen sich wiederholenden Probeläufen und einen Endwert eingeben.
-
Obwohl in 4 nicht gezeigt, kann der Nutzer einen Variablenwert eingeben, so dass die Fehlerdaten gesendet werden können, wenn ein Variablenwert der elektronischen Steuervorrichtung 300 den eingegebenen Variablenwert erreicht.
-
Der Nutzer kann selektiv eine fehlerinduzierende Methode eingeben, so dass ein Fehler entsprechend der gewählten Methode (P3) auftreten kann. Falls beispielsweise der Nutzer einen Fehler bezüglich der ‚Unterbrechung einer erneuten Taskausführung durch einen Scheduler‘ aus den Fehlertypen einbringt, kann der Nutzer eine ,Erneute-Taskausführung-Unterbrechung‘ genannte Fehlerhervorrufungsmethode zum Stören der erneuten Ausführung des Zieltasks durch (Task-)Ablaufplanung auswählen. In diesem Fall erzeugt die Fehlerinjektionstestvorrichtung ein Testszenario zum Hervorrufen einer Fehlfunktion eines laufenden Tasks durch Verändern eines ,Aktiv_Zähler‘-Werts des Tasks der elektronischen Steuervorrichtung 300.
-
Ferner kann der Nutzer andere Fehlertypen und Fehlerhervorrufungsmethoden auswählen, so dass ein Testszenario zum Einbringen des entsprechenden Fehlers erzeugt werden kann.
-
Der Nutzer kann außerdem selektiv eine Fehlerdetektionsmethode (P4) eingeben. Die Fehlerdetektionsmethode entspricht dem in Tabelle 3 gezeigten Fehlerdetektionsmaßstab, und die Erholungsermittlungsbedingung entspricht dem in Tabelle 4 gezeigten Erholungsermittlungsmaßstab. Da es viele verschiedene Ziele, welche durch einen einzelnen Fehlertyp beeinflusst werden, gibt, kann der Nutzer ein Ziel für die Detektion auswählen, um die Fehlerdetektion und die -behebung zu ermitteln. Falls der Nutzer ,Taskausführung-Zähler-Detektion‘ für die Fehlerdetektionsmethode auswählt, wird, wie in 4 gezeigt, eine entsprechende Erholungsermittlungsbedingung Taskausführung-Zähler wird wieder erhöht durch Manipulation von Erneute-Ausführung-Information‘ automatisch ausgewählt.
-
Ferner kann der Nutzer eine Erholungszulässigkeitsdauer (z.B. eine Zeitdauer, innerhalb welcher eine Erholung als zulässig bzw. akzeptabel angesehen wird) setzen. Falls eine Erholung von dem injizierten Fehler bzw. Behebung des injizierten Fehlers nicht innerhalb der Erholungszulässigkeitsdauer erfolgt bzw. vorgenommen ist, kann die Fehlerinjektionstestvorrichtung 100 ermitteln, dass eine Fehlerbehebung fehlgeschlagen ist. Wie in 4 gezeigt, ermittelt beispielsweise die Fehlerinjektionstestvorrichtung 100, dass eine Erholung von dem injizierten Fehler normal erfolgt ist, falls die Erholung (Fehlerbehebung) innerhalb der Erholungszulässigkeitsdauer von ,1000 ms' geschafft wird, und dass die Erholung fehlgeschlagen ist, falls die Erholung (Fehlerbehebung) nicht innerhalb der Erholungszulässigkeitsdauer geschafft wird.
-
Durch Erzeugen eines Testszenarios im Voraus gibt es auf diese Weise keine Notwendigkeit, einen zusätzlichen Code für den Fehlerinjektionstest zu erstellen und einzubringen, sondern kann das Testszenario wiederverwendet werden, wodurch eine Arbeitseffizienz verbessert und Kosten eingespart werden.
-
5 zeigt ein Beispiel einer Fehlerinjektionstestvorrichtung, welche einen Zustand einer elektronischen Steuervorrichtung überwacht und ausgibt, gemäß Ausführungsformen der vorliegenden Erfindung. In 5 wird die Fehlerinjektionstestvorrichtung 100, welche den Taskausführung-Zählwert der elektronischen Steuervorrichtung 300 überwacht, um eine Fehlerdetektion und - behebung zu ermitteln, beschrieben.
-
Wie in 5 gezeigt, startet die Fehlerinjektionstestvorrichtung 100 ein Überwachen des Zustands der elektronischen Steuervorrichtung 300, sobald ein Fehlerinjektionstest gestartet wird. Wenn eine Fehlerdatenübermittlungszeit f1, welche im Voraus in dem Testszenario gesetzt ist, während des laufenden Tests erreicht wird, injiziert die Fehlerinjektionstestvorrichtung 100 einen Fehler in die elektronische Steuervorrichtung 300 durch Senden der Fehlerdaten an diese.
-
Die Fehlerinjektionstestvorrichtung 100 überwacht den Zustand eines Tasks und ermittelt, dass ein Fehler detektiert ist, falls der Task-Zähler nicht bis zu einer bestimmten Zeit f2 nach dem Senden der Fehlerdaten inkrementiert wird. Die Fehlerinjektionstestvorrichtung 100 ermittelt, dass eine Erholung von dem Fehler (Behebung des Fehlers) zu einer bestimmter Zeit f4 erfolgt ist, falls der Taskausführung-Zähler wieder innerhalb einer Erholungszulässigkeitsdauer bzw. Erholungszulässigkeitszeitspanne f3 = f5 - f1 inkrementiert wird. Falls eine Erholung von dem Fehler nicht innerhalb der Erholungszulässigkeitsdauer erfolgt ist, ermittelt die Fehlerinjektionstestvorrichtung 100, dass die Erholung fehlgeschlagen ist.
-
6 zeigt ein Beispiel einer Fehlerinjektionstestvorrichtung, welche einen Testergebnisbericht erstellt, gemäß Ausführungsformen der vorliegenden Erfindung.
-
Wie in 6 gezeigt, kann der Testergebnisbericht einen Testtitel, einen Testtyp, einen Szenarionamen, eine Szenariobeschreibung, eine Teststartzeit, eine Testbeendigungszeit, eine Taskbeendigungsversuchszeit, eine Elektronische-Steuereinheit-(ECU-)Neustart-Erwartungszeit, Ausnahmen, Testergebniszusammenfassung, ein Maßnahmenergebnis, eine Überwachungsgrafik, etc. aufweisen.
-
Der in dem Testergebnisbericht enthaltene Punkt ,Ausnahmen‘ weist insbesondere Informationen über eine Analyse von Zustandsveränderungen, welche basierend auf einer Zustandsinformation der elektronischen Steuervorrichtung 300 vor und nach der Übermittlung der Fehlerdaten ausgegeben werden, auf. Die Fehlerinjektionstestvorrichtung 100 kann Analyseinformation über Zustandsänderungen der elektronischen Steuervorrichtung 300 in der Form eines Berichts für den Nutzer bereitstellen, wodurch die Unannehmlichkeit, eigenhändig einen Bericht erstellen zu müssen, beseitigt wird und ein Fehler, welcher gemacht werden kann, wenn das Überwachen direkt durch den Nutzer durchgeführt wird, verhindert wird.
-
7 bis 12 sind Flussdiagramme, welche ein Fehlerinjektionstestverfahren gemäß Ausführungsformen der vorliegenden Erfindung darstellen.
-
Zunächst ist 7 ein Flussdiagramm eines Verfahrens zum Ermitteln einer Fehlerdetektion und Fehlerbehebung durch Überwachen des Taskausführung-Zählwerts.
-
Wie in 7 gezeigt, startet die Fehlerinjektionstestvorrichtung 100 zunächst, sobald ein Fehlerinjektionstest in S601 gestartet wird, das Überwachen der elektronischen Steuervorrichtung 300 in S602, um zu ermitteln, ob die elektronische Steuervorrichtung 300 sich in einem Normalzustand befindet. Es wird hierin unterstellt, dass ein Testszenario für den Fehlerinjektionstest bereits erstellt wurde.
-
Falls ermittelt wird, dass die elektronische Steuervorrichtung 300 sich in einem Normalzustand befindet, sendet die Fehlerinjektionstestvorrichtung 100 in S603 Fehlerdaten an die elektronische Steuervorrichtung 300 gemäß dem Testszenario. Die Fehlerinjektionstestvorrichtung 100 überwacht in S604, ob der Taskausführung-Zählwert der elektronischen Steuervorrichtung 300 aufgrund der Fehlerdaten nicht inkrementiert wird, und ermittelt in S605, dass ein Fehler detektiert wird und die Fehlerdaten normal gesendet wurden, falls der Taskausführung-Zählwert nicht inkrementiert wird. Falls der Taskausführung-Zählwert sogar nach der Übermittlung der Fehlerdaten weiter inkrementiert wird, wird ermittelt, dass die Fehlerdaten nicht korrekt gesendet wurden.
-
Falls der Taskausführung-Zählwert wieder innerhalb einer Erholungszulässigkeitsdauer inkrementiert wird, nachdem der Fehler detektiert ist, ermittelt die Fehlerinjektionstestvorrichtung 100 in S606, S607 und S608, dass eine Erholung von dem durch die Fehlerdaten hervorgerufenen Fehler normal erfolgt ist.
-
Falls hingegen der Taskausführung-Zählwert nicht innerhalb der Erholungszulässigkeitsdauer wieder inkrementiert wird oder falls der Taskausführung-Zählwert nach Ablauf der Erholungszulässigkeitsdauer wieder inkrementiert wird, wird in S609 ermittelt, dass die Erholung fehlgeschlagen ist.
-
Als Nächstes ist 8 ein Flussdiagramm eines Verfahrens zum Ermitteln einer Fehlerdetektion und Fehlerbehebung durch Überwachen des Alarmzyklus-Werts.
-
Wie in 8 gezeigt, startet die Fehlerinjektionstestvorrichtung 100 zunächst, sobald ein Fehlerinjektionstest in S701 gestartet wird, das Überwachen der elektronischen Steuervorrichtung 300 in S702, um zu ermitteln, ob die elektronische Steuervorrichtung 300 sich in einem Normalzustand befindet. Es wird hierin unterstellt, dass ein Testszenario für den Fehlerinjektionstest bereits erstellt wurde.
-
Falls ermittelt wird, dass die elektronische Steuervorrichtung 300 sich in einem Normalzustand befindet, sendet die Fehlerinjektionstestvorrichtung 100 in S703 Fehlerdaten an die elektronische Steuervorrichtung 300 gemäß dem Testszenario. Die Fehlerinjektionstestvorrichtung 100 überwacht in S704, ob der Alarmzyklus-Wert (CYCLE-Wert) der elektronischen Steuervorrichtung 300 aufgrund der Fehlerdaten verändert ist, und ermittelt in S705, dass ein Fehler detektiert wird und die Fehlerdaten normal gesendet wurden, falls der Alarmzyklus-Wert auf ,0' geändert ist. Falls der Alarmzyklus-Wert sogar nach der Übermittlung der Fehlerdaten nicht Wert auf ,0' geändert ist, wird ermittelt, dass die Fehlerdaten nicht korrekt gesendet wurden.
-
Falls der Alarmzyklus-Wert innerhalb einer Erholungszulässigkeitsdauer auf einen Wert vor dem Senden der Fehlerdaten geändert wird, nachdem der Fehler detektiert ist, ermittelt die Fehlerinjektionstestvorrichtung 100 in S706, S707 und S708, dass eine Erholung von dem durch die Fehlerdaten hervorgerufenen Fehler normal erfolgt ist. Falls hingegen der Alarmzyklus-Wert nicht innerhalb einer Erholungszulässigkeitsdauer auf einen Wert vor dem Senden der Fehlerdaten geändert wird oder nach Ablauf der Erholungszulässigkeitsdauer auf den Wert vor dem Senden der Fehlerdaten geändert wird, wird in S709 ermittelt, dass die Erholung fehlgeschlagen ist.
-
Als Nächstes ist 9 ein Flussdiagramm eines Verfahrens zum Ermitteln einer Fehlerdetektion und Fehlerbehebung durch Überwachen des Fehlercodewerts.
-
Wie in 9 gezeigt, startet die Fehlerinjektionstestvorrichtung 100 zunächst, sobald ein Fehlerinjektionstest in S801 gestartet wird, das Überwachen eines Fehlercodes der elektronischen Steuervorrichtung 300, welcher festgelegt wird, wenn ein Testszenario erzeugt wird, in S802 und S803.
-
Falls ermittelt wird, dass die elektronische Steuervorrichtung 300 sich in einem Normalzustand befindet, sendet die Fehlerinjektionstestvorrichtung 100 in S804 Fehlerdaten an die elektronische Steuervorrichtung 300 gemäß dem Testszenario. Die Fehlerinjektionstestvorrichtung 100 überwacht in S805, ob der Fehlercodewert der elektronischen Steuervorrichtung 300 aufgrund der Fehlerdaten abnormal ist, und ermittelt in S806, dass ein Fehler detektiert wird und die Fehlerdaten normal gesendet wurden, falls der Fehlercodewert abnormal ist. Falls der Fehlercodewert sogar nach der Übermittlung der Fehlerdaten immer noch normal ist, wird ermittelt, dass die Fehlerdaten nicht korrekt gesendet wurden.
-
Falls der Fehlercodewert innerhalb einer Erholungszulässigkeitsdauer auf einen Wert vor dem Senden der Fehlerdaten geändert wird, nachdem der Fehler detektiert ist, ermittelt die Fehlerinjektionstestvorrichtung 100 in S807, S808 und S809, dass eine Erholung von dem durch die Fehlerdaten hervorgerufenen Fehler normal erfolgt ist. Falls hingegen der Fehlercodewert nicht innerhalb einer Erholungszulässigkeitsdauer auf einen Wert vor dem Senden der Fehlerdaten geändert wird oder nach Ablauf der Erholungszulässigkeitsdauer auf den Wert vor dem Senden der Fehlerdaten geändert wird, wird in S810 ermittelt, dass die Erholung fehlgeschlagen ist.
-
Als Nächstes ist 10 ein Flussdiagramm eines Verfahrens zum Ermitteln einer Fehlerdetektion und Fehlerbehebung durch Überwachen eines Speicherbereichs.
-
Wie in 10 gezeigt, identifiziert die Fehlerinjektionstestvorrichtung 100, sobald ein Fehlerinjektionstest in S901 gestartet wird, einen Speicheradresswert der elektronischen Steuervorrichtung 300, an den Fehlerdaten zu senden sind, in S902 und startet das Überwachen der Speicheradresse in S903. Es wird hierin unterstellt, dass ein Testszenario für den Fehlerinjektionstest bereits erstellt wurde und dass die zu überwachende Speicheradresse festgelegt wurde.
-
Falls ermittelt wird, dass die elektronische Steuervorrichtung 300 sich in einem Normalzustand befindet, sendet die Fehlerinjektionstestvorrichtung 100 in S904 Fehlerdaten an die elektronische Steuervorrichtung 300 gemäß dem Testszenario. Die Fehlerinjektionstestvorrichtung 100 überwacht in S905, ob die Fehlerdaten in der Speicheradresse der elektronischen Steuervorrichtung 300 gespeichert werden, da die Fehlerdaten gesendet werden, und ermittelt in S906, dass ein Fehler detektiert wird und die Fehlerdaten normal gesendet wurden, falls der Fehlerdatenwert in der Speicheradresse gespeichert wird. Falls der Fehlerdatenwert sogar nach der Übermittlung der Fehlerdaten nicht in der Speicheradresse gespeichert wird, wird ermittelt, dass die Fehlerdaten nicht korrekt gesendet wurden.
-
Falls ein Datenwert in der Speicheradresse innerhalb einer Erholungszulässigkeitsdauer auf einen in einen normalen Bereich liegenden Wert vor dem Senden der Fehlerdaten geändert wird, nachdem der Fehler detektiert ist, ermittelt die Fehlerinjektionstestvorrichtung 100 in S907, S908 und S909, dass eine Erholung von dem durch die Fehlerdaten hervorgerufenen Fehler normal erfolgt ist. Falls hingegen der Datenwert in der Speicheradresse nicht innerhalb einer Erholungszulässigkeitsdauer auf den Wert vor dem Senden der Fehlerdaten geändert wird oder nach Ablauf der Erholungszulässigkeitsdauer auf den Wert vor dem Senden der Fehlerdaten geändert wird, wird in S910 ermittelt, dass die Erholung fehlgeschlagen ist.
-
Als Nächstes ist 11 ein Flussdiagramm eines Verfahrens zum Ermitteln einer Fehlerdetektion und Fehlerbehebung durch Überwachen des Gesamtsystembetriebs der elektronischen Steuervorrichtung.
-
Wie in 11 gezeigt, startet die Fehlerinjektionstestvorrichtung 100, sobald ein Fehlerinjektionstest in S1001 gestartet wird, das Überwachen der elektronischen Steuervorrichtung 300 in S1002, um zu ermitteln, ob sich die elektronische Steuervorrichtung 300 in einem Normalzustand befindet. Es wird hierin unterstellt, dass ein Testszenario für den Fehlerinjektionstest bereits erstellt wurde.
-
Falls ermittelt wird, dass die elektronische Steuervorrichtung 300 sich in einem Normalzustand befindet, sendet die Fehlerinjektionstestvorrichtung 100 in S1003 Fehlerdaten an die elektronische Steuervorrichtung 300 gemäß dem Testszenario. Die Fehlerinjektionstestvorrichtung 100 überwacht in S1004, wie das System der elektronischen Steuervorrichtung 300 aufgrund der Fehlerdaten arbeitet, und ermittelt in S1005, dass ein Fehler detektiert wird und die Fehlerdaten normal gesendet wurden, falls das System ausgefallen ist, was bewirkt, dass alle Tasks eingefroren sind, und es einen in der Debugger-Verbindung auftretenden Fehler gibt. Falls hingegen sogar nach der Übermittlung der Fehlerdaten das System der elektronischen Steuervorrichtung 300 normal arbeitet, wobei alle Tasks normal arbeiten, und kein Fehler in der Debugger-Verbindung auftritt, wird ermittelt, dass die Fehlerdaten nicht korrekt gesendet wurden.
-
Falls das System der elektronischen Steuervorrichtung 300 innerhalb einer Erholungszulässigkeitsdauer wieder normal arbeitet, nachdem der Fehler detektiert ist, ermittelt die Fehlerinjektionstestvorrichtung 100 in S1006, S1007 und S1008, dass eine Erholung von dem durch die Fehlerdaten hervorgerufenen Fehler normal erfolgt ist. Falls hingegen das System der elektronischen Steuervorrichtung 300 nicht innerhalb einer Erholungszulässigkeitsdauer wieder normal arbeitet oder falls das System der elektronischen Steuervorrichtung 300 erst wieder nach Ablauf der Erholungszulässigkeitsdauer normal arbeitet, wird in S1009 ermittelt, dass die Erholung fehlgeschlagen ist.
-
Als Nächstes ist 12 ein Flussdiagramm eines Verfahrens zum Ermitteln einer Fehlerdetektion und Fehlerbehebung durch Überwachen der Taskausführungszeit der elektronischen Steuervorrichtung.
-
Wie in 12 gezeigt, sobald ein Fehlerinjektionstest in S1101 gestartet wird, startet die Fehlerinjektionstestvorrichtung 100 das Überwachen der elektronischen Steuervorrichtung 300 in S1103, um zu ermitteln, ob sich die elektronische Steuervorrichtung 300 in einem Normalzustand befindet. Es wird hierin unterstellt, dass ein Testszenario für den Fehlerinjektionstest bereits erstellt wurde und dass in S1102 eine durchschnittliche Ausführungszeit (z.B. Durchschnittslaufzeit) für jeden Task gesammelt wurde.
-
Falls ermittelt wird, dass die elektronische Steuervorrichtung 300 sich in einem Normalzustand befindet, sendet die Fehlerinjektionstestvorrichtung 100 in S1104 Fehlerdaten an die elektronische Steuervorrichtung 300 gemäß dem Testszenario. Die Fehlerinjektionstestvorrichtung 100 überwacht in S1105, wie die Fehlerdaten die Taskausführungszeit der elektronischen Steuervorrichtung 300 beeinflussen, und ermittelt in S1106, dass ein Fehler detektiert wird und die Fehlerdaten normal gesendet wurden, falls die gemessene Taskausführungszeit außerhalb der Fehlerspanne der durchschnittlichen Taskausführungszeit liegt. Falls hingegen die Taskausführungszeit der elektronischen Steuervorrichtung 300 sogar nach der Übermittlung der Fehlerdaten innerhalb der Fehlerspanne der durchschnittlichen Taskausführungszeit gemessen wird, wird ermittelt, dass die Fehlerdaten nicht korrekt gesendet wurden.
-
Falls die Taskausführungszeit der elektronischen Steuervorrichtung 300 innerhalb einer Erholungszulässigkeitsdauer wieder zurück in der Fehlerspanne der durchschnittlichen Taskausführungszeit gemessen wird, nachdem der Fehler detektiert ist, ermittelt die Fehlerinjektionstestvorrichtung 100 in S1107, S1108 und S1109, dass eine Erholung von dem durch die Fehlerdaten hervorgerufenen Fehler normal erfolgt ist. Falls hingegen die Taskausführungszeit der elektronischen Steuervorrichtung 300 nicht innerhalb einer Erholungszulässigkeitsdauer als innerhalb der Fehlerspanne der durchschnittlichen Taskausführungszeit gemessen wird oder die Taskausführungszeit erst nach Ablauf der Erholungszulässigkeitsdauer als innerhalb der Fehlerspanne der durchschnittlichen Taskausführungszeit gemessen wird, wird in S1110 ermittelt, dass die Erholung fehlgeschlagen ist.
-
Gemäß den Ausführungsformen der vorliegenden Erfindung können eine Fehlerinjektionstestvorrichtung und -Verfahren die Zuverlässigkeit eines Fehlerinjektionstests erhöhen durch Ermitteln, ob ein Fehler normal in eine elektronische Steuervorrichtung für den Fehlerinjektionstest eingebracht wird, und durch Ermitteln, ob eine Erholung von dem Fehler basierend auf einem vordefinierten Verfahren und einer Referenz erfolgt ist. Ferner können eine Fehlerinjektionstestvorrichtung und -Verfahren den Fehlerinjektionstest automatisieren, wodurch eine Arbeitseffizienz erhöht wird und Kosten zum Durchführen des Tests eingespart werden.
-
Gemäß Ausführungsformen der vorliegenden Erfindung können es eine Fehlerinjektionstestvorrichtung und -Verfahren ermöglichen, dass eine Infrastruktur aufgebaut wird, um einen Fehlerinjektionstest nicht nur an einer unbefestigten bzw. nichtmontierten Steuervorrichtung durchzuführen, sondern auch an einer elektronischen Steuervorrichtung, welche mit einem Fahrzeugfahrsimulationswerkzeug, beispielsweise HIL, oder einem Fahrzeug verbunden ist. Gemäß Ausführungsformen der vorliegenden Erfindung beseitigen eine Fehlerinjektionstestvorrichtung und -Verfahren ferner eine Notwendigkeit, einen zusätzlichen Code für den Fehlerinjektionstest zu erstellen und einzubringen. Außerdem können es gemäß Ausführungsformen der vorliegenden Erfindung eine Fehlerinjektionstestvorrichtung und -Verfahren erlauben, eine präventive Gegenstrategie für einen Prozess einer elektronischen Steuervorrichtung zu entwickeln, bevor das Fahrzeug produziert wird.
-
Die Ausführungsformen der vorliegenden Erfindung können indessen umgesetzt werden in Form von Aufzeichnungsmedien zum Speichern von Befehlen, welche durch einen Computer auszuführen sind. Die Befehle können in Form von Programmcodes gespeichert sein, und können, wenn sie durch einen Prozessor ausgeführt werden, Programmmodule zum Durchführen des Betriebs in den Ausführungsformen der vorliegenden Erfindung erzeugen. Die Aufzeichnungsmedien können den computerlesbaren Aufzeichnungsmedien entsprechen.
-
Das computerlesbare Aufzeichnungsmedium umfasst irgendeinen Typ von Aufzeichnungsmedium, welches darauf gespeicherte Daten aufweist, welche danach durch einen Computer gelesen werden können. Beispielsweise kann es ein ROM, ein RAM, ein Magnetband, ein Magnetplattenspeicher, ein Flashspeicher, eine optische Datenspeichervorrichtung, etc. sein.
-
Diverse Ausführungsformen wurden vorstehend beschrieben, jedoch versteht und erkennt ein Fachmann, dass zahlreiche Modifikationen vorgenommen werden können, ohne dabei vom Umfang der vorliegenden Erfindung abzuweichen. Folglich erkennt der Fachmann, dass der tatsächliche Umfang des technischen Schutzes nur durch die folgenden Ansprüche definiert wird.