DE102021109131A1 - Verfahren zum Testen eines Produkts - Google Patents

Verfahren zum Testen eines Produkts Download PDF

Info

Publication number
DE102021109131A1
DE102021109131A1 DE102021109131.4A DE102021109131A DE102021109131A1 DE 102021109131 A1 DE102021109131 A1 DE 102021109131A1 DE 102021109131 A DE102021109131 A DE 102021109131A DE 102021109131 A1 DE102021109131 A1 DE 102021109131A1
Authority
DE
Germany
Prior art keywords
simulation
classification
test
product
depending
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.)
Pending
Application number
DE102021109131.4A
Other languages
English (en)
Inventor
Joachim Sohns
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021109131.4A priority Critical patent/DE102021109131A1/de
Publication of DE102021109131A1 publication Critical patent/DE102021109131A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Vorgestellt wird ein computerimplementiertes Verfahren zum Testen eines Produkts insbesondere einer Software, einer Hardware oder eines Systems umfassend Hardware und Software. Dabei wird abhängig von Eingangsparametern für das Produkt eine Simulation durchgeführt, mit welcher eine bestimmte Eigenschaft des Produkts getestet wird, wobei die Simulation abhängig von mindestens einem ersten Modellparameter durchgeführt wird. Abhängig von einem Vergleich eines Ergebnisses der Simulation mit einer Anforderung an die bestimmte Eigenschaft wird für das Ergebnis der Simulation eine erste Klassifikation ausgegeben. Abhängig von einem Vergleich von Referenzdaten aus einem alternativen Test der bestimmten Eigenschaft des Produkts mit der Anforderung an die bestimmte Eigenschaft wird eine zweite Klassifikation ermittelt. Abhängig von der ersten Klassifikation und der zweiten Klassifikation wird eine Kostenfunktion trainiert, abhängig von welcher der mindestens eine erste Modellparameter optimiert wird.

Description

  • Die Erfindung betrifft ein computerimplementiertes Verfahren zum Testen eines Produkts sowie ein dazu eingerichtetes Computerprogramm und eine dazu eingerichtete Testumgebung.
  • Stand der Technik
  • Aus der DE 10 2020 205 539 ist ein Verfahren zum Prüfen eines technischen Systems, insbesondere eines zumindest teilautonomen Roboters oder Fahrzeuges bekannt. Dabei wird ein virtueller Test-Klassifikator eingeführt, welcher die Erfordernisse von Modellvalidierung und Produkttest kombiniert.
  • Offenbarung der Erfindung
  • Vorgestellt wird ein computerimplementiertes Verfahren zum Testen eines Produkts insbesondere einer Software, einer Hardware oder eines Systems umfassend Hardware und Software, z.B. eines eingebetteten Systems. Bei dem Verfahren wird abhängig von Eingangsparametern für das Produkt eine Simulation durchgeführt, mit welcher eine bestimmte Eigenschaft des Produkts getestet wird, wobei die Simulation abhängig von mindestens einem ersten Modellparameter durchgeführt wird. Abhängig von einem Vergleich eines Ergebnisses der Simulation mit einer Anforderung an die bestimmte Eigenschaft wird für das Ergebnis der Simulation eine erste Klassifikation ausgegeben. Abhängig von einem Vergleich von Referenzdaten aus einem alternativen Test der bestimmten Eigenschaft des Produkts mit der Anforderung an die bestimmte Eigenschaft wird eine zweite Klassifikation ermittelt. Abhängig von der ersten Klassifikation und der zweiten Klassifikation wird eine Kostenfunktion trainiert, abhängig von welcher der mindestens eine erste Modellparameter optimiert wird.
  • Das Anlernen der Kostenfunktion kann vorzugsweise zusätzlich abhängig von Abweichungen zwischen weiteren Ergebnissen von Kalibrierungsmessungen und weiteren Ergebnissen der Simulation erfolgen. Hierdurch kann insbesondere eine robustere Optimierung erreicht werden.
  • Weiterhin vorzugsweise kann nach erfolgter Optimierung abhängig von einem Vergleich von Ausgangsgrößen der Simulation und entsprechenden Größen der Referenzdaten ein Modellfehler für die Simulation bestimmt werden. Vorzugsweise kann dieser eingesetzt werden, um einen virtuellen Testklassifikator anzulernen.
  • In einer bevorzugten Ausgestaltung der beschriebenen Verfahren kann abhängig von der ersten Klassifikation und der zweiten Klassifikation eine Genauigkeit oder Robustheit der Simulation bestimmt werden. Insbesondere kann eine solche Bestimmung die Ausgabe einer Metrik zur Beurteilung von Genauigkeit oder Robustheit der Simulation umfassen, beispielsweise in Form einer Konfusionsmatrix oder eines etablierten Informationsmaßes wie eine Informationsgewinn (information gain).
  • Bei dem (technischen) Produkt kann es sich insbesondere um eine Software handeln, welche auf einer Recheneinheit in einem technischen System ablaufen soll, beispielsweise eine Detektions-, Überwachungs- oder Steuerfunktion in einem zumindest teilautonomen Fahrzeug oder Roboter. Auch kann es sich bei dem (technischen) Produkt um eine Hardware umfassend eine Software handeln, beispielsweise einen Sensor, einen Aktor oder ein Steuergerät eines zumindest teilautonomen Roboters oder Fahrzeuges.
  • Die Klassifikationen im Rahmen der vorgestellten Verfahren werden insbesondere nicht dafür eingesetzt, Produkteigenschaften zu klassifizieren oder durch Klassifikation Fehler in Produkten zu erkennen. Vielmehr wird klassifiziert, ob und zu welchem Grad die auf Grundlage einer Simulation vorgenommene Bewertung eines Produkts den Eigenschaften des Produkts in der Realität entspricht. Es bietet die Möglichkeit, Modellparameter der Simulation zu optimieren sowie gegebenenfalls die Güte einer Simulation in Bezug auf vorgegebene Kriterien zu bestimmen. Darüber hinaus bietet es die Möglichkeit, automatisierte Simulationen anzustoßen. Eine weitere mögliche Anwendung besteht darin, die Güte von Simulationsergebnissen vorherzusagen ohne zusätzliche Referenzmessungen durchführen zu müssen.
  • In einer bevorzugten Ausgestaltung stammen die Referenzdaten aus einem Test am realen Produkt oder aus einer (insbesondere besonders genauen) Referenzsimulation.
  • Die erste Klassifikation und die zweite Klassifikation können beispielsweise jeweils umfassen, ob das Produkt den Test bestanden hat oder nicht bestanden hat oder ob der Test nicht durchgeführt wurde, weil dafür notwendige Bedingungen nicht erfüllt waren. Auch können die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob die Diagnose- oder Detektionsfunktion zu einem falsch positiven, einem falsch negativen, einem wahr positiven oder einem wahr negativen Ergebnis kommt, insbesondere bei einer Simulation einer Detektions- oder Diagnosefunktion. Außerdem können die erste und die zweite Klassifikation jeweils umfassen, ob ein vordefiniertes, sicherheitsrelevantes Ereignis eingetreten ist oder nicht, insbesondere bei einer Simulation einer sicherheitskritischen Funktion. Diese Klassifikationen ermöglichen eine effiziente Optimierung von Modellparametern der Simulation sowie eine stabile und aussagekräftige Metrik zur Bestimmung der Genauigkeit und Robustheit der Simulation.
  • Die beschriebenen Verfahren ermöglichen eine effiziente Ermittlung optimierter Modellparameter des Simulationsmodells für den betreffenden Simulationszweck. Es wird zudem eine erweiterte Strategie zur Modellkalibrierung vorgeschlagen, bei der sowohl der Modellfehler minimiert wird als auch die Simulation für den späteren Simulationszweck optimiert wird. Eine Bestimmung der optimalen Modellparameter kann auf Grundlage von open-loop und closed-loop-Messungen sowie der zugehörigen Simulationen erfolgen. Ein Ableiten von Anforderungen für die geforderte Simulationsgenauigkeit kann bezogen auf Fehlermetriken erfolgen.
  • Die beschriebenen Verfahren können beispielsweise für eine Simulationsumgebung zur Freigabe von Testfunktionen sowie für eine HIL-, MIL-, SIL-Umgebung für den Test einer Diagnosefunktion oder einer Detektionsfunktion, beispielsweise einer Fahrassistenzfunktionen, einer sicherheitskritischen Funktion oder von Diagnosefunktionen in einem Steuergerät, eingesetzt werden.
  • Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. In den Zeichnungen zeigen schematisch:
    • 1 eine beispielhafte Ausprägung eines computerimplementierten Verfahren zum Testen eines Produkts sowie
    • 2 einen Ausschnitt aus 1 mit Details zu Block 130.
  • Beschreibung der Ausführungsbeispiele
  • In der Softwaretechnik wird die Nutzung von Modellen zur Automatisierung von Testaktivitäten und zur Generierung von Testartefakten im Testprozess unter dem Oberbegriff „modellbasiertes Testen“ (model-based testing, MBT) zusammengefasst. Darunter kann beispielsweise die Generierung von Testfällen aus Modellen fallen, die das Sollverhalten des zu testenden Systems beschreiben.
  • Insbesondere eingebettete Systeme (embedded systems) sind auf schlüssige Eingangssignale von Sensoren angewiesen und stimulieren wiederum ihre Umwelt durch Ausgangssignale an unterschiedlichste Aktoren. Im Zuge der Verifikation und vorgelagerter Entwicklungsphasen eines solchen Systems kann daher in einer Regelschleife dessen Modell (model in the loop, MiL), Software (software in the loop, SiL), Prozessor (processor in the loop, PiL) oder gesamte Hardware (hardware in the loop, HiL) gemeinsam mit einem Modell der Umgebung simuliert werden. In der Fahrzeugtechnik werden diesem Prinzip entsprechende Simulatoren zur Prüfung elektronischer Steuergeräte je nach Testphase und -objekt mitunter als Komponenten-, Modul- oder Integrationsprüfstände bezeichnet.
  • Derartige Simulationen sind auf verschiedenen Gebieten der Technik verbreitet und finden beispielsweise Einsatz, um eingebettete Systeme in Elektrowerkzeugen, Motorsteuergeräte für Antriebs-, Lenk- und Bremssysteme, Kamerasysteme, Systeme mit Komponenten der künstlichen Intelligenz und des maschinellen Lernens, Robotiksysteme oder autonome Fahrzeuge in frühen Phasen ihrer Entwicklung auf Tauglichkeit zu prüfen.
  • Dennoch werden die Ergebnisse solcher Simulationsmodelle bislang aufgrund fehlenden Vertrauens in ihre Zuverlässigkeit in der Regel nur begrenzt in Freigabeentscheidungen einbezogen.
  • Im Kontext von Produktentwicklung können Klassifikationsverfahren unter anderem zur Entwicklung von Diagnosefunktionen für Steuergeräte und im Bereich Design of Reliability eingesetzt werden. Der Fokus liegt dabei darauf, anhand von Messdaten typische Fehlermuster zu erkennen. Auch in Steuergerätefunktionen für Fahrerassistenzfunktionen kommen Klassifikationsverfahren und andere Verfahren des maschinellen Lernens auf vielfältige Weise zum Einsatz.
  • Ein Simulationsmodell bzw. die darin enthaltenen Teilmodelle enthalten üblicherweise Parameter, die vorab kalibriert werden. Bevorzugte Verfahren können beispielsweise dem folgenden Schema folgen. Dabei werden Signale oder skalare Werte (QOI, Quantity of Interests) aus realen Messungen oder andere Referenzdaten (z.B. aus Simulationen mit höherer Genauigkeit) mit den zugehörigen QOls aus Simulationen verglichen. Anhand Anwender-definierter Metriken werden das Simulationsergebnis und die Referenzdaten für die QOls verglichen und die Abweichung bewertet. Durch Variation wird ein Satz von Modellparametern gesucht, für welchen die Abweichung möglichst gering ist. Bei manchen Verfahren werden zusätzlich eine Variation bzw. ein Konfidenzband für die Werte der Modellparameter bestimmt. Ein Beispiel sind Bayessche Verfahren zur Kalibrierung. Ein solches Konfidenzband kann auch mit Hilfe von Methoden wie Cross Validation bestimmt werden.
  • Im Folgenden werden Beispiele für den Einsatz von Klassifikationsverfahren im Rahmen einer Verifikation oder Validierung eines Produkts beschrieben, beispielsweise für die Validierung einer eigebetteten Software-Funktion, insbesondere für Fahrfunktionen eines zumindest teilautomatisierten Fahrzeugs oder Roboters.
  • 1 zeigt eine beispielhafte Ausprägung eines computerimplementierten Verfahren zum Testen eines Produkts. Über das hierzu beschriebene Framework können unterschiedliche Simulationsmodelle und unterschiedliche Klassifikationen in die Validierung eingebunden werden.
  • Eingangsgrößen 101 können in ein Eingangsmodell 102 eingegeben werden, welches Ausgangsgrößen an eine simulationsbasierte Testumgebung 110 ausgibt. Weiterhin können weitere Eingangsgrößen 103, wie zum Beispiel Szenariolisten, Daten eines Testkatalogs oder ähnliche Informationen, direkt an die simulationsbasierte Testumgebung 110 gegeben werden.
  • Die simulationsbasierte Testumgebung kann auf verschiedene Modelle und Werkzeuge zugreifen und das zu testende Produkt mittels einer Simulation untersuchen. Die Testumgebung kann insbesondere MiL-, SiL-, HiL- oder PiL-Verfahren einsetzen.
  • Ergebnisse des oder der Tests werden aus der simulationsbasierten Testumgebung 110 einer Klassifizierungsinstanz 111 übergeben, welche für diese eine Klassifikation durchführt. Ein Ergebnis der Klassifikation wird von der Klassifizierungsinstanz 111 an den Block 130 übergeben.
  • Aus Block 104 können weitere Informationen wie relevante Signale der Simulation, Referenzdaten, Modellparameter oder weitere Eingangsgrößen an Block 130 übergeben werden.
  • Aus Block 120 werden Referenzdaten aus einem alternativen Test an eine Klassifizierungsinstanz 121 übergeben. Der alternative Test kann dabei insbesondere ein Versuch am realen Produkt sein oder es kann sich um eine besonders genaue, komplexere Simulation handeln als die Simulation in Block 110. Block 120 kann dabei insbesondere eine Datenbank mit Referenzdaten sein. Alternativ kann es sich bei Block 120 auch um eine weitere Testumgebung handeln, beispielsweise auch eine Apparatur zur Erzeugung weiterer Messungen, insbesondere am realen Produkt.
  • In den Klassifizierungsinstanzen 111 bzw. 121 werden die Ausgangsgrößen bzw. Ergebnisse der Simulation aus Block 110 bzw. die Ausgangsgrößen bzw. Referenzdaten aus Block 120 nach vorgegebenen Kriterien klassifiziert. Diese Kriterien können beispielsweise über eine Schnittstelle aus einer Nutzereingabe ermittelt werden.
  • Mögliche Klassifikationskriterien können z.B. sein:
    • - bei Software-, Hardware- oder Systemtests: Test bestanden / Test nicht bestanden oder Test/ freigegeben / Test nicht freigegeben
    • - bei Diagnose- und Detektionsfunktionen: Falsch positiv / falsch negativ / wahr positiv / wahr negativ
    • - im Kontext von Simulationen zur funktionalen Sicherheit, z.B. SOTIF-Simulationen (SOTIF = Safety Of The Intended Functionality): vordefiniertes Event eingetreten / nicht eingetreten
  • Je nach Anwendung lassen sich weitere Klassifikationskriterien definieren. Dabei bedeutet Klassifikation insbesondere die Zuordnung der Simulationsergebnisse bzw. Referenzdaten zu einer oder mehreren Klasse einer diskreten Anzahl von Klassen.
  • Block 130 umfasst eine klassifikationsbasierte Evaluierung der Genauigkeit oder Robustheit der Simulation aus Block 110, die Ausgangsgrößen 140 umfassen ein Maß für die Genauigkeit oder Robustheit der Simulation aus Block 110. Beispielsweise können die Ausgangsgrößen 140 eine Robustheits- oder Genauigkeitsmetrik wie ein Maß für einen Informationsgewinn (information gain) oder charakteristische Größen, wie sie aus dem Maschinellen Lernen bekannt sind, wie eine Konfusionsmatrix umfassen.
  • Im Folgenden wird nun beschrieben, wie die Klassifikationen aus den Klassifikationsinstanzen 111 und 121 für eine Optimierung von Modellparametern der Simulation eingesetzt werden können. Die Qualität einer Simulation in Bezug auf eine gegebene Simulationsaufgabe kann daran gemessen werden, wie gut die auf Grundlage der Simulation vorgenommene Klassifikation mit der Klassifikation auf Grundlage der Referenzdaten übereinstimmt. Das Simulationsmodell wird in diesem Verfahren als Klassifikator interpretiert, wobei die Modellparameter die Parameter des Klassifikators sind und dessen Genauigkeit und Performance festlegen. Die Modellparameter können so gewählt werden, dass bestimmte Werte aus den Klassifikationen abgeleitete werden, z.B. Werte der Konfusionsmatrix (oder daraus abgeleiteter Informationsmaße) den optimalen Wert erreichen.
  • Die Modellparameter des Simulationsmodells können dahingehend optimiert werden, dass eine vom Anwender definierte Art der Fehlklassifikation möglichst selten (oder ggf. auch möglichst häufig) auftritt.
  • Wird zum Beispiel eine Menge von Tests klassifiziert und besteht das Ziel darin, möglichst wenige Tests in der Simulation als „bestanden“ zu bewerten, die in der Realität bzw. gemäß Referenzdaten „nicht bestanden“ sind, so priorisiert der Anwender den betreffenden Eintrag in der Konfusionsmatrix des Ergebnisvergleichs. Die Modellparameter des Simulationsmodells werden anschließend dahingehend optimiert, dass diese Zahl minimal ist.
  • Das Verfahren kann beispielsweise wie folgt ablaufen:
    1. 1. Festlegung initialer Werte für die Modellparameter (beispielsweise mit einer etablierten Methode), z.B. in Block 101.
    2. 2. Durchführung von Simulationen mit den festgelegten Modellparametern in Block 110. Die Simulationen werden nach einem vorgegebenen Katalog durchgeführt. Für alle Simulationen sind Referenzdaten in Block 120 vorhanden, anhand derer das Simulationsergebnis bewertet wird.
    3. 3. Vergleich der Klassifikationen der Simulationsergebnisse aus Klassifikationsinstanz 111 mit den Klassifikationen der zugehörigen Referenzdaten aus Klassifikationsinstanz 112.
    4. 4. Erstellung einer Konfusionsmatrix in Block 130, z.B. als Summe über alle Simulationen und Referenzdaten, die zum gleichen Katalog gehören.
    5. 5. Gewichtung der Einträge in der Konfusionsmatrix entsprechend der Vorgaben des Anwenders in Block 130 und Ausgabe der Konfusionsmatrix aus Block 130 zu Block 150.
    6. 6. Bildung einer Kostenfunktion in Block 150 abhängig von der Konfusionsmatrix.
    7. 7. Verwendung der Kostenfunktion für eine Optimierung in Block 150, wobei die Modellparameter der Simulation die vom Optimierer anzupassenden Freiheitsgrade sind. Ausgabe der optimierten Modellparameter zu Block 110.
    8. 8. Nach jedem Update der Parameter werden in Block 110 die Simulationen erneut durchgeführt, die neue Kostenfunktion auf dieselbe Weise ermittelt und die Parameteroptimierung entsprechend durchgeführt.
  • In einer ersten bevorzugten Variante der beschriebenen Verfahren hängt die Kostenfunktion, bezüglich derer die Modellparameter optimiert werden, alleine von den relevanten Einträgen der Konfusionsmatrix ab. Es werden keine weiteren Kalibrierungs- oder Validierungsmessungen vorgenommen.
  • Diese Variante lässt sich auf einfache Weise erweitern: Wenn ein vorgegebenes Optimierungskriterium erreicht und die Optimierung abgeschlossen wurde, werden auf Grundlage der zuletzt durchgeführten Simulationen, wichtige bzw. festgelegte Signale aus Simulation und Referenzdaten miteinander verglichen. Mit Hilfe standardisierter Metriken lassen sich für jede einzelne Simulation oder für alle Simulationen in ihrer Gesamtheit ein (ggf. kumulierter) Modellfehler bestimmen. Dieser kann dazu verwendet werden, für zukünftige neue Simulationsprojekte (beispielsweise bei Weiterentwicklung eines Produkts oder Simulation neuer Varianten) eine Anforderung an die Modellgenauigkeit zu stellen. Die Daten können aber auch dazu verwendet werden, einen virtuellen Test-Klassifikators (VTC) entsprechend der DE 10 2020 205539 zu trainieren.
  • In einer zweiten bevorzugten Variante werden zusätzlich zu den Klassifikationsergebnissen weitere Kalibrierungsmessungen und zugehörige Simulationen durchgeführt und mit Hilfe von Signalmetriken die Abweichung von Referenzdaten und Simulation bestimmt. Auf diese Weise können zur Modellkalibrierung von Closed-Loop-Simulationen auch Open-Loop-Simulationen herangezogen werden.
  • Ähnlich wie bei etablierten Kalibrierungsmethoden gehen diese Abweichungen in eine Kostenfunktion ein, die durch Anpassung der Modellparameter minimiert wird. Die Modellparameter werden so verändert, dass die Abweichung zwischen Simulation und Referenzmessungen möglichst gering ist. Dabei wird die Modellabweichung, die mit Hilfe von Signalmetriken bestimmt wird, mit den Ergebnissen der Klassifikation kombiniert und abhängig davon die Kostenfunktion gebildet bzw. gelernt.
  • Auch bei dieser Variante können zusätzlich nach Erreichen des Optimierungsziels für alle durchgeführten Simulationen die Modellfehler ausgegeben werden. Diese lassen sich wiederum dazu verwenden, einen Virtual Test Classifier zu trainieren oder Anforderungen an die Simulationsgenauigkeit für weitere Projekte abzuleiten.
  • Beide beschriebenen bevorzugten Varianten lassen sich auf die Optimierung bezüglich unterschiedlicher Testkataloge verallgemeinern. Hierzu können die relativen Häufigkeiten in den Konfusionsmatrizen getrennt voneinander bestimmt werden. Bevorzugte eingesetzt werden können beispielsweise eine Pareto-Optimierung oder eine Kombination der Klassifikationsergebnisse aus unterschiedlichen Tests zu einer gemeinsamen Kostenfunktion.
  • 2 zeigt einen Ausschnitt aus 1 mit Details zu Block 130.
  • In 2 sind die angebundenen Blöcke 110, 120 und 150 sowie deren Eingänge nicht gezeigt. Die Klassifizierungsinstanzen 111 und 121 sowie deren Eingänge und Ausgänge entsprechen den Beschreibungen zu 1.
  • Block 130 kann neben den Klassifikationen aus den Blöcken 110 und 120 wie zu 1 beschrieben auch weitere Eingangsgrößen aus Block 104 erhalten. Block 130 umfasst insbesondere eine Eingangsinstanz 131 zum Empfang und zur Verarbeitung von Eingangsdaten.
  • Block 130 umfasst weiterhin einen Block 133 zu Modellerstellung, insbesondere zur Erstellung eines Metamodells, mit welchem eine Genauigkeit oder Robustheit der Simulation auch in Bereichen ermittelt werden kann, für welche keine Eingangsdaten bzw. keine Referenzdaten vorliegen. Block 133 kann dabei zur Modellerstellung Eingangsdaten aus Block 131 erhalten.
  • Block 130 umfasst zudem einen Block 134 zur Berechnung und Ausgabe von Ausgangsgrößen 140, insbesondere umfassend ein Maß der Genauigkeit oder Robustheit der Simulation aus Block 110. Block 134 kann zur Berechnung Eingangsdaten aus Block 133 erhalten.
  • Im Folgenden soll die beispielhafte Anwendung eines der vorgestellten Verfahren für einen Funktionstest für einen Abstandsregeltempomat (ACC, Adaptive Cruise Control) eines Fahrzeugs beschrieben werden. Ein typisches Szenario zum Test eines ACC ist ein sogenanntes Einscher-Manöver (cut-in maneuver). Das zu testende System ist in diesem Fall die ACC-Funktionalität eines betrachteten Fahrzeugs. Dieses wird von einem weiteren Fahrzeug überholt, das - gegebenenfalls in geringem Abstand - vor dem betrachteten Auto einschert und seine Geschwindigkeit verringert. Eine Anforderung an das ACC für ein solches Szenario ist, dass das betrachtete Fahrzeug nach einer gewissen Zeit einen definierten Sicherheitsabstand wiederhergestellt haben muss. Der Abstand beim Einscheren und die Geschwindigkeiten der Fahrzeuge können unterschiedliche Werte annehmen. Diese spielen in diesem Szenario die Rolle der Eingangsgrößen (101 in 1) für das Eingangsmodell (102 in 1).
  • Für jede mögliche Parameterkonfiguration bzw. Kombination aus Eingangsgrößen wird ein Test in der Simulationsumgebung (110 in 1) durchgeführt und es werden Referenzdaten ermittelt (aus Block 120 in 1). Für jedes Ergebnis der Simulation bzw. den entsprechenden Referenzdaten wird in den Klassifizierungsinstanzen (111 bzw. 112 in 1) eine Klassifikation durchgeführt, in diesem Fall „Test bestanden“ oder „Test nicht bestanden“, je nachdem ob nach der vorgeschriebenen Zeit das betrachtete Fahrzeug einen vorgeschriebenen Sicherheitsabstand erreicht hat.
  • Zur Bestimmung der Genauigkeit oder Robustheit der Simulation in der Simulationsumgebung (110 in 1) kann nun beispielsweise wie folgt eine Konfusionsmatrix bestimmt werden (in Block 130 in 1):
    • Ein Eintrag in der Matrix entspricht der Anzahl der Tests, die sowohl in der Simulation als auch in der Referenzmessung bestanden wurden. Ein weiterer Eintrag ergibt sich aus der Zahl der Tests, die in der Simulation bestanden und in der Referenzmessung nicht bestanden waren, usw. In diesem einfachen Fall wird insbesondere über die Menge aller Tests summiert und ein Mittelwert gebildet.
  • Der Anwender kann jedoch optional die Möglichkeit haben, über Eingaben auszuwählen, bezüglich welcher Parameter summiert werden soll. Zudem kann er zum Beispiel auswählen, dass für jeden Wert der Geschwindigkeit eine Konfusionsmatrix gebildet werden soll. Die vom Anwender ausgewählten Parameter können also zwei unterschiedlichen Kategorien zugeordnet werden: Solche, über die gemittelt wird, und solche, für welche die Konfusionsmatrix separat gebildet wird.
  • Die Konfusionsmatrix kann auch eine Funktion in einem mehrdimensionalen Parameterraum sein (in diesem Fall z.B. Geschwindigkeit des betrachteten Fahrzeugs und Abstand beim Einscheren).
  • Falls über keinen Parameter summiert wird, ergibt sich für jeden Punkt im mehrdimensionalen Parameterraum eine der folgenden Klassen: „Test simulativ bestanden und in der Referenz bestanden“, „Test simulativ bestanden und in der Referenz nicht bestanden“, „Test simulativ nicht bestanden und in der Referenz bestanden“, „Test simulativ nicht bestanden und in der Referenz nicht bestanden“.
  • Im Anwendungsbeispiel für die Freigabe von Tests kann die Klassifizierung auf folgende Weise erweitert werden: „Test bestanden“, „Test nicht bestanden“, „Freigabebedingung für Test nicht erfüllt“. Die Zahl der Einträge in der Konfusionsmatrix bzw. die Kombinatorik der Klassen aus dem Vergleich von Simulation und Referenzmessung erhöhen sich dann entsprechend.
  • Eine Konfusionsmatrix für den Anwendungsfall zur Bewertung eines Tests könnte beispielsweise wie folgt aussehen:
    Simulation Bestanden Nicht bestanden Nicht freigegeben
    Referenz
    Bestanden 0,1 0,2 0,1
    Nicht bestanden 0,15 0,4 0
    Nicht freigegeben 0 0,05 0
  • In diesem Beispiel werden nun die Modellparameter für das der Simulation zugrunde liegende Fahrzeugmodell nicht allein auf Grundlage vordefinierter Fahrmanöver im open-loop-Verfahren bestimmt. Vielmehr werden die Modellparameter so angepasst, dass der Simulationsfehler bezüglich der zu testenden Anforderungen minimiert wird. Die Parameter können beispielsweise so angepasst werden, dass möglichst wenig Tests, die in den Referenzdaten „nicht bestanden“ sind, von der Simulation als „bestanden“ bewertet werden. Auf diese Weise lässt sich das Risiko minimieren, dass die Simulation zu falschen Entscheidungen führt.
  • Als weitere beispielshafte Anwendung soll die Genauigkeit oder Robustheit einer Simulation aus einer Simulationsumgebung für eine Diagnose- oder Detektionsfunktion bestimmt werden.
  • Unter anderem in Systemen mit eingebetteter Software werden häufig Diagnosefunktionen und Detektionsfunktionen verwendet. Manche dieser Funktionen dienen speziell zur Erkennung und Meldung von Fehlern. Beispiele hierfür sind die Diagnosefunktionen zur Überwachung eines Abgasnachbehandlungssystems. Tritt in relevanten Parameterbereichen ein auffälliges Verhalten auf, das auf eine Fehlfunktion hindeutet, so wird beispielsweise ein Status-Flag gesetzt, das weiterverarbeitet wird. Ein wiederholtes Auftreten eines solchen Ereignisses führt dazu, dass dem Fahrer ein Fehler angezeigt und im betreffenden Fehlerspeicher des Motorsteuergeräts eine entsprechende Information gespeichert wird.
  • Ein anderes Beispiel für den Einsatz von Diagnose- oder Detektionsfunktionen sind sicherheitsrelevante Funktionen für Fahrerassistenzsysteme wie AEB oder ESP. Auch hier werden Signale auf Grundlage vorgegebener Kriterien plausibilisiert und beim Auftreten bestimmter Ereignisse geeignete Gegenmaßnahmen eingeleitet (wie z.B. sicheres Anhalten, Einleiten einer Notbremsung oder andere Eingriffe in die Aktuatorik des Fahrzeugs).
  • In diesen Beispielen und für vielen weitere Anwendungen von Diagnose- und Detektionsfunktionen kann die Ausgabe der betreffenden Steuergerätefunktion einer der folgenden Kategorien zugeordnet werden:
    • - Falsch positiv: Es ist kein Ereignis aufgetreten, der implementierte Algorithmus hat jedoch ein Ereignis gemeldet.
    • - Falsch negativ: Es ist kein Ereignis aufgetreten, der implementierte Algorithmus hat ein Ereignis gemeldet.
    • - Wahr positiv: Es ist ein Ereignis aufgetreten, der implementierte Algorithmus hat ein Ereignis gemeldet.
    • - Wahr negativ: Es ist kein Ereignis aufgetreten, der implementierte Algorithmus hat kein Ereignis gemeldet.
  • Um Kosten einzusparen oder bereits in einer frühen Phase der Entwicklung Tests durchzuführen, werden auch solche Funktionen zunehmen in simulationsbasierten Plattformen bzw. Testumgebungen, z.B. mit SIL-, MIL- oder HIL-Verfahren getestet.
  • Als Ergebnis einer Bestimmung der Genauigkeit oder Robustheit einer solchen Simulation in einer Testumgebung für eine Diagnose- oder Detektionsfunktion kann aus dem Vergleich von Klassifikationen für die Simulationsergebnisse und für die entsprechenden Referenzdaten eine Metrik, beispielsweise eine Konfusionsmatrix berechnet werden. Auch in diesem Fall kann optional der Anwender auswählen, über welche Parameter summiert werden soll und über welche nicht. Wird über keinen der Parameter gemittelt, so kann jeder Punkt im Parameterraum einer der n Klassen zugeordnet werden (z.B. 16 Klassen bei einer 4x4-Matrix für die oben genannten Klassifikationen), je nachdem, was in der Simulation und in der Referenzmessung beobachtet wurde. Wird über einzelne Parameter gemittelt, so kann ein trainiertes Klassifikationsmodell für jeden Punkt und für jede Kategorie eine Wahrscheinlichkeit angeben (Konfusionsmatrix für jeden Punkt, wie im vorhergehenden Fall).
  • Eine Konfusionsmatrix für den Anwendungsfall zur Bewertung der Performance einer Diagnose- oder Detektionsfunktion könnte beispielsweise wie folgt aussehen:
    Simulation Falsch pos. Falsch neg. Wahr pos. Wahr neg.
    Referenz
    Falsch positiv 0,1 0,2 0,05 0,05
    Falsch negativ 0,15 0,3 0 0
    Wahr positiv 0 0,05 0 0
    Wahr negativ 0.05 0.05 0 0
  • Die Verwendung und Bewertung der Klassifikationsergebnisse hängt stark vom Anwendungsfall ab. Ist der Anwender z.B. in erster Linie daran interessiert, das Risiko zu minimieren, dass falsch-negative Ereignisse als falsch-positiv bewertet werden, so wird er den zugehörigen Eintrag in der Konfusionsmatrix entsprechend gewichten.
  • Auch in diesem Beispiel werden nun die Modellparameter so angepasst, dass der Simulationsfehler bezüglich der zu testenden Anforderungen minimiert wird. Die Parameter können beispielsweise so angepasst werden, dass in möglichst wenig Fällen die Kombination eines Simulationsergebnisses „Wahr negativ“ bei einem Ergebnis „Wahr positiv“ in den Referenzdaten auftritt.
  • Als weitere beispielhafte Anwendung sollen Simulationen zur Absicherung der funktionalen Sicherheit eines Produkts betrachtet werden, beispielsweise SOTIF-Simulationen von Fahrfunktionen eines zumindest teilautomatisierten Fahrzeugs.
  • Beispielsweise kann hierzu simulativ das Szenario einer Autobahnausfahrt betrachtet werden. Anhand von Fehlermodellen kann eine falsche Spurerkennung simuliert werden, die dazu führen kann, dass das Fahrzeug die Fahrbahn verlässt. Für jeden Fall, der im realen Feld beobachtet wurde, wird untersucht, ob das Fahrzeug in Folge des Fehlers die Fahrspur an der Ausfahrt verlassen hat oder nicht. Nun werden diese Szenarien mit Hilfe von Fehlermodellen in der Simulation nachgestellt und überprüft, ob das Fahrzeug in der Simulation die Fahrspur verlassen hat oder nicht. Für jeden zugehörigen Punkt im Parameterraum des Fehlermodells ergibt sich nun eine der Klassifikationen „Ereignis in Simulation und real eingetreten“, „Ereignis in Simulation nicht eingetreten und real nicht eingetreten“, „Ereignis in Simulation eingetreten und real nicht eingetreten“, „Ereignis in Simulation nicht eingetreten und real eingetreten“. Eine Klassifikation über die Parameter des Fehlermodells mittels eines Metamodells ermöglicht es in diesem Fall, die Prädiktionsgenauigkeit der Simulation auch für solche Simulationen vorherzusagen, die nicht real beobachtet werden. Die Konfusionsmatrix und daraus abgeleitete informationstheoretische Größen liefern in diesem Fall eine Indikation für die Genauigkeit oder Robustheit des Simulationsmodells für diese Art von Untersuchung.
  • Wiederum hängt es von der Priorisierung des Benutzers ab, wie er für die Zwecke der Modellparameteroptimierung Abweichungen zwischen Simulation und der aus den Referenzdaten abgeleiteten Klassifikation bewertet und priorisiert und welche Art von Abweichung zwischen Simulation und Experiment am wenigsten akzeptiert wird.
  • Auch in diesem Beispiel werden nun die Modellparameter so angepasst, dass der Simulationsfehler bezüglich der zu testenden Anforderungen minimiert wird. Die Parameter können beispielsweise so angepasst werden, dass in möglichst wenig Fällen die Kombination „Ereignis in Simulation eingetreten und laut Referenzdaten nicht eingetreten“ auftritt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102020205539 [0002, 0036]

Claims (14)

  1. Computerimplementiertes Verfahren zum Testen eines Produkts insbesondere einer Software, einer Hardware oder eines Systems umfassend Hardware und Software, gekennzeichnet durch folgende Schritte: - abhängig von Eingangsparametern wird für das Produkt eine Simulation durchgeführt, mit welcher eine bestimmte Eigenschaft des Produkts getestet wird, wobei die Simulation abhängig von mindestens einem ersten Modellparameter durchgeführt wird, - abhängig von einem Vergleich eines Ergebnisses der Simulation mit einer Anforderung an die bestimmte Eigenschaft wird für das Ergebnis der Simulation eine erste Klassifikation ausgegeben, - abhängig von einem Vergleich von Referenzdaten aus einem alternativen Test der bestimmten Eigenschaft des Produkts mit der Anforderung an die bestimmte Eigenschaft wird eine zweite Klassifikation ermittelt, - abhängig von der ersten Klassifikation und der zweiten Klassifikation wird eine Kostenfunktion trainiert, abhängig von welcher der mindestens eine erste Modellparameter optimiert wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass abhängig von der ersten Klassifikation und der zweiten Klassifikation eine Genauigkeit oder Robustheit der Simulation bestimmt wird.
  3. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das Anlernen der Kostenfunktion zusätzlich abhängig von Abweichungen zwischen weiteren Ergebnissen von Kalibrierungsmessungen und weiteren Ergebnissen der Simulation erfolgt.
  4. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass nach erfolgter Optimierung abhängig von einem Vergleich von Ausgangsgrößen der Simulation und entsprechenden Größen der Referenzdaten ein Modellfehler für die Simulation bestimmt wird.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass abhängig von dem Modellfehler ein virtueller Testklassifikator angelernt wird.
  6. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Referenzdaten aus einem Test am realen Produkt oder aus einer Referenzsimulation stammen.
  7. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob das Produkt den Test bestanden hat oder nicht bestanden hat oder ob der Test nicht durchgeführt wurde, insbesondere, weil für eine Durchführung des Tests spezifizierte Bedingungen nicht erfüllt waren.
  8. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die bestimmte Eigenschaft eine Diagnose- oder Detektionsfunktion umfasst und die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob die Diagnose- oder Detektionsfunktion zu einem falsch positiven, einem falsch negativen, einem wahr positiven oder einem wahr negativen Ergebnis kommt.
  9. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die bestimmte Eigenschaft eine sicherheitskritische Eigenschaft des Produkts umfasst und die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob ein vordefiniertes, sicherheitsrelevantes Ereignis eingetreten ist oder nicht.
  10. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass eine Genauigkeit oder Robustheit einer weiteren Simulation abhängig von den optimierten Modellparametern bestimmt wird.
  11. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Genauigkeit oder Robustheit der Simulation anhand einer Konfusionsmatrix oder eines Information Gain bestimmt wird.
  12. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das Produkt eine sicherheitskritische Softwarefunktion oder ein sicherheitskritisches System für ein zumindest teilautomatisiertes Fahrzeug oder für einen zumindest teilautomatisierten Roboter umfasst.
  13. Computerprogramm, welches dazu eingerichtet ist, ein Verfahren nach einem der vorangegangenen Ansprüche durchzuführen.
  14. Testumgebung, welche dazu eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 9 mit einem Computerprogramm nach Anspruch 10 durchzuführen.
DE102021109131.4A 2021-04-13 2021-04-13 Verfahren zum Testen eines Produkts Pending DE102021109131A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021109131.4A DE102021109131A1 (de) 2021-04-13 2021-04-13 Verfahren zum Testen eines Produkts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021109131.4A DE102021109131A1 (de) 2021-04-13 2021-04-13 Verfahren zum Testen eines Produkts

Publications (1)

Publication Number Publication Date
DE102021109131A1 true DE102021109131A1 (de) 2022-10-13

Family

ID=83361778

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021109131.4A Pending DE102021109131A1 (de) 2021-04-13 2021-04-13 Verfahren zum Testen eines Produkts

Country Status (1)

Country Link
DE (1) DE102021109131A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020205539A1 (de) 2020-04-30 2021-11-04 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Prüfen eines technischen Systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020205539A1 (de) 2020-04-30 2021-11-04 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Prüfen eines technischen Systems

Similar Documents

Publication Publication Date Title
DE102008013366B4 (de) Verfahren zur Bereitstellung von Information für Fahrerassistenzsysteme
DE102010013943B4 (de) Verfahren und Vorrichtung für eine Funktionsprüfung einer Objekt-Erkennungseinrichtung eines Kraftwagens
DE102018128289A1 (de) Verfahren und vorrichtung für eine autonome systemleistung und zur einstufung
WO2021058223A1 (de) Verfahren zur effizienten, simulativen applikation automatisierter fahrfunktionen
EP3757795A1 (de) Verfahren und vorrichtung zur optimalen aufteilung von testfällen auf unterschiedliche testplattformen
WO2023041458A2 (de) Computerimplementierte verfahren, module und system zur anomalieerkennung in industriellen fertigungsprozessen
EP3757792A2 (de) Verfahren und vorrichtung zum prüfen eines systems, zur auswahl realer tests und zum testen von systemen mit komponenten maschinellen lernens
DE102019134053A1 (de) Verfahren zur kontinuierlichen Absicherung im Fahrversuch applizierter automatisierter Fahrfunktionen
WO2019119011A1 (de) Verhaltensmodell eines umgebungssensors
AT523850B1 (de) Computergestütztes Verfahren und Vorrichtung zur wahrscheinlichkeitsbasierten Geschwindigkeitsprognose für Fahrzeuge
DE102021109129A1 (de) Verfahren zum Testen eines Produkts
WO2018177526A1 (de) Robustheitsanalyse bei fahrzeugen
DE102021109126A1 (de) Verfahren zum Testen eines Produkts
DE102021109131A1 (de) Verfahren zum Testen eines Produkts
WO2023041459A1 (de) Computerimplementierte verfahren und system zur anomalieerkennung und verfahren zur anomalieerkennung in einer akustischen endprüfung eines getriebes
DE102021109128A1 (de) Verfahren zum Testen eines Produkts
DE102021109130A1 (de) Verfahren zum Testen eines Produkts
DE102020206327A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102021109127A1 (de) Verfahren zum Testen eines Produkts
DE102021200927A1 (de) Verfahren und Vorrichtung zur Analyse eines insbesondere in einen zumindest teilautonomen Roboter oder Fahrzeug eingebetteten Systems
DE102020205131A1 (de) Verfahren und Vorrichtung zum Simulieren eines technischen Systems
EP3757698A1 (de) Verfahren und vorrichtung zur bewertung und auswahl von signal-vergleichsmetriken
DE102019218476A1 (de) Vorrichtung und Verfahren zum Messen, Simulieren, Labeln und zur Bewertung von Komponenten und Systemen von Fahrzeugen
DE102020205540A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102017205437A1 (de) Robustheitsanalyse bei Fahrzeugen