KR20230043194A - 리던던시 시스템에서 새 소프트웨어 버전을 확인하는 방법 - Google Patents

리던던시 시스템에서 새 소프트웨어 버전을 확인하는 방법 Download PDF

Info

Publication number
KR20230043194A
KR20230043194A KR1020237006831A KR20237006831A KR20230043194A KR 20230043194 A KR20230043194 A KR 20230043194A KR 1020237006831 A KR1020237006831 A KR 1020237006831A KR 20237006831 A KR20237006831 A KR 20237006831A KR 20230043194 A KR20230043194 A KR 20230043194A
Authority
KR
South Korea
Prior art keywords
vehicle
software
software version
version
new software
Prior art date
Application number
KR1020237006831A
Other languages
English (en)
Inventor
필립 쉰들러
올리베르 푈니
올리베르 ?O니
Original Assignee
메르세데스-벤츠 그룹 아게
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 메르세데스-벤츠 그룹 아게 filed Critical 메르세데스-벤츠 그룹 아게
Publication of KR20230043194A publication Critical patent/KR20230043194A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 방법의 단계를 실행하기에 적합한 코드 장치를 포함하는 컴퓨터 프로그램 제품과 시스템에서 차량의 소프트웨어 버전을 확인하는 방법에 관한 것이다. 시스템에서는 차량에서 소프트웨어가 테스트되며, 이때 시스템은 입력 데이터에 따라 차량을 제어하고 이어서 차량의 출력 데이터를 기록하며 이때 시스템의 비활성 상태에서 각각의 비생산적, 이전 및 새 소프트웨어 버전의 병렬 비교가 이루어지고 활성 상태로 시스템을 활성화해서 생산적인 소프트웨어 버전으로 변경이 이루어진다.

Description

리던던시 시스템에서 새 소프트웨어 버전을 확인하는 방법
본 발명은 컴퓨터에서 실행될 때 방법의 단계를 실행하기에 적합한 코드 장치를 포함하는 컴퓨터 프로그램 제품과 차량의 소프트웨어 버전을 확인하는 방법에 관한 것이다.
WO 2007/100292 A1에서는 자동화 시스템 내의 프로세스를 제어하기 위한 애플리케이션을 평가하는 방법 및 이러한 자동화 시스템용 제어시스템을 개시한다. 애플리케이션은 컨트롤러에 저장되며 적어도 두 개 이상의 버전이 컨트롤러에 있다. 방법은 프로세스에서 얻은 입력 신호를 애플리케이션의 다양한 버전에 입력하는 단계; 이 입력 신호를 기반으로 다양한 버전에 대한 컨트롤러에서 작업을 실행하는 단계; 애플리케이션의 다양한 버전의 출력 비교를 포함하는 보고서를 생성하는 단계; 및 생성된 보고서를 기반으로 프로세스를 제어하는 데 사용되지 않는 버전을 평가하는 단계를 포함한다.
소프트웨어 및 소프트웨어의 자동 보안을 위한 시스템이 지속적으로 추가 개발되고 여러 세대가 중복해서 존재하면서 소프트웨어 및 시스템의 기능이 보안상 중요하기 때문에 보안 노력이 엄청나게 늘어나고 있다.
이러한 보안을 위해 새 소프트웨어를 테스트하는 적절한 차량을 계속 사용할 수 있어야 한다. “폐루프 시스템", 즉 Input 및 입력 데이터에 따라 차량을 제어하는 시스템이, 작동 및 테스트되는 경우 매우 제한적으로만 이전 데이터와 기록에 액세스할 수 있으므로 새로운 데이터를 실제로 기록하거나 가져와야 한다. 이는 높은 비용뿐만 아니라 비교적 많은 노력과 관련된다.
일반적으로 소프트웨어 개발 중에 데이터를 기록하고 변경 시 서비스 수명 동안 새 소프트웨어로 시뮬레이션하려는 시도만 한다. 이는 시스템의 응답이 달라지지 않는 한 잘 작동한다.
본 발명의 목적은 비용과 노력을 적게 들이면서 소프트웨어 버전을 확인하고 소프트웨어 버전을 변경할 때 제한 없이 이전 데이터와 기록에 액세스할 수 있는 방법을 제공하는 데 있다.
이러한 목적은 독립항의 대상에 의해 달성된다. 바람직한 실시예와 실시 양태는 특히 종속항에 나온다.
본 발명의 제1 양태에 따르면, 소프트웨어가 차량에서 테스트되는 시스템에서 차량의 소프트웨어 버전을 확인하는 방법을 통해 이러한 목적은 달성되고, 이때 시스템은 입력 데이터에 따라 차량을 제어하고 이어서 차량의 출력 데이터를 기록하며 이때 시스템의 비활성 상태에서 각각의 비생산적, 이전 및 새 소프트웨어 버전의 병렬 비교가 이루어지고 활성 상태로 시스템을 활성화해서 생산적인 소프트웨어 버전으로 변경이 이루어진다.
본 발명의 아이디어는 소프트웨어 버전을 변경할 때 이전 소프트웨어 버전을 새 소프트웨어 버전과 비교하는 데 있다. 이때, 이전 소프트웨어 버전을 새 소프트웨어 버전과 비교하기 위해 병렬 소프트웨어 실행 기능과 다중 소프트웨어 경로 비교를 사용하는 것이 바람직하다.
본 발명의 바람직한 실시예에 따르면, 차량의 출력 데이터를 기록하여 얻은 정보는 이전 소프트웨어 버전을 사용하여 복수의 소프트웨어 경로 중 첫 번째 경로에서 처리된다.
본 발명의 바람직한 실시예에 따르면, 차량의 입력 데이터를 기반으로 복수의 소프트웨어 경로 중 두 번째 경로에서 새로운 소프트웨어 버전을 사용하고, 비교 경로에서 이전 소프트웨어 버전과 새로운 소프트웨어 버전 간의 차이를 기록하여 저장한다. 바람직하게는, 차량 작동 중 사용, 기록 및 저장은 시스템의 비활성 상태에서 실행된다. 특히 시스템은 설치되어 있지만 활성화되지 않았거나 시스템을 현재 사용하고 있지 않다.
시스템의 활성 상태로 변경 시 확인할 소프트웨어 부분이 특히 시리즈 버전으로 구성되고 미리 정의된 시간 간격 후에 시스템을 사용할 수 있다. 기존 알고리즘 적응의 경우, 신경망의 가중치만 다시 로드하면 되고 몇 초 내에 실행할 수 있기 때문에 바람직하게는 이 과정이 신속하게 실행될 수 있다.
본 발명의 다른 바람직한 실시예에 따르면, 이전 소프트웨어 버전과 새로운 소프트웨어 버전의 시스템 반응이 차량 운전자의 반응과 비교된다. 이렇게 해서 바람직하게는 "자연스러운" 및 올바른 주행을 위한 추가 입력이 제공된다.
본 발명의 제2 양태에 따르면, 이러한 목적은 컴퓨터에서 실행될 때 본 발명의 제1 양태에 따른 방법의 단계를 수행하기에 적합한 코드 장치를 포함하는 컴퓨터 프로그램 제품에 의해 달성된다.
바람직하게는, 본 발명의 아이디어를 통해 이전 소프트웨어 버전을 기존 하드웨어의 새로운 버전과 비교한다. 이것은 바람직하게는 온라인으로 실행되며, 이를 통해 새로운 장면이 확인된다. 이를 통해 기존 데이터에 "과잉 맞춤"(overfitting)을 방지할 수 있다. 또한, 이러한 보안은 하드웨어를 설치했지만 아직 활성화하지 않았거나 현재 사용하지 않는 고객 군으로 구현될 수 있다.
또한 이전의 알려진 소프트웨어 버전과 비교함으로써 알려진 품질의 필드 비교가 바로 존재한다. 또한, 바람직하게는 새로운 소프트웨어 버전에서 이전 소프트웨어 버전으로 차이만 전송될 수 있고 이로써 중요하거나 흥미로운 장면의 자동 선택이 이루어진다.
그 결과 비용과 노력을 적게 들이면서 소프트웨어 버전을 확인하고 소프트웨어 버전을 변경할 때 제한 없이 이전 데이터와 기록에 액세스할 수 있는 방법이 제공된다.
아래에서는 도면을 참조하여 바람직한 예시적인 실시예를 기반으로 본 발명을 상세히 설명한다.
이때 각 도면은 다음을 도시한다.
도 1은 본 발명의 바람직한 실시예에 따른 소프트웨어 기반 구현을 도시한다.
차량에서 소프트웨어가 테스트되는 시스템에서 차량의 소프트웨어 버전을 확인하기 위한 본 발명의 바람직한 실시예에서, 이전 소프트웨어 버전을 새로운 소프트웨어 버전과 비교하기 위해 병렬 소프트웨어 실행 및 다중 소프트웨어 경로의 비교가 이루어진다. 시스템은 입력 데이터에 따라 차량을 제어하고 이어서 차량의 출력 데이터를 기록한다.
제어장치의 경로에서 정보는 이전 소프트웨어 버전으로 처리된다. 입력 데이터에 기초하여 복수의 소프트웨어 경로 중 다른 경로에 새로운 소프트웨어 버전을 적용하고 비교 경로에서 차이를 검출하여 저장한다.
본 발명의 바람직한 실시예에서, 이것은 차량이 작동 중이지만 시스템이 활성화되지 않은 상태에서 이루어진다. 고객이 시스템 활성화를 원하면 현재 점검해야 하는 소프트웨어 부분을 시리즈 버전으로 재구성하고 잠시 후 다시 차량 운전자에게 시스템을 제공한다.
도 1은 본 발명의 다른 바람직한 실시예에 따른 소프트웨어 기반 구현의 개략적인 블록도를 도시한다. 본 발명의 이 바람직한 예시적인 실시예에 따르면, 제공된 장치(1)는 단일 칩 또는 칩 모듈로 제공되는 처리 장치(2)(Processing Unit(PU, 프로세싱 유닛)라고도 함)를 포함한다. 처리 장치(2)는 임의의 프로세서 유닛 또는 제어 프로그램의 소프트웨어 루틴을 사용하여 제어를 실행하는 제어 유닛을 포함하는 임의의 컴퓨터 장치를 포함하고, 이때 이 소프트웨어 루틴은 저장 유닛(3)(Memory(MEM, 메모리)라고도 함)에 저장된다. 프로그램 코드 명령어는 본 발명에 따른 방법의 개별 방법 단계를 수행하기 위해 MEM(3)에서 가져와 PU(2)의 제어 유닛에 로드된다. 블록 1과 2의 처리 단계는 입력 데이터(Data Input(DI, 데이터 입력)이라고도 함)를 기반으로 수행될 수 있으며, 출력 데이터(Data Output(DO, 데이터 출력)이라고도 함)를 생성할 수 있고, 이때 입력 데이터(DI)는 통신하고/하거나 기록된 데이터나 신호에 해당하며 출력 데이터(DO)는 다른 장치와 통신하거나 통신해야 할 데이터나 신호에 해당할 수 있다.

Claims (7)

  1. 차량에서 소프트웨어가 테스트되는 시스템에서 차량의 소프트웨어 버전을 확인하는 방법으로, 이때 시스템은 입력 데이터에 따라 차량을 제어하고 이어서 차량의 출력 데이터를 기록하며
    시스템의 비활성 상태에서 각각의 경우에 비생산적, 이전 및 새 소프트웨어 버전의 병렬 비교가 이루어지고,
    활성 상태로 시스템을 활성화함으로써, 생산적인 소프트웨어 버전으로 변경이 이루어지는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    차량의 출력 데이터를 기록하여 얻은 정보는 이전 소프트웨어 버전을 사용하여 복수의 소프트웨어 경로 중 첫 번째 경로에서 처리되는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    차량의 입력 데이터를 기반으로 복수의 소프트웨어 경로 중 두 번째 경로에서 새로운 소프트웨어 버전을 사용하고, 비교 경로에 이전 소프트웨어 버전과 새로운 소프트웨어 버전 간의 차이가 검출되어 저장되는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    차량 작동 중 상기 사용, 검출 및 저장은 시스템의 비활성 상태에서 실행되는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    시스템의 활성 상태로 변경 시, 테스트될 소프트웨어 부분이 생산 시리즈 버전으로 구성되고, 미리 정의된 시간 간격 후에 시스템을 사용할 수 있는 것을 특징으로 하는 방법.
  6. 제1항부터 제5항까지 중 어느 한 항에 있어서
    이전 소프트웨어 버전과 새 소프트웨어 버전의 시스템 반응이 차량 운전자의 반응과 비교되는 것을 특징으로 하는 방법.
  7. 컴퓨터에서 실행될 때 제1항부터 제6항까지 중 어느 한 항에 따른 방법의 단계를 수행하기에 적합한 코드 장치를 포함하는, 유형의 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 제품.
KR1020237006831A 2020-08-31 2021-07-09 리던던시 시스템에서 새 소프트웨어 버전을 확인하는 방법 KR20230043194A (ko)

Applications Claiming Priority (3)

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
DE102020005352.1 2020-08-31
PCT/EP2021/069131 WO2022042923A1 (de) 2020-08-31 2021-07-09 Verfahren zur validierung eines neuen software-standes in einem redundanten system

Publications (1)

Publication Number Publication Date
KR20230043194A true KR20230043194A (ko) 2023-03-30

Family

ID=76971902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237006831A KR20230043194A (ko) 2020-08-31 2021-07-09 리던던시 시스템에서 새 소프트웨어 버전을 확인하는 방법

Country Status (7)

Country Link
US (1) US20230305832A1 (ko)
EP (1) EP4204969A1 (ko)
JP (1) JP2023539641A (ko)
KR (1) KR20230043194A (ko)
CN (1) CN115968343A (ko)
DE (1) DE102020005352A1 (ko)
WO (1) WO2022042923A1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE529676C2 (sv) 2006-03-02 2007-10-23 Abb Ab En metod för att utvärdera en applikation, ett automationssystem och en styrenhet
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

Also Published As

Publication number Publication date
JP2023539641A (ja) 2023-09-15
EP4204969A1 (de) 2023-07-05
US20230305832A1 (en) 2023-09-28
DE102020005352A1 (de) 2022-03-03
CN115968343A (zh) 2023-04-14
WO2022042923A1 (de) 2022-03-03

Similar Documents

Publication Publication Date Title
KR102537875B1 (ko) 차량 ecu 소프트웨어 검증을 위한 동적 결함 주입 방법 및 장치
Gegick et al. Prioritizing software security fortification throughcode-level metrics
EP3506104B1 (en) Coverage test support device and coverage test support method
US7844413B2 (en) Self-generated test automation
US8140986B2 (en) Generating test scenarios using reusable triggers indicating graphical user interface (GUI) elements and actions
US20070265801A1 (en) Multivariate monitoring of operating procedures
US11609838B2 (en) System to track and measure machine learning model efficacy
US20100031239A1 (en) Systems, Methods, and Media for Testing Software Patches
CN111026080A (zh) 控制器的硬件在环测试方法及装置
TW200413951A (en) Expert knowledge methods and systems for data analysis
CA2811617C (en) Commit sensitive tests
US7774668B2 (en) System and method for detecting non-reproducible pseudo-random test cases
KR20230043194A (ko) 리던던시 시스템에서 새 소프트웨어 버전을 확인하는 방법
CN113574511A (zh) 测试用例生成装置、测试用例生成方法和测试用例生成程序
US11520691B2 (en) Test procedure systems and methods
CN114706719A (zh) 一种基于fio测试工具的磁盘测试方法及装置
KR20130055181A (ko) 소프트웨어 테스트 장치 및 그 방법
WO2016103229A1 (en) A method for verifying a safety logic in an industrial process
GB2590414A (en) Anomaly detection for code management
GB2590416A (en) Logistic model for code management
GB2590415A (en) Software code management
US6496975B1 (en) Method, system, and program for performing conditional program operations
US20240202029A1 (en) Memory stability determination apparatus, method of determining stability of memory allocation code by detecting atypical memory allocation code, and computer program
US20230274006A1 (en) Software code vulnerability remediation
CN116029235A (zh) 芯片验证方法、装置和系统