DE102021109128A1 - Procedure for testing a product - Google Patents

Procedure for testing a product Download PDF

Info

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
Application number
DE102021109128.4A
Other languages
German (de)
Inventor
Joachim Sohns
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021109128.4A priority Critical patent/DE102021109128A1/en
Publication of DE102021109128A1 publication Critical patent/DE102021109128A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

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.

Figure DE102021109128A1_0000
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.
Figure DE102021109128A1_0000

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 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.From the DE 10 2020 205539 a method for testing a technical system, in particular an at least partially autonomous robot or vehicle, is known. A virtual test classifier is introduced, which combines the requirements of model validation and product testing.

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.
The method enables the following applications, among others, and offers the following advantages in particular:
  • - 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 aus 1 mit Details zu Block 130.
Embodiments of the invention are explained in more detail below with reference to the accompanying drawings. In the drawings show schematically:
  • 1 an example of a computer-implemented method for testing a product, and
  • 2 a snippet 1 with details on block 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.

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. 1 shows an example implementation of a computer-implemented method for testing a product. Different simulation models and different classifiers can be integrated into the validation using the framework described for this purpose.

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.Input variables 101 can be entered into an input model 102, which outputs output variables to a simulation-based test environment 110. Furthermore, other input variables 103, such as scenario lists, data from a test catalog or similar information, can be given directly to the simulation-based test environment 110.

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 test environment 110 to a classification instance 111, which carries out a classification for them. A result of the classification is transferred from the classification instance 111 to block 130 .

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 block 104 .

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 block 120 to a classification instance 121 . The alternative test can in particular be a test on the real product or it can be a particularly precise, more complex simulation than the simulation in block 110. Block 120 can in particular be a database with reference data. Alternatively, block 120 can also be a further test environment, for example also an apparatus for generating further measurements, in particular on the real product.

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 classification instances 111 or 121, the output variables or results of the simulation from block 110 or the output variables or reference data from block 120 are classified according to predetermined criteria. These criteria can be determined, for example, via an interface from a user input.

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
Possible classification criteria can be, for example:
  • - 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.Block 130 includes a classification-based evaluation of the accuracy or robustness of the simulation of block 110, the outputs 140 include a measure of the accuracy or robustness of the simulation of block 110. For example, the outputs 140 may include a robustness or accuracy metric such as a measure of information gain ( information gain) or characteristic variables, as known from machine learning, such as a confusion matrix.

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 block 130, which makes it possible to carry out the accuracy or robustness of the simulation for further tests or scenarios without having to carry out corresponding new reference measurements.

2 zeigt einen Ausschnitt aus 1 mit Details zu Block 130. 2 shows a section 1 with details on 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.In 2 the connected blocks 110 and 120 and their inputs are not shown. The classification instances 111 and 121 and their inputs and outputs correspond to the descriptions 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.In addition to the classifications from blocks 110 and 120, block 130 can 1 also receive further input variables from block 104 as described above. In particular, block 130 includes an input entity 131 for receiving and processing input data.

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 includes in 2 an optional block 132 for training a simulation quality classifier. For this purpose, this block 132 contains in particular an algorithm for comparing different possible classifiers and for selecting the classifier with the greatest accuracy (feature selection). This serves to optimize the result of the classification. Block 132 may receive information from block 131 to train the classifier.

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 133 for model creation, in particular for creating a meta-model, with which an accuracy or robustness of the simulation can also be determined in areas for which no input data or no reference data are available. Block 133 can receive input data from block 131 for model creation.

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 block 134 for calculating and outputting output variables 140, in particular including a measure of the accuracy or robustness of the simulation from block 110. Block 134 can receive input data from blocks 132 and 133 for the calculation.

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 block 132, model creation in block 133 and calculation of output variables 140 in block 134, block 130 has machine learning algorithms and classification algorithms or can access a corresponding library that includes these algorithms.

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 block 130 . This overall classifier includes e.g. n x n classes and possibly contains a probability for each of these classes. The result of this overall classification and the associated parameters and input variables are used for training. The training is carried out, for example, using established methods of supervised machine learning. A model is created through supervised learning, which establishes a connection between the parameters and input variables on the one hand and the known overall classification on the other. The user can optionally select for which elements of the n x n matrix the learned overall classifier should reproduce the results with the greatest accuracy. For example, if the user gives the diagonal elements of the n x n matrix a higher weight, this means that the classifier has a high level of accuracy for those simulations for which the same classification result was achieved in the simulation and in the reference measurement. To achieve this goal, a derived variable such as a weighted sum can be used instead of the n x n matrix for training the overall classifier. Another possible variant is to use methods for multi-objective optimization when training the classifier.

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. 1. Training eines Klassifikators anhand der Klassifikation von Referenzdaten und ggf. Simulationsdaten.
  2. 2. Auswertung des Klassifikators mit Hilfe von Parametern und / oder charakteristischen Größen aus der Simulation.
  3. 3. Für jede Parameterkonfiguration wird ausgewertet, ob der eingelernte Klassifikator mit ausreichend hoher Wahrscheinlichkeit zu einem Ergebnis führt.
  4. 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. 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.
In order to be able to evaluate for which tests or scenarios a simulation is valid or for which tests or scenarios the simulation provides results of sufficient quality, a procedure comprising the following steps can be carried out:
  1. 1. Training of a classifier based on the classification of reference data and, if necessary, simulation data.
  2. 2. Evaluation of the classifier using parameters and/or characteristic values from the simulation.
  3. 3. For each parameter configuration, it is evaluated whether the learned classifier leads to a result with a sufficiently high probability.
  4. 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. 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. Ergebnis Wahrscheinlichkeit Bestanden 0 Nicht bestanden 1 Nicht freigegeben 0 Ergebnis Wahrscheinlichkeit Bestanden 0,1 Nicht bestanden 0,7 Nicht freigegeben 0,2 As an example, the following tables consider outputs from a classifier that evaluates whether a test passed, failed, or was not approved. The table above shows sample output after training for a data point included in the training dataset. The probabilities for a specific classification attribute are then either 0 or 1. If the learned classifier is later evaluated at a different point outside of the training data set, then probabilities between 0 and 1 result, see for example the table below. result probability Passed 0 Failed 1 Not released 0 result probability Passed 0.1 Failed 0.7 Not released 0.2

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: Ergebnis Wk 1 Wk2 Wk3 Wk4 Wk5 Bestanden 0,1 0,3 0,9 0,3 0,15 Nicht bestanden 0,7 0,3 0,05 0,1 0,05 Nicht freigegeben 0,2 0,4 0,05 0,6 0,8 The following table shows a probability (Wk) for five points in the parameter space as the classification result: result WW 1 WW2 WW3 WW4 WW5 Passed 0.1 0.3 0.9 0.3 0.15 Failed 0.7 0.3 0.05 0.1 0.05 Not released 0.2 0.4 0.05 0.6 0.8

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. Simulation bestanden nicht bestanden nicht freigegeben Referenz Bestanden 0 0 0 Nicht bestanden 1 0 0 Nicht freigegeben 0 0 0 Simulation bestanden nicht bestanden nicht freigegeben Referenz Bestanden 0,1 0,05 0 Nicht bestanden 0,5 0,05 0,05 Nicht freigegeben 0,2 0 0,05 As an example, the following tables consider a classifier that evaluates whether a test passed, failed, or was not approved. Here, the probabilities for the entries in a matrix are learned. The top table shows the post-training status for a point from the training dataset. The probabilities are either 0 or 1. If the learned classifier is later evaluated at a different point, then probabilities between 0 and 1 result, as shown in the table below. simulation passed failed not released reference Passed 0 0 0 Failed 1 0 0 Not released 0 0 0 simulation passed failed not released reference Passed 0.1 0.05 0 Failed 0.5 0.05 0.05 Not released 0.2 0 0.05

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 1) für das Eingangsmodell (102 in 1).In the following, the exemplary application of one of the methods presented for a function test for an adaptive cruise control (ACC) of a vehicle will be described. A typical scenario for testing an ACC is a so-called cut-in maneuver. In this case, the system to be tested is the ACC functionality of a vehicle under consideration. This is overtaken by another vehicle, which - if necessary at a short distance - cuts in in front of the car under consideration and reduces its speed. A requirement for the ACC for such a scenario is, that the vehicle under consideration must have restored a defined safety distance after a certain period of time. The distance when cutting in and the speeds of the vehicles can have different values. In this scenario, these play the role of input variables (101 in 1 ) for the entry model (102 in 1 ).

Für jede mögliche Parameterkonfiguration bzw. Kombination aus Eingangsgrößen wird ein Test in der Simulationsumgebung (110 in 1) durchgeführt und es werden Referenzdaten ermittelt (aus Block 120 in 1). Für jedes Ergebnis der Simulation bzw. den entsprechenden Referenzdaten wird in den Klassifizierungsinstanzen (111 bzw. 112 in 1) eine Klassifikation durchgeführt, in diesem Fall „Test bestanden“ oder „Test nicht bestanden“, je nachdem ob nach der vorgeschriebenen Zeit das betrachtete Fahrzeug einen vorgeschriebenen Sicherheitsabstand erreicht hat.A test in the simulation environment (110 in 1 ) is performed and reference data is determined (from block 120 in 1 ). For each result of the simulation or the corresponding reference data, the classification instances (111 or 112 in 1 ) carried out a classification, in this case "test passed" or "test failed", depending on whether the vehicle in question has reached a prescribed safety distance after the prescribed time.

Zur Bestimmung der Genauigkeit oder Robustheit der Simulation in der Simulationsumgebung (110 in 1) kann nun beispielsweise wie folgt eine Konfusionsmatrix bestimmt werden (in Block 130 in 1):

  • Ein Eintrag in der Matrix entspricht der Anzahl der Tests, die sowohl in der Simulation als auch in der Referenzmessung bestanden wurden. Ein weiterer Eintrag ergibt sich aus der Zahl der Tests, die in der Simulation bestanden und in der Referenzmessung nicht bestanden waren, usw. In diesem einfachen Fall wird insbesondere über die Menge aller Tests summiert und ein Mittelwert gebildet.
To determine the accuracy or robustness of the simulation in the simulation environment (110 in 1 ) a confusion matrix can now be determined, for example, as follows (in block 130 in 1 ):
  • 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: Simulation Bestanden Nicht bestanden Nicht freigegeben Referenz Bestanden 0,1 0,2 0,1 Nicht bestanden 0,15 0,4 0 Nicht freigegeben 0 0,05 0 For example, a confusion matrix for a test scoring use case might look like this: simulation Passed Failed Not released reference Passed 0.1 0.2 0.1 Failed 0.15 0.4 0 Not released 0 0.05 0

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.
In these examples and for many other applications of diagnostic and detection functions, the output of the relevant control unit function can be assigned to one of the following categories:
  • - 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: Simulation Falsch pos. Falsch neg. Wahr pos. Wahr neg. Referenz Falsch positiv 0,1 0,2 0,05 0,05 Falsch negativ 0,15 0,3 0 0 Wahr positiv 0 0,05 0 0 Wahr negativ 0.05 0.05 0 0 For example, a confusion matrix for the use case of evaluating the performance of a diagnostic or detection function could look like this: simulation Wrong pos. wrong neg true pos true neg reference False positive 0.1 0.2 0.05 0.05 False negative 0.15 0.3 0 0 True positive 0 0.05 0 0 true negative 0.05 0.05 0 0

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)

Computerimplementiertes Verfahren zum Testen eines Produkts insbesondere einer Software, einer Hardware oder eines Systems umfassend Hardware und Software, gekennzeichnet durch folgende Schritte: - abhängig von Eingangsparametern wird für das Produkt eine Simulation durchgeführt, mit welcher eine bestimmte Eigenschaft des Produkts getestet wird, - 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, - abhängig von einem Ergebnis der ersten Klassifikation gibt der Klassifikator eine Wahrscheinlichkeit oder Konfidenz für ein Zutreffen der ersten Klassifikation aus.Computer-implemented method for testing a product, in particular software, hardware or a system comprising hardware and software, characterized by the following steps: - depending on input parameters, a simulation is carried out 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 issued for the result of the simulation, - 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, a second Classification determined, - depending on the second classification, a classifier is trained, - depending on a result of the first classification, the classifier outputs a probability or confidence for an application of the first classification. Computerimplementiertes Verfahren zum Testen eines Produkts insbesondere einer Software, einer Hardware oder eines Systems umfassend Hardware und Software, gekennzeichnet durch folgende Schritte: - abhängig von Eingangsparametern wird für das Produkt eine Simulation durchgeführt, mit welcher eine bestimmte Eigenschaft des Produkts getestet wird, - 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 oder Konfidenz für ein Zutreffen der ersten Klassifikation und der zweiten Klassifikation ausgibt.Computer-implemented method for testing a product, in particular software, hardware or a system comprising hardware and software, characterized by the following steps: - depending on input parameters, a simulation is carried out 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 issued for the result of the simulation, - 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, a second Classification determined - depending on the first classification and the second classification, a classifier is trained, which outputs a probability or confidence for an application of the first classification and the second classification. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass der Klassifikator ein Bayes-Netzwerk, einen Gaußprozess oder ein Komitee neuronaler Netze oder einen Surrogatmodell mit zugehörigem Wahrscheinlichkeits- oder Konfidenzmaß nutzt.Method according to one of the preceding claims, characterized in that the classifier uses a Bayesian network, a Gaussian process or a committee of neural networks or a surrogate model with an associated probability or confidence measure. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass abhängig von der ausgegebenen Wahrscheinlichkeit oder Konfidenz für das Zutreffen einer bestimmten Klassifikation eine Übernahme oder ein Verwerfen der bestimmten Klassifikation erfolgt, insbesondere abhängig von einem Vergleich der ausgegebenen Wahrscheinlichkeit oder Konfidenz mit einer vorbestimmten Schwelle.Method according to one of the preceding claims, characterized in that depending on the output probability or confidence that a specific classification applies, the specific classification is adopted or discarded, in particular depending on a comparison of the output probability or confidence with a predetermined threshold. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass abhängig von der ausgegebenen Wahrscheinlichkeit oder Konfidenz eine Anforderung weiterer Referenzdaten erfolgt oder neue Referenzdaten automatisch erzeugt werden, insbesondere abhängig von einem Vergleich der Wahrscheinlichkeit oder Konfidenz mit einer vorbestimmten Schwelle.Method according to one of the preceding claims, characterized in that depending on the probability or confidence output, further reference data is requested or new reference data are generated automatically, in particular depending on a comparison of the probability or confidence with a predetermined threshold. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Referenzdaten aus einem Test am realen Produkt oder aus einer Referenzsimulation stammen.Method according to one of the preceding claims, characterized in that the reference data come from a test on the real product or from a reference simulation. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass abhängig von der ersten Klassifikation und der zweiten Klassifikation eine Genauigkeit oder Robustheit der Simulation bestimmt wird.Method according to one of the preceding claims, characterized in that an accuracy or robustness of the simulation is determined as a function of the first classification and the second classification. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob das Produkt den Test bestanden hat oder nicht bestanden hat oder ob der Test nicht durchgeführt wurde, insbesondere, weil für eine Durchführung des Tests spezifizierte Bedingungen nicht erfüllt waren.Method according to one of the preceding claims, characterized in that the first classification and the second classification each include whether the product passed or failed the test or whether the test was not carried out, in particular because conditions specified for carrying out the test were not fulfilled. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die bestimmte Eigenschaft eine Diagnose- oder Detektionsfunktion umfasst und die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob die Diagnose- oder Detektionsfunktion zu einem falsch positiven, einem falsch negativen, einem wahr positiven oder einem wahr negativen Ergebnis kommt.Method according to one of the preceding claims, characterized in that the determined property comprises a diagnostic or detection function and the first classification and the second classification each comprise whether the diagnostic or detection function results in a false positive, a false negative, a true positive or a true negative result. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die bestimmte Eigenschaft eine sicherheitskritische Eigenschaft des Produkts umfasst und die erste Klassifikation und die zweite Klassifikation jeweils umfassen, ob ein vordefiniertes, sicherheitsrelevantes Ereignis eingetreten ist oder nicht.Method according to one of the preceding claims, characterized in that the specific property includes a safety-critical property of the product and the first classification and the second classification each include whether a predefined, safety-relevant event has occurred or not. Verfahren nach einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass das Produkt eine sicherheitskritische Softwarefunktion oder ein sicherheitskritisches System für ein zumindest teilautomatisiertes Fahrzeug oder für einen zumindest teilautomatisierten Roboter umfasst.Method according to one of the preceding claims, characterized in that the product comprises a safety-critical software function or a safety-critical system for an at least partially automated vehicle or for an at least partially automated robot. Computerprogramm, welches dazu eingerichtet ist, ein Verfahren nach einem der vorangegangenen Ansprüche durchzuführen.Computer program which is set up to carry out a method according to one of the preceding claims. Testumgebung, welche dazu eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 11 mit einem Computerprogramm nach Anspruch 12 durchzuführen.Test environment set up to implement a method according to one of Claims 1 until 11 with a computer program claim 12 to perform.
DE102021109128.4A 2021-04-13 2021-04-13 Procedure for testing a product Pending DE102021109128A1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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