DE102021109128A1 - Procedure for testing a product - Google Patents
Procedure for testing a product Download PDFInfo
- Publication number
- DE102021109128A1 DE102021109128A1 DE102021109128.4A DE102021109128A DE102021109128A1 DE 102021109128 A1 DE102021109128 A1 DE 102021109128A1 DE 102021109128 A DE102021109128 A DE 102021109128A DE 102021109128 A1 DE102021109128 A1 DE 102021109128A1
- Authority
- DE
- Germany
- Prior art keywords
- classification
- simulation
- product
- depending
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Abstract
Vorgestellt wird ein computerimplementiertes Verfahren zum Testen eines Produkts insbesondere einer Software, einer Hardware oder eines Systems umfassend Hardware und Software, bei welchem abhängig von Eingangsparametern für das Produkt eine Simulation durchgeführt wird, mit welcher eine bestimmte Eigenschaft des Produkts getestet 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 Genauigkeit oder Robustheit der Simulation bestimmt. A computer-implemented method for testing a product, in particular software, hardware or a system comprising hardware and software, is presented, in which a simulation is carried out depending on input parameters for the product, with which a specific property of the product is tested. Depending on a comparison of a result of the simulation with a requirement for the specific property, a first classification is output for the result of the simulation. A second classification is determined depending on a comparison of reference data from an alternative test of the specific property of the product with the requirement for the specific property. An accuracy or robustness of the simulation is determined depending on the first classification and the second classification.
Description
Die Erfindung betrifft ein computerimplementiertes Verfahren zum Testen eines Produkts sowie ein dazu eingerichtetes Computerprogramm und eine dazu eingerichtete Testumgebung.The invention relates to a computer-implemented method for testing a product and a computer program set up for this purpose and a test environment set up for this purpose.
Stand der TechnikState of the art
Aus der
Offenbarung der ErfindungDisclosure of Invention
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. 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 zweiten Klassifikation wird ein Klassifikator angelernt, wobei ein Klassifikatortyp eingesetzt wird, welcher Wahrscheinlichkeiten bzw. Konfidenzen ausgeben kann. Derartige Klassifikatoren können beispielsweise über Bayes-Netzwerke, Gaußprozesse oder Komitees neuronaler Netze realisiert werden. Eine weitere Realisierungsvariante ist die Verwendung der Gauss Prozess Regression (GPR): Dabei werden wichtige Größen betrachtet, von welchen die Produkteigenschaften abhängen. Für diese Größen wird mit Hilfe von GPR ein Surrogat-Modell eingelernt. Als Eingänge des Surrogat-Modells können beispielsweise die Testparameter oder andere charakteristische Größen verwendet werden. Als Wahrscheinlichkeit wird bei dieser Realisierung die lokale Unsicherheit des Surrogatmodells verwendet, welche durch den Gauß-Prozess berechnet wird. Alternativ kann bei dieser Realisierung auch eine Exploration Metrik wie maximum probability of improvement (MPI), expected improvement (EI) oder upper confidence bound (UCB) verwendet werden. Auch andere Surrogat-Ansätze wie beispielsweise Chaos Polynom Expansion lassen sich so erweitern, dass zusätzlich zum Wert des Surrogatmodells ein Konfidenzband ausgegeben wird. Abhängig von einem Ergebnis der ersten Klassifikation gibt der Klassifikator eine Wahrscheinlichkeit oder eine Konfidenz für ein Zutreffen der ersten Klassifikation aus.A computer-implemented method for testing a product, in particular software, hardware or a system comprising hardware and software, e.g. an embedded system, is presented. In the method, a simulation is carried out depending on the input parameters for the product, with which a specific property of the product is tested. Depending on a comparison of a result of the simulation with a requirement for the specific property, a first classification is output for the result of the simulation. A second classification is determined depending on a comparison of reference data from an alternative test of the specific property of the product with the requirement for the specific property. Depending on the second classification, a classifier is trained using a classifier type that can output probabilities or confidences. Such classifiers can be implemented, for example, via Bayesian networks, Gaussian processes or committees of neural networks. Another implementation variant is the use of the Gauss Process Regression (GPR): Here, important variables are considered on which the product properties depend. A surrogate model is taught for these quantities with the help of GPR. For example, the test parameters or other characteristic variables can be used as inputs to the surrogate model. In this implementation, the local uncertainty of the surrogate model, which is calculated using the Gaussian process, is used as the probability. Alternatively, an exploration metric such as maximum probability of improvement (MPI), expected improvement (EI) or upper confidence bound (UCB) can also be used in this implementation. Other surrogate approaches such as chaos polynomial expansion can also be extended in such a way that a confidence band is output in addition to the value of the surrogate model. Depending on a result of the first classification, the classifier outputs a probability or a confidence that the first classification applies.
Ebenfalls 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. 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 ein Klassifikator angelernt, welcher eine Wahrscheinlichkeit für ein Zutreffen der ersten Klassifikation und der zweiten Klassifikation ausgibt. Hierzu wird ein Klassifikatortyp eingesetzt wird, welcher Wahrscheinlichkeiten bzw. Konfidenzen ausgeben kann. Derartige Klassifikatoren können beispielsweise wie oben beschrieben realisiert werden.A computer-implemented method for testing a product, in particular software, hardware or a system comprising hardware and software, e.g. an embedded system, is also presented. In the method, a simulation is carried out depending on the input parameters for the product, with which a specific property of the product is tested. Depending on a comparison of a result of the simulation with a requirement for the specific property, a first classification is output for the result of the simulation. A second classification is determined depending on a comparison of reference data from an alternative test of the specific property of the product with the requirement for the specific property. Depending on the first classification and the second classification, a classifier is trained, which outputs a probability that the first classification and the second classification apply. For this purpose, a classifier type is used, which can output probabilities or confidences. Such classifiers can be implemented, for example, as described above.
In besonders bevorzugten Ausgestaltungen der vorgestellten Verfahren erfolgt abhängig von der ausgegebenen Wahrscheinlichkeit oder Konfidenz für das Zutreffen einer bestimmten Klassifikation eine Übernahme oder ein Verwerfen der bestimmten Klassifikation, insbesondere abhängig von einem Vergleich der ausgegebenen Wahrscheinlichkeit oder Konfidenz mit einer vorbestimmten Schwelle.In particularly preferred refinements of the methods presented, the specific classification is accepted or rejected depending on the output probability or confidence for the application of a specific classification, in particular depending on a comparison of the output probability or confidence with a predetermined threshold.
In einer weiteren bevorzugten Ausgestaltung der vorgestellten Verfahren erfolgt abhängig von der ausgegebenen Wahrscheinlichkeit oder Konfidenz eine Anforderung weiterer Referenzdaten oder es werden neue Referenzdaten automatisch erzeugt, insbesondere jeweils abhängig von einem Vergleich der Wahrscheinlichkeit oder Konfidenz mit einer vorbestimmten Schwelle.In a further preferred embodiment of the presented method, further reference data is requested depending on the probability or confidence that is output, or new reference data are generated automatically, in particular depending on a comparison of the probability or confidence with a predetermined threshold.
Durch die vorgeschlagenen Verfahren kann eine Bewertung erfolgen, ob ausreichend viele Referenzdaten und die richtigen Referenzdaten für den spezifischen Anwendungsfall vorliegen, um die Qualität der Simulation mit ausreichender Sicherheit bewerten zu können. Es kann ein insbesondere automatisiert ausgeführten iteratives Verfahren zur Anforderung weiterer Referenzmessungen realisiert werden. Diese weiteren Messungen können dann die Unsicherheit des Klassifikators für die Referenzdaten reduzieren.The proposed method can be used to assess whether there is a sufficient amount of reference data and the correct reference data for the specific application in order to assess the quality of the To be able to evaluate the simulation with sufficient certainty. A particularly automated iterative method for requesting further reference measurements can be implemented. These further measurements can then reduce the uncertainty of the classifier for the reference data.
Die vorgeschlagenen Verfahren können Indikatoren dafür liefern, ob die verwendete Simulationsumgebung und die verwendeten Simulationsmodelle eine ausreichende Qualität haben, um zu einem beliebigen Zeitpunkt im Entwicklungsprozess Fragestellungen im Zusammenhang mit Verifikation und Validierung zu beantworten. Diese Indikatoren können Bestandteil einer sogenannten Validation of Validation sein, das heißt, sie bewerten ob die Simulation zur Validierung der gegebenen Fragestellung geeignet ist.The proposed methods can provide indicators of whether the simulation environment and models used are of sufficient quality to answer verification and validation issues at any point in the development process. These indicators can be part of a so-called validation of validation, i.e. they evaluate whether the simulation is suitable for validating the given question.
Die vorgeschlagenen Verfahren ermöglichen zudem eine Identifikation von Bereichen in einem vordefinierten Testraum, für welche die Ergebnisse des Klassifikators eine niedrige Konfidenz haben.The proposed methods also enable an identification of areas in a predefined test space for which the results of the classifier have a low confidence.
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.The (technical) product can in particular be software that is to run on a computing unit in a technical system, for example a detection, monitoring or control function in an at least partially autonomous vehicle or robot. The (technical) product can also be hardware including software, for example a sensor, an actuator or a control unit of an at least partially autonomous robot or vehicle.
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 particular, the classifications within the scope of the methods presented are not used to classify product properties or to identify defects in products through classification. Rather, it is classified whether and to what extent the evaluation of a product based on a simulation corresponds to the properties of the product in reality. It offers the possibility to determine the quality of a simulation in relation to given criteria. In addition, it offers the possibility of initiating automated simulations. Another possible application is to predict the quality of simulation results without having to carry out additional reference measurements.
In einer bevorzugten Ausgestaltung stammen die Referenzdaten aus einem Test am realen Produkt oder aus einer (insbesondere besonders genauen) Referenzsimulation.In a preferred embodiment, the reference data come from a test on the real product or from a (particularly particularly accurate) reference simulation.
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.The first classification and the second classification can each include, for example, whether the product passed or failed the test or whether the test was not carried out because necessary conditions for it were not met. The first classification and the second classification can also each include whether the diagnostic or detection function comes to a false positive, a false negative, a true positive or a true negative result, in particular when simulating a detection or diagnostic function. In addition, the first and the second classification can each include whether or not a predefined, safety-relevant event has occurred, in particular in the case of a simulation of a safety-critical function. These classifications provide a stable and meaningful metric to determine the accuracy and robustness of the 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.
- - Evaluation of the accuracy or robustness of a simulation environment for testing a diagnostic function or a detection function (e.g. driver assistance functions, safety-critical functions or diagnostic functions in a vehicle control unit),
- - Evaluation of a simulation environment in the context of SOTIF simulations,
- - Evaluation of the accuracy or robustness of models used in an Hl, MIL, SIL environment for testing a diagnostic function or a detection function (e.g. driver assistance functions, safety-critical functions or diagnostic functions in a vehicle control unit),
- - Saving of real measurements through classification-based determination or prediction of the simulation accuracy or robustness,
- - Classification of a specified set of tests or scenarios, on the basis of which it is evaluated under which boundary conditions or for which type of input variables the simulation leads to results similar to reality and under which boundary conditions or for which input variables the simulation models used are too imprecise,
- - Comparison of different simulation-based test platforms or test environments based on classification-based metrics.
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 aus1 mit Details zu Block 130.
-
1 an example of a computer-implemented method for testing a product, and -
2 a snippet1 with details onblock 130.
Beschreibung der AusführungsbeispieleDescription of the exemplary embodiments
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.In software engineering, the use of models to automate test activities and to generate test artifacts in the test process is summarized under the generic term "model-based testing" (model-based testing, MBT). This can include, for example, the generation of test cases from models that describe the target behavior of the system to be tested.
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.Embedded systems in particular are dependent on coherent input signals from sensors and in turn stimulate their environment through output signals to a wide variety of actuators. In the course of the verification and upstream development phases of such a system, its model (model in the loop, MiL), software (software in the loop, SiL), processor (processor in the loop, PiL) or entire hardware (hardware in the loop, HiL) can be simulated together with a model of the environment. In automotive engineering, simulators for testing electronic control units based on this principle are sometimes referred to as component, module or integration test benches, depending on the test phase and object.
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.Such simulations are widespread in various fields of technology and are used, for example, to test embedded systems in power tools, engine control units for drive, steering and braking systems, camera systems, systems with artificial intelligence and machine learning components, robotic systems or autonomous vehicles in early phases to check their development for suitability.
Üblicherweise werden ein Simulationsmodell bzw. die enthaltenen Teilmodelle mit Hilfe von definierten Validationsmessungen kalibriert und validiert. Der Test einer Funktion erfolgt üblicherweise auf Grundlage vordefinierter Szenarien- oder Testkataloge. Diese sind häufig parametrierbar. Das Ziel einer Simulation ist es, zu einem beliebigen Zeitpunkt des Entwicklungsprozesses reale Messungen einzusparen. Um die Simulationsergebnisse mit der Realität abzugleichen und die Güte der Simulation bezogen auf den konkreten Anwendungsfall bestimmen zu können, werden in der Regel reale Messungen oder andere Referenzdaten (z.B. aus Simulationen mit höherer Genauigkeit oder anderen Testplattformen wie Software in the Loop (SIL), Hardware in the Loop (HIL) oder Vehicle in the Loop (VIL)) benötigt.A simulation model or the sub-models it contains are usually calibrated and validated with the aid of defined validation measurements. A function is usually tested on the basis of predefined scenarios or test catalogues. These can often be parameterized. The aim of a simulation is to save real measurements at any point in the development process. In order to compare the simulation results with reality and to be able to determine the quality of the simulation in relation to the specific application, real measurements or other reference data (e.g. from simulations with higher accuracy or other test platforms such as software in the loop (SIL), hardware in the Loop (HIL) or Vehicle in the Loop (VIL)).
Bislang werden die Ergebnisse solcher Simulationsmodelle aufgrund fehlenden Vertrauens in ihre Zuverlässigkeit in der Regel nur begrenzt in Freigabeentscheidungen einbezogen.So far, the results of such simulation models have usually only been included to a limited extent in release decisions due to a lack of confidence in their reliability.
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.In the context of product development, classification methods can be used, among other things, to develop diagnostic functions for control units and in the area of design of reliability. The focus is on recognizing typical error patterns based on measurement data. Classification methods and other machine learning methods are also used in a variety of ways in control unit functions for driver assistance functions.
Im Folgenden werden Beispiele für den Einsatz von Klassifikatoren bzw. Klassifikationsverfahren im Rahmen einer Verifikation oder Validierung eines Produkts beschrieben, beispielsweise für die Validierung einer eigebetteten SoftwareFunktion, insbesondere für Fahrfunktionen eines zumindest teilautomatisierten Fahrzeugs oder Roboters.The following describes examples of the use of classifiers or classification methods as part of a verification or validation of a product, for example for the validation of an embedded software function, in particular for driving functions of an at least partially automated vehicle or robot.
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.The simulation-based test environment can access various models and tools and examine the product to be tested using a simulation. In particular, the test environment can use MiL, SiL, HiL or PiL methods.
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.Results of the test or tests are transferred from the simulation-based
Aus Block 104 können weitere Informationen wie relevante Signale der Simulation, Referenzdaten, Modellparameter oder weitere Eingangsgrößen an Block 130 übergeben werden.Further information such as relevant signals of the simulation, reference data, model parameters or further input variables can be transferred to block 130 from
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.Reference data from an alternative test are transferred from
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.In the
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
- - for software, hardware or system tests: test passed / test failed or test/ approved / test not approved
- - for diagnostic and detection functions: false positive / false negative / true positive / true negative
- - in the context of simulations for functional safety, e.g. SOTIF simulations (SOTIF = Safety Of The Intended Functionality): predefined event occurred / not occurred
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.Depending on the application, further classification criteria can be defined. In this case, classification means in particular the assignment of the simulation results or reference data to one or more classes of a discrete number of classes.
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.In addition, a classifier can be trained in
In
Block 130 kann neben den Klassifikationen aus den Blöcken 110 und 120 wie zu
Block 130 umfasst in
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 also includes a
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.Block 130 also includes a
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.For feature selection in
Für das Anlernen des Klassifikators werden im Folgenden zwei unterschiedliche Varianten dargestellt.Two different variants are presented below for teaching the classifier.
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.In the first variant, an overall classifier, for example in the form of a confusion matrix, is determined in
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.Once the classifier has been learned, only the results from the simulation and the parameters and input variables used for learning are used in its evaluation to determine the accuracy or robustness of the simulation. In order to determine the classification and the simulation quality for further scenarios or tests, reference measurements are no longer required.
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.In the second variant for teaching the classifier, the output of the classifier is determined for the reference data. The result of this classification and the associated parameters and input variables are used for training. The training can in turn be carried out according to established methods of supervised machine learning. Through the supervised learning, a model is created which establishes a connection between these parameters and input variables on the one hand and the known classification on the other hand.
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.In order to carry out the simulation quality for further tests or scenarios, additional simulations are carried out and evaluated with the existing methods. Instead of generating further reference data (e.g. through measurements), the learned classifier is now used for the reference data and evaluated with other input variables.
Im Folgenden soll nun ein Klassifikatortyp verwendet werden, dessen Ergebnis eine Information über eine Wahrscheinlichkeit oder Konfidenz des Klassifikationsergebnisses ausgibt. Beispielsweise können als derartige Klassifikatoren Bayes-Netzwerke, Klassifikatoren basierend auf Gaußprozessen, Komitees neuronaler Netze oder andere Metamodelle mit Unsicherheit eingesetzt werden. Eine Realisierungsvariante ist die Verwendung der Gauß-Prozessregression (GPR): Dabei werden wichtige Größen betrachtet, von welchen die Produkteigenschaften abhängen. Für diese Größen wird mit Hilfe von GPR ein Surrogat-Modell eingelernt. Als Eingänge des Surrogat-Modells können beispielsweise die Testparameter oder andere charakteristische Größen verwendet werden.A classifier type is now to be used below, the result of which outputs information about a probability or confidence of the classification result. For example, Bayesian networks, classifiers based on Gaussian processes, committees of neural networks or other meta-models with uncertainty can be used as such classifiers. One implementation variant is the use of the Gaussian process regression (GPR): important variables are considered on which the product properties depend. A surrogate model is taught for these quantities with the help of GPR. For example, the test parameters or other characteristic variables can be used as inputs to the surrogate model.
Eine solche Eingangsgröße könnte ein Skalar sein, das sich aus der Formalisierung der Anforderung ergibt. In vielen Fällen lässt sich die Anforderung so formalisieren, dass sie auf eine bestimmte Größe abgebildet wird. Die Anforderung ist beispielsweise genau dann erfüllt, wenn diese bestimmte Größe größer oder gleich null ist. In diesem Beispiel kann mit einer Gauß-Prozessregression ein Surrogatmodell für die bestimmte Größe gebildet werden.Such an input variable could be a scalar resulting from the formalization of the requirement. In many cases, the requirement can be formalized in such a way that it is mapped to a specific size. For example, the requirement is met if and only if that particular quantity is greater than or equal to zero. In this example, a Gaussian process regression can be used to form a surrogate model for the specific quantity.
Das Surrogatmodell kann als Eingangsgrößen von den Testparametern oder aber einer Menge anderer skalarer Größen abhängen. Als Wahrscheinlichkeit wird bei dieser Realisierung die lokale Unsicherheit des Surrogatmodells verwendet, welche durch den Gauß-Prozess berechnet wird. Alternativ kann bei dieser Realisierung auch eine Exploration Metrik wie maximum probability of improvement (MPI), expected improvement (EI) oder upper confidence bound (UCB) verwendet werden. Auch andere Surrogat-Ansätze wie beispielsweise Chaos Polynom Expansion lassen sich so erweitern, dass zusätzlich zum Wert des Surrogatmodells ein Konfidenzband ausgegeben wird.The surrogate model can depend on the test parameters or a number of other scalar variables as input variables. In this implementation, the local uncertainty of the surrogate model, which is calculated using the Gaussian process, is used as the probability. Alternatively, an exploration metric such as maximum probability of improvement (MPI), expected improvement (EI) or upper confidence bound (UCB) can also be used in this implementation. Other surrogate approaches such as chaos polynomial expansion can also be extended in such a way that a confidence band is output in addition to the value of the surrogate model.
Die Streuung der Klassifikatoren oder der darin eingebetteten Surrogatmodelle ist ein Maß für das Vertrauen, das den Ergebnissen des Klassifikators entgegengebracht werden kann. Die Konfidenz, die durch Wahrscheinlichkeiten ausgedrückt wird, ist von der Streuung der Testergebnisse im Parameterraum zu unterscheiden. Die erstgenannte Streuung kann als Wahrscheinlichkeit im Sinn von Bayes als Vertrauensmaß interpretiert werden, die Streuung im Parameterraum wird durch frequentistische Verteilungen beschrieben.The scatter of the classifiers or the surrogate models embedded in them is a measure of the confidence that can be placed in the results of the classifier. Confidence, which is expressed by probabilities, is to be distinguished from the spread of test results in the parameter space. The first-mentioned scatter can be interpreted as a probability in the sense of Bayes as a confidence measure, the scatter in the parameter space is described by frequentistic distributions.
Wenn im Folgenden von Wahrscheinlichkeiten gesprochen wird, so bezieht sich dies auf die Konfidenz in die Ergebnisse des Klassifikators. Vorteilhafterweise wird hierzu der Klassifikator mit Daten ausgewertet wird, welche nicht im Trainingsdatensatz enthalten sind.When we speak of probabilities in the following, this refers to the confidence in the results of the classifier. For this purpose, the classifier is advantageously evaluated with data that are not contained in the training data set.
Mithilfe eines solchen Klassifikators können Punkte im Testraum identifiziert werden, für welche die Klassifikation nicht eindeutig vorgenommen werden kann, d.h. es kann nicht mit hinreichend großer Wahrscheinlichkeit ein Klassifikationsattribut zugeordnet werden. Diese Punkte können insbesondere als Kandidaten für neue Referenzmessungen vorgeschlagen werden.Such a classifier can be used to identify points in the test space for which the classification cannot be made unambiguously, i.e. a classification attribute cannot be assigned with a sufficiently high probability. In particular, these points can be proposed as candidates for new reference measurements.
Um bewerten zu können, für welche Tests oder Szenarien eine Simulation gültig ist bzw. für welche Tests oder Szenarien die Simulation Ergebnisse mit ausreichender Qualität liefert, kann ein Verfahren umfassend folgenden Schritte durchgeführt werden:
- 1. Training eines Klassifikators anhand der Klassifikation von Referenzdaten und ggf. Simulationsdaten.
- 2. Auswertung des Klassifikators mit Hilfe von Parametern und / oder charakteristischen Größen aus der Simulation.
- 3. Für jede Parameterkonfiguration wird ausgewertet, ob der eingelernte Klassifikator mit ausreichend hoher Wahrscheinlichkeit zu einem Ergebnis führt.
- 4. Anforderung weiterer Referenzmessungen und erneutes Training des Klassifikators, bis der Klassifikator ausreichend eingelernt ist und im Rahmen der geforderten Wahrscheinlichkeiten ausreichend sichere Ergebnisse liefert.
- 5. Optionale Bewertung des Testraums und Vergleich der Simulationsergebnisse mit den Ergebnissen, die aus Referenzdaten und Klassifikation abgeleitet wurden. Interpretation der Ergebnisse und Einbindung in den Validierungsprozess, den Produkt-Entwicklungsprozess oder die Weiterentwicklung des Simulationsmodells.
- 1. Training of a classifier based on the classification of reference data and, if necessary, simulation data.
- 2. Evaluation of the classifier using parameters and/or characteristic values from the simulation.
- 3. For each parameter configuration, it is evaluated whether the learned classifier leads to a result with a sufficiently high probability.
- 4. Request for further reference measurements and renewed training of the classifier until the classifier has been sufficiently trained and delivers sufficiently reliable results within the framework of the required probabilities.
- 5. Optional evaluation of the test room and comparison of the simulation results with the results derived from reference data and classification. Interpretation of the results and integration into the validation process, the product development process or the further development of the simulation model.
Im Folgenden werden zwei Varianten von Verfahren unter Einsatz eines solchen Klassifikatortyps, dessen Ergebnis eine Information über eine Wahrscheinlichkeit des Klassifikationsergebnisses ausgibt, vorgestellt.Two variants of methods using such a classifier type, the result of which outputs information about the probability of the classification result, are presented below.
In einer erste Variante wird der Klassifikator für die Referenzdaten anhand der vorhandenen Daten trainiert. Für jeden Punkt im Parameterraum, für den eine Referenzmessung vorhanden ist, ist das Ergebnis eindeutig, das heißt die Wahrscheinlichkeit ist entweder 0 oder 1.In a first variant, the classifier for the reference data is trained using the existing data. For every point in the parameter space for which a reference measurement is available, the result is unambiguous, i.e. the probability is either 0 or 1.
Die Auswahl, welche Eingangsgrößen oder welcher Klassifikatortyp für einen bestimmten Anwendungsfall am besten geeignet ist, kann automatisiert erfolgen. Zudem können auch Prioritäten vorgegeben werden. Die Effizienz des Klassifikators kann mit den üblichen Größen precision und recall ausgedrückt werden. Das Training des Klassifikators hängt davon ab, welche Art von Fehlklassifikation akzeptiert wird bzw. wie die unterschiedlichen Arten von Fehlklassifikation gewichtet werden. Manche Klassifikatoren ermöglichen es dem Anwender, die unterschiedlichen Arten von potenzieller Fehlklassifikation zu gewichten. Dies wird häufig mit ROC curves (Grenzwertoptimierungskurven) graphisch veranschaulicht. Über eine Schnittstelle kann in einer bevorzugten Ausgestaltung der beschriebenen Verfahren ausgewählt werden, welche Art von potenzieller Fehlklassifikation minimiert wird. Wird das Verfahren beispielsweise dazu verwendet, die Gültigkeit von Tests zu bewerten, so könnte der Anwender festlegen, dass fälschlicherweise als „bestanden“ gewertete Tests stärker gewichtet werden als fälschlicherweise als „nicht bestanden“ eingestufte Tests.The selection of which input variables or which classifier type is best suited for a specific application can be automated. In addition, priorities can also be specified. The efficiency of the classifier can be expressed using the usual quantities precision and recall. The training of the classifier depends on which type of misclassification is accepted or how the different types of misclassification are weighted. Some classifiers allow allows the user to weigh the different types of potential misclassification. This is often illustrated graphically with ROC curves (limit optimization curves). In a preferred embodiment of the described method, an interface can be used to select which type of potential incorrect classification is minimized. For example, if the method is used to assess the validity of tests, the user could specify that tests incorrectly rated as "pass" are weighted more heavily than tests incorrectly rated as "fail".
Als Beispiel werden in den folgenden Tabellen Ausgaben eines Klassifikator betrachtet, der bewertet, ob ein Test bestanden wurde, nicht bestanden wurde oder nicht freigeben wurde. In der oberen Tabelle ist eine beispielhafte Ausgabe nach dem Training für einen im Trainingsdatensatz enthaltenen Datenpunkt zu sehen. Die Wahrscheinlichkeiten für ein bestimmtes Klassifikationsattribut sind dann entweder 0 oder 1. Wird der eingelernte Klassifikator später an einem anderen Punkt außerhalb des Trainingsdatensatzes ausgewertet, so ergeben sich Wahrscheinlichkeiten zwischen 0 und 1, siehe beispielsweise die untere Tabelle.
Nach dem Training kann der Klassifikator dazu verwendet werden, Szenarien oder Tests auszuwerten, für welche keine Referenzdaten vorliegen. Liegt die Wahrscheinlichkeit für eine Klasse über einem vorab definierten Konfidenz-Grenzwert, so wird das Ergebnis übernommen. Das Klassifikationsergebnis kann dann mit dem Klassifikationsergebnis aus der Simulation verglichen werden und das Gesamtergebnis in die Bewertung einer Simulationsgenauigkeit übernommen werden.After training, the classifier can be used to evaluate scenarios or tests for which no reference data is available. If the probability for a class is above a previously defined confidence limit, the result is accepted. The classification result can then be compared with the classification result from the simulation and the overall result can be included in the evaluation of a simulation accuracy.
Führt der Klassifikator für die verwendeten Parameter und anderen Eingangsgrößen zu keinem eindeutigen Ergebnis (d.h. für keines der möglichen Attribute ist die Wahrscheinlichkeit größer als der Grenzwert), so ist dies ein Indikator, dass für den betreffenden Test bzw. das spezifisch parametrierte Szenario weitere Referenzdaten benötigt werden. Um die Unsicherheit zu reduzieren, können insbesondere Referenzdaten für diesen Punkt im Parameterraum beziehungsweise für diese Eingangsgrößen angefordert werden bzw. entsprechende Messungen oder hochgenaue Simulationen durchgeführt werden.If the classifier does not lead to a clear result for the parameters used and other input variables (i.e. the probability for none of the possible attributes is greater than the limit value), this is an indicator that further reference data is required for the test in question or the specifically parameterized scenario will. In order to reduce the uncertainty, reference data can be requested for this point in the parameter space or for these input variables, or corresponding measurements or high-precision simulations can be carried out.
In der folgenden Tabelle wird als Klassifikationsergebnis jeweils eine Wahrscheinlichkeit (Wk) für fünf Punkte im Parameterraum gezeigt:
Eine Bewertung des Klassifikationsergebnisses kann nun über den Vergleich mit einer vorgegebenen Schwelle erfolgen. Beispielsweise kann eine Wahrscheinlichkeitsschwelle, für welche ein Klassifikationsergebnis übernommen wird auf >0,75 gelegt werden. In diesem Fall würde für Punkt 1 „nicht bestanden“, für Punkt 3 „bestanden“ und für Punkt 5 „nicht freigeben“ übernommen werden. Für die Punkte 2 und 4 ist das Kriterium einer Übernahme nicht erfüllt, so dass die Klassifikation für diese Punkte als unsicher eingestuft wird.The classification result can now be evaluated by comparing it with a specified threshold. For example, a probability threshold for which a classification result is accepted can be set to >0.75. In this case, point 1 would be “failed”, point 3 “passed” and point 5 “not approved”. For points 2 and 4, the acceptance criterion is not met, so that the classification for these points is classified as uncertain.
Anstatt den Klassifikator wie in der beschriebenen ersten Variante für die Referenzdaten einzulernen kann auch der Klassifikator für das Gesamtergebnis vorab eingelernt werden. In diesem Fall müssen die Unsicherheiten nicht durchpropagiert werden müssen, sondern ergeben sich unmittelbar aus der intrinsischen, durch Training angelernten Unsicherheit des Klassifikators und der endlichen Zahl der Stützstellen. Auch in diesem Fall hat der Anwender die Möglichkeit, vorab zu priorisieren, welche Art von Fehlklassifikation vermieden werden soll. In diesem Fall bedeutet die Priorisierung, für welche Art von Ereignissen die Bewertung der Güte der Simulation eine hohe Genauigkeit haben soll.Instead of teaching in the classifier for the reference data as in the first variant described, the classifier for the overall result can also be taught in in advance. In this case they have to Uncertainties do not have to be propagated through, but result directly from the intrinsic uncertainty of the classifier, learned through training, and the finite number of support points. In this case, too, the user has the option of prioritizing what type of misclassification should be avoided. In this case, the prioritization means for which type of events the assessment of the quality of the simulation should have a high degree of accuracy.
Als Beispiel wird in den folgenden Tabellen ein Klassifikator betrachtet, der bewertet, ob ein Test bestanden wurde, nicht bestanden wurde oder nicht freigeben wurde. Hierbei werden die Wahrscheinlichkeiten für die Einträge einer Matrix eingelernt. In der oberen Tabelle ist der Status nach dem Training für einen Punkt aus dem Trainingsdatensatz zu sehen. Die Wahrscheinlichkeiten sind entweder 0 oder 1. Wird der eingelernte Klassifikator später an einem anderen Punkt ausgewertet, so ergeben sich Wahrscheinlichkeiten zwischen 0 und 1, wie in der unteren Tabelle gezeigt.
Eine Bewertung des Klassifikationsergebnisses kann erfolgen wie oben beschrieben: Liegt für eines der Attribute die Wahrscheinlichkeit über einer vorgegebenen Grenze, so wird das Klassifikationsergebnis für den entsprechenden Punkt im Parameterraum übernommen; ist dieses Kriterium für keines der Attribute erfüllt, so wird der Punkt als unsicher eingestuft. Im Beispiel der unteren Tabelle würde das Ergebnis bei einer Wahrscheinlichkeitsschwelle >0,6 als unsicher eingestuft, bei einer Wahrscheinlichkeitsschwelle >0,4 das Ergebnis „in der Referenz nicht bestanden - in der Simulation bestanden“ übernommen.The classification result can be evaluated as described above: If the probability for one of the attributes is above a predetermined limit, the classification result for the corresponding point in the parameter space is adopted; if this criterion is not met for any of the attributes, the point is classified as uncertain. In the example in the table below, the result would be classified as uncertain with a probability threshold >0.6, with a probability threshold >0.4 the result "failed in the reference - passed in the simulation" would be accepted.
Beide dargestellten Varianten ermöglichen es, in einem iterativen Prozess neue Daten anzufordern. Für jeden Datenpunkt, für den die Klassifikation nicht eindeutig ist, wird vorzugsweise sowohl eine neue Referenz (z.B. reale Messung oder Simulation mit hoher Genauigkeit) als auch eine neue Simulation angefordert.Both variants shown make it possible to request new data in an iterative process. For each data point for which the classification is not clear, both a new reference (e.g. real measurement or simulation with high accuracy) and a new simulation are preferably requested.
Anstatt direkt neue Referenzdaten anzufordern, kann auch eine große Zahl an Simulationen durchgeführt und für jede simulierte Parameterkonfiguration der eingelernte Klassifikator für die Referenzdaten ausgewertet. Nach Abschluss aller Simulationen kann dann eine Bewertung des Parameterraums vorgenommen werden. Anhand dieser Bewertung lässt sich abschätzen, inwieweit sich das Ergebnis des Gesamtklassifikators und damit die Bewertung der Vertrauenswürdigkeit der Statistik durch weitere Referenzmessungen verbessern lässt. Des Weiteren kann die Art der Abweichung bewertet werden. Werden beispielsweise Testfälle in einer bestimmten Region des Parameterraums in der Simulation nicht freigegeben, in den Referenzdaten jedoch mit hoher Wahrscheinlichkeit freigegeben und bestanden, so kann gegebenenfalls auf die Durchführung weiterer Referenzmessungen verzichtet werden. Von besonderem Interesse können dagegen die Punkte sein, für die keines der Klassifikationsergebnisse ausgegeben wird, weil alle Wahrscheinlichkeiten zu niedrig sind.Instead of directly requesting new reference data, a large number of simulations can also be carried out and the taught-in classifier for the reference data can be evaluated for each simulated parameter configuration. After completion of all simulations, an evaluation of the parameter space can then be made. Based on this evaluation, it can be estimated to what extent the result of the overall classifier and thus the evaluation of the reliability of the statistics can be improved by further reference measurements. The type of deviation can also be evaluated. If, for example, test cases in a certain region of the parameter space are not approved in the simulation, but are approved and passed in the reference data with a high degree of probability, it may be possible to dispense with carrying out further reference measurements. On the other hand, the points for which none of the classification results are given because all the probabilities are too low can be of particular interest.
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
Für jede mögliche Parameterkonfiguration bzw. Kombination aus Eingangsgrößen wird ein Test in der Simulationsumgebung (110 in
Zur Bestimmung der Genauigkeit oder Robustheit der Simulation in der Simulationsumgebung (110 in
- 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.
- An entry in the matrix corresponds to the number of tests that were passed both in the simulation and in the reference measurement. Another entry results from the number of tests that passed in the simulation and failed in the reference measurement, etc. In this simple case, the set of all tests is totaled and an average value is formed.
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.However, the user can optionally have the option of selecting via inputs which parameters are to be totaled. In addition, he can select, for example, that a confusion matrix should be created for each speed value. The parameters selected by the user can therefore be assigned to two different categories: those that are averaged and those for which the confusion matrix is formed separately.
Die Konfusionsmatrix kann auch eine Funktion in einem mehrdimensionalen Parameterraum sein (in diesem Fall z.B. Geschwindigkeit des betrachteten Fahrzeugs und Abstand beim Einscheren).The confusion matrix can also be a function in a multidimensional parameter space (in this case e.g. speed of the considered vehicle and distance when cutting in).
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“.If no parameter is summed, one of the following classes results for each point in the multidimensional parameter space: "Test passed in simulation and passed in the reference", "Passed test in simulation and failed in reference", "Failed test in simulation and in passed the reference", "failed the test in simulation and failed the reference".
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.In the application example for the release of tests, the classification can be extended in the following ways: "Test passed", "Test failed", "Release condition for test not met". The number of entries in the confusion matrix and the combinatorics of the classes from the comparison of simulation and reference measurement then increase accordingly.
Eine Konfusionsmatrix für den Anwendungsfall zur Bewertung eines Tests könnte beispielsweise wie folgt aussehen:
Für ein Fahrmanöver, das nicht gefahren wurde, lässt sich alleine auf Grundlage der initialen Fahrzeuggeschwindigkeiten, des Abstands beim Einscheren und weiterer Systemgrößen ein Risiko vorhersagen, dass die Simulation das Testergebnis falsch vorhersagt. Die beschriebenen Klassifizierungsverfahren können beispielsweise eine Menge von Tests liefern, für welche die Simulation „bestanden“ ausgibt, obwohl ein hohes Risiko besteht, dass der Test nicht bestanden wurde. Die Klassifikatoren mit Konfidenzausgabe liefern nun eine Wahrscheinlichkeit dafür, dass die Bewertung falsch ist und gegebenenfalls weitere Referenzmessungen benötigt werden, um die Bewertung des Vergleichs aus Simulationen und Referenzdaten robuster zu machen. Aus den Wahrscheinlichkeiten für die Tests mit uneindeutigem Ergebnis kann somit eine Priorisierung für weitere Referenzmessungen abgeleitet werden.For a driving maneuver that was not driven, a risk can be predicted solely on the basis of the initial vehicle speeds, the distance when cutting in and other system variables that the simulation will incorrectly predict the test result. For example, the classification methods described can provide a set of tests for which the simulation reports "passed" even though there is a high risk that the test has failed. The classifiers with confidence output now provide a probability that the assessment is wrong and that further reference measurements may be required to make the assessment of the comparison from simulations and reference data more robust. A prioritization for further reference measurements can thus be derived from the probabilities for the tests with ambiguous results.
Als weitere beispielhafte Anwendung soll die Genauigkeit oder Robustheit einer Simulation aus einer Simulationsumgebung für eine Diagnose- oder Detektionsfunktion bestimmt werden.As a further exemplary application, the accuracy or robustness of a simulation from a simulation environment for a diagnosis or detection function is to be determined.
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.In systems with embedded software, among others, diagnostic functions and detection functions are often used. Some of these functions are specifically designed to detect and report errors. Examples of this are the diagnostic functions for monitoring an exhaust aftertreatment system. If a conspicuous behavior occurs in relevant parameter ranges that indicates a malfunction, a status flag is set, for example, which is processed further. If such an event occurs repeatedly, an error is displayed to the driver and corresponding information is stored in the relevant error memory of the engine control unit.
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).Another example of the use of diagnostic or detection functions are safety-related functions for driver assistance systems such as AEB or ESP. Here, too, signals are checked for plausibility on the basis of specified criteria and, if certain events occur, suitable countermeasures are initiated (such as stopping safely, initiating emergency braking or other interventions in the vehicle's actuators).
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.
- - False positive: No event occurred, but the implemented algorithm reported an event.
- - False negative: No event occurred, the implemented algorithm reported an event.
- - True positive: An event occurred, the implemented algorithm reported an event.
- - True negative: no event occurred, the implemented algorithm did not report an event.
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.In order to save costs or to carry out tests in an early phase of development, such functions are increasingly being tested in simulation-based platforms or test environments, e.g. with SIL, MIL or HIL methods.
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).As a result of a determination of the accuracy or robustness of such a simulation in a test environment for a diagnosis or detection function, a metric, for example a confusion matrix, can be calculated from the comparison of classifications for the simulation results and for the corresponding reference data. In this case, too, the user can optionally select which parameters are to be totaled and which are not. If none of the parameters are averaged, each point in the parameter space can be assigned to one of the n classes (e.g. 16 classes in a 4x4 matrix for the above classifications), depending on what was observed in the simulation and in the reference measurement. When averaging over individual parameters, a trained classification model can specify a probability for each point and for each category (confusion matrix for each point, as in the previous case).
Eine Konfusionsmatrix für den Anwendungsfall zur Bewertung der Performance einer Diagnose- oder Detektionsfunktion könnte beispielsweise wie folgt aussehen:
Die Verwendung und Bewertung der Klassifikationsergebnisse hängt gewöhnlich stark vom Anwendungsfall ab. Soll in erster Linie das Risiko minimiert werden, dass falsch negative Ereignisse auftreten, so können diese Ergebnisse entsprechend gewichtet werden. Punkte im Parameterraum, an denen die Simulation falsch negativ ergibt, der Klassifikator der Referenzdaten hingegen ein anderes Ergebnis (oder umgekehrt) könnten höher priorisiert werden und Anlass zur Durchführung weiterer Messungen geben. Die Konfidenzausgabe des Klassifikators kann dann dazu genutzt werden, mögliche Kandidaten für weitere Referenzmessungen zu identifizieren. Lassen sich noch keine zuverlässigen Aussagen über die Genauigkeit der Simulation für bestimmte Fälle treffen, so können weitere Referenzmessungen durchgeführt werden, um eine robuste Bewertung der Simulationsqualität zu erreichen.The use and evaluation of the classification results usually depends heavily on the use case. If the primary aim is to minimize the risk of false negative events occurring, these results can be weighted accordingly. Points in the parameter space where the simulation gives a false negative, but the classifier of the reference data gives a different result (or vice versa reverse) could be prioritized higher and give reason to carry out further measurements. The confidence output of the classifier can then be used to identify possible candidates for further reference measurements. If it is not yet possible to make reliable statements about the accuracy of the simulation for certain cases, further reference measurements can be carried out in order to achieve a robust assessment of the simulation quality.
Als weitere beispielhafte Anwendung sollen Simulationen zur Absicherung der funktionalen Sicherheit eines Produkts betrachtet werden, beispielsweise SOTIF-Simulationen von Fahrfunktionen eines zumindest teilautomatisierten Fahrzeugs.As a further exemplary application, simulations to ensure the functional safety of a product are to be considered, for example SOTIF simulations of driving functions of an at least partially automated vehicle.
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.For example, the scenario of a freeway exit can be considered as a simulation. Error models can be used to simulate incorrect lane detection, which can cause the vehicle to leave the lane. For each case that was observed in the real field, it is examined whether the vehicle left the lane at the exit or not as a result of the error. Now these scenarios are reproduced in the simulation with the help of error models and it is checked whether the vehicle has left the lane in the simulation or not. For each associated point in the parameter space of the error model, one of the classifications "Event occurred in simulation and real", "Event did not occur in simulation and did not occur in real", "Event occurred in simulation and did not occur in real", "Event in simulation not occurred and actually occurred". In this case, a classification using the parameters of the error model using a meta-model makes it possible to predict the prediction accuracy of the simulation even for simulations that are not actually observed. In this case, the confusion matrix and information-theoretic quantities derived from it provide an indication of the accuracy or robustness of the simulation model for this type of investigation.
Auch in diesem Fall können abhängig von einer Konfidenzausgabe des Klassifikators geeignete Punkte für Nachmessungen oder unsichere Regionen im Parameterraum identifiziert werden. Wiederum hängt es von der Priorisierung des Benutzers ab, wie er Abweichungen zwischen Simulation und der aus den Referenzdaten abgeleiteten Klassifikation bewertet und priorisiert.In this case, too, depending on a confidence output from the classifier, suitable points for subsequent measurements or uncertain regions in the parameter space can be identified. Again it depends on the prioritization of the user how he evaluates and prioritizes deviations between the simulation and the classification derived from the reference data.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION
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.This list of documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent Literature Cited
- DE 102020205539 [0002]DE 102020205539 [0002]
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021109128.4A DE102021109128A1 (en) | 2021-04-13 | 2021-04-13 | Procedure for testing a product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021109128.4A DE102021109128A1 (en) | 2021-04-13 | 2021-04-13 | Procedure for testing a product |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102021109128A1 true DE102021109128A1 (en) | 2022-10-13 |
Family
ID=83361992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102021109128.4A Pending DE102021109128A1 (en) | 2021-04-13 | 2021-04-13 | Procedure for testing a product |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102021109128A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020205539A1 (en) | 2020-04-30 | 2021-11-04 | Robert Bosch Gesellschaft mit beschränkter Haftung | Method and device for testing a technical system |
-
2021
- 2021-04-13 DE DE102021109128.4A patent/DE102021109128A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020205539A1 (en) | 2020-04-30 | 2021-11-04 | Robert Bosch Gesellschaft mit beschränkter Haftung | Method and device for testing a technical system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102008013366B4 (en) | Method for providing information for driver assistance systems | |
DE102020205539A1 (en) | Method and device for testing a technical system | |
DE102018128289A1 (en) | METHOD AND DEVICE FOR AUTONOMOUS SYSTEM PERFORMANCE AND CLASSIFICATION | |
DE102020005507A1 (en) | Method for testing an automated driving function | |
DE102010013943A1 (en) | Method and device for a functional test of an object recognition device of a motor vehicle | |
DE102019124018A1 (en) | Method for optimizing tests of control systems for automated vehicle dynamics systems | |
DE102020209680B3 (en) | Signal processing path, device for environment recognition and method for validating a driving system that can be operated automatically | |
DE102019209553A1 (en) | Method for evaluating a state of a three-dimensional test object and corresponding evaluation system | |
EP3757792A2 (en) | Method and device for testing a system, for selecting real tests and for testing systems with machine learning components | |
WO2023041458A2 (en) | Computer-implemented method, modules, and system for detecting anomalies in industrial manufacturing processes | |
WO2019119011A1 (en) | Behaviour model of an environment sensor | |
AT523850B1 (en) | Computer-aided method and device for probability-based speed prediction for vehicles | |
DE102021109126A1 (en) | Procedure for testing a product | |
DE102021109129A1 (en) | Procedure for testing a product | |
WO2023041459A1 (en) | Computer-implemented method and system for detecting anomalies, and method for detecting anomalies during a final acoustic testing of a transmission | |
DE102021109128A1 (en) | Procedure for testing a product | |
DE102019209463A1 (en) | Method for determining the trust value of an object of a class | |
DE102021109131A1 (en) | Procedure for testing a product | |
WO2018177526A1 (en) | Robustness analysis for vehicles | |
DE102021109130A1 (en) | Procedure for testing a product | |
DE102020206327A1 (en) | Method and device for testing a technical system | |
DE102021109127A1 (en) | Procedure for testing a product | |
DE102020205540A1 (en) | Method and device for testing a technical system | |
DE102020206321A1 (en) | Method and device for testing a technical system | |
DE102019218476A1 (en) | Device and method for measuring, simulating, labeling and evaluating components and systems of vehicles |