DE102014113759B4 - Verfahren und Vorrichtung zur Überprüfung eines Befehlssatzes wenigstens einer Recheneinheit - Google Patents

Verfahren und Vorrichtung zur Überprüfung eines Befehlssatzes wenigstens einer Recheneinheit Download PDF

Info

Publication number
DE102014113759B4
DE102014113759B4 DE102014113759.0A DE102014113759A DE102014113759B4 DE 102014113759 B4 DE102014113759 B4 DE 102014113759B4 DE 102014113759 A DE102014113759 A DE 102014113759A DE 102014113759 B4 DE102014113759 B4 DE 102014113759B4
Authority
DE
Germany
Prior art keywords
test
hardware
checked
application software
arithmetic unit
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.)
Expired - Fee Related
Application number
DE102014113759.0A
Other languages
English (en)
Other versions
DE102014113759A1 (de
Inventor
Michael Steindl
Radu Purece
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.)
AVL Software and Functions GmbH
Original Assignee
AVL Software and Functions GmbH
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 AVL Software and Functions GmbH filed Critical AVL Software and Functions GmbH
Priority to DE102014113759.0A priority Critical patent/DE102014113759B4/de
Publication of DE102014113759A1 publication Critical patent/DE102014113759A1/de
Application granted granted Critical
Publication of DE102014113759B4 publication Critical patent/DE102014113759B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zur Funktionsprüfung wenigstens einer in einem Steuergerät eines Kraftfahrzeugs eingesetzten Recheneinheit (1), um das Kraftfahrzeug in einem Sicherheitsmodus zu betreiben, wobei die wenigstens eine Recheneinheit (1) zur Steuerung wenigstens einer Funktion vorgesehen ist, welche wenigstens von einem Hardwareelement (2, 3, 4, 5) der Recheneinheit und wenigstens von einer Applikationssoftware (6, 7, 8, 9) Gebrauch macht, gekennzeichnet durch a) Bereitstellen einer virtuellen Testdatenbank (13), in welcher Testfälle (10) für Maschinenbefehle der wenigstens einen Recheneinheit (1) sowie Testfälle (11) für das wenigstens eine Hardwareelement (2, 3, 4, 5) abgelegt sind, wobei die Testdatenbank (13) einen Testcontroller (21) aufweist, b) Kompilieren der durch die Funktion verwendeten Applikationssoftware in Maschinensprache mittels des Testcontrollers (21), c) Identifizieren der durch die Applikationssoftware verwendeten Maschinenbefehle mittels des Testcontrollers (21), d) Bereitstellen einer Überwachungseinrichtung (12) innerhalb der wenigstens einen Recheneinheit (1), e) Bereitstellen eines Testmanagers (14) innerhalb der Überwachungseinrichtung (12), f) Bereitstellen eines Testorakels (15) innerhalb der Überwachungseinrichtung (12), g) Bereitstellen von hardwarespezifischen Tests (16, 17, 18, 19) für das wenigstens eine Hardwareelement (2, 3, 4, 5) innerhalb der Überwachungseinrichtung (12), h) Bereitstellen von applikationsspezifischen Tests (20) für die wenigstens eine Applikationssoftware (6, 7, 8, 9) innerhalb der Überwachungseinrichtung (12), i) Auswahl einer zu überprüfenden Applikationssoftware (6, 7, 8, 9) durch den in der virtuellen Testdatenbank (13) angeordneten Testcontroller (21), j) Auswahl der zu überprüfenden Testfälle (10) für Maschinenbefehle und der zu überprüfenden Testfälle (11) für Hardwareelemente (2, 3, 4, 5), die durch die zu überprüfenden Applikationssoftware (6, 7, 8, 9) verwendet werden, durch den Testcontroller (21) und Mitteilung an den Testmanager (14), welche Tests durchgeführt werden sollen, k) Generierung von Eingangsvektoren für Testfälle (10) der zu überprüfenden Maschinenbefehle und der zu überprüfenden Hardwareelemente (2, 3, 4, 5) durch den Testmanager (14), ...

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Funktionsprüfung wenigstens einer in einem Steuergerät eines Kraftfahrzeugs eingesetzten Recheneinheit, um das Kraftfahrzeug in einem Sicherheitsmodus zu betreiben, wobei die wenigstens eine Recheneinheit zur Steuerung wenigstens einer Funktion vorgesehen ist, welche wenigstens von einem Hardwareelement der Recheneinheit und wenigstens von einer Applikationssoftware Gebrauch macht. Ferner betrifft die Erfindung ein Kraftfahrzeug mit einer solchen Vorrichtung.
  • Im Automobil- beziehungsweise Kraftfahrzeugbereich ist es Stand der Technik, als Steuereinheiten beziehungsweise Steuergeräte eingesetzte Recheneinheiten auf ihre Funktion hin zu überprüfen, wenn sie sicherheitsrelevante Funktionen steuern. Für Motorsteuerungen von Diesel- und Ottomotoren ist dafür beispielsweise ein standardisiertes E-Gas-Überwachungskonzept bekannt.
  • Beim gegenwärtigen Stand der Technik wird ein funktionsspezifischer Befehlssatztest in der Recheneinheit implementiert, indem eine exakte Kopie der zu prüfenden Funktionen, insbesondere sicherheitsrelevanter Funktionen, in einem Speicher der Recheneinheit abgelegt wird. Vordefinierte Eingabewerte werden dazu benutzt, mit dieser exakten Kopie Ausgangswerte beziehungsweise Ausgangssignaturen zu ermitteln, welche mit vordefinierten beziehungsweise vorberechneten Werten beziehungsweise Signaturen verglichen werden. Im Falle von Abweichungen wird eine Fehlerreaktion initiiert. Mit einer derartigen Vorgehensweise werden indirekt die Maschinenbefehle geprüft, welche durch die zu prüfenden Funktionen, insbesondere sicherheitsrelevante Funktionen, benutzt werden. Ferner werden hierdurch auch die Hardwareelemente geprüft, die durch diese Funktionen, insbesondere die sicherheitsrelevanten Funktionen benutzt werden, wobei allerdings die Annahme gemacht wird, dass exakt die gleichen Hardwareelemente in einer gleichen Sequenz benutzt werden, wenn die exakte Kopie der Funktionen ausgeführt wird. Unabhängig davon, dass es sehr zeit- und arbeitsaufwendig ist, nämlich etwa 4-Mann-wochen, eine solche exakte Kopie der Funktionen zu erstellen, werden durch die exakte Kopie der Funktionen die Maschinenbefehle und die Hardwareelemente nur indirekt geprüft. Auch ist die Erstellung der exakten Kopie fehleranfällig, sodass nicht unbedingt davon ausgegangen werden kann, dass es sich bei der dann benutzten Kopie um wirklich eine exakte Kopie handelt.
  • Wie bereits erwähnt handelt es sich bei einer solchen Überprüfung lediglich um eine indirekte Überprüfung des Maschinenbefehlssatzes. Die zu prüfende Funktion, welche in der Regel in einer Hochsprache programmiert ist, wird dabei als eine Metrik für einen Maschinenbefehlssatztest benutzt. Selbst wenn diese Metrik eine hohe Abdeckung für die Maschinenbefehle aufweist, ist dies lediglich eine Annahme, da die Applikation in einer Hochsprache programmiert ist, welche nicht direkt mit den Maschinenbefehlen verknüpft ist, wie dies beispielsweise bei einer Maschinensprache wie Assembler der Fall ist.
  • Ebenfalls wird im Stand der Technik auch nur eine indirekte Überprüfung der Hardwareelemente der Rechnereinheit durchgeführt. Dabei wird angenommen, dass die exakte Kopie der Funktionen, insbesondere der sicherheitsrelevanten Funktionen, dieselben Hardwareelemente benutzt, wie die Funktionen, insbesondere die Sicherheitsfunktionen, selbst. Auch hierbei gibt es keinen direkten Hinweis auf die Richtigkeit dieser Annahme.
  • Wie bereits erwähnt ist die Erstellung einer derartigen exakten Kopie besonders zeit- und arbeitsaufwendig. Ist eine solche Kopie einmal erstellt, ist sie jedoch nur für diesen speziellen Fall der Funktionen nutzbar. Werden einzelne Funktionen verändert, bedeutet dies wiederum einen sehr hohen Zeit- und Arbeitsaufwand zur Aktualisierung beziehungsweise Anpassung der exakten Kopie. Da dies aber im Entwicklungsprozess häufiger vorkommt und die Tests für die Serienreife unabdingbar sind, bedeutet dies, dass im Entwicklungsprozess durch die Erstellung beziehungsweise Anpassung der exakten Kopie der Funktionen eine erhebliche Zeitverzögerung auftritt.
  • Ferner ist das Dokument LEHMAN, S. u. a.: Testorakel, Institut für Softwaretechnik und Theoretische Informatik, Technische Universität Berlin. Wintersemester 06/07 bekannt. In diesem Dokument werden Testorakel als Methoden und Werkzeuge zur Softwareproduktion beschrieben. Es wird eine Testautomatisierung beschrieben, welche jeden Aspekt des Testens von Software einer Anwendung automatisiert. Weiterhin werden verschiedene Testorakel gezeigt, welche die Testergebnisse evaluieren.
  • Aufgabe der Erfindung ist es daher, ein Verfahren und eine Vorrichtung zur Funktionsprüfung wenigstens einer in einem Steuergerät eines Kraftfahrzeugs eingesetzten Recheneinheit zur Verfügung zu stellen, wobei mit minimiertem Arbeits- und Zeitaufwand die fehlerfreie Funktion der Funktionsprüfung sichergestellt ist. Das Verfahren und die Vorrichtung sollen auch während des Betriebs der Recheneinheit bzw. des Kraftfahrzeugs benutzt werden können, sodass derartige Tests zum Überprüfen der Funktionen, insbesondere der Sicherheitsfunktionen, online in real time erfolgen können, wobei ein sicheres Betreiben des Kraftfahrzeugs auch im Fehlerfall möglich ist.
  • Gelöst wird diese Aufgabe mit einem Verfahren mit allen Merkmalen des Patentanspruchs 1 und mit einer Vorrichtung mit allen Merkmalen des Patentanspruchs 9. Vorteilhafte Ausgestaltungen der Erfindung finden sich in den Unteransprüchen.
  • Das erfindungsgemäße Verfahren zur Funktionsprüfung wenigstens einer in einem Steuergerät eines Kraftfahrzeugs eingesetzten Recheneinheit, um das Kraftfahrzeug in einem Sicherheitsmodus zu betreiben, wobei die wenigstens eine Recheneinheit zur Steuerung wenigstens einer Funktion vorgesehen ist, welche wenigstens von einem Hardwareelement der Recheneinheit und wenigstens von einer Applikationssoftware Gebrauch macht, zeichnet sich durch folgende Verfahrensschritte aus:
    • a) Bereitstellen einer virtuellen Testdatenbank, in welcher Testfälle für Maschinenbefehle der wenigstens einen Recheneinheit sowie Testfälle für das wenigstens eine Hardwareelement abgelegt sind, wobei die Testdatenbank einen Testcontroller aufweist,
    • b) Kompilieren der durch die Funktion verwendeten Applikationssoftware in Maschinensprache mittels des Testcontrollers,
    • c) Identifizieren der durch die Applikationssoftware verwendeten Maschinenbefehle mittels des Testcontrollers,
    • d) Bereitstellen einer Überwachungseinrichtung innerhalb der wenigstens einen Recheneinheit,
    • e) Bereitstellen eines Testmanagers innerhalb der Überwachungseinrichtung,
    • f) Bereitstellen eines Testorakels innerhalb der Überwachungseinrichtung,
    • g) Bereitstellen von hardwarespezifischen Tests für das wenigstens eine Hardwareelement innerhalb der Überwachungseinrichtung,
    • h) Bereitstellen von applikationsspezifischen Tests für die wenigstens eine Applikationssoftware innerhalb der Überwachungseinrichtung,
    • i) Auswahl einer zu überprüfenden Applikationssoftware durch den in der virtuellen Testdatenbank angeordneten Testcontroller,
    • j) Auswahl der zu überprüfenden Testfälle für Maschinenbefehle und der zu überprüfenden Testfälle für Hardwareelemente, die durch die zu überprüfende Applikationssoftware verwendet werden, durch den Testcontroller und Mitteilung an den Testmanager, welche Tests durchgeführt werden sollen,
    • k) Generierung von Eingangsvektoren für Testfälle der zu überprüfenden Maschinenbefehle und der zu überprüfenden Hardwareelemente durch den Testmanager,
    • l) Durchführung von hardwarespezifischen Tests für Hardwareelemente, von denen die zu überprüfende Applikationssoftware Gebrauch macht, innerhalb der Überwachungseinrichtung sowie Generierung eines Ergebnisses und Weitergabe des Ergebnisses an das Testorakel,
    • m) Durchführung von applikationsspezifischen Tests für die zu überprüfende Applikationssoftware innerhalb der Überwachungseinrichtung sowie Generierung eines Ergebnisses und Weitergabe des Ergebnisses an das Testorakel,
    • n) Vergleich der in den Verfahrensschritten l) und m) gewonnenen Ergebnisse mit in den Testfällen für Maschinenbefehle und der zu überprüfenden Testfälle für Hardwareelemente in der virtuellen Testdatenbank abgelegten Ergebnisse für die entsprechenden Eingangsvektoren, durch das Testorakel,
    • o) Erzeugung eines Testergebnisses durch das Testorakel,
    • p) Erzeugen eines Hardwarequalifikationsstatus, welcher den gegenwärtigen Hardwarestatus repräsentiert, basierend auf diesem Testergebnis durch das Testorakel,
    • q) Weiterbetreiben des Kraftfahrzeugs in einem Sicherheitsmodus, durch Anweisung des Testorakels bei einem Testergebnis, welches einen Fehler in der Recheneinheit anzeigt.
  • Der wesentliche Vorteil des erfindungsgemäßen Verfahrens beruht darin, dass der funktionsspezifische Befehlssatztest aufgeteilt wird in zwei unterschiedliche, voneinander unabhängige Teile. Zum einen in einen applikationsspezifischen und zum anderen in einen hardwarespezifischen Teil. Während der hardwarespezifische Teil dazu bestimmt ist, die wesentlichen Hardwareelemente der Recheneinheit zu testen und zu überprüfen, ist der applikationsspezifische Teil dazu bestimmt, die Maschinenbefehle, welche durch die zu überprüfenden Funktionen, insbesondere die sicherheitsrelevanten Funktionen, benutzt werden, einzeln zu testen und zu überprüfen. Dieser Ansatz erlaubt es, Testfälle für jeden einzelnen Befehl innerhalb des Befehlssatzes wesentlich zu simplifizieren.
  • Wesentliches Element des erfindungsgemäßen Verfahrens ist dabei die Implementierung einer virtuellen Testdatenbank für Testfälle. Diese Testdatenbank beinhaltet die verschiedenen Testfälle für den funktionspezifischen Befehlssatztest. Im Detail sind dabei zwei Typen von Testfällen in der virtuellen Testdatenbank abgelegt. Zum einen sind dies Testfälle für die wesentlichen Hardwareelemente für verschiedene Recheneinheiten. Zum anderen sind dies Testfälle für einzelne Befehlssätze verschiedener Recheneinheiten.
  • Für jedes Element einer Gruppe ist dabei ein umfassender Satz von Testfällen verfügbar, wobei jeder Testfall mit einem bestimmten Satz an Eingangswerten und dazu korrespondierenden Ausgangswerten, insbesondere Eingangsvektoren und Ausgangsvektoren beziehungsweise -signaturen versehen ist. Die Auswahl der Testfälle für das gesamte System ist dabei im Wesentlichen davon abhängig, welche Recheneinheit mit welchen Funktionen geprüft werden soll. Die Auswahl der zu überprüfenden Recheneinheit und der dazu gehörigen Funktionen kann dabei über eine Steuereinheit erfolgen. Die Funktionen werden durch die virtuelle Testdatenbank, insbesondere durch einen Testcontroller der virtuellen Testdatenbank automatisch analysiert und die entsprechenden Befehle des verwendeten Maschinenbefehlssatzes ausgewählt, die von der entsprechenden Funktion beziehungsweise Applikation verwendet werden. Ebenso wird durch den Testcontroller festgestellt, auf welche Hardwareelemente der jeweiligen Recheneinheit die jeweilige Funktion zurück greift, sodass auch dafür die Testfälle durch den Testcontroller spezifiziert werden können. Der Testcontroller generiert dabei den gesamten Rahmen für den Testablauf für die ausgewählten Testfälle. Ferner managt der Testcontroller die dazugehörigen Eingangswerte und Ausgangswerte beziehungsweise -signaturen, die Testausführungsreihenfolge und die Wiederholungsrate für jeden Test.
  • In der zu überprüfenden Recheneinheit sind zum einen die zu überprüfenden Hardwareelemente als auch die zu überprüfende Applikationssoftware implementiert. Ferner weist die Recheneinheit eine Überwachungseinheit auf, in welcher hardwarespezifische Tests und applikationsspezifische Tests abgelegt sind. Ferner weist diese Überwachungseinheit einen Testmanager und ein Testorakel auf. Der Testmanager ist dabei derart ausgebildet, dass er auf Anweisung des Testcontrollers der virtuellen Testdatenbank die durchzuführenden hardwarespezifischen und applikationsspezifischen Tests aufruft. Ferner stellt der Testmanager die Eingangswerte beziehungsweise Eingangsvektoren für jeden individuellen Test zur Verfügung, welche im Endergebnis mit dem zu erwartenden Testergebnis beantwortet werden muss. Alle Informationen, die der Testmanager für die Durchführung der Tests benötigt, werden automatisch durch den Testcontroller der virtuellen Testdatenbank generiert.
  • Mithilfe des Testorakels werden die Ergebnisse der einzelnen Tests ausgewertet beziehungsweise evaluiert. Basierend auf dieser Evaluierung wird ein Hardwarequalifikationsstatus berechnet, welcher den gegenwärtigen Hardwarestatus repräsentiert. Alle notwendigen Informationen, welche das Testorakel zur Evaluierung benötigt, werden automatisch durch den Testcontroller mithilfe des Testmanagers generiert.
  • Die hardwarespezifischen Tests beinhalten Routinetests für die einzelnen Hardwareelemente der Recheneinheit, welche von der virtuellen Testdatenbank mithilfe des Testcontrollers ausgewählt werden, um eine möglichst große Abdeckung der zu überprüfenden Hardwareelemente der Recheneinheit zu erreichen. Diese Tests werden dabei durch den Testmanager aktiviert und die individuellen Testergebnisse werden dem Testorakel zur Verfügung gestellt. Die hardwarespezifischen Tests umfassen dabei alle notwendigen wesentlichen Hardwareelemente der Recheneinheit welche durch die Steuereinheit ausgewählt werden können. Dies können beispielsweise sein:
    • • ALU (Arithmetic Logic Unit) data paths,
    • • General Purpose Registers (GPR's),
    • • Internal RAM (DSPR and PSPR),
    • • Adress calculation capability (μC Load/Store mechanism),
    • • addressing logic, Memory and bus interfaces),
    • • Control logic capability including pipelining mechanism Instruction sequencing Fetching, Decoding and execution logic,
    • • State information registers
    • • Stack Management Integrity, Function capability,
    • • Internal configuration registers
    • • Capability to handle Traps,
    • • Other specific μC specific elements which are safety relevant (elements used by safety relevant functionality).
  • Die applikationsspezifischen Tests umfassen im Wesentlichen Testroutinen für Befehlssätze, beispielsweise die individuellen Maschinenbefehle, welche durch die Funktionen, insbesondere durch die sicherheitsrelevanten Funktionen der Software benutzt werden. Notwendige Testfälle werden dabei aus der Testdatenbank ausgewählt. Diese Testfälle werden im Hinblick auf die zu überprüfende Recheneinheit, die von der Steuereinheit ausgewählt wurde, bestimmt. Dabei kann es sich bei den zu überprüfenden Funktionen auch um Funktionen handeln, die nachträglich implementiert wurden, insbesondere auch um Funktionen, die unabhängig von der Entwicklung der Recheneinheit durch Dritte vorgenommen wurden und später implementiert wurden. Auch diese applikationsspezifischen Tests werden dabei vom Testmanager aufgerufen und die individuellen Testergebnisse dem Testorakel zur Verfügung gestellt.
  • Durch das Testorakel werden Testergebnisse zur Verfügung gestellt, die den gegenwärtigen Hardwarestatus der Recheneinheit wiedergeben. Zusätzlich zu diesem Status der Recheneinheit beziehungsweise der einzelnen Hardwareelemente der Recheneinheit sind dadurch detaillierte Informationen bezüglich jedes einzelnen getesteten Elementes, insbesondere der getesteten Hardwareelemente und Maschinenbefehle verfügbar. Diese Testergebnisse beziehungsweise die Informationen können nun dem System zur Verfügung gestellt werden, um eine angemessene Reaktion des Systems auf den gegenwärtigen Systemstatus zu initiieren. Durch das erfindungsgemäße Verfahren wird die Testabdeckung der einzelnen Elemente, insbesondere Hardwareelemente und Maschinenbefehle, erhöht und somit auch die Testqualität erhöht.
  • Es ist nämlich möglich, explizit und direkt einzelne Hardwareelemente der Recheneinheit zu testen, wodurch es ermöglicht ist, eine Testmetrik zu benutzen, welche direkt mit den einzelnen zu testenden Elementen verlinkt ist. Auch hierdurch ist wiederum die Testqualität und die Testabdeckung der einzelnen Elemente erhöht und die Testdurchführung vereinfacht, da die einzelnen Elemente nun direkt und nicht mehr nur indirekt überprüft werden. In gleicher Weise ist durch das erfindungsgemäße Verfahren eine direkte und komplette Abdeckung der Befehle eines Befehlssatzes einer Recheneinheit gegeben, sodass auch hierdurch die Testabdeckung und die Testqualität nochmals verbessert, die Testdurchführung vereinfacht ist, da auch hier die einzelnen Elemente nun direkt und nicht mehr nur indirekt überprüft werden. Ferner ist durch das erfindungsgemäße Verfahren ermöglicht, die Projektlaufzeiten bei der Entwicklung von Recheneinheiten erheblich zu minimieren, da auf eine zeit- und arbeitsintensive Erstellung einer exakten Kopie der Funktionen, welche überprüft werden sollen, verzichtet werden kann.
  • Nach einer ersten vorteilhaften Ausgestaltung der Erfindung ist es vorgesehen, dass eine Auswahl einer Recheneinheit, deren Befehlssatz überprüft werden soll, mittels einer Steuereinheit erfolgt. Hierdurch ist es in einfacher Weise möglich, verschiedene Recheneinheiten mithilfe der virtuellen Testdatenbank, auf der entsprechende Testfälle für Maschinenbefehle und Testfälle für Hardwareelemente abgelegt sind, durchzuführen. Mittels der Steuereinheit kann nämlich in einfacher Weise die zu überprüfende Recheneinheit ausgewählt werden, sodass nachfolgend mithilfe der virtuellen Testdatenbank und der in der Recheneinheit implementierten Überwachungseinrichtung das erfindungsgemäße Verfahren durchgeführt werden kann.
  • Nach einem weiteren Gedanken der Erfindung ist ein Weiterbetreiben der wenigstens einen Recheneinheit in einem Sicherheitsmodus durch Anweisung des Testorakels möglich, wenn das Testergebnis von dem in der virtuellen Testdatenbank abgelegten Ergebnis für die Testfälle für Maschinenbefehle und der zu überprüfenden Testfälle für Hardwareelemente abweicht. Insbesondere ist es hierdurch ermöglicht, dass beispielsweise beim Betrieb eines Kraftfahrzeuges dieses nur noch in einem Sicherheitsmodus betreibbar ist, wenn mithilfe des erfindungsgemäßen Verfahrens festgestellt wird, dass ein Fehler in der geprüften Recheneinheit vorliegt.
  • Dabei hat es sich als vorteilhaft erwiesen, dass eine Auswahl von Testfällen für Maschinenbefehle sowie Testfälle für Hardwareelemente der ausgewählten Recheneinheit durch den Testcontroller erfolgt.
  • Ebenfalls von Vorteil ist es, dass ein Management der Durchführungsreihenfolge, der Wiederholungsrate und Durchführung der einzelnen Testfälle durch den Testcontroller erfolgt.
  • Die Generierung der Informationen für den Testmanager zur Durchführung von hardwarespezifischen und applikationsspezifischen Tests erfolgt ebenfalls durch den Testcontroller, sodass dieser dem Testmanager diese Informationen zur Verfügung stellt.
  • Weiterhin erfolgt die Generierung der Informationen für das Testorakel durch den Testmanager. Nach einer besonderen Ausgestaltung der Erfindung ist die Funktion, welche wenigstens von einem Hardwareelement und wenigstens von einer Applikationssoftware Gebrauch macht und überprüft werden soll, für den Betrieb der Recheneinheit sicherheitsrelevant ausgebildet. Hierdurch ist sichergestellt, dass bei einem Fehler in den sicherheitsrelevanten Funktionen der Recheneinheit der Betrieb dieser Recheneinheit beziehungsweise eines Kraftfahrzeugs mit einer derartigen Recheneinheit in einen Sicherheitsmodus überführt werden kann.
  • Die erfindungsgemäße Verrichtung zur Funktionsprüfung wenigstens einer in einem Steuergerät eines Kraftfahrzeugs eingesetzten Recheneinheit, um das Kraftfahrzeug in einem Sicherheitsmodus zu betreiben, wobei die wenigstens eine Recheneinheit zur Steuerung wenigstens einer Funktion vorgesehen ist, welche wenigstens von einem Hardwareelement der Recheneinheit und wenigstens von einer Applikationssoftware Gebrauch macht, insbesondere zur Durchführung eines erfindungsgemäßen Verfahrens umfasst dabei:
    wenigstens eine Recheneinheit mit
    wenigstens einem zugeordneten Hardwareelement und
    wenigstens einer darauf ablaufenden Applikationssoftware
    einer Überwachungseinrichtung, welche
    eine Mehrzahl hardwarespezifischer Tests,
    softwarespezifischer Tests,
    einen Testmanager zur Auswahl eines Tests und Generierung von Eingangssignaturen für ausgewählte Tests,
    ein Testorakel zur Evaluierung und Bewertung von Testergebnissen aufweist,
    eine virtuelle Testdatenbank mit
    einer Vielzahl von Testfällen für Hardwareelemente für verschiedene Recheneinheiten,
    einer Vielzahl Testfälle für Maschinenbefehle für verschiedene Recheneinheiten,
    einem Testcontroller zur Auswahl, Steuerung und Auswertung der Testfälle für Hardwareelemente für verschiedene Recheneinheiten und der Testfälle für Maschinenbefehle für verschiedene Recheneinheiten sowie zur Auswahl und Steuerung der hardwarespezifischen Tests und applikationsspezifischen Tests der Überwachungseinrichtung.
  • Ferner betrifft die Erfindung auch ein Kraftfahrzeug mit wenigstens einer zuvor beschriebenen Vorrichtung.
  • Weitere Ziele, Vorteile, Merkmale und Anwendungsmöglichkeiten der vorliegenden Erfindung ergeben sich aus der nachfolgenden Beschreibung eines Ausführungsbeispiels anhand der Zeichnung. Dabei bilden alle beschriebenen und/oder bildlich dargestellten Merkmale für sich oder in beliebiger sinnvoller Kombination den Gegenstand der vorliegenden Erfindung, auch unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbeziehung.
  • Es zeigen;
  • 1: eine Blockbilddarstellung eines Ausführungsbeispiels einer erfindungsgemäßen Vorrichtung.
  • In der 1 ist ein Mikrokontroller 1 dargestellt, in welchem Hardwareelemente 2, 3, 4, 5 implementiert sind und auf welcher Applikationssoftware 6, 7, 8, 9 betrieben wird. Ferner weist diese Recheneinheit 1 eine Überwachungseinrichtung 12 auf, welche mit einem Testmanager 14 und einem Testorakel 15 versehen ist und in welcher hardwarespezifische Tests 16, 17, 18, 19 und applikationsspezifische Tests 20 implementiert sind. Der Recheneinheit 1 ist dabei eine virtuelle Testdatenbank 13 zugeordnet, in welcher Testfälle 10 für Maschinenbefehle und Testfälle 11 für Hardwareelemente abgelegt sind. Ferner weist diese virtuelle Testdatenbank 13 einen Testcontroller 21 auf. Der Testdatenbank 13 ist in diesem Ausführungsbeispiel eine Steuereinrichtung 23 zugeordnet, mit deren Hilfe verschiedene Recheneinheiten ausgewählt werden können, von denen in diesem Ausführungsbeispiel aber nur die Recheneinheit 1 dargestellt ist. Alle Recheneinheiten, die mittels der Steuereinrichtung 23 ausgewählt werden können, sind dabei aber entsprechend der Recheneinheit 1 aufgebaut.
  • Die Applikationssoftware 6, 7, 8, 9 wird durch die virtuelle Testdatenbank 13, insbesondere den Testcontroller 21 analysiert und die Maschinenbefehle festgelegt, die durch die Applikationssoftware 6, 7, 8, 9 verwendet werden. Ferner wird dabei auch analysiert, auf welche Hardwareelemente 2, 3, 4, 5 die zu überprüfende Applikationssoftware 6, 7, 8, 9 zurückgreift. Insofern werden durch den Testcontroller 21 dann die zu prüfenden Testfälle 10 für Maschinenbefehle und Testfälle 11 für Hardwareelemente festgelegt. Der Testcontroller 21 teilt dabei den Testmanager 14 der Überwachungseinrichtung 12 mit, welche Testfälle er für die zu überprüfende Applikationssoftware 6, 7, 8, 9 durchführen wird. Der Testmanager 14 initiiert daraufhin entsprechende hardwarespezifische Tests 16, 17, 18, 19 und applikationsspezifische Tests 20, die zu den Testfällen 10 für Maschinenbefehle und den Testfällen 11 für Hardwareelemente hinsichtlich der zu überprüfenden Applikationssoftware 6, 7, 8, 9 korrespondieren.
  • Der Testmanager stellt dabei Eingangswerte beziehungsweise Eingangsvektoren für die durchzuführenden Test zur Verfügung und erhält daraufhin entsprechende Ausgangswerte beziehungsweise Ausgangsvektoren, die er mithilfe des Testcontrollers 21 an das Testorakel 15 zusammen mit den entsprechenden Ergebnissen für die Testfälle 10 für Maschinenbefehle und die Testfälle 11 für Hardwareelemente an das Testorakel 15 weiterleitet. Mithilfe des Testorakels 15 findet nun eine Evaluierung statt, sodass entsprechende Testergebnisse 22 generiert werden. Anhand der Testergebnisse 22 kann dabei ein Hardwarestatus im Hinblick auf die zu überprüfenden Funktionen beziehungsweise der zu überprüfenden Applikationssoftware 6, 7, 8, 9 erzeugt werden. Sofern eine Abweichung von vorbestimmten Ergebnissen für einen normalen Betrieb der Recheneinheit 1 vorliegt, kann die Recheneinheit 1 dazu angewiesen werden, nur noch in einem Sicherheitsmodus weiterbetrieben zu werden.
  • Bezugszeichenliste
  • 1
    Recheneinheit
    2
    Hardwareelement
    3
    Hardwareelement
    4
    Hardwareelement
    5
    Hardwareelement
    6
    Applikationssoftware
    7
    Applikationssoftware
    8
    Applikationssoftware
    9
    Applikationssoftware
    10
    Testfälle für Maschinenbefehle
    11
    Testfälle für Hardwareelement
    12
    Überwachungseinrichtung
    13
    Testdatenbank
    14
    Testmanager
    15
    Testorakel
    16
    hardwarespezifischer Test
    17
    hardwarespezifischer Test
    18
    hardwarespezifischer Test
    19
    hardwarespezifischer Test
    20
    applikationsspezifischer Test
    21
    Testcontroller
    22
    Testergebnis
    23
    Steuereinrichtung

Claims (10)

  1. Verfahren zur Funktionsprüfung wenigstens einer in einem Steuergerät eines Kraftfahrzeugs eingesetzten Recheneinheit (1), um das Kraftfahrzeug in einem Sicherheitsmodus zu betreiben, wobei die wenigstens eine Recheneinheit (1) zur Steuerung wenigstens einer Funktion vorgesehen ist, welche wenigstens von einem Hardwareelement (2, 3, 4, 5) der Recheneinheit und wenigstens von einer Applikationssoftware (6, 7, 8, 9) Gebrauch macht, gekennzeichnet durch a) Bereitstellen einer virtuellen Testdatenbank (13), in welcher Testfälle (10) für Maschinenbefehle der wenigstens einen Recheneinheit (1) sowie Testfälle (11) für das wenigstens eine Hardwareelement (2, 3, 4, 5) abgelegt sind, wobei die Testdatenbank (13) einen Testcontroller (21) aufweist, b) Kompilieren der durch die Funktion verwendeten Applikationssoftware in Maschinensprache mittels des Testcontrollers (21), c) Identifizieren der durch die Applikationssoftware verwendeten Maschinenbefehle mittels des Testcontrollers (21), d) Bereitstellen einer Überwachungseinrichtung (12) innerhalb der wenigstens einen Recheneinheit (1), e) Bereitstellen eines Testmanagers (14) innerhalb der Überwachungseinrichtung (12), f) Bereitstellen eines Testorakels (15) innerhalb der Überwachungseinrichtung (12), g) Bereitstellen von hardwarespezifischen Tests (16, 17, 18, 19) für das wenigstens eine Hardwareelement (2, 3, 4, 5) innerhalb der Überwachungseinrichtung (12), h) Bereitstellen von applikationsspezifischen Tests (20) für die wenigstens eine Applikationssoftware (6, 7, 8, 9) innerhalb der Überwachungseinrichtung (12), i) Auswahl einer zu überprüfenden Applikationssoftware (6, 7, 8, 9) durch den in der virtuellen Testdatenbank (13) angeordneten Testcontroller (21), j) Auswahl der zu überprüfenden Testfälle (10) für Maschinenbefehle und der zu überprüfenden Testfälle (11) für Hardwareelemente (2, 3, 4, 5), die durch die zu überprüfende Applikationssoftware (6, 7, 8, 9) verwendet werden, durch den Testcontroller (21) und Mitteilung an den Testmanager (14), welche Tests durchgeführt werden sollen, k) Generierung von Eingangsvektoren für Testfälle (10) der zu überprüfenden Maschinenbefehle und der zu überprüfenden Hardwareelemente (2, 3, 4, 5) durch den Testmanager (14), l) Durchführung von hardwarespezifischen Tests (16, 17, 18, 19) für Hardwareelemente (2, 3, 4, 5), von denen die zu überprüfende Applikationssoftware (6, 7, 8, 9) Gebrauch macht, innerhalb der Überwachungseinrichtung (12) sowie Generierung eines Ergebnisses und Weitergabe des Ergebnisses an das Testorakel (15), m) Durchführung von applikationsspezifischen Tests (20) für die zu überprüfende Applikationssoftware (6, 7, 8, 9) innerhalb der Überwachungseinrichtung (12) sowie Generierung eines Ergebnisses und Weitergabe des Ergebnisses an das Testorakel (15) n) Vergleich der in den Verfahrensschritten l) und m) gewonnen Ergebnisse mit in den Testfällen (10) für Maschinenbefehle und der zu überprüfenden Testfälle (11) für Hardwareelemente in der virtuellen Testdatenbank (13) abgelegten Ergebnisse für die entsprechende Eingangsvektoren, durch das Testorakel (15), o) Erzeugung eines Testergebnisses (22) durch das Testorakel (15), p) Erzeugen eines Hardwarequalifikationsstatus, welcher den gegenwärtigen Hardwarestatus repräsentiert, basierend auf diesem Testergebnis (22) durch das Testorakel (15), q) Weiterbetreiben des Kraftfahrzeugs in einem Sicherheitsmodus, durch Anweisung des Testorakels (15) bei einem Testergebnis (22), welches einen Fehler in der Recheneinheit anzeigt.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch ein Weiterbetreiben der wenigstens einen Recheneinheit (1) in einem Sicherheitsmodus durch Anweisung des Testorakels (15), wenn das Testergebnis (22) von den in der virtuellen Testdatenbank (13) abgelegten Ergebnissen für die zu überprüfenden Testfälle (10) für Maschinenbefehle und der zu überprüfenden Testfälle (11) für Hardwareelemente (2, 3, 4, 5) abweichen.
  3. Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch eine Auswahl einer Recheneinheit (1), deren Befehlssatz überprüft werden soll, mittels einer Steuereinheit (23).
  4. Verfahren nach Anspruch 3, gekennzeichnet durch eine Auswahl von Testfällen (10) für Maschinenbefehle sowie Testfällen (12) für Hardwareelemente (2, 3, 4, 5) der ausgewählten Recheneinheit (1) durch den Testcontroller (21) erfolgt.
  5. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch ein Managen der Durchführungsreihenfolge, der Wiederholungsrate und Durchführung der einzelnen Testfälle (10, 11) durch den Testcontroller (21).
  6. Verfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch die Generierung der Infomationen für den Testmanager (14) zur Durchführung von hardwarespezifischen und applikationsspezifischen Tests (16, 17, 18, 19; 20) durch den Testcontroller (21) erfolgt.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Generierung der Infomationen für das Testorakel (15) durch den Testmanager (14) erfolgt.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Funktion, welche wenigstens von einem Hardwareelement (2, 3, 4, 5) und wenigstens von einer Applikationssoftware (6, 7, 8, 9) Gebrauch macht, für den Betrieb der Recheneinheit (1) sicherheitsrelevant ausgebildet ist.
  9. Vorrichtung zur Funktionsprüfung wenigstens einer in einem Steuergerät eines Kraftfahrzeugs eingesetzten Recheneinheit (1), um das Kraftfahrzeug in einem Sicherheitsmodus zu betreiben, wobei die wenigstens eine Recheneinheit (1) zur Steuerung wenigstens einer Funktion vorgesehen ist, welche wenigstens von einem Hardwareelement (2, 3, 4, 5) der Recheneinheit und wenigstens von einer Applikationssoftware (6, 7, 8, 9) Gebrauch macht, insbesondere zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 8, umfassend: wenigstens eine Recheneinheit (1) mit wenigstens einem zugeordneten Hardwareelement (2, 3, 4, 5) und wenigstens einer darauf ablaufenden Applikationssoftware (6, 7, 8, 9) einer Überwachungseinrichtung (12), welche eine Mehrzahl hardwarespezifischer Tests (16, 17, 18, 19), softwarespezifischer Tests (20), einen Testmanager (14) zur Auswahl eines Tests und Generierung von Eingangssignaturen für ausgewählte Tests, ein Testorakel (15) zur Evaluierung und Bewertung von Testergebnissen aufweist, eine virtuelle Testdatenbank (13) mit einer Vielzahl von Testfällen (11) für Hardwareelemente (2, 3, 4, 5) für verschiedene Recheneinheiten (1), einer Vielzahl von Testfällen (10) für Maschinenbefehle für verschiedene Recheneinheiten (1), einem Testcontroller (21) zur Auswahl, Steuerung und Auswertung der Testfälle (11) für Hardwareelemente (2, 3, 4, 5) für verschiedene Recheneinheiten (1) und der Testfälle (10) für Maschinenbefehle für verschiedene Recheneinheiten (1) sowie zur Auswahl und Steuerung der hardwarespezifischen Tests (16, 17, 18, 19) und applikationsspezifischen Tests (20) der Überwachungseinrichtung (12).
  10. Kraftfahrzeug mit wenigstens einer Vorrichtung nach Anspruch 9.
DE102014113759.0A 2014-09-23 2014-09-23 Verfahren und Vorrichtung zur Überprüfung eines Befehlssatzes wenigstens einer Recheneinheit Expired - Fee Related DE102014113759B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014113759.0A DE102014113759B4 (de) 2014-09-23 2014-09-23 Verfahren und Vorrichtung zur Überprüfung eines Befehlssatzes wenigstens einer Recheneinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014113759.0A DE102014113759B4 (de) 2014-09-23 2014-09-23 Verfahren und Vorrichtung zur Überprüfung eines Befehlssatzes wenigstens einer Recheneinheit

Publications (2)

Publication Number Publication Date
DE102014113759A1 DE102014113759A1 (de) 2016-03-24
DE102014113759B4 true DE102014113759B4 (de) 2017-03-30

Family

ID=55444456

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014113759.0A Expired - Fee Related DE102014113759B4 (de) 2014-09-23 2014-09-23 Verfahren und Vorrichtung zur Überprüfung eines Befehlssatzes wenigstens einer Recheneinheit

Country Status (1)

Country Link
DE (1) DE102014113759B4 (de)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEHMAN, S. u.a.: Testorakel. Institut für Softwaretechnik und Theoretische Informatik, Technische Universität Berlin. Wintersemester 06/07

Also Published As

Publication number Publication date
DE102014113759A1 (de) 2016-03-24

Similar Documents

Publication Publication Date Title
EP2685382B1 (de) Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms
EP2932227B1 (de) Verfahren zur beurteilung der beherrschbarkeit eines fahrzeuges
EP2851815A1 (de) Testeinrichtung zum Echtzeittest eines virtuellen Steuergeräts
DE102020205539A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102017211433B4 (de) Verfahren zum Durchführen eines Funktionstests eines Steuergeräts in einem Hardware-in-the-Loop-Test, HIL-Test, sowie HIL-Prüfstand und Steuergerät
EP3709166B1 (de) Verfahren und system zur sicheren signalmanipulation für den test integrierter sicherheitsfunktionalitäten
DE102011088805A1 (de) Verfahren zum Entwickeln und/oder Testen eines Fahrerassistenzsystems
DE102019134053A1 (de) Verfahren zur kontinuierlichen Absicherung im Fahrversuch applizierter automatisierter Fahrfunktionen
EP3207386B1 (de) Überprüfen eines funktionsmoduls einer automatisierungsanlage
DE102014113759B4 (de) Verfahren und Vorrichtung zur Überprüfung eines Befehlssatzes wenigstens einer Recheneinheit
EP2990941B1 (de) Computerimplementiertes verfahren zur erzeugung eines steuergeräteprogrammcodes und diesbezügliche meldungsverwaltungsumgebung
DE102009028871A1 (de) Verfahren zum Überprüfen eines Speichers
EP3173928B1 (de) Verfahren und vorrichtung zum überprüfen eines komponentenfehlerbaums
EP3933593A1 (de) Verfahren und computerprogramm zum testen eines technischen systems
DE102020206321A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102020206327A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102017213764A1 (de) Vorrichtung zur Zuverlässigkeitsanalyse eines mechatronischen Systems
DE102016101853A1 (de) Computerimplementiertes Verfahren zur Simulation eines Restbus-Steuergeräteverbundes
DE102020206323A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
EP3764185A1 (de) Verfahren zum testen eines systems
DE102022207612A1 (de) Computer-implementiertes Verfahren zur Verifikation einer Softwarekomponente einer automatisierten Fahrfunktion
DE102019209541A1 (de) Verfahren und Vorrichtung zum Erfüllen einer Entwicklungsaufgabe
DE102022207776A1 (de) Überwachen eines Modells und Anomalieerkennung
DE102020205527A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102019214162A1 (de) Verfahren und Vorrichtung zum Simulieren eines Steuergerätes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee