-
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 205539 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.
-
Dabei wird abhängig von Eingangsparametern für das Produkt eine Simulation durchgeführt, mit welcher eine bestimmte Eigenschaft des Produkts getestet wird. Abhängig von einem ersten Satz an Referenzdaten aus einem alternativen Test der bestimmten Eigenschaft des Produkts wird eine erste Klassifikation ermittelt.
-
Vorzugsweise kann nun dieselbe Produkteigenschaft für einen Satz von Referenzdaten bestimmt werden, welche den durchgeführten Simulationen zugeordnet werden können. Anhand dieser Daten kann ein erster Klassifikator trainiert werden. Nach dem Training wird dieser erste Klassifikator dazu verwendet, die Produkteigenschaften für mögliche Konfigurationen des Produkts zu bestimmen, für welche keine Referenzdaten vorliegen. Die vom ersten Klassifikator prognostizierten Ergebnisse können mit den zugehörigen Simulationsergebnissen verglichen werden. Abhängig von diesem Vergleich kann 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, einer gewichteten Summe der Elemente aus der Konfusionsmatrix oder eines etablierten Informationsmaßes wie des information Gain.
-
Abhängig von einem zweiten Satz an Referenzdaten aus dem alternativen Test der bestimmten Eigenschaft des Produkts wird eine zweite Klassifikation ermittelt, wobei der zweite Satz an Referenzdaten durch eine Datenreduzierung aus dem ersten Satz an Referenzdaten gewonnen wird. Durch Vergleich der ersten Klassifikation mit der zweiten Klassifikation wird eine Auswirkung der Datenreduzierung ermittelt. Eine Genauigkeit oder eine Robustheit der Simulation wird abhängig von einem Ergebnis der Simulation sowie einem abhängig von der ermittelten Auswirkung reduzierten neuen Satz an Referenzdaten bestimmt.
-
Durch diese Verfahren kann insbesondere abhängig vom Simulationszweck und der für den Anwendungsfall notwendigen Genauigkeit der Simulation bestimmt werden, welche und wie viele Referenzmessungen zur Bewertung der Simulation benötigt werden. Wird insbesondere eine Simulationsumgebung für eine neue Produktgeneration oder eine andere Variante desselben Produkts entwickelt, so liefert das Verfahren die Menge von Tests, die zur Absicherung der Simulationsergebnisse mindestens erforderlich sind.
-
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, 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.
-
In einer bevorzugten Ausgestaltung werden für mehrere zweite Sätze an Referenzdaten jeweils zweite Klassifikationen ermittelt. Unter den zweiten Sätzen an Referenzdaten wird derjenige mit der geringsten Abweichung der entsprechenden zweiten Klassifikation von der ersten Klassifikation ermittelt und der neue Satz an Referenzdaten wird abhängig von dem ermittelten zweiten Satz an Referenzdaten bestimmt.
-
In einer weiteren bevorzugten Ausgestaltung wird die Genauigkeit oder Robustheit der Simulation abhängig von einer dritten Klassifikation, welche von dem Ergebnis der Klassifikation abhängt, und abhängig von einer vierten Klassifikation, welche von dem neuen Satz an Referenzdaten abhängt, bestimmt.
-
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 stabile und aussagekräftige Metrik zur Bestimmung der Genauigkeit und Robustheit der Simulation.
-
Das Verfahren ermöglicht unter anderem folgende Anwendungen und bietet dabei insbesondere folgende Vorteile:
- - Bewertung der Genauigkeit oder Robustheit einer Simulationsumgebung für den Test einer Diagnosefunktion oder einer Detektionsfunktion (beispielsweise Fahrassistenzfunktionen, sicherheitskritische Funktionen oder Diagnosefunktionen in einem Steuergerät eines Fahrzeugs),
- - Bewertung einer Simulationsumgebung im Kontext von SOTIF-Simulationen,
- - Bewertung der Genauigkeit oder Robustheit verwendeten Modelle in einer Hl-, MIL-, SIL-Umgebung für den Test einer Diagnosefunktion oder einer Detektionsfunktion (beispielsweise Fahrassistenzfunktionen, sicherheitskritische Funktionen oder Diagnosefunktionen in einem Steuergerät eines Fahrzeugs),
- - Einsparung realer Messungen durch Klassifikationsgestützte Bestimmung bzw. Prädiktion der Simulationsgenauigkeit oder -robustheit,
- - Klassifikation einer vorgegebenen Menge von Tests oder Szenarien, auf deren Grundlage bewertet wird, unter welchen Randbedingungen oder für welche Art von Eingangsgrößen die Simulation zu ähnlichen Ergebnissen führt wie die Realität und unter welchen Randbedingungen bzw. für welche Eingangsgrößen die verwendeten Simulationsmodelle zu ungenau sind,
- - Vergleich unterschiedlicher simulationsbasierter Testplattformen bzw. Testumgebungen auf Grundlage klassifikationsbasierter Metriken.
-
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.
- 3 einen beispielhaften Ablauf eines Verfahrens zum Testen eines Produkts, bei welchem eine Datenreduzierung von Referenzdaten erfolgt,
- 4 eine schematische Darstellung einer Datenreduzierung von Referenzdaten,
- 5 eine schematische Darstellung eines Vergleichs verschiedener Datenreduzierungen von Referenzdaten.
-
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.
-
Im Folgenden werden Beispiele für den Einsatz von Klassifikatoren bzw. Klassifikationsverfahren insbesondere 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.
-
Zu den 1 und 2 wird zunächst ein Framework zur klassifikationsbasierten Bewertung der Güte von Simulationsmodellen vorgestellt. Daraufhin werden zu den 3 bis 5 Verfahren zum Testen eines Produkts vorgestellt, in welchen eine Datenreduzierung von Referenzdaten vorgenommen wird.
-
1 zeigt eine beispielhafte Ausprägung eines computerimplementierten Verfahren zum Testen eines Produkts. Über das hierzu beschriebene Framework können unterschiedliche Simulationsmodelle und unterschiedliche Klassifikatoren 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.
-
Zudem kann im Block 130 ein Klassifikator trainiert werden, der es ermöglicht, die Genauigkeit oder Robustheit der Simulation für weitere Tests oder Szenarien durchzuführen, ohne entsprechende neue Referenzmessungen durchführen zu müssen.
-
2 zeigt einen Ausschnitt aus 1 mit Details zu Block 130.
-
In 2 sind die angebundenen Blöcke 110 und 120 und 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 in 2 einen optionalen Block 132 zum Anlernen eines Klassifikators der Simulationsgüte. Dieser Block 132 beinhaltet hierzu insbesondere einen Algorithmus zum Vergleich unterschiedlicher möglicher Klassifikatoren und zur Auswahl des Klassifikators mit der größten Genauigkeit (Feature Selection). Dieser dient dazu, das Ergebnis der Klassifikation zu optimieren. Block 132 kann zum Anlernen des Klassifikators Informationen aus Block 131 erhalten.
-
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 den Blöcken 132 und 133 erhalten.
-
Zur Merkmalsauswahl in Block 132, der Modellerstellung in Block 133 und Berechnung von Ausgangsgrößen 140 in Block 134 verfügt Block 130 insbesondere über Algorithmen des Maschinellen Lernens und Klassifizierungsalgorithmen bzw. kann auf eine entsprechende Bibliothek zugreifen, welche diese Algorithmen umfasst.
-
Für das Anlernen des Klassifikators werden im Folgenden zwei unterschiedliche Varianten dargestellt.
-
In der ersten Variante wird in Block 130 ein Gesamtklassifikator, beispielsweise in Form einer Konfusionsmatrix, bestimmt. Dieser Gesamtklassifikator umfasst z.B. n x n Klassen und beinhaltet gegebenenfalls für jeden dieser Klassen eine Wahrscheinlichkeit. Das Ergebnis dieser Gesamtklassifikation und die jeweils zugehörigen Parameter und Eingangsgrößen werden zum Anlernen verwendet. Das Training wird beispielsweise nach etablierten Methoden des überwachten maschinellen Lernens durchgeführt. Durch überwachtes Lernen wird ein Modell erstellt, welches einen Zusammenhang zwischen den Parametern und Eingangsgrößen einerseits und der bekannten Gesamtklassifikation andererseits herstellt. Der Anwender kann optional auswählen, für welche Elemente der n x n Matrix der eingelernte Gesamtklassifikator die Ergebnisse mit größter Genauigkeit wiedergegeben soll. Gibt der Anwender beispielsweise den Diagonalelementen der n x n Matrix ein höheres Gewicht, so bedeutet dies, dass der Klassifikator für solche Simulationen eine hohe Genauigkeit hat, für die in der Simulation und in der Referenzmessung das gleiche Klassifikationsergebnis erzielt wurde. Um dieses Ziel zu erreichen, kann z.B. für das Training des Gesamtklassifikators anstelle der n x n Matrix eine abgeleitete Größe wie z.B. eine gewichtete Summe verwendet werden. Eine andere mögliche Variante besteht darin, beim Training des Klassifikators Methoden zur Mehrziel-Optimierung anzuwenden.
-
Ist der Klassifikator eingelernt, werden bei seiner Auswertung zur Bestimmung der Genauigkeit oder Robustheit der Simulation nur noch die Ergebnisse aus der Simulation sowie die Parameter und Eingangsgrößen verwendet, welche zum Lernen verwendet wurden. Um die Klassifikation und die Simulationsgüte für weitere Szenarien oder Tests zu bestimmen, werden somit keine Referenzmessungen mehr benötigt.
-
In der zweiten Variante für das Anlernen des Klassifikators wird der Ausgang des Klassifikators für die Referenzdaten bestimmt. Das Ergebnis dieser Klassifikation und die jeweils zugehörigen Parameter und Eingangsgrößen werden zum Training verwendet. Das Training kann wiederum nach etablierten Methoden des überwachten maschinellen Lernens durchgeführt werden. Durch das überwachte Lernen wird ein Modell erstellt, welches einen Zusammenhang zwischen diesen Parametern und Eingangsgrößen einerseits und der bekannten Klassifikation andererseits herstellt.
-
Um die Simulationsgüte für weitere Test oder Szenarien durchzuführen, werden zusätzliche Simulationen durchgeführt und mit den vorhandenen Methoden ausgewertet. Anstatt weitere Referenzdaten zu erzeugen (beispielsweise durch Messungen) wird nun jedoch der eingelernte Klassifikator für die Referenzdaten verwendet und mit anderen Eingangsgrößen ausgewertet.
-
3 zeigt einen beispielhaften Ablauf eines Verfahrens zum Testen eines Produkts, bei welchem eine Datenreduzierung von Referenzdaten erfolgt, Dieses Verfahren kann vorteilhafterweise im Kontext der zu 1 und 2 beschriebenen Verfahren eingesetzt werden, aber auch ein Einsatz in weiteren klassifikationsbasierten Testverfahren ist möglich.
-
Bei diesem Verfahren werden ebenfalls auf Basis von Referenzdaten Klassifikationen durchgeführt, wie zu den Blöcken 120 und 121 in 1 beschrieben. Dabei wird nun insbesondere der Datensatz der Referenzdaten, der für die Klassifikation verwendet wurde, schrittweise verkleinert und für jeden reduzierten Datensatz eine neue Klassifikation bestimmt. Jede Klassifikation kann mit den gleichen Eingangsgrößen ausgewertet werden. Auf Basis dieser Auswertungen kann untersucht werden, wie sich die Datenreduzierung auf die Klassifikationsergebnisse auswirkt.
-
Das Verfahren kann dabei beispielsweise ablaufen, wie in 3 gezeigt.
-
In Schritt 301 wird eine Klassifikation auf Basis eines ersten Datensatzes an Referenzdaten bestimmt.
-
Im folgenden Schritt 302 erfolgt eine Aufteilung der betrachteten Tests in Testgruppen. Daraufhin wird in Schritt 303 für jede Testgruppe die relative Zahl an Tests bzw. Szenarien festgelegt, für die die Klassifikation aus der Simulation mit der Klassifikation abhängig von den Referenzdaten übereinstimmen soll. Letzteres kann insbesondere mit Blick auf zukünftige Tests mit ähnlichen Testfällen (insbesondere für zukünftige Projekte oder bei anderen Produktvarianten) erfolgen.
-
Nun erfolgt in Schritt 304 eine Reduzierung der Menge der Referenzdaten. Es wird eine Menge an Teildatensätzen erzeugt, bei denen jeweils ein oder mehrere Tests bzw. Szenarien weggelassen werden. Auf Basis der so reduzierten Datensätze werden in Schritt 305 jeweils Klassifikationen bestimmt, wobei die Klassifikationen mit den gleichen Eingangsgrößen wie zu Beginn ausgewertet werden.
-
Im Schritt 306 erfolgt ein Vergleich, ob die Klassifikationen trotz der Datenreduzierung gleichgeblieben ist bzw. für wie viele Tests bzw. Szenarien das Ergebnis je reduziertem Datensatz gleichgeblieben ist.
-
Schließlich kann in Schritt 307 überprüft werden, ob für mindestens einen reduzierten Datensatz die relative Zahl an Tests bzw. Szenarien oberhalb der in Schritt 303 definierten Schwelle liegt. Ist das der Fall, können diese Zahlen für alle reduzierten Datensätze verglichen werden. Der Datensatz mit der größten Übereinstimmung der Klassifikation zur Klassifikation für die ursprünglichen Referenzdaten wird übernommen und mit diesem kann das Verfahren in Schritt 304 fortgesetzt werden.
-
Sobald in Schritt 307 festgestellt wird, dass in allen betrachteten reduzierten Datensätzen durch Datenreduzierung die in Schritt 303 geforderte Übereinstimmung der Klassifikationsergebnisse nicht mehr gegeben ist, wird das Verfahren beendet. Der zuletzt verwendete reduzierte Datensatz wird als Ergebnis ausgegeben. Die zugehörigen Szenarien oder Tests werden abgespeichert.
-
Bei der simulationsbasierten Bewertung einer neuen Produktvariante oder einer neuen Produktgeneration mit ähnlichen Anwendungsfällen für die Simulation wird zur Modellvalidierung, d.h. insbesondere zur Bewertung der Genauigkeit oder Robustheit der Simulation, eine entsprechend reduzierte Liste an notwendigen Referenzdaten herangezogen.
-
4 zeigt eine schematische Darstellung einer Datenreduzierung von Referenzdaten. 401 bezeichnet einen ursprünglichen Datensatz an Referenzdaten. Auf Basis dieser Referenzdaten und abhängig von Eingangsdaten aus Block 402, wie Eingangsgrößen und Simulationsausgangsgrößen, wird in Block 403 ein Klassifikator eingelernt und auf Basis dessen Ergebnisse in Block 404 eine Klassifikation bestimmt und bewertet.
-
Entsprechend wird auf Basis von Referenzdaten aus einem im Vergleich zu Datensatz 401 reduzierten Datensatz 405 und abhängig von Eingangsgrößen aus Block 406 in Block 407 ein Klassifikator eingelernt und auf Basis dessen Ergebnisse in Block 408 eine Klassifikation bestimmt und bewertet. Dabei entsprechen die Eingangsgrößen aus Block 406 vorzugsweise den Eingangsgrößen aus Block 402.
-
In Block 409 erfolgt ein Vergleich der in Block 404 und 408 bestimmten und bewerteten Klassifikationen. Dieser Vergleich zwischen Klassifikationsergebnissen ergibt für jeden Satz von Simulationen eine Matrix 410. Die Diagonalelemente entsprechen der Zahl der Tests oder Szenarien, für welche das Ergebnis mit verändertem Training bzw. reduziertem Datensatz dem ursprünglichen Ergebnis entspricht.
-
5 zeigt eine schematische Darstellung eines Vergleichs verschiedener Datenreduzierungen von Referenzdaten.
-
Auf Basis unterschiedlicher reduzierter Datensätze aus Referenzdaten 501 bzw. 505 und abhängig von Eingangsgrößen aus Block 502 bzw. 506 werden in Block 503 bzw. 507 Klassifikationen bestimmt, bewertet und jeweils mit der entsprechenden Klassifikation auf Basis der ursprünglichen Datensätze verglichen. Die jeweiligen Ergebnisse der Vergleiche werden in Block 504 bzw. Block 508 ausgegeben und wiederum in Block 509 miteinander verglichen.
-
In Block 509 wird aufgrund des Vergleichs derjenige reduzierten Datensatz bestimmt, für den sich das Simulationsergebnis im Vergleich zu dem ursprünglichen Datensatz am wenigsten verändert hat, welcher also die beste Performance erzielt hat. Im Umkehrschluss bedeutet das für diesen Datensatz, dass die Referenzdaten, die in diesem Fall weggelassen wurden, die niedrigste Priorität haben.
-
Im Folgenden soll die beispielhafte Anwendung eines der vorgestellten Verfahren für einen Funktionstest für den Spurhalteassistenten (Lane Keeping System, LKS) eines Fahrzeugs beschrieben werden. Das zu testende System ist in diesem Fall die LKS-Funktionalität eines betrachteten Fahrzeugs. Eine Anforderung an das LKS ist, dass das Fahrzeug auch auf einer kurvenreichen Strecke einen Sicherheitsabstand zu den Rändern der Spur halten muss. Parameter wie die Krümmung der Strecke oder die Reibung zwischen Straßenbelag und Reifen können variiert werden. Diese spielen in diesem Szenario die Rolle der Eingangsgrößen für das Eingangsmodell.
-
Als Klassifikation wird jeder möglichen Parameterkonfiguration der Wert „Test bestanden“ oder „Test nicht bestanden“ für die beschriebene Anforderung zugewiesen. Diese Klassifikation wird sowohl für die Tests abhängig vom Referenzdatensatz (z.B. reale Daten oder Simulation mit größerer Genauigkeit) als auch für die zu bewertende Simulation vorgenommen. Durch die Kombinatorik der beiden Klassifikationen ergibt sich für jeden Punkt im mehrdimensionalen Parameterraum eine übergeordnete Gesamt-Klassifikation nach den folgenden Attributen: „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“.
-
Zur Parametrierung und Validierung von Fahrzeugmodellen und anderen Teilmodellen (wie z.B. Sensormodellen) wird üblicherweise eine Kombination aus Open-Loop-Messungen und Closed-Loop-Messungen verwendet. Zur Validierung des Fahrzeugmodells und anderer relevanter Modelle werden üblicherweise vordefinierte Fahrmanöver im open-loop verwendet. Die Frage, wie viele open-loop-Messungen zur Modellvalidierung wirklich benötigt werden, ist in der Regel nicht auf allgemeine Weise zu beantworten. Erschwerend kommt hinzu, dass die Validierung der Modelle im Open-Loop im Allgemeinen nicht ausreicht, um die Qualität der Simulationsmodelle für beliebige Closed-Loop-Szenarien zu bewerten. Das hier vorgestellte Verfahren geht den umgekehrten Weg: Zunächst wird für ein Pilotprojekt eine sehr große Zahl an Messungen durchgeführt. In diesen Messungen werden Testfälle durchgeführt, welche zur Bewertung der Produkteigenschaften (z.B. Bewertung von Testfällen) benötigt werden. Dabei kann es sich sowohl um Open-Loop-Messungen als auch um Closed-Loop-Messungen handeln. Anschließend wird geprüft, welche Messungen für zukünftige Projekte wirklich benötigt werden, um eine ausreichend hohe Modellgenauigkeit zu gewährleisten.
-
Als weitere beispielhafte 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).
-
Auch in diesem Fall kann anhand eines Pilotprojekts mit hohem Aufwand zur Modellvalidierung der Aufwand für zukünftige Projekte deutlich reduziert und auf diese Weise Kosten eingespart werden.
-
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.
-
Auch in diesem Fall hängt die Anzahl der für die Bewertung der Simulation herangezogenen oder bereitzustellenden Referenzdaten von der Entscheidung des
-
Benutzers ab, wie er Abweichungen zwischen Simulation und der aus den Referenzdaten abgeleiteten Klassifikation bewertet und priorisiert und welche Art von Abweichung zwischen Simulation und Referenzdaten am wenigsten akzeptiert wird.
-
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
-