DE102018113625A1 - Fehlerinjektionstestvorrichtung und -verfahren - Google Patents

Fehlerinjektionstestvorrichtung und -verfahren Download PDF

Info

Publication number
DE102018113625A1
DE102018113625A1 DE102018113625.0A DE102018113625A DE102018113625A1 DE 102018113625 A1 DE102018113625 A1 DE 102018113625A1 DE 102018113625 A DE102018113625 A DE 102018113625A DE 102018113625 A1 DE102018113625 A1 DE 102018113625A1
Authority
DE
Germany
Prior art keywords
error
electronic control
control device
test
injection test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102018113625.0A
Other languages
English (en)
Inventor
Yoonsik Jung
KwangChul Jeong
Kyung-Hwa CHOI
Seung-uk Oh
Yon-Soo JONG
Hyun-Seop BAE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SURESOFT TECHNOLOGIES Inc
Hyundai Motor Co
Suresoft Tech Inc
Kia Corp
Original Assignee
SURESOFT TECHNOLOGIES Inc
Hyundai Motor Co
Kia Motors Corp
Suresoft Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SURESOFT TECHNOLOGIES Inc, Hyundai Motor Co, Kia Motors Corp, Suresoft Tech Inc filed Critical SURESOFT TECHNOLOGIES Inc
Publication of DE102018113625A1 publication Critical patent/DE102018113625A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Eine Fehlerinjektionstestvorrichtung (100) kann aufweisen: ein Kommunikationsmodul (110), welches mit einer elektronischen Steuervorrichtung (300) kommuniziert; ein Testszenarioverwaltungsmodul (120), welches ein Testszenario zum Durchführen eines Fehlerinjektionstests auf der elektronischen Steuervorrichtung (300) erzeugt; ein Testausführungsmodul (140), welches den Fehlerinjektionstest gemäß dem Testszenario durchführt und Fehlerdaten an die elektronische Steuervorrichtung (300) übermittelt; ein Fehlerdetektionsmodul (150), welches ermittelt, ob die Fehlerdaten normal von dem Testausführungsmodul (140) an die elektronische Steuervorrichtung (300) übermittelt werden; und ein Erholungsermittlungsmodul (160), welches ermittelt, ob die elektronische Steuervorrichtung (300) sich von einem Fehler, der durch die von dem Testausführungsmodul (140) übermittelten Fehlerdaten in die elektronische Steuervorrichtung (300) eingebracht wurde, erholt.

Description

  • 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.

Claims (20)

  1. Fehlerinjektionstestvorrichtung (100), aufweisend: ein Kommunikationsmodul (110), welches mit einer elektronischen Steuervorrichtung (300) kommuniziert; ein Testszenarioverwaltungsmodul (120), welches ein Testszenario zum Durchführen eines Fehlerinjektionstests auf der elektronischen Steuervorrichtung (300) erzeugt; ein Testausführungsmodul (140), welches den Fehlerinjektionstest gemäß dem Testszenario durchführt und Fehlerdaten an die elektronische Steuervorrichtung (300) übermittelt; ein Fehlerdetektionsmodul (150), welches ermittelt, ob die Fehlerdaten normal von dem Testausführungsmodul (140) an die elektronische Steuervorrichtung (300) übermittelt werden; und ein Erholungsermittlungsmodul (160), welches ermittelt, ob die elektronische Steuervorrichtung (300) sich von einem Fehler, der durch die von dem Testausführungsmodul (140) übermittelten Fehlerdaten in die elektronische Steuervorrichtung (300) eingebracht wurde, erholt.
  2. Fehlerinjektionstestvorrichtung gemäß Anspruch 1, ferner aufweisend: ein Überwachungsmodul (130), welches einen Zustand der elektronischen Steuervorrichtung (300) überwacht, wenn der Fehlerinjektionstest gestartet ist.
  3. Fehlerinjektionstestvorrichtung gemäß Anspruch 1 oder 2, ferner aufweisend: ein Berichterstellungsmodul (170), welches, wenn der Fehlerinjektionstest abgeschlossen ist, einen Testergebnisbericht erstellt, welcher eine Zustandsinformation der elektronischen Steuervorrichtung (300) und eine Analyseinformation über eine Veränderung eines Zustands der elektronischen Steuervorrichtung (300) vor und nach der Übermittlung der Fehlerdaten aufweist.
  4. Fehlerinjektionstestvorrichtung gemäß irgendeinem der Ansprüche 1 bis 3, wobei das Testszenario eine Testausführungsbedingung, die an die elektronische Steuervorrichtung (300) zu übermittelnden Fehlerdaten, einen Fehlerdetektionsmaßstab und einen Erholungsermittlungsmaßstab aufweist.
  5. Fehlerinjektionstestvorrichtung gemäß Anspruch 4, wobei die Testausführungsbedingung einen Zieltask, in welchen ein Fehler einzubringen ist, einen Zeitpunkt zum Übermitteln der Fehlerdaten und eine Fehlerdatenübermittlung-Wiederholungsbedingung aufweist.
  6. Fehlerinjektionstestvorrichtung gemäß Anspruch 4 oder 5, wobei die Fehlerdaten korrespondieren mit einem Fehlertyp aus einer Mehrzahl von vorbestimmten Fehlertypen, welche eine Taskausführungsunterbrechung, eine Verhinderung einer erneuten Taskausführung durch einen Scheduler, eine Verhinderung einer erneuten Taskausführung durch Alarmaktivierung-Unterbrechung, 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.
  7. Fehlerinjektionstestvorrichtung gemäß irgendeinem der Ansprüche 4 bis 6, wobei das Fehlerdetektionsmodul (150) ermittelt, 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, einem Fehlercode-Wert, einem Datenwert eines bestimmten Speicherbereichs, einem Gesamtsystembetrieb und einer Taskausführungszeit beeinflusst.
  8. Fehlerinjektionstestvorrichtung gemäß irgendeinem der Ansprüche 4 bis 7, wobei das Erholungsermittlungsmodul (160) ermittelt, ob die elektronische Steuervorrichtung sich von dem Fehler erholt, basierend auf einem Erholungsermittlungsmaßstab, welcher bestimmt, ob die elektronische Steuervorrichtung sich von dem Fehler, 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, erholt.
  9. Fehlerinjektionstestvorrichtung gemäß Anspruch 2, wobei das Überwachungsmodul (130) ein Diagramm, welches Veränderungen in einem Taskzustand angibt, und ein Diagramm, welches Veränderungen in einem Variablenwert der elektronischen Steuervorrichtung (300) angibt, welche aus einem Fehlerinjektionstestlauf resultieren, ausgibt.
  10. Fehlerinjektionstestvorrichtung gemäß irgendeinem der Ansprüche 1 bis 9, wobei das Testszenarioverwaltungsmodul (130) ein Testszenario, das zu den Charakteristiken der elektronischen Steuervorrichtung (300) passt, erzeugt basierend auf einer Einstellungsinformation der elektronischen Steuervorrichtung(300), welche durch das Kommunikationsmodul (110) empfangen wird.
  11. Fehlerinjektionstestvorrichtung gemäß Anspruch 5, wobei der Zeitpunkt zum Übermitteln von Fehlerdaten gemäß einer Anzahl, wie oft ein vorbestimmter Zieltask ausgeführt wird, und/oder einer Wartezeit, nachdem der Fehlerinjektionstest gestartet wurde, festgelegt ist.
  12. Fehlerinjektionstestvorrichtung gemäß irgendeinem der Ansprüche 1 bis 11, wobei das Erholungsermittlungsmodul (160) ermittelt, dass die elektronische Steuervorrichtung (300) dabei fehlschlägt, sich von dem Fehler zu erholen, wenn eine Erholung von dem Fehler nicht innerhalb einer Erholungszulässigkeitsdauer (f3) erfolgt ist.
  13. Fehlerinjektionstestverfahren, aufweisend: Aufbauen einer Kommunikationssitzung mit einer elektronischen Steuervorrichtung (300) unter Verwendung eines Kommunikationsmoduls (110); Empfangen von Ausgestaltungsinformationen der elektronischen Steuervorrichtung (300) über die aufgebaute Kommunikationssitzung; Erzeugen (S301) eines Testszenarios zum Durchführen eines Fehlerinjektionstests auf der elektronischen Steuervorrichtung (300); Durchführen des Fehlerinjektionstests gemäß dem Testszenario; Übermitteln (S303) von Fehlerdaten an die elektronische Steuervorrichtung (300); Ermitteln (S304), ob die Fehlerdaten normal an die elektronische Steuervorrichtung (300) übermittelt werden; und Ermitteln (S305), ob die elektronische Steuervorrichtung (300) sich von einem durch die übermittelten Fehlerdaten in die elektronische Steuervorrichtung (300) eingebrachten Fehler erholt.
  14. Fehlerinjektionstestverfahren gemäß Anspruch 13, ferner aufweisend: Überwachen (S302) eines Zustands der elektronischen Steuervorrichtung (300), wenn der Fehlerinjektionstest gestartet ist.
  15. Fehlerinjektionstestverfahren gemäß Anspruch 13 oder 14, ferner aufweisend: wenn der Fehlerinjektionstest abgeschlossen ist (S306), Erstellen (S307) eines Testergebnisberichts, welcher eine Zustandsinformation der elektronischen Steuervorrichtung (300) und eine Analyseinformation über eine Veränderung eines Zustands der elektronischen Steuervorrichtung (300) vor und nach der Übermittlung der Fehlerdaten aufweist.
  16. Fehlerinjektionstestverfahren gemäß irgendeinem der Ansprüche 13 bis 15, wobei das Testszenario eine Testausführungsbedingung, die an die elektronische Steuervorrichtung (300) zu übermittelnden Fehlerdaten, einen Fehlerdetektionsmaßstab und einen Erholungsermittlungsmaßstab aufweist.
  17. Fehlerinjektionstestverfahren gemäß Anspruch 16, wobei die Testausführungsbedingung einen Zieltask, in welchen ein Fehler einzubringen ist, einen Zeitpunkt zum Übermitteln der Fehlerdaten und eine Fehlerdatenübermittlung-Wiederholungsbedingung aufweist.
  18. Fehlerinjektionstestverfahren gemäß Anspruch 16 oder 17, wobei die Fehlerdaten korrespondieren mit einem Fehlertyp aus einer Mehrzahl von vorbestimmten Fehlertypen, 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.
  19. Fehlerinjektionstestverfahren gemäß Anspruch 17 oder 18, wobei das Ermitteln (S304), ob die Fehlerdaten normal übermittelt werden, aufweist: 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.
  20. Fehlerinjektionstestverfahren gemäß irgendeinem der Ansprüche 17 bis 19, wobei das Ermitteln (S305), ob die elektronische Steuervorrichtung (300) sich von dem Fehler erholt, aufweist: Ermitteln, ob die elektronische Steuervorrichtung (300) sich von dem Fehler erholt, basierend auf einem Erholungsermittlungsmaßstab, welcher bestimmt, ob die elektronische Steuervorrichtung (300) sich von dem Fehler, 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, erholt.
DE102018113625.0A 2017-12-28 2018-06-07 Fehlerinjektionstestvorrichtung und -verfahren Withdrawn DE102018113625A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170181790A KR20190079809A (ko) 2017-12-28 2017-12-28 결함 주입 테스트 장치 및 그 방법
KR10-2017-0181790 2017-12-28

Publications (1)

Publication Number Publication Date
DE102018113625A1 true DE102018113625A1 (de) 2019-07-04

Family

ID=66816926

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018113625.0A Withdrawn DE102018113625A1 (de) 2017-12-28 2018-06-07 Fehlerinjektionstestvorrichtung und -verfahren

Country Status (4)

Country Link
US (1) US20190205233A1 (de)
KR (1) KR20190079809A (de)
CN (1) CN109976932B (de)
DE (1) DE102018113625A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760772A (zh) * 2021-09-22 2021-12-07 中国航空综合技术研究所 面向测试性试验的半自动/自动执行系统的用例执行方法

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922203B1 (en) * 2018-09-21 2021-02-16 Nvidia Corporation Fault injection architecture for resilient GPU computing
US10644954B1 (en) 2019-05-10 2020-05-05 Capital One Services, Llc Techniques for dynamic network management
KR20210004656A (ko) * 2019-07-05 2021-01-13 현대자동차주식회사 차량 기능 테스트 장치 및 그 제어 방법
CN112306033B (zh) * 2019-07-29 2022-01-28 北京新能源汽车股份有限公司 车载控制器联合测试控制方法、装置及系统
CN110941548A (zh) * 2019-10-21 2020-03-31 北京航空航天大学 一种嵌入式软件多故障并发条件下的测试方法
CN110955597B (zh) * 2019-11-19 2023-04-14 拉扎斯网络科技(上海)有限公司 对象测试方法、装置、电子设备及计算机可读存储介质
CN110928275B (zh) * 2019-12-12 2022-07-01 重庆长安新能源汽车科技有限公司 多控制器联合hil台架报文丢帧故障注入测试系统及方法
US20210200611A1 (en) * 2019-12-30 2021-07-01 Capital One Services, Llc Techniques for utilizing disruptions to enterprise systems
KR102269546B1 (ko) * 2020-02-26 2021-06-28 슈어소프트테크주식회사 결함 주입 장치
CN113312247A (zh) * 2020-02-26 2021-08-27 阿里巴巴集团控股有限公司 故障模拟方法和系统、分布式系统的测试方法
CN111552584B (zh) * 2020-03-24 2024-04-09 中国空间技术研究院 卫星一级故障诊断隔离及恢复功能的测试系统、方法及装置
CN111414310A (zh) * 2020-04-01 2020-07-14 国网新疆电力有限公司电力科学研究院 自动生成测例的电网安全稳定控制装置测试方法及系统
CN111427334A (zh) * 2020-04-17 2020-07-17 广东戈兰玛汽车系统有限公司 汽车ecu故障模拟检测系统
CN111813668B (zh) * 2020-06-30 2023-03-24 烽火通信科技股份有限公司 复盘软件程序执行过程的方法、存储介质、设备及系统
CN111965457A (zh) * 2020-08-18 2020-11-20 广东电网有限责任公司广州供电局 一种用于低压集抄系统的功能检测系统、方法和设备
US11567855B1 (en) * 2020-09-09 2023-01-31 Two Six Labs, LLC Automated fault injection testing
CN112463609B (zh) * 2020-11-30 2024-02-09 重庆长安汽车股份有限公司 一种控制系统横向控制故障的功能测试方法、装置、控制器及计算机可读存储介质
CN112714015B (zh) * 2020-12-23 2023-08-22 上海科梁信息科技股份有限公司 通信数据故障注入方法及其系统、通信设备和存储介质
CN112631846B (zh) * 2020-12-25 2024-10-01 广州品唯软件有限公司 一种故障演练方法、装置、计算机设备及存储介质
CN112731907B (zh) * 2020-12-30 2022-04-26 东风汽车有限公司 一种车载控制器故障并行注入测试方法、电子设备及系统
CN113031564B (zh) * 2021-03-05 2022-04-01 西安交通大学 一种航空发动机控制器在回路容错验证方法
CN113238927A (zh) * 2021-04-21 2021-08-10 中汽数据(天津)有限公司 整车功能安全测试方法、装置、电子设备及介质
US11921622B2 (en) * 2021-06-08 2024-03-05 Microsoft Technology Licensing, Llc Generating fault conditions using a fault-enabled software development kit
CN113740723B (zh) * 2021-08-20 2023-11-24 三一汽车制造有限公司 故障测试装置、故障测试方法和故障测试系统
CN114071123B (zh) * 2021-11-05 2024-08-09 中国人民解放军63856部队 基于仿真测试环境的信息化装备视频调度故障检测方法
CN113778834B (zh) * 2021-11-10 2022-03-18 统信软件技术有限公司 一种应用软件的系统性能测试方法、装置与计算设备
CN114089161A (zh) * 2021-11-19 2022-02-25 浙江大学 一种基于Zynq芯片的自动化故障注入系统及方法
CN114113984A (zh) * 2021-11-29 2022-03-01 平安壹账通云科技(深圳)有限公司 基于混沌工程的故障演练方法、装置、终端设备及介质
CN114425787B (zh) * 2021-12-21 2024-06-21 深圳优地科技有限公司 机器人自动测试的控制方法、装置、服务器及存储介质
CN114415637B (zh) * 2022-01-21 2023-09-22 苏州挚途科技有限公司 Can通信的一致性测试方法、装置及系统
CN114978923B (zh) * 2022-04-21 2024-06-18 京东科技信息技术有限公司 故障演练方法、装置和系统
CN115268298B (zh) * 2022-07-08 2024-09-03 重庆长安汽车股份有限公司 仿真测试方法、装置、电子设备及存储介质
WO2024080395A1 (ko) * 2022-10-12 2024-04-18 엘지전자 주식회사 시스템 교착 상태를 해소하는 복원 장치 및 방법
CN116027768A (zh) * 2023-02-14 2023-04-28 中国第一汽车股份有限公司 智能四驱控制单元的测试方法、系统和车辆

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4759019A (en) * 1986-07-10 1988-07-19 International Business Machines Corporation Programmable fault injection tool
US5777873A (en) * 1996-04-29 1998-07-07 Mitsubishi Semiconductor America, Inc. Automated test fixture control system
US6745345B2 (en) * 2000-12-04 2004-06-01 International Business Machines Corporation Method for testing a computer bus using a bridge chip having a freeze-on-error option
US7185232B1 (en) * 2001-02-28 2007-02-27 Cenzic, Inc. Fault injection methods and apparatus
US7308397B2 (en) * 2003-06-30 2007-12-11 Lsi Corporation Method for controlling and emulating functional and logical behaviors of an array of storage devices for different protocols
US20050210536A1 (en) * 2003-12-05 2005-09-22 Ginns Edward I Modulation of brain pathways and function
ATE417325T1 (de) * 2004-06-07 2008-12-15 Proton World Int Nv Programmausführungssteuerung
US7516025B1 (en) * 2004-06-29 2009-04-07 Sun Microsystems, Inc. System and method for providing a data structure representative of a fault tree
US7610579B2 (en) * 2004-12-10 2009-10-27 Microsoft Corporation Critical finalizers
US20070112715A1 (en) * 2005-11-07 2007-05-17 Nec Laboratories America System failure detection employing supervised and unsupervised monitoring
US20080273527A1 (en) * 2007-05-03 2008-11-06 The University Of Leicester Distributed system
US8127277B2 (en) * 2007-05-21 2012-02-28 International Business Machines Corporation Framework for conditionally executing code in an application using conditions in the framework and in the application
US20090037165A1 (en) * 2007-07-30 2009-02-05 Thomas Michael Armstead Method and Apparatus for Processing Transactions in a Simulation Environment
US8421614B2 (en) * 2007-09-19 2013-04-16 International Business Machines Corporation Reliable redundant data communication through alternating current power distribution system
US7890810B1 (en) * 2008-02-26 2011-02-15 Network Appliance, Inc. Method and apparatus for deterministic fault injection of storage shelves in a storage subsystem
US7827438B2 (en) * 2008-06-10 2010-11-02 Microsoft Corporation Distributed testing system and techniques
EP2648104B1 (de) * 2010-11-30 2016-04-27 Japan Science and Technology Agency Betriebssicherheitswartungsvorrichtung für die gewährleistung der zielsystemzuverlässigkeit in einem offenen umfeld, entsprechendes verfahren sowie computerkontrollprogramm und speichermedium dafür
US8726225B2 (en) * 2011-08-01 2014-05-13 Vmware, Inc. Testing of a software system using instrumentation at a logging module
CN103019921B (zh) * 2011-09-20 2015-04-15 中国人民解放军63928部队 一种基于故障注入的操作系统容错性测试系统及其方法
US9317408B2 (en) * 2011-12-15 2016-04-19 The Mathworks, Inc. System and method for systematic error injection in generated code
US8732674B1 (en) * 2012-11-14 2014-05-20 Microsoft Corporation Revertable managed execution image instrumentation
US9047988B2 (en) * 2012-11-20 2015-06-02 International Business Machines Corporation Flash interface error injector
US9021325B2 (en) * 2013-02-07 2015-04-28 Lsi Corporation Classifying bit errors in transmitted run length limited data
JP2014203314A (ja) * 2013-04-08 2014-10-27 日立オートモティブシステムズ株式会社 Ecuシミュレーション装置
US9529699B2 (en) * 2013-06-11 2016-12-27 Wipro Limited System and method for test data generation and optimization for data driven testing
US20150143179A1 (en) * 2013-11-15 2015-05-21 Netapp, Inc. System and Method for Progressive Fault Injection Testing
US9483383B2 (en) * 2013-12-05 2016-11-01 International Business Machines Corporation Injecting faults at select execution points of distributed applications
US10318400B2 (en) * 2014-02-13 2019-06-11 Infosys Limited Methods of software performance evaluation by run-time assembly code execution and devices thereof
ITTO20140902A1 (it) * 2014-10-31 2016-05-01 Intel Corp Procedimento per misurare l'effetto di guasti hardware microscopici in applicazioni ad elevata complessità implementate in un sistema elettronico hardware, relativo sistema e prodotto informatico
US9823904B2 (en) * 2014-12-18 2017-11-21 International Business Machines Corporation Managed assertions in an integrated development environment
US9652350B2 (en) * 2015-01-22 2017-05-16 International Business Machines Corporation Evaluation of complex SAN environments
CN104657247B (zh) * 2015-02-10 2017-12-15 上海创景计算机系统有限公司 基于jtag调试方式实现通用型故障注入系统和故障注入方法
KR101816390B1 (ko) * 2016-04-26 2018-01-08 현대자동차주식회사 인젝터의 미소 닫힘 시간 제어를 위한 인젝터 특성 보정 방법
US10146653B2 (en) * 2016-09-21 2018-12-04 Dell Products, L.P. Automated system-level failure and recovery
CN106598860B (zh) * 2016-12-16 2019-02-05 郑州云海信息技术有限公司 一种多种故障注入测试方法
US10324816B2 (en) * 2017-03-08 2019-06-18 International Business Machines Corporation Checking a computer processor design for soft error handling
US10365327B2 (en) * 2017-10-18 2019-07-30 International Business Machines Corporation Determination and correction of physical circuit event related errors of a hardware design
JP2019086996A (ja) * 2017-11-07 2019-06-06 ルネサスエレクトロニクス株式会社 シミュレーション装置及びプログラム
US10625752B2 (en) * 2017-12-12 2020-04-21 Qualcomm Incorporated System and method for online functional testing for error-correcting code function

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760772A (zh) * 2021-09-22 2021-12-07 中国航空综合技术研究所 面向测试性试验的半自动/自动执行系统的用例执行方法
CN113760772B (zh) * 2021-09-22 2022-12-09 中国航空综合技术研究所 面向测试性试验的半自动/自动执行系统的用例执行方法

Also Published As

Publication number Publication date
CN109976932B (zh) 2024-10-18
KR20190079809A (ko) 2019-07-08
US20190205233A1 (en) 2019-07-04
CN109976932A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
DE102018113625A1 (de) Fehlerinjektionstestvorrichtung und -verfahren
DE60017457T2 (de) Verfahren zur isolierung eines fehlers in fehlernachrichten
EP1703350B1 (de) Diagnose eines Automatisierungssystems
DE10333817A1 (de) Emulationsschnittstellensystem
DE102014116367A1 (de) Verwaltung von leistungsstufen von informationstechnologiesystemen
DE112010005400T5 (de) System für gegenseitige Überwachung von Mikrocomputern und ein Verfahren für gegenseitige Überwachung von Mikrocomputern
DE102013203358A1 (de) System und verfahren zum verifizieren der integrität eines sicherheitskritischen fahrzeugsteuerungssystems
EP2685382A1 (de) Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms
AT521713B1 (de) Verfahren zur Detektion sicherheitsrelevanter Datenflüsse
DE102012224276B4 (de) Verzögerte Ausführung auf mehreren Prozessoren
DE102019132679A1 (de) Überwachungsverfahren für cpu-nutzungsmenge im betrieb von fahrzeug-ecu und überwachungseinheit
DE102021131252A1 (de) Die vorliegende Erfindung betrifft eine Steuereinheit für ein Fahrzeug sowie ein Fehlermanagementverfahren dafür
EP3709166A1 (de) Verfahren und system zur sicheren signalmanipulation für den test integrierter sicherheitsfunktionalitäten
DE112016001586T5 (de) Relaisvorrichtung und Programm
DE102015202326A1 (de) Verfahren zum Betreiben einer Datenverarbeitungseinheit eines Fahrerassistenzsystems und Datenverarbeitungseinheit
DE102019131865A1 (de) Verfahren und vorrichtung zur eigendiagnose der ram-fehlererkennungslogik eines antriebsstrangcontrollers
DE112011100168T5 (de) Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung
EP1860565A1 (de) Verfahren zur Funktionsprüfung eines Steuergeräts für ein Kraftfahrzeug
DE10392916T5 (de) Selbsttestsystem
DE102011083655A1 (de) Überwachungsvorrichtung zur Überwachung eines Betriebs einer Steuerverarbeitungsvorrichtung
DE102018204734A1 (de) Sicherheitsinstrumentierte Steuervorrichtung und entsprechendes Verfahren, und Sicherheitsinstrumentiertes System
EP3486825A1 (de) Verfahren und vorrichtung zum rechnergestützten bestimmen eines schweregrads einer festgestellten verletzung der integrität
WO2015180932A1 (de) Verfahren zum rechnergestützten testen eines technischen systems
DE102016216728A1 (de) Fehlerdiagnose in einem Bordnetz
DE102017219195B4 (de) Verfahren zum gewährleisten eines betriebs eines rechners

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0019000000

Ipc: G16Z0099000000

R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G16Z0099000000

Ipc: G06F0011260000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee