-
Die vorliegende Erfindung betrifft ein Verfahren zum Prüfen eines technischen Systems. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.
-
Stand der Technik
-
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. Hinlänglich bekannt ist beispielsweise die Generierung von Testfällen aus Modellen, die das Sollverhalten des zu testenden Systems beschreiben.
-
Insbesondere eingebettete Systeme (embedded systems) sind auf schlüssige Eingangssignale von Sensoren angewiesen und stimulieren wiederum ihre Umwelt durch Ausgangssignale an unterschiedlichste Aktoren. Im Zuge der Verifikation und vorgelagerter Entwicklungsphasen eines solchen Systems wird 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. 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.
-
DE10303489A1 offenbart ein derartiges Verfahren zum Testen von Software einer Steuereinheit eines Fahrzeugs, eines Elektrowerkzeugs oder eines Robotiksystems, bei dem durch ein Testsystem eine von der Steuereinheit steuerbare Regelstrecke wenigstens teilweise simuliert wird, indem Ausgangssignale von der Steuereinheit erzeugt werden und diese Ausgangssignale der Steuereinheit zu ersten Hardware-Bausteinen über eine erste Verbindung übertragen werden und Signale von zweiten Hardware-Bausteinen als Eingangssignale zur Steuereinheit über eine zweite Verbindung übertragen werden, wobei die Ausgangssignale als erste Steuerwerte in der Software bereitgestellt werden und zusätzlich über eine Kommunikationsschnittstelle in Echtzeit bezogen auf die Regelstrecke zum Testsystem übertragen werden.
-
Derartige Simulationen sind auf verschiedenen Gebieten der Technik verbreitet und finden beispielsweise Einsatz, um eingebettete Systeme in Elektrowerkzeugen, Motorsteuergeräte für Antriebs-, Lenk- und Bremssysteme, Kamerasysteme, Systeme mit Komponenten der künstlichen Intelligenz und des maschinellen Lernens, Robotiksysteme oder autonome Fahrzeuge in frühen Phasen ihrer Entwicklung auf Tauglichkeit zu prüfen. Dennoch werden die Ergebnisse von Simulationsmodellen nach dem Stand der Technik aufgrund fehlenden Vertrauens in ihre Zuverlässigkeit nur begrenzt in Freigabeentscheidungen einbezogen.
-
Offenbarung der Erfindung
-
Die Erfindung stellt ein Verfahren zum Prüfen eines technischen Systems, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium gemäß den unabhängigen Ansprüchen bereit.
-
Der erfindungsgemäße Ansatz fußt auf der Erkenntnis, dass die Güte von Simulationsmodellen für die korrekte Vorhersagbarkeit der damit erzielbaren Testergebnisse entscheidend ist. Auf dem Gebiet des MBT beschäftigt sich die Teildisziplin der Validierung mit der Aufgabe, reale Messungen mit Simulationsergebnissen zu vergleichen. Dazu werden verschiedene Metriken, Maßzahlen oder andere Vergleicher verwendet, die Signale miteinander verknüpfen und die im Folgenden zusammenfassend als Signalmetriken (SM) bezeichnet werden sollen. Beispiele für derartige Signalmetriken sind Metriken, die Größe, Phasenverschiebung und Korrelationen vergleichen. Einige Signalmetriken sind durch einschlägige Normen definiert, z. B. gemäß
ISO 18571.
-
Allgemeiner ausgedrückt unterstützen Unsicherheitsquantifizierungstechniken die Abschätzung der Simulations- und Modellgüte. Das Ergebnis einer Bewertung der Modellgüte unter Heranziehung einer Signalmetrik oder allgemeiner unter Verwendung einer Unsicherheitsquantifizierungsmethode für eine bestimmte Eingabe X, bei der es sich um einen Parameter oder ein Szenario handeln kann, wird nachfolgend als Simulationsmodell-Fehlermetrik - kurz: Fehlermetrik - SMerrorX bezeichnet. Zur Verallgemeinerung (Interpolation und Extrapolation) von SMerrorX für bisher nicht betrachtete Eingaben, Parameter oder Szenarien X können maschinelle Lernmodelle etwa auf der Grundlage sogenannter Gaußprozesse verwendet werden.
-
Bei der Verifizierung wird der Prüfling (system under test, SUT) typischerweise anhand einer Anforderung, Spezifikation oder Leistungskennzahl untersucht. Es ist zu beachten, dass Boolesche Anforderungen oder Spezifikationen oft in quantitative Messungen umgewandelt werden können, indem man Formalismen wie die Signal-Temporallogik (signal temporal logic, STL) verwendet. Derartige Formalismen können als Grundlage einer quantitativen Semantik dienen, die sich insofern als Verallgemeinerung der Verifikation darstellt, als ein positiver Wert die Erfüllung und ein negativer Wert die Verletzung einer Anforderung indiziert. Im Folgenden werden solche Anforderungen, Spezifikationen oder Leistungsmaße zusammenfassend als „quantitative Anforderungen“ (QSpec) bezeichnet.
-
Derlei quantitative Anforderungen können entweder anhand des realen SUT oder eines Modells desselben - gleichsam eines „virtuellen SUT“ - überprüft werden. Zum Zwecke dieser Verifikation werden Kataloge mit Testfällen zusammengestellt, denen ein SUT genügen muss, um zu entscheiden, ob es die gewünschten Leistungs- und Sicherheitseigenschaften aufweist. Ein solcher Testfall kann parametrisiert werden und so eine beliebige Anzahl von Einzeltests abdecken.
-
Vor diesem Hintergrund trägt der vorgeschlagene Ansatz dem Bedürfnis nach belastbaren Testergebnissen Rechnung, um die Leistungs- und Sicherheitseigenschaften eines SUT zu gewährleisten. Gerade bei der Durchführung von Tests anhand einer Simulation des Systems oder einer Teilkomponente - anstelle des realen Systems - gilt es sicherzustellen, dass die Simulationsergebnisse vertrauenswürdig sind.
-
Ein Ziel dieses Ansatzes besteht folglich darin, auf der Grundlage von Simulationen derart zuverlässige Testergebnisse zu erhalten, dass diese als Ersatz für reale Testfälle dienen können. Dadurch sollen die Kosten für das Testen durch die Reduzierung der Anzahl tatsächlicher Versuche gesenkt werden.
-
Gegeben sei hierbei eine Reihe von Tests, z. B. ein Testkatalog oder ein parametrischer Test, denen das SUT genügen sollte. Die vorliegende Lösung sieht eine Unterteilung der Testmenge in zwei Testsätze vor: zum einen Tests, die auf dem realen System durchgeführt werden müssen, und zum anderen Tests, die auch auf der Grundlage einer Simulation vorgenommen werden können.
-
Dabei ermöglicht der vorgeschlagene Ansatz die Beratung des Endbenutzers, ob ein virtueller Test vertrauenswürdig ist oder nicht. Beratung eines Benutzers, wenn ein Test auf dem realen System ausgeführt werden soll. Automatisches Einleiten der Ausführung eines realen Tests, wenn der virtuelle Test nicht als zuverlässig einzustufen ist.
-
Ein Vorzug der erfindungsgemäßen Lösung für diese Aufgabe besteht darin, dass sie im Gegensatz zu Konzepten, die ausschließlich auf Validierung oder ausschließlich auf Verifizierung basieren, beide Ansätze auf geschickte Weise vereint. Dazu wird ein „virtueller Test-Klassifikator“ eingeführt, welcher die Erfordernisse von Modellvalidierung und Produkttest kombiniert. Dies wird durch die Verknüpfung von Informationen aus der Validierung von Simulations- und Modellgüte (SMerrorX) einerseits und Testanforderungen (QSpec) andererseits erreicht.
-
Die Anwendung entsprechender Tests kommt auf unterschiedlichsten Feldern in Betracht. Zu denken ist beispielsweise an die funktionale Sicherheit automatisierter Systeme, wie sie etwa zur Automatisierung von Fahrfunktionen (automated driving) genutzt werden.
-
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann eine automatisierte, computer-implementierte Testumgebung vorgesehen sein, um die Qualität der getesteten Hardware- oder Softwareprodukte weitgehend selbsttätig zu verbessern.
-
Figurenliste
-
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
- 1 einen virtuellen Test-Klassifikator.
- 2 einen ersten Ansatz zur Erzeugung der Entscheidungsgrenze des Klassifikators auf der Grundlage von Daten.
- 3 einen zweiten Ansatz zur Erzeugung der Entscheidungsgrenze des Klassifikators auf der Grundlage einer formellen Lösung.
- 4 die Beschreibung eines erfindungsgemäßen Verfahrens aus Anwendungssicht.
- 5 die Visualisierung eines Klassifikationsergebnisses in einem durch die Testparameter aufgespannten Merkmalsraum.
- 6 schematisch ein Steuergerät gemäß einer zweiten Ausführungsform.
-
Ausführungsformen der Erfindung
-
Erfindungsgemäß wird im Rahmen eines Tests X, welcher als Testfall einem Testkatalog entnommen oder als Instanz eines parametrischen Tests gewonnen werden kann, der Simulationsmodellfehler SMerrorX ausgewertet und die quantitative Spezifikation QSpec auf der Grundlage einer Simulation des SUT bewertet. Der virtuelle Testklassifikator verwendet als Eingabe SMerrorX und QSpec und trifft eine binäre Entscheidung dahingehend, ob das auf der Simulation basierende Testergebnis vertrauenswürdig ist oder nicht.
-
Gemäß dem in der Informatik und insbesondere Mustererkennung üblichen Sprachgebrauch ist als Klassifikator hierbei jedweder Algorithmus oder jedwede mathematische Funktion zu verstehen, welche einen Merkmalsraum auf eine Menge von Klassen abbildet, die im Zuge einer Klassifizierung gebildet und voneinander abgegrenzt wurden. Um entscheiden zu können, in welche Klasse ein Objekt einzustufen oder zu klassieren (umgangssprachlich auch: „klassifizieren“) ist, zieht der Klassifikator sogenannte Klassen- oder Entscheidungsgrenzen heran. Sofern eine Unterscheidung zwischen Verfahren und Instanz nicht von Bedeutung ist, wird der Begriff „Klassifikator“ in der Fachsprache und auch nachfolgend teilweise gleichbedeutend mit „Einstufung“ oder „Klassierung“ verwendet.
-
1 illustriert eine solche Einstufung im vorliegenden Anwendungsbeispiel. Hierbei entspricht jeder Punkt einem Test, der im Wege der Simulation durchgeführt und für den das Erfüllungsmaß (13) der Anforderung QSpec sowie das Fehlermaß (14) SMerrorX berechnet wurden. QSpec ist in diesem Fall so definiert, dass es einen positiven Wert annimmt, wenn der Test vermuten lässt, dass das System der jeweiligen Anforderung genügt (Bezugszeichen 24), und negativ, wenn das System die Anforderung verfehlt (Bezugszeichen 25).
-
Wie die Abbildung erkennen lässt, unterteilt die Entscheidungsgrenze (19) des Klassifikators (18) den Raum in vier Klassen A, B, C und D. Tests der Klasse A würden vom System mit hoher Zuverlässigkeit bestanden. Für Tests der Klassen B und C liefert die Simulation lediglich unzuverlässige Ergebnisse; derartige Tests sind daher auf dem realen System durchzuführen. Tests der Klasse D würden auf dem System mit hoher Zuverlässigkeit fehlschlagen.
-
Dieser virtuelle Test-Klassifikator (18) gründet auf der Überlegung, dass eine in der Simulation nur knapp erfüllte Anforderung nur dann die Erprobung des realen Systems ersetzen kann, wenn von einem allenfalls marginalen Modellfehler (14) auszugehen ist. Andererseits kann bei einem betragsmäßig hohen Erfüllungsmaß (13) der quantitativen Anforderung QSpec, also einer bei weitem übererfüllten oder deutlich verfehlten Vorgabe, eine gewisse Abweichung der Simulationsergebnisse von entsprechenden experimentellen Messungen hingenommen werden.
-
Da diese Betrachtungsweise die Kenntnis des Modellfehlers SMerrorX des Simulationsmodells voraussetzt, wird davon ausgegangen, dass letzteres im Vorfeld der Verwendung des virtuellen Test-Klassifikators (18) einer Verifikation und Validierung unterzogen wurde. Im Rahmen dieser Validierung sollte - z. B. auf der Grundlage eines Gaußprozesses oder anderweitig durch maschinelles Lernen - ein verallgemeinertes Modell gebildet werden, das SMerrorX für ein gegebenes X liefert. Dabei ist zu beachten, dass die Vertrauenswürdigkeit der Simulation entscheidend von der Korrektheit dieses generalisierten Modells abhängt.
-
2 verdeutlicht einen möglichen Ansatz zur Ziehung der Entscheidungsgrenze (19 - 1) des Klassifikators (18) auf der Grundlage von Daten. Im einfachsten Fall verläuft die Grenze (19) hierbei entlang einer Ursprungsgeraden. Die Steigung der Geraden ist vorzugsweise so zu wählen, dass alle Punkte, in denen sich das Erfüllungsmaß (13) der quantitativen Anforderung QSpec zwischen Simulation (11) und realer Messung (21) im Vorzeichen unterscheidet - also gleichsam alle Tests (12), bei denen das Simulationsmodell versagt -, in den Bereichen C und B liegen und diese Bereiche zudem möglichst klein sind.
-
In Betracht kommt ferner eine allgemeinere, z. B. polynomielle Entscheidungsgrenze (19), deren Funktionskurve mittels linearer Programmierung derart angepasst wird, dass sie das Kriterium eines Klassifikators (18) VTC erfüllt. Auch in diesem Fall liegen alle Punkte, in denen sich das Erfüllungsmaß (13) der quantitativen Anforderung QSpec zwischen Simulation (11) und realer Messung (21) im Vorzeichen unterscheidet - also gleichsam alle Tests (12), bei denen das Simulationsmodell versagt -, in den Bereichen C und B.
-
3 veranschaulicht den alternativen Ansatz, den Klassifikator (18) durch das Lösen (23) eines formalen Gleichungssystems zu definieren, welchem die Definitionsgleichungen des Erfüllungsmaßes (13) und Fehlermaßes (14) zugrunde liegen. Die resultierende Funktion, welche dem aus diesen beiden Maßen gebildeten Merkmalsvektor (13, 14) einen Wahrheitswert zuordnet, lässt sich wahlweise deterministisch oder stochastisch angeben.
-
Für die Zwecke der folgenden Ausführungen seien I die Eingabemenge,
O die - unter Umständen auch Eingaben umfassende - Ausgabemenge und m1, m2: I → O das Systemmodell und reale System als Funktionen, die lediglich für eine endliche Anzahl an Eingaben durch Simulation (11) bzw. experimentelle Messung (21) beobachtet werden können. Ferner sei q: O × O → ℝ der Simulationsmodellfehler SMerrorX, also das Abstands- oder Fehlermaß (14) zweier einander entsprechender Ausgaben. Schließlich sei Iε := {i | q(m1(i), m2(i) = ε} die Menge sämtlicher Eingaben, für welche dieses Fehlermaß (14) den Wert ε annimmt.
-
Ausgehend von diesen Definitionen kann die Abweichung des Erfüllungsmaßes (
13) einer Anforderung für jede Eingabe i ∈ I
ε wie folgt durch einen Term nach oben beschränkt werden, der weder von m
1 noch von m
2 abhängt:
-
Somit ergibt sich der Klassifikator (
18) zu
-
Das Simulationsmodell wird hierbei im Fall VTC(ε, δ) = W als zuverlässig in dem Sinne eingestuft, dass m1 und m2 hinsichtlich p übereinstimmen. Es ist zu beachten, dass der Klassifikator (18) die Umkehrung von q erfordert.
-
Ein wesentlicher Vorteil dieser Darstellung besteht darin, dass der virtuelle Test-Klassifikator (18) unabhängig von m1 und m2 formuliert werden kann, da er nur vom Erfüllungsmaß (13) der quantitativen Anforderung und Fehlermaß (14) abhängt. Ausgehend von einem einzigen Fehlermaß (14) und einer Mehrzahl n quantitativer Anforderungen lassen sich somit n virtuelle Test-Klassifikatoren (18) berechnen, nämlich einer für jede Anforderung. Daher ist das Modell nur einmal in Bezug auf das Fehlermaß (14) und nicht etwa im Hinblick auf jede einzelne Anforderung zu validieren.
-
Diese Betrachtung lässt sich auf einfache Weise für eine Mehrzahl m an Fehlermaßen und eine Mehrzahl n quantitativer Anforderungen verallgemeinern, wobei m typischerweise sehr klein und n groß ausfällt. In diesem Fall können n · m virtuelle Test-Klassifikatoren (18) berechnet werden. Wenn einer dieser Klassifikatoren (18) den Wert W liefert, kann das Simulationsergebnis als zuverlässig angesehen werden. Dies ermöglicht eine präzisere Einstufung, da einige Fehlermaße (14) für bestimmte Anforderungen geeigneter sein mögen als andere.
-
Alternativ lässt sich der virtuelle Test-Klassifikator (
18) in einem stochastischen Rahmen definieren, in welchem die Eingaben als - gemäß einer beliebigen Wahrscheinlichkeitsdichtefunktion - zufällig verteilt angenommen werden. Hierzu bezeichne F
ε(δ) := P(|p(m
1(i)) - p(m
2(i))| ≤ δ |q(m
1(i), m
2(i)) = ε) die bedingte kumulative Verteilungsfunktion der Abweichung des Erfüllungsmaßes (
13) unter der Annahme, dass das Fehlermaß (
14) den Wert ε annimmt. Bei einem Schwellenwert τ ∈ (0,1) der Wahrscheinlichkeit, dass der Klassifikator (
18) die richtige Entscheidung trifft - der Wert τ liegt somit typischerweise nahe 1 -, kann der virtuelle Test-Klassifikator (
18) wie folgt definiert werden:
-
4 beleuchtet ein erfindungsgemäßes Verfahren (10) aus Anwendungssicht unter folgenden Annahmen:
- • Ein Simulationsmodell (11) sowie eine Menge von Tests (12) mitsamt definierten Eingaben sind vorgegeben.
- • Die Anforderungen QSpec sind quantifizierbar und vorgegeben und werden im Rahmen eines Überwachungssystems implementiert, das die Tests (12) hinsichtlich des Erfüllungsmaßes (13) dieser Anforderungen auswertet. In der Abbildung beziehen sich beide Erfüllungsmaße (13) auf dieselbe Anforderung QSpec, die jedoch einmal anhand der Simulation (11) und einmal im Wege experimenteller Messung (21) am System bewertet wird.
- • SMerrorX ist ein Fehlermaß (14), das im Vorfeld definiert wurde. Für einige Testeingaben wurden also bereits Simulation (11) und Messung (21) durchgeführt, und das Fehlermaß (14) verallgemeinert die entsprechenden Tests (12) auf neue, bislang nicht durchgeführte Experimente mit einer gewissen Zuverlässigkeit, die z. B. durch eine Ober- und Untergrenze für das Fehlermaß (14) bestimmt wird. Für den Klassifikator (18 - 1 bis 3) wird lediglich das ungünstigste, also höchste Fehlermaß (14) herangezogen. Es sei angemerkt, dass der Klassifikator (18) zur weiteren Verfeinerung des Fehlermaßes (14) verwendet werden kann.
-
Unter diesen Annahmen mag sich das Verfahren (10) wie folgt gestalten:
- 1. Der Klassifikator (18) wird gemäß den obigen Erläuterungen definiert.
- 2. Die Tests (12) werden mittels Simulation (11) und experimenteller Messung (21) durchgeführt, wobei Ausgangssignale erzeugt werden.
- 3. Die Ausgangssignale werden jeweils hinsichtlich des Erfüllungsmaßes (13) der Anforderungen QSpec und des Fehlermaßes (14) der Simulation (11) gemäß dem SMerrorX-Fehlermodell ausgewertet.
- 4. Das einerseits in der Simulation (11) und andererseits in der Messung (21) genommene Erfüllungsmaß (13) und Fehlermaß (14) werden dem Klassifikator (18) zugeführt.
- 5. Für jeden Test (12) nimmt der Klassifikator (18) eine Einstufung (15) in eine der folgenden Klassen (A, B, C, D - 1) vor: Der Test (12) war in der Simulation (11) erfolgreich und sein Ergebnis ist zuverlässig (16); der Test ist in der Simulation (11) fehlgeschlagen und sein Ergebnis ist zuverlässig (16); oder das Ergebnis der Simulation (11) ist unzuverlässig (17).
- 6. Zuverlässige (16) Testergebnisse, für welche die Simulation (11) nunmehr als vertrauenswürdig gilt, werden einer entsprechenden Datenbank (31) hinzugefügt.
- 7. Unzuverlässige (17) Tests (12) können zum Anlass genommen werden, dem Benutzer die Durchführung einer entsprechenden Messung (21) am System zu empfehlen (32).
- 8. Optional kann eine derartige Messung (21) manuell oder automatisch eingeleitet werden.
- 9. Sofern die Entscheidungsgrenze (19 - 1) des Klassifikators (18), wie zu 2 erläutert auf der Grundlage von Daten gezogen wurde, kann dieser - ebenfalls optional - anhand der Ergebnisse der Messung (21) aktualisiert und mittels dieser Datenpunkte verbessert (33) werden.
-
5 skizziert die mögliche Visualisierung eines Klassifikationsergebnisses in einem durch die Testparameter aufgespannten Merkmalsraum der Testparameter (im Folgenden: „Parameterraum“). Für bestimmte Parameter (26, 27) eines Tests (12) - abbildungsgemäß exemplarisch Abstand (26) und Masse (27) eines in die eigene Fahrspur einscherenden Fahrzeuges - werden das Erfüllungsmaß (13) und Fehlermaß (14) jeweils als Punkte im Parameterraum dargestellt. In einer virtuellen Testumgebung (29) erfolgt sodann die Visualisierung (28) der Einstufung (15) des Tests (12) durch den Klassifikator (18) im Parameterraum.
-
Dieses Verfahren (10) kann beispielsweise in Software oder Hardware oder in einer Mischform aus Software und Hardware beispielsweise in einer Arbeitsstation (30) implementiert sein, wie die schematische Darstellung der 6 verdeutlicht.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
-
Zitierte Nicht-Patentliteratur
-