DE102020005352A1 - Verfahren zur Validierung eines neuen Software-Standes in einem redundanten System - Google Patents
Verfahren zur Validierung eines neuen Software-Standes in einem redundanten System Download PDFInfo
- Publication number
- DE102020005352A1 DE102020005352A1 DE102020005352.1A DE102020005352A DE102020005352A1 DE 102020005352 A1 DE102020005352 A1 DE 102020005352A1 DE 102020005352 A DE102020005352 A DE 102020005352A DE 102020005352 A1 DE102020005352 A1 DE 102020005352A1
- Authority
- DE
- Germany
- Prior art keywords
- software
- vehicle
- status
- procedure
- old
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/3692—Test management for test results analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
- B60W2050/146—Display means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zur Validierung eines Software-Standes eines Fahrzeugs in einem System und ein Computerprogrammprodukt umfassend eine Codeeinrichtung, die geeignet zum Ausführen der Schritte des Verfahrens ist. Bei dem System wird die Software auf dem Fahrzeug geprüft, wobei das System das Fahrzeug entsprechend von Eingangsdaten steuert und anschließend Ausgangsdaten des Fahrzeugs aufzeichnet, und wobei in einem inaktivem Zustand des Systems ein paralleler Vergleich von jeweils nicht produktivem, alten und neuen Software-Stand erfolgt, und durch Aktivierung des Systems zu einem aktiven Zustand ein Wechsel auf den produktiven Software-Stand erfolgt.
Description
- Die Erfindung betrifft ein Verfahren zur Validierung eines Software-Standes eines Fahrzeugs und ein Computerprogrammprodukt umfassend eine Codeeinrichtung, die geeignet zum Ausführen der Schritte des Verfahrens ist, wenn es auf einem Computer ausgeführt wird.
- Aus der
WO 2007/100292 A1 - Die kontinuierliche Weiterentwicklung von Software und von Systemen für automatisiertes Absichern der Software sowie das überlappende Bestehen mehrerer Generationen erhöhen den Absicherungsaufwand enorm, da die Funktionalitäten der Software bzw. des Systems sicherheitskritisch sind.
- Für diese Absicherung müssen dann entsprechend Fahrzeuge vorgehalten werden auf denen die neue Software geprüft wird. Wenn ein „closed-loop System“, also ein System, welches das Fahrzeug entsprechend den Input- bzw. Eingangsdaten steuert, betrieben und getestet wird, so kann nur sehr eingeschränkt auf alte Daten und Aufzeichnungen zurückgegriffen werden und daher müssen tatsächlich neue Daten aufgenommen bzw. eingefahren werden. Dies ist mit hohen Kosten und mit relativ viel Aufwand verbunden.
- Typischerweise wird versucht, Daten in der Software-Entwicklung aufzuzeichnen und bei Änderungen über die Lebensdauer mit neuer Software lediglich nach zu simulieren. Dies funktioniert solange gut, wie die Reaktion des Systems sich nicht verändert.
- Die Aufgabe der hier vorliegenden Erfindung besteht darin, eine Möglichkeit bereitzustellen, einen Software-Stand zu validieren und bei einem Wechsel von Software-Ständen uneingeschränkt auf alte Daten und Aufzeichnungen zurückgreifen zu können, wobei die Kosten und der Aufwand gering gehalten werden.
- Diese Aufgabe wird durch den Gegenstand der unabhängigen Patentansprüche gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen ergeben sich insbesondere aus den hiervon abhängigen Unteransprüchen.
- Gemäß einem ersten Aspekt der Erfindung wird diese Aufgabe durch ein Verfahren zur Validierung eines Software-Standes eines Fahrzeugs in einem System gelöst, bei dem die Software auf dem Fahrzeug geprüft wird, wobei das System das Fahrzeug entsprechend von Eingangsdaten steuert und anschließend Ausgangsdaten des Fahrzeugs aufzeichnet, und wobei in einem inaktivem Zustand des Systems ein paralleler Vergleich von jeweils nicht produktivem, alten und neuen Software-Stand erfolgt, und durch Aktivierung des Systems zu einem aktiven Zustand ein Wechsel auf den produktiven Software-Stand erfolgt.
- Es ist eine Idee der vorliegenden Erfindung bei einem Wechsel von Software-Ständen den alten Software-Stand mit dem neuen Software-Stand abzugleichen. Dabei werden vorzugsweise die Fähigkeiten zur parallelen Software-Ausführung und ein Vergleich multipler Softwarepfade verwendet, um einen alten Software-Stand gegen einen neuen Software-Stand abzugleichen.
- Gemäß einem bevorzugten Ausführungsbeispiel der Erfindung wird die in einem ersten Pfad aus der Mehrzahl von Softwarepfaden die aus der Aufzeichnung der Ausgangsdaten des Fahrzeugs gewonnene Information mit einem alten Software-Stand verarbeitet.
- Gemäß dem bevorzugten Ausführungsbeispiel der Erfindung wird in einem zweiten Pfad aus der Mehrzahl von Softwarepfaden basierend auf den Eingangsdaten des Fahrzeugs ein neuer Software-Stand angewendet und in einem Vergleichspfad werden Abweichungen zwischen dem alten und dem neuen Software-Stand erfasst und gespeichert. Vorzugsweise werden die Anwendung, Erfassung und Speicherung während eines Fahrzeugbetriebs in dem inaktiven Zustand des Systems ausgeführt. Insbesondere ist das System verbaut, dennoch nicht freigeschaltet, oder das System wird aktuell nicht verwendet.
- Bei dem Wechsel zu dem aktiven Zustand des Systems wird der zu prüfende Softwareanteil vorzugsweise auf den Serienstand konfiguriert und das System ist nach einem vordefinierten Zeitintervall verfügbar. Im Falle von Adaptionen bestehender Algorithmen ist dieser Vorgang vorteilhafterweise schnell ausführbar, da ausschließlich die Gewichte eines neuronalen Netzes neu geladen werden müssen, was innerhalb von wenigen Sekunden durchführbar ist.
- Gemäß einem anderen bevorzugten Ausführungsbeispiel der Erfindung werden Systemreaktionen des alten und des neuen Software-Standes mit der Reaktion eines Fahrers des Fahrzeugs abgeglichen. Somit wird vorteilhafterweise ein weiterer Input für „natürliches“ bzw. für korrektes Fahren bereitgestellt.
- Gemäß einem zweiten Aspekt der Erfindung wird die Aufgabe durch ein Computerprogrammprodukt umfassend eine Codeeinrichtung gelöst, die geeignet zum Ausführen der Schritte eines Verfahrens nach dem ersten Aspekt der Erfindung ist, wenn es auf einem Computer ausgeführt wird.
- Vorteilhafterweise werden durch die Idee der Erfindung ein alter mit einem neuen Software-Stand auf bestehender Hardware verglichen. Dies wird vorzugsweise online ausgeführt, wodurch neue Szenen geprüft werden. Hierdurch wird ein „Overfitting“ auf bestehende Daten vermieden. Darüber hinaus kann diese Absicherung mittels einer Kundenflotte realisiert werden, welche die Hardware verbaut, aber noch nicht freigeschaltet haben oder aktuell nicht verwenden.
- Des Weiteren ist durch den Vergleich mit einem alten, bekannten Software-Stand direkt ein Feldvergleich mit bekannter Qualität vorhanden. Außerdem können vorzugsweise ausschließlich Abweichungen vom neuen zum alten Software-Stand übermittelt werden und damit findet eine automatische Selektion der kritischen bzw. interessanten Szenen statt.
- Somit wird eine Möglichkeit bereitgestellt, einen Software-Stand zu validieren und bei einem Wechsel von Software-Ständen uneingeschränkt auf alte Daten und Aufzeichnungen zurückgreifen zu können, wobei die Kosten und der Aufwand gering gehalten werden.
- Nachfolgend wird die Erfindung anhand eines bevorzugten Ausführungsbeispiels unter Bezugnahme auf die Zeichnung weiter im Detail erläutert.
- Dabei zeigt:
-
1 eine Software-basierte Implementierung gemäß einem bevorzugten Ausführungsbeispiel der Erfindung. - In einem bevorzugten Ausführungsbeispiel der Erfindung zur Validierung eines Software-Standes eines Fahrzeugs in einem System, bei dem die Software auf dem Fahrzeug geprüft wird, erfolgt eine parallele Software-Ausführung und ein Vergleich multipler Softwarepfade, um einen alten Software-Stand gegen einen neuen Software-Stand abzugleichen. Das System steuert das Fahrzeug entsprechend von Eingangsdaten und anschließend werden Ausgangsdaten des Fahrzeugs aufgezeichnet.
- In einem Pfad eines Steuergerätes wird die Information mit einem alten Software-Stand verarbeitet. Auf einem anderen Pfad aus der Mehrzahl der Softwarepfade wird basierend auf den Eingangsdaten ein neuer Software-Stand angewendet und dann werden in einem Vergleichspfad Abweichungen detektiert und gespeichert.
- In dem bevorzugten Ausführungsbeispiel der Erfindung erfolgt dies während des Betriebs des Fahrzeuges, jedoch ohne aktiviertes System. Möchte der Kunde das System aktivieren, so wird der Softwareanteil, der gerade überprüft werden soll, auf den Serienstand zurückkonfiguriert und das System nach kurzer Zeit dem Fahrer des Fahrzeugs wieder bereitgestellt.
-
1 zeigt ein schematisches Blockschaltbild einer Software-basierten Implementierung gemäß einem anderen bevorzugten Ausführungsbeispiel der Erfindung. Gemäß diesem bevorzugten Ausführungsbeispiel der Erfindung umfasst die bereitgestellte Einheit 1 eine Verarbeitungseinheit 2, auch als Processing Unit (PU) bezeichnet, die auf einem einzelnen Chip oder auf einem Chipmodul bereitgestellt wird. Die Verarbeitungseinheit 2 umfasst jegliche Prozessoreinheit oder jegliche Computereinheit, die eine Steuereinheit umfasst, welche eine Steuerung mithilfe von Software-Routinen eines Steuerprogramms ausführt, wobei die Software-Routinen in einer Speichereinheit 3, auch als Memory (MEM) bezeichnet, gespeichert sind. Programmcodeanweisungen werden von der MEM 3 geholt und in die Steuereinheit der PU 2 geladen, um die einzelnen Verfahrensschritte des erfindungsgemäßen Verfahrens auszuführen. Die Verarbeitungsschritte der Blöcke 1 und 2 können auf der Basis von Eingangsdaten, auch als Data Input (DI) bezeichnet, ausgeführt werden und können Ausgangsdaten, auch als Data Output (DO) bezeichnet, erzeugen, wobei die Eingangsdaten DI Daten oder Signalen entsprechen, die kommuniziert und/oder erfasst wurden, und die Ausgangsdaten DO können Daten oder Signalen entsprechen, die mit anderen Einheiten kommuniziert werden oder kommuniziert werden sollen. - 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
-
- WO 2007/100292 A1 [0002]
Claims (7)
- Verfahren zur Validierung eines Software-Standes eines Fahrzeugs in einem System, bei dem die Software auf dem Fahrzeug geprüft wird, wobei das System das Fahrzeug entsprechend von Eingangsdaten steuert und anschließend Ausgangsdaten des Fahrzeugs aufzeichnet dadurch gekennzeichnet, dass in einem inaktivem Zustand des Systems ein paralleler Vergleich von jeweils nicht produktivem, alten und neuen Software-Stand erfolgt, und durch Aktivierung des Systems zu einem aktiven Zustand ein Wechsel auf den produktiven Software-Stand erfolgt.
- Verfahren nach
Anspruch 1 , dadurch gekennzeichnet, dass in einem ersten Pfad aus der Mehrzahl von Softwarepfaden die aus der Aufzeichnung der Ausgangsdaten des Fahrzeugs gewonnene Information mit einem alten Software-Stand verarbeitet wird. - Verfahren nach
Anspruch 2 , dadurch gekennzeichnet, dass in einem zweiten Pfad aus der Mehrzahl von Softwarepfaden basierend auf den Eingangsdaten des Fahrzeugs ein neuer Software-Stand angewendet wird und in einem Vergleichspfad Abweichungen zwischen dem alten und dem neuen Software-Stand erfasst und gespeichert werden. - Verfahren nach
Anspruch 3 , dadurch gekennzeichnet, dass die Anwendung, Erfassung und Speicherung während eines Fahrzeugbetriebs in dem inaktiven Zustand des Systems ausgeführt werden. - Verfahren nach
Anspruch 4 , dadurch gekennzeichnet, dass bei dem Wechsel zu dem aktiven Zustand des Systems der zu prüfende Softwareanteil auf den Serienstand konfiguriert wird und das System nach einem vordefinierten Zeitintervall verfügbar ist. - Verfahren nach einem der
Ansprüche 1 bis5 , dadurch gekennzeichnet, dass Systemreaktionen des alten und des neuen Software-Standes mit der Reaktion eines Fahrers des Fahrzeugs abgeglichen werden. - Computerprogrammprodukt umfassend eine Codeeinrichtung, die geeignet zum Ausführen der Schritte eines Verfahrens nach einem der
Ansprüche 1 bis6 ist, wenn es auf einem Computer ausgeführt wird.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020005352.1A DE102020005352A1 (de) | 2020-08-31 | 2020-08-31 | Verfahren zur Validierung eines neuen Software-Standes in einem redundanten System |
PCT/EP2021/069131 WO2022042923A1 (de) | 2020-08-31 | 2021-07-09 | Verfahren zur validierung eines neuen software-standes in einem redundanten system |
JP2023513758A JP2023539641A (ja) | 2020-08-31 | 2021-07-09 | 冗長システムで新しいソフトウェアバージョンを検証するための方法 |
EP21743164.2A EP4204969A1 (de) | 2020-08-31 | 2021-07-09 | Verfahren zur validierung eines neuen software-standes in einem redundanten system |
KR1020237006831A KR20230043194A (ko) | 2020-08-31 | 2021-07-09 | 리던던시 시스템에서 새 소프트웨어 버전을 확인하는 방법 |
US18/023,410 US20230305832A1 (en) | 2020-08-31 | 2021-07-09 | Method for validating a new software status in a redundant system |
CN202180053148.XA CN115968343A (zh) | 2020-08-31 | 2021-07-09 | 用于在冗余系统内确认新软件版本的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020005352.1A DE102020005352A1 (de) | 2020-08-31 | 2020-08-31 | Verfahren zur Validierung eines neuen Software-Standes in einem redundanten System |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102020005352A1 true DE102020005352A1 (de) | 2022-03-03 |
Family
ID=76971902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102020005352.1A Pending DE102020005352A1 (de) | 2020-08-31 | 2020-08-31 | Verfahren zur Validierung eines neuen Software-Standes in einem redundanten System |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230305832A1 (de) |
EP (1) | EP4204969A1 (de) |
JP (1) | JP2023539641A (de) |
KR (1) | KR20230043194A (de) |
CN (1) | CN115968343A (de) |
DE (1) | DE102020005352A1 (de) |
WO (1) | WO2022042923A1 (de) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007100292A1 (en) | 2006-03-02 | 2007-09-07 | Abb Ab | Method for evaluating, an automation system, and a controller |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886374B1 (en) * | 2014-03-26 | 2018-02-06 | Amazon Technologies, Inc. | Virtual device farm for software testing |
DE102019202106A1 (de) * | 2019-02-18 | 2020-08-20 | Zf Friedrichshafen Ag | Verfahren zum Validieren von automatisierten Funktionen eines Fahrzeugs |
-
2020
- 2020-08-31 DE DE102020005352.1A patent/DE102020005352A1/de active Pending
-
2021
- 2021-07-09 EP EP21743164.2A patent/EP4204969A1/de active Pending
- 2021-07-09 JP JP2023513758A patent/JP2023539641A/ja active Pending
- 2021-07-09 WO PCT/EP2021/069131 patent/WO2022042923A1/de unknown
- 2021-07-09 US US18/023,410 patent/US20230305832A1/en active Pending
- 2021-07-09 CN CN202180053148.XA patent/CN115968343A/zh active Pending
- 2021-07-09 KR KR1020237006831A patent/KR20230043194A/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007100292A1 (en) | 2006-03-02 | 2007-09-07 | Abb Ab | Method for evaluating, an automation system, and a controller |
Also Published As
Publication number | Publication date |
---|---|
JP2023539641A (ja) | 2023-09-15 |
CN115968343A (zh) | 2023-04-14 |
WO2022042923A1 (de) | 2022-03-03 |
KR20230043194A (ko) | 2023-03-30 |
EP4204969A1 (de) | 2023-07-05 |
US20230305832A1 (en) | 2023-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69932371T2 (de) | Verschiebbare Instrumentationskennzeichen für die Prüfung und die Fehlerbeseitigung eines Computerprogramms | |
DE19535084A1 (de) | Verfahren und Vorrichtung zur dynamischen Optimierung von durch ein Computersystem gemanagten Geschäftsprozessen | |
DE102015216265A1 (de) | Verfahren und Teilsystem zum Installieren eines Softwareupdates in einem Fahrzeug | |
DE112009004802T5 (de) | Debugging-Vorrichtung, Debugging-Verfahren und Computerprogramm für ein Ablaufprogramm | |
WO2015104105A1 (de) | Verfahren, vorrichtung, computerprogramm und computerprogrammprodukt zum programmieren von mehreren steuergeräten | |
DE69729440T2 (de) | Prozessorssystem | |
DE102020005352A1 (de) | Verfahren zur Validierung eines neuen Software-Standes in einem redundanten System | |
EP3340250B1 (de) | Bauteilidentifikation bei der fehlerbehandlung von medizinischen geräten | |
EP3705993B1 (de) | System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk | |
EP2329374A1 (de) | Testmodul und verfahren zum testen einer o/r-abbildungs-middleware | |
DE102020209228A1 (de) | Verfahren zum Überwachen wenigstens einer Recheneinheit | |
WO2017153411A1 (de) | Verfahren zum betreiben eines steuergeräts für ein kraftfahrzeug | |
DE102018201710A1 (de) | Verfahren und Vorrichtung zum Überprüfen einer Funktion eines neuronalen Netzes | |
DE19546173C2 (de) | Verfahren zum Testen einer Bedieneroberfläche in computergesteuerten Systemen | |
DE102022205968A1 (de) | Vorrichtung zum Durchführen eines Over-the-Air-Updates (OTA) für ein Fahrzeug und Verfahren dafür | |
DE102019217416A1 (de) | Verfahren zum Erstellen eines Zugriffsrechteschemas für einen elektronischen Speicher | |
DE10038772A1 (de) | Verfahren und Vorrichtung zum Abarbeiten von Verfahrensschritten | |
DE602004007907T2 (de) | Verfahren und vorrichtung zum einbinden von aspekten in ein sich änderndes basissystem | |
DE102021211083A1 (de) | Verfahren zur Fuzz-Prüfung | |
EP4377706A1 (de) | Unsicherheitsabschätzung einer positionsrekonstruktion von halbleiterbauteilen auf einem wafer | |
WO2022083940A1 (de) | Verfahren und konfigurationssystem zum konfigurieren einer steuereinrichtung für ein technisches system | |
EP2179356A1 (de) | Kompilieren von computerprogrammen für multicore-prozessoren und deren ausführung | |
DE102022201454A1 (de) | Verfahren zum kompatiblen Einsatz von Softwaremodulen | |
DE102021213425A1 (de) | Verfahren zum Erzeugen einer Ausgabe auf der Basis einer Eingabe | |
DE102007023597A1 (de) | Verfahren und System zum computergesteuerten Durchführen mindestens eines Tests |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R081 | Change of applicant/patentee |
Owner name: MERCEDES-BENZ GROUP AG, DE Free format text: FORMER OWNER: DAIMLER AG, STUTTGART, DE |