DE102019200493A1 - Method and device for checking the software of a control device - Google Patents
Method and device for checking the software of a control device Download PDFInfo
- Publication number
- DE102019200493A1 DE102019200493A1 DE102019200493.8A DE102019200493A DE102019200493A1 DE 102019200493 A1 DE102019200493 A1 DE 102019200493A1 DE 102019200493 A DE102019200493 A DE 102019200493A DE 102019200493 A1 DE102019200493 A1 DE 102019200493A1
- Authority
- DE
- Germany
- Prior art keywords
- operands
- value
- criteria
- approximation
- specified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Verfahren (10) zum Prüfen der Software eines Steuergerätes, gekennzeichnet durch folgende Merkmale:- gemäß vorgegebenen Kriterien werden erste Operanden und zweite Operanden aus dem Intervall ausgewählt (11),- aus den Operanden werden Wertepaare gebildet (12),- für jedes der Wertepaare wird mittels der Verknüpfung ein Funktionswert und mittels der Näherung ein Näherungswert berechnet (13),- eine Abweichung des Näherungswertes vom Funktionswert wird ausgegeben (14),- gemäß den Kriterien werden die ersten Operanden unter den Näherungswerten und die zweiten Operanden aus dem Intervall neu ausgewählt (11) und- das Bilden der Wertepaare (12), Berechnen (13) der Funktions- und Näherungswerte, Ausgeben (14) der Abweichung und Auswählen (11) der Operanden werden mehrfach wiederholt.Method (10) for checking the software of a control device, characterized by the following features: - First operands and second operands are selected from the interval (11) according to predetermined criteria, - value pairs are formed (12) from the operands, - for each of the value pairs a function value is calculated using the linkage and an approximation value is calculated using the approximation (13), - a deviation of the approximation value from the function value is output (14), - the first operands are selected from the approximation values and the second operands from the interval according to the criteria (11) and - forming the value pairs (12), calculating (13) the function and approximation values, outputting (14) the deviation and selecting (11) the operands are repeated several times.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Prüfen der Software eines Steuergerätes. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.The present invention relates to a method for checking the software of a control device. The present invention also relates to a corresponding device, a corresponding computer program and a corresponding storage medium.
Stand der TechnikState of the art
Die numerische Mathematik, fachsprachlich auch als „Numerik“ bezeichnet, beschäftigt sich als Teilgebiet der Mathematik mit der Konstruktion und Analyse von Algorithmen für kontinuierliche mathematische Probleme. Eine Hauptanwendung der Numerik bildet dabei die näherungsweise Berechnung von Lösungen mit Hilfe von Computern aller Art, beispielsweise in der Regelungstechnik.Numerical mathematics, also referred to in technical terms as "numerics", deals with the construction and analysis of algorithms for continuous mathematical problems as a branch of mathematics. A main application of numerics is the approximate calculation of solutions with the help of computers of all kinds, for example in control engineering.
Von besonderer technischer Bedeutung ist die numerische Fehleranalyse von Algorithmen, die ein kontinuierliches mathematisches oder physikalisches Problem durch ein diskretes, also endliches Problem ersetzen. Insofern kommen bei einer Berechnung beispielsweise in einem elektronischen Steuergerät verschiedene Typen von Fehlern zum Tragen: Beim Rechnen mit Gleitkomma- (floating point, nachfolgend „Float“) oder Ganzzahlen (integer numbers, nachfolgend „Integer“) etwa treten unvermeidlich Rundungsfehler auf. Diese Fehler lassen sich im Falle der Gleitkommaarithmetik nach dem Standard IEEE 754 durch eine Erhöhung der Rechengenauigkeit eindämmen, nicht jedoch gänzlich eliminieren. Derartige sogenannte Diskretisierungsfehler werden nach dem Stand der Technik im Rahmen einer Konsistenz-, ihre Fortpflanzung im Wege einer Stabilitätsanalyse bewertet. Die sogenannte Approximationstheorie, insbesondere die Untersuchung der Näherung von Verknüpfungen oder anderweitigen Funktionen, erweist sich hierbei als wichtiges Werkzeug, da sie computergestützte Lösungsverfahren beschleunigen oder erst möglich machen kann.Of particular technical importance is the numerical error analysis of algorithms that replace a continuous mathematical or physical problem with a discrete, i.e. finite, problem. In this respect, different types of errors come into play in a calculation, for example in an electronic control unit: Rounding errors inevitably occur when calculating with floating point (floating point, hereinafter "float") or integer numbers (hereinafter "integer"). In the case of floating point arithmetic in accordance with the IEEE 754 standard, these errors can be contained but not completely eliminated by increasing the calculation accuracy. Such so-called discretization errors are evaluated according to the prior art in the context of a consistency, their propagation by means of a stability analysis. The so-called approximation theory, in particular the investigation of the approximation of links or other functions, proves to be an important tool, since it can accelerate or make possible computer-aided solution methods.
Offenbarung der ErfindungDisclosure of the invention
Die Erfindung stellt ein Verfahren zum Prüfen der Software eines Steuergerätes, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes maschinenlesbares Speichermedium gemäß den unabhängigen Ansprüchen bereit.The invention provides a method for checking the software of a control device, a corresponding device, a corresponding computer program and a corresponding machine-readable storage medium according to the independent claims.
Das vorgeschlagene Verfahren fußt hierbei auf der Erkenntnis, dass in Steuergeräten physikalische Modelle in Software abgebildet werden. Um Rechenaufwand und benötigten Speicherplatz zu reduzieren, werden die Berechnungen entweder mit Integer- oder Float-Werten durchgeführt. Dabei entstehen - wie oben beschrieben - Abweichungen zur physikalischen Berechnung. Diese Abweichungen können im Falle fahrzeugelektronischer Anwendungen zu Fehlverhalten im Fahrzeug führen.The proposed method is based on the knowledge that physical models are mapped in software in control units. In order to reduce computational effort and required storage space, the calculations are carried out with either integer or float values. As described above, this results in deviations from the physical calculation. In the case of vehicle electronic applications, these deviations can lead to incorrect behavior in the vehicle.
Der erfindungsgemäß Ansatz erkennt ferner, dass durch die Simulation eines physikalischen Modells und eines Modells des Steuergeräts derartige Abweichungen ermittelt werden können. Eine herkömmliche Simulation dieser Art birgt jedoch mehrere Nachteile: Erstens erfolgt der Test als Blackbox-Test auf Systemebene; es ist nicht möglich zu ermitteln, ob in den einzelnen Rechenschritten im Steuergerät Abweichungen auftreten. Dementsprechend ist es schwierig, die Ursache für eine Abweichung zu finden, falls eine solche festgestellt wird. Zweitens erfolgt der Test nur für eine Konfiguration bzw. für einen Betriebsmodus des Steuergeräts. Diese Konfiguration muss vor der Simulation durch Systemkonstanten festgelegt werden. Es ist aufwändig, mehrmals für verschiedene Konfigurationen zu simulieren. Drittens ist es aufgrund der Vielzahl an Eingangsgrößen nicht möglich, alle Kombinationen an Eingangsgrößen zu testen. Deshalb ist es wünschenswert, gezielt kritische Kombinationen der Eingangsgrößen zu testen. Im Falle eines Blackbox-Tests ist es jedoch nicht möglich vorherzusagen, welche Werte an den Eingängen zu großen Abweichungen an den Ausgängen führen. Im Praxisbetrieb können also Betriebszustände auftreten, die zu kritischen Abweichungen führen und in der Simulation nicht betrachtet wurden.The approach according to the invention also recognizes that such deviations can be determined by simulating a physical model and a model of the control device. A conventional simulation of this type has several disadvantages: First, the test is carried out as a black box test at the system level; It is not possible to determine whether deviations occur in the individual calculation steps in the control unit. Accordingly, it is difficult to find the cause of a deviation if it is found. Secondly, the test is only carried out for a configuration or for an operating mode of the control device. This configuration must be determined by system constants before the simulation. It is time-consuming to simulate several times for different configurations. Third, due to the large number of input variables, it is not possible to test all combinations of input variables. It is therefore desirable to specifically test critical combinations of the input variables. In the case of a black box test, however, it is not possible to predict which values at the inputs lead to large deviations at the outputs. In practice, operating conditions can occur that lead to critical deviations and were not considered in the simulation.
Das nachfolgend vorgeschlagene Verfahren hat daher zum Ziel, systematisch alle kritischen Kombinationen von Eingangsgrößen auf Abweichungen zwischen dem physikalischen Modell und der Implementierung im Steuergerät zu überprüfen. Systemkonstanten, die verschiedene Konfigurationen der Software des Steuergeräts abbilden, werden hierbei wie andere Eingangsgrößen behandelt. Der Test erfolgt dabei schrittweise, wobei nach jedem Rechenschritt ein Zwischenergebnis verfügbar ist, das die Fehlersuche für den Fall erleichtert, dass Abweichungen auftreten.The aim of the method proposed below is therefore to systematically check all critical combinations of input variables for deviations between the physical model and the implementation in the control unit. System constants that represent different configurations of the software of the control unit are treated like other input variables. The test is carried out step by step, with an intermediate result available after each calculation step, which makes troubleshooting easier in the event that deviations occur.
Ein Vorzug dieser Lösung liegt darin, dass der Test als Whitebox-Test erfolgt, was die Fehlersuche erleichtert. Der Test erfolgt ferner gleichzeitig für alle denkbaren Konfigurationen der Software des Steuergerätes, da Systemkonstanten als normale Eingangsgrößen behandelt werden. An advantage of this solution is that the test is carried out as a whitebox test, which makes troubleshooting easier. The test is also carried out simultaneously for all conceivable configurations of the software of the control unit, since system constants are treated as normal input variables.
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 vorgesehen sein, dass als Operanden jeweils der kleinstmögliche Wert, der kleinstmögliche Wert zuzüglich eines vorgegebenen Inkrements, der größtmögliche Wert, der größtmögliche Wert abzüglich des Inkrements sowie der Mittelwert zu- und abzüglich des Inkrements ausgewählt werden. Auf diese Weise werden systematisch Kombinationen von Eingangsgrößen getestet, die potenziell zu großen Abweichungen am Ausgang führen.The measures listed in the dependent claims allow advantageous developments and improvements of the basic idea specified in the independent claim. It can be provided that the smallest possible value, the smallest possible value plus a predetermined increment, the largest possible value, the largest possible value minus the increment and the mean value plus and minus the increment are selected as operands. In this way, combinations of input variables are systematically tested that potentially lead to large deviations at the output.
FigurenlisteFigure list
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
-
1 das Flussdiagramm eines Verfahrens gemäß einer ersten Ausführungsform. -
2 schematisch einen Arbeitsplatzrechner gemäß einer zweiten Ausführungsform.
-
1 the flowchart of a method according to a first embodiment. -
2nd schematically a workstation according to a second embodiment.
Ausführungsformen der ErfindungEmbodiments of the invention
- 1. der kleinste mögliche Wert,
- 2. der größte mögliche Wert,
- 3. der kleinste mögliche Wert zuzüglich eines Inkrements,
- 4. der größte mögliche Wert abzüglich eines Inkrements,
- 5. der Mittelwert zuzüglich eines Inkrements sowie
- 6. der Mittelwert abzüglich eines Inkrements.
- 1. the smallest possible value,
- 2. the greatest possible value,
- 3. the smallest possible value plus an increment,
- 4. the largest possible value minus an increment,
- 5. the mean plus an increment as well
- 6. the mean minus an increment.
Anschließend werden alle möglichen Kombinationen der beiden Eingangsgrößen gebildet (Prozess
Diese Berechnungen (
Das Programm kann dabei auf im Rahmen der Steuergeräteentwicklung ohnehin erforderliche Dateien - beispielsweise C-Quellkode, die proprietäre PaVaSt-Spezifikation oder eine XML-Modellbeschreibung, wie sie etwa die offene Produktfamilie ETAS ASCET unterstützt - zurückgreifen, um die benötigten Eingangsgrößen und Rechenschritte zu ermitteln. Eine mögliche Alternative zur oben beschriebenen Vorgehensweise ist es, die Anzahl der verwendeten Werte pro Eingangsgröße zu verringern oder zu erhöhen. So wäre es in einer Ausgestaltung denkbar, neben minimalem, maximalem und Mittelwert noch weitere Zwischenwerte zu betrachten, ohne den Rahmen der Erfindung zu verlassen.The program can use files that are required in the course of ECU development - for example, C source code, the proprietary PaVaSt specification or an XML model description, such as the open product family ETAS ASCET - to determine the required input variables and calculation steps. A possible alternative to the procedure described above is to reduce or increase the number of values used per input variable. In one embodiment, it would be conceivable to consider further intermediate values in addition to the minimum, maximum and mean values, without leaving the scope of the invention.
Dieses Verfahren (
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE 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 listed by the applicant has been generated automatically and is only included 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 102008004361 A1 [0004]DE 102008004361 A1 [0004]
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019200493.8A DE102019200493A1 (en) | 2019-01-16 | 2019-01-16 | Method and device for checking the software of a control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019200493.8A DE102019200493A1 (en) | 2019-01-16 | 2019-01-16 | Method and device for checking the software of a control device |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019200493A1 true DE102019200493A1 (en) | 2020-07-16 |
Family
ID=71131861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019200493.8A Pending DE102019200493A1 (en) | 2019-01-16 | 2019-01-16 | Method and device for checking the software of a control device |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019200493A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008004361A1 (en) | 2008-01-15 | 2009-07-16 | Robert Bosch Gmbh | Method for controlling an internal combustion engine, computer program and control unit |
-
2019
- 2019-01-16 DE DE102019200493.8A patent/DE102019200493A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008004361A1 (en) | 2008-01-15 | 2009-07-16 | Robert Bosch Gmbh | Method for controlling an internal combustion engine, computer program and control unit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2801872B1 (en) | Test device for testing a virtual control device | |
DE69017785T2 (en) | Process for manufacturing an expert system for system fault diagnosis. | |
EP2999998B1 (en) | Methods for ascertaining a model of an output variable of a technical system | |
DE102016100383A1 (en) | Method and system for testing a mechatronic system | |
DE102016105844A1 (en) | Method for testing a control program of a control device in a simulation environment on a computer | |
DE102019200493A1 (en) | Method and device for checking the software of a control device | |
EP3617912A1 (en) | Method and device for the computer-assisted generation of a component of a technical system | |
DE102020206327A1 (en) | Method and device for testing a technical system | |
DE10126018A1 (en) | Method for providing error information about inconsistencies in a system of differential equations | |
DE102021200927A1 (en) | Method and device for analyzing a system embedded in particular in an at least partially autonomous robot or vehicle | |
DE102020211710A1 (en) | Method, device and computer program for testing a technical system using a model | |
DE102020205540A1 (en) | Method and device for testing a technical system | |
DE102020206321A1 (en) | Method and device for testing a technical system | |
DE102019126292A1 (en) | System and method for predicting an analytical anomaly in computational fluid dynamics analysis | |
DE102017104049B4 (en) | METHOD AND DEVICE FOR CHECKING THE RELIABILITY OF A CHIP | |
DE102019209561A1 (en) | Method and device for optimizing a circuit board material for the production of a circuit board using a Bayesian optimization process | |
DE102018222801A1 (en) | Method and device for measuring a system to be tested | |
AT524858B1 (en) | Creation method for creating at least one individual system model for a fuel cell system for modeling relationships between system input parameters and system output parameters | |
DE102019209541A1 (en) | Method and device for fulfilling a development task | |
EP1483633B1 (en) | Method for simulating a technical system and simulator | |
DE102018217139B4 (en) | Method and device for configuring a characteristic function of a control device of a motor vehicle | |
DE102016115331A1 (en) | Method and device for determining a model of a technical system | |
DE102016101853A1 (en) | Computer-implemented method for simulating a residual bus ECU network | |
EP3491517B1 (en) | Signal flow-based computer program with direct feedthrough loops | |
DE102019201700A1 (en) | Method and apparatus for specifying and verifying an integrated circuit |