KR102595323B1 - 차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법 - Google Patents

차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법 Download PDF

Info

Publication number
KR102595323B1
KR102595323B1 KR1020230082582A KR20230082582A KR102595323B1 KR 102595323 B1 KR102595323 B1 KR 102595323B1 KR 1020230082582 A KR1020230082582 A KR 1020230082582A KR 20230082582 A KR20230082582 A KR 20230082582A KR 102595323 B1 KR102595323 B1 KR 102595323B1
Authority
KR
South Korea
Prior art keywords
virtual
network
ecu
ecus
virtual ecu
Prior art date
Application number
KR1020230082582A
Other languages
English (en)
Inventor
양안나
한우진
설우현
이인호
김진용
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 주식회사 드림에이스
Priority to KR1020230082582A priority Critical patent/KR102595323B1/ko
Application granted granted Critical
Publication of KR102595323B1 publication Critical patent/KR102595323B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Abstract

차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템이 제공된다. 상기 시스템은 제1 설정정보를 기반으로 복수의 가상 ECU에 대한 설정을 수행하고, 제2 설정정보를 기반으로 복수의 가상 ECU 간의 네트워크를 구성하는 도커 관리부와, 상기 도커 관리부에 의해 관리되는 도커 호스트를 포함하되, 상기 도커 호스트는, 각 가상 ECU를 생성하기 위한 보드별 디바이스 드라이버와, 상기 가상 ECU에 탑재될 오토사 표준을 따르는 임베디드 소프트웨어 기반 어플리케이션을 빌드하기 위한 어플리케이션 빌더를 포함하는 자원 관리부, 상기 빌드된 어플리케이션을 구동하는 복수의 가상 ECU 및 상기 복수의 가상 ECU와 각각 연결되어 가상 ECU 간의 네트워크 통신을 지원하는 네트워크 관리부를 포함한다.

Description

차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템 및 방법{SYSTEM AND METHOD FOR VERIFYING VIRTUAL ECU FOR AUTOMOTIVE EMBEDDED SYSTEM}
본 발명은 차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템 및 방법에 관한 것이다.
도 1은 종래 기술에서의 다중 ECU 네트워크 검증 과정을 설명하기 위한 도면이다.
일반적으로 차량용 임베디드 시스템에서 다중 ECU(103)의 네트워크 검증을 위해서는 하나의 통신라인(101)에 다수의 ECU(103)를 연결하여 테스트를 진행하고, 네트워크 모니터(105)는 버스 상의 메시지를 관찰하기 위한 툴로 활용된다. 이때, 네트워크 모니터(105)는 ECU(103) 간의 통신을 실시간으로 감시하고, 메시지 송수신, 데이터 일관성 등을 확인할 수 있다.
도 2는 종래 기술에서의 서로 다른 통신 프로토콜을 갖는 다중 ECU 네트워크 검증 과정을 설명하기 위한 도면이다.
차량용 임베디드 시스템에서 서로 다른 통신 프로토콜을 가진 ECU(211, 221, 231)간 통신을 하기 위해서는 각 통신 프로토콜(210, 220, 230) 별로 별도의 네트워크를 구축한 후, 네트워크 모니터(212, 222, 232)를 통해 각각의 버스에 대한 정보를 개별적으로 모니터링해야 한다.
데이터 변환에 있어서도 별도의 네트워크 관리를 위한 소프트웨어를 통하여 프로토콜에 따라 메시지 포맷을 변경하여 해당 버스로 데이터를 전송해주는 등의 작업을 진행해야 한다.
공개특허공보 제10-2016-0047147호 (2016.05.02)
본 발명이 해결하고자 하는 과제는 네트워크 관리부와 가상 ECU가 1:1로 연결된 구조에서 개별 ECU 간 교환되어야 할 메시지와 해당 ECU의 프로토콜 및 버스 정보를 기반으로, 특정 버스로 특정 프로토콜에 따라 메시지를 전송하고, 서로 다른 프로토콜 간의 데이터 변환을 수행하여 네트워크 통신을 모사하는 기능을 제공하는, 차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템 및 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또다른 과제들이 존재할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 제1 측면에 따른 차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템은 제1 설정정보를 기반으로 복수의 가상 ECU에 대한 설정을 수행하고, 제2 설정정보를 기반으로 복수의 가상 ECU 간의 네트워크를 구성하는 도커 관리부와, 상기 도커 관리부에 의해 관리되는 도커 호스트를 포함한다. 이때, 상기 도커 호스트는, 각 가상 ECU를 생성하기 위한 보드별 디바이스 드라이버와, 상기 가상 ECU에 탑재될 오토사 표준을 따르는 임베디드 소프트웨어 기반 어플리케이션을 빌드하기 위한 어플리케이션 빌더를 포함하는 자원 관리부, 상기 빌드된 어플리케이션을 구동하는 복수의 가상 ECU 및 상기 복수의 가상 ECU와 각각 연결되어 가상 ECU 간의 네트워크 통신을 지원하는 네트워크 관리부를 포함한다.
본 발명의 일부 실시예에 있어서, 상기 네트워크 관리부는, 상기 네트워크 통신을 위한 가상화된 네트워크 환경을 구성하며, 상기 가상 ECU 간의 네트워크 통신시 동종 또는 이종의 네트워크 통신 프로토콜을 지원하는 네트워크 구성부 및 복수의 네트워크 통신 프로토콜이 적용된 상기 복수의 가상 ECU 간 송수신하는 데이터를 로깅하여 가상화된 네트워크 환경을 검증하는 네트워크 모니터링부를 포함할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 네트워크 모니터링부는 제1 가상 ECU로부터 전송된 데이터를 수신하면 상기 데이터의 목적지를 상기 네트워크 구성부를 통해 확인하고, 상기 목적지에 상응하는 제2 가상 ECU로 상기 데이터를 전송할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 네트워크 모니터링부는 상기 네트워크 구성부의 라우팅 정보에 기반하여, 제1 네트워크 통신 프로토콜을 갖는 상기 제1 가상 ECU에서 전송된 데이터를 상기 제2 가상 ECU에 적용된 제2 네트워크 통신 프로토콜에 상응하는 데이터로 변환하여 전송할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 네트워크 모니터링부 및 상기 가상 ECU는 테스트케이스에 대한 시뮬레이션을 수행하는 시뮬레이션 모델을 교환하기 위한 FMI(Functional Mockup Interface)를 포함할 수 있다.
본 발명의 일부 실시예는, 상기 복수의 가상 ECU 간의 네트워크 테스트를 자동화하기 위한 상기 테스트케이스를 저장 및 구동시키는 네트워크 테스트부 및 상기 각 가상 ECU의 검증을 자동화하기 위한 상기 테스트케이스를 저장 및 구동시키는 ECU 테스트부를 더 포함할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 네트워크 모니터링부는 상기 네트워크 구성부로부터 시뮬레이션 정보 및 외부 상용 툴로부터 시뮬레이션 모델을 입력받으면, 상기 시뮬레이션 모델의 특정 입력에 대응하는 메시지를 생성하여 가상 ECU에 전송하고 상기 가상 ECU로부터의 응답을 기록하고, 상기 기록된 응답이 상기 테스트케이스에서의 응답과 동일 여부를 판단할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 네트워크 모니터링부는 상기 복수의 가상 ECU 간 송수신하는 데이터의 로깅 결과를 적정성 판단을 위해 외부 상용 툴로 반환하되, 상기 외부 상용 툴은 상기 로깅 결과를 상기 테스트케이스에 따른 시뮬레이션 결과와 비교하여 적정성 판단 결과를 생성할 수 있다.
본 발명의 일부 실시예에 있어서, 상기 네트워크 모니터링부는 외부 상용 툴로부터 시뮬레이션 모델을 입력받으면, 시뮬레이션 정보 및 라우팅 정보에 기반하여 시뮬레이션 대상인 가상 ECU로 상기 시뮬레이션 모델을 전달하고, 상기 시뮬레이션 대상 ECU로부터 시뮬레이션 결과를 수신함에 따라 외부 상용 툴로 전송하되, 상기 외부 상용 툴은 상기 시뮬레이션 결과를 상기 테스트케이스에 따른 시뮬레이션 결과와 비교하여 적정성 판단 결과를 생성할 수 있다.
또한, 본 발명의 제2 측면에 따른 설정정보를 기반으로 복수의 가상 ECU에 대한 설정을 수행하고, 복수의 가상 ECU 간의 네트워크를 구성하는 도커 관리부 및 상기 도커 관리부에 의해 관리되는 도커 호스트를 포함하는 가상 ECU 검증 시스템에 의해 수행되는 방법은 네트워크 관리부가 제1 가상 ECU로부터 전송된 데이터를 수신하는 단계; 상기 네트워크 관리부가 데이터의 목적지를 확인하는 단계; 상기 네트워크 관리부가 상기 목적지에 상응하는 제2 가상 ECU에 적용된 네트워크 통신 프로토콜을 확인하는 단계; 및 상기 네트워크 통신 프로토콜에 상응하도록 상기 데이터의 포맷을 유지 또는 변경하여 상기 제2 가상 ECU로 전송하는 단계를 포함한다. 이때, 상기 네트워크 관리부 및 상기 가상 ECU는 상기 도커 호스트 내에서 컨테이너 기반으로 생성된다.
또한, 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 상기 차량용 임베디드 시스템을 위한 가상 ECU 검증 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장된다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
전술한 본 발명에 따르면, 신규 버스의 생성을 수작업으로 하거나 별도의 소프트웨어를 개발하던 것과는 달리 네트워크 관리부와 가상 ECU를 1:1로 연결하여 메시지와 프로토콜, 버스 정보만으로도 특정 버스에서 특정 프로토콜에 따라 메시지가 전송되는 것을 모사할 수 있으며, 이를 통해 새로운 버스를 간편하게 생성할 수 있는 장점이 있다.
또한, 가상 ECU에서 지원하는 프로토콜이 서로 다른 경우에도 전송받은 메시지를 도착지 프로토콜에 맞추어 메시지 포맷을 변경해주는 등의 기능을 통합적으로 수행할 수 있어, 다양한 프로토콜 간의 통신이 필요한 경우에도 유연한 처리가 가능하게 할 수 있다.
또한, 특정 프로토컬 버스가 존재하고 각 버스에 연결된 ECU 그룹이 있는 상황에서도 네트워크 관리부가 모든 버스를 모니터링하고 필요한 데이터 교환을 가능하게 하므로 복잡한 네트워크에서의 통신 관리를 단순화할 수 있다.
뿐만 아니라, 네트워크 관리부를 통해 다중 버스 간의 통신을 효과적으로 모니터링하고 필요한 데이터 교환을 가능하게 하며, 이를 통해 통신 오류를 감지하고 해결할 수 있으며, 시스템 전체의 통신 효율을 높일 수 있는 장점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 종래 기술에서의 다중 ECU 네트워크 검증 과정을 설명하기 위한 도면이다.
도 2는 종래 기술에서의 서로 다른 통신 프로토콜을 갖는 다중 ECU 네트워크 검증 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 가상 ECU 검증 시스템(300)의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 가상 ECU 검증 시스템의 블록도이다.
도 5는 본 발명에서의 가상 ECU를 검증하는 일 실시예를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 차량용 임베디드 시스템을 위한 가상 ECU 검증 방법의 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 발명은 차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템 및 방법에 관한 것이다.
본 발명은 신규 버스의 생성을 수작업으로 하거나 별도의 소프트웨어의 개발 필요 없이, 네트워크 관리부와 가상 ECU가 1:1로 연결되어 개별 가상 ECU 간 교환되어야할 메시지와 해당 가상 ECU의 프로토콜과 연결되어야 할 버스 정보만 가지고 있다면, 특정 버스로 특정 프로토콜에 따라 메시지가 전송됨을 모사할 수 있다. 그리고 가상 ECU에서 지원하는 프로토콜이 서로 다른 프로토콜인 경우에도 전송받은 메시지를 도착지 프로토콜에 맞추어 메시지 포맷을 변경해주는 등의 기능을 통합적으로 수행할 수 있다.
특히, 다중 CAN 버스가 존재하고, 각 버스에 연결된 ECU 그룹이 있는 경우를 고려하면 다음과 같다. 예를 들어 CAN0 버스에는 가상 ECU0과 가상 ECU1이 연결되어 있고, CAN1 버스에는 가상 ECU2, 가상 ECU3, 가상 ECU4가 연결되어 있는 상황을 가정하도록 한다. 이러한 경우, 네트워크 관리부는 모든 CAN 버스를 모니터링하며, CAN0과 CAN1 사이에서 필요한 데이터 교환을 가능하게 한다.
즉, 본 발명의 일 실시예에서 네트워크 관리부는 다중 CAN 버스 간의 통신을 효과적으로 모니터링하고, 필요한 데이터를 교환할 수 있도록 하는 기능을 제공한다.
이하에서는 도 3 내지 도 5를 참조하여 본 발명의 일 실시예에 따른 차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템(이하 가상 ECU 검증 시스템)을 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 가상 ECU 검증 시스템(300)의 블록도이다.
도 3을 참조하면, 가상 ECU 검증 시스템(300)은 입력부(310), 통신부(320), 표시부(330), 메모리(340) 및 프로세서(350)를 포함한다.
입력부(310)는 가상 ECU 검증 시스템(300)의 사용자 입력에 대응하여 입력데이터를 발생시킨다. 입력부(310)는 적어도 하나의 입력수단을 포함한다. 입력부(310)는 키보드(key board), 키패드(key pad), 돔 스위치(dome switch), 터치패널(touch panel), 터치 키(touch key), 마우스(mouse), 메뉴 버튼(menu button) 등을 포함할 수 있다.
통신부(320)는 시스템(300)의 내부 데이터 또는 외부 데이터의 송수신을 지원한다. 이와 같은 통신부(320)는 유선 통신 모듈 및 무선 통신 모듈을 모두 포함할 수 있다. 유선 통신 모듈은 전력선 통신 장치, 전화선 통신 장치, 케이블 홈(MoCA), 이더넷(Ethernet), IEEE1294, 통합 유선 홈 네트워크 및 RS-485 제어 장치로 구현될 수 있다. 또한, 무선 통신 모듈은 WLAN(wireless LAN), Bluetooth, HDR WPAN, UWB, ZigBee, Impulse Radio, 60GHz WPAN, Binary-CDMA, 무선 USB 기술 및 무선 HDMI 기술, 그밖에 5G(5th generation communication), LTE-A(long term evolution-advanced), LTE(long term evolution), Wi-Fi(wireless fidelity) 등의 기능을 구현하기 위한 모듈로 구성될 수 있다.
표시부(330)는 시스템(300)의 동작에 따른 데이터, 시뮬레이션 결과 등을 표시한다. 표시부(330)는 액정 디스플레이(LCD; liquid crystal display), 발광 다이오드(LED; light emitting diode) 디스플레이, 유기 발광 다이오드(OLED; organic LED) 디스플레이, 마이크로 전자기계 시스템(MEMS; micro electro mechanical systems) 디스플레이 및 전자 종이(electronic paper) 디스플레이를 포함한다. 표시부(330)는 입력부(310)와 결합되어 터치 스크린(touch screen)으로 구현될 수 있다.
메모리(340)는 시스템(300)의 동작 프로그램들을 저장한다. 여기에서, 메모리(340)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 휘발성 저장장치를 통칭하는 것이다. 예를 들어, 메모리(120)는 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억 장치 및 CD-ROM, DVD-ROM 등과 같은 광학 디스크 드라이브(optical disc drive) 등을 포함할 수 있다.
프로세서(350)는 메모리에 저장된 프로그램 등 소프트웨어를 실행하여 전자장치(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다.
도 4는 본 발명의 일 실시예에 따른 가상 ECU 검증 시스템(400)의 블록도이다.
본 발명의 일 실시예에 따른 가상 ECU 검증 시스템(400)은 도커 관리부(410)와 도커 호스트(420)를 포함한다.
도커 관리부(410)는 소정의 설정정보를 활용하여 가상 ECU 집합(422)에 대한 설정과 ECU(422)간 네트워크 구성 설정을 진행한다. 즉, 도커 관리부(400)는 제1 설정정보를 기반으로 복수의 가상 ECU(422)에 대한 설정을 수행하고, 제2 설정정보를 기반으로 복수의 가상 ECU(422) 간의 네트워크를 구성한다.
일 실시예로, 제1 설정정보는 가상 ECU(422)들의 개별 설정정보로, 프로토콜의 종류, 주소, 통신속도, 포트 설정 정보일 수 있다. 일 실시예로, 제2 설정정보는 가상 ECU(422)들 간의 네트워크 구성 정보로 가상 ECU(422)들 간의 연결정보, 프로토콜의 종류, 주소 정보 등을 포함할 수 있다.
일 실시예로 도커 관리부(410)는 어플리케이션 구성 툴로부터 소정의 설정정보를 제공받을 수 있다. 어플리케이션 구성 툴은 차량용 임베디드 소프트웨어 표준인 AUTOSAR Classic 표준을 따르는 임베디드 소프트웨어의 바이너리 파일 또는 AUTOSAR Adaptive 표준을 따르는 임베디드 소프트웨어의 바이너리 파일을 생성할 수 있도록 하는 설정정보를 도커 관리부(410)에게 제공할 수 있다.
도커 호스트(420)는 도커 관리부(410)에 의해 관리되며, 자원 관리부(421), 복수의 가상 ECU(422) 및 네트워크 관리부(423)를 포함한다.
자원 관리부(421)는 보드별 디바이스 드라이버(4211)와 어플리케이션 빌더(4212)를 포함한다. 보드별 디바이스 드라이버(4211)는 각 가상 ECU(422)를 생성하기 위해 필요한 하드웨어 장치의 제어를 담당한다. 즉, 해당 보드에 적합한 인터페이스를 제공하여 가상 ECU(422)와 하드웨어 간의 상호작용을 가능하게 한다. 다시 말해, 본 발명의 일 실시예는 여러 보드에 대한 디바이스 드라이버(4211)를 포함할 수 있다.
어플리케이션 빌더(4212)는 오토사 표준을 따르는 임베디드 소프트웨어 기반 어플리케이션을 빌드하기 위한 도구이다.
그밖에 자원 관리부(421)는 이러한 동작에 활용되는 자원을 모은 기타 자원 관리자(4213)를 포함한다.
복수의 가상 ECU(422)는 개별 컨테이너로 구성되어 동작한다. 개별 컨테이너는 빌드된 차량용 임베디드 소프트웨어 어플리케이션을 실행시키는 환경을 제공하며, 이는 가상 ECU의 역할을 수행한다.
일 실시예로, 가상 ECU 집합은 개별적으로 생성된 ECU들의 집합을 의미한다. 각 가상 ECU(422)는 소프트웨어 어플리케이션의 성능 및 활용에 따라 상응하는 하드웨어가 결정될 수 있다. 가상 ECU 집합의 설정정보(제1 설정정보)는 개별 ECU들에 대한 소프트웨어 어플리케이션, 어플리케이션 구동을 위한 자원 및 하드웨어 등에 관한 정보를 포함할 수 있다.
개별 가상 ECU(422)는 자원 관리자(421)를 통해 디바이스 드라이버(4211) 집합과 도커 관리부(410)로부터 전달받은 정보를 활용하여 구성될 수 있다. 이때, 디바이스 드라이버(4211) 집합은 각 가상 ECU(422)를 생성하기 위해 필요한 보드별 디바이스 드라이버들의 모음을 의미한다. 또한, 도커 관리부(410)로부터 전달받은 정보는 가상 ECU(422)의 어플리케이션이나 어플리케이션을 활용하기 위한 메시지 또는 서비스 정보, 하드웨어에 관한 정보 등이 포함될 수 있다. 이러한 정보를 기반으로 에뮬레이션이 가능한 가상 ECU(422)를 구성할 수 있다. 즉, 각 가상 ECU(422)의 기능과 특성을 가상환경에서 재현할 수 있는 형태로 구성할 수 있다.
커널은 기타 자원 관리자(4213)로부터 가상 ECU 집합을 구성할 때 함께 생성될 수 있다. 커널은 가상환경에서 가상 ECU(422)들이 구동되는 런타임 환경을 제공하는 중요한 요소에 해당한다.
또한, 가상 ECU(422)에는 어플리케이션 빌더(4212)를 통해 생성된 어플리케이션이 구동된다. 어플리케이션 빌더(4212)를 통해 각 가상 ECU(422)에는 오토사 표준을 따르는 임베디드 소프트웨어 어플리케이션이 빌드된다.
그밖에 본 발명의 일 실시예에 따른 가상 ECU 검증 시스템(400)은 차량 인포테인먼트(427)를 컨테이너로 구성하여 차량의 상태 변화에 따른 정보를 표출하거나 사용자의 편의 기능에 관한 시뮬레이션이 진행될 수 있도록 할 수 있다.
네트워크 관리부(423)는 가상 ECU 집합 내 가상 ECU(422)들과 각각 연결되어 가상 ECU(422) 간의 네트워크 통신을 지원한다.
일 실시예로, 네트워크 관리부(423)는 네트워크 구성부(4231) 및 네트워크 모니터링부(4232)를 포함한다.
네트워크 구성부(4231)는 네트워크 통신을 위한 가상화된 네트워크 환경을 구성한다. 네트워크 구성부(4231)는 가상 ECU(422) 간의 네트워크 통신시 동종 또는 이종의 네트워크 통신 프로토콜을 지원하며, 이를 통해 타 프로토콜을 활용하여 전송된 데이터를 각 가상 ECU(422)에 알맞은 데이터로 전송되도록 할 수 있다.
네트워크 모니터링부(4232)는 복수의 네트워크 통신 프로토콜이 적용된 복수의 가상 ECU(422) 간 송신하는 데이터를 로깅하여 가상화된 네트워크 환경을 검증한다. 일반적으로 ECU 간 네트워크를 검증할 때에는 네트워크를 통해 전송한 메시지와 메시지에 대한 ECU의 응답이 테스트케이스에서 정한 응답과 동일한지 여부를 체크한다. 또한, 통신 상 문제가 발생할 경우 네트워크 상에서 교환된 메시지에 대한 분석이 진행되어야 한다. 이를 위해, 네트워크 모니터링부(4232)는 CAN, LIN, Ethernet을 통해 가상 ECU(422)간 송수신하는 데이터를 로깅하여 가상화된 네트워크 환경을 검증할 수 있다.
일 실시예로, 네트워크 모니터링부(4232)는 가상 ECU(422) 간의 데이터 교환을 중재하는 기능을 수행한다. 즉, 네트워크 모니터링부(4232)는 제1 가상 ECU로부터 전송된 메시지를 수신하면 데이터의 목적지를 네트워크 구성부(4231)를 통해 확인하고, 목적지에 상응하는 제2 가상 ECU로 데이터를 전송할 수 있다.
이때, 네트워크 모니터링부(4232)는 네트워크 구성부(4231)의 라우팅 정보에 기반하여, 제1 네트워크 통신 프로토콜을 갖는 제1 가상 ECU에서 전송된 데이터를 제2 가상 ECU에 적용된 제2 네트워크 통신 프로토콜에 상응하는 데이터로 변환하여 전송할 수 있다.
예를 들어, CAN-Ethernet, CAN FD-Ethernet 간 통신하는 경우와 같이 서로 상이한 프로토콜을 가지는 경우, CAN 메시지를 Ethernet으로 전송하기 위한 메시지 형태로의 변환 작업이 필요하다. 반대로 Ethernet을 통해 메시지가 전송되는 경우 이를 CAN 메시지로 변환하여 전송하는 등, 가상 ECU들은 상호 간 통신을 위하여 네트워크 모니터링부(4232)를 통한 데이터 교환을 수행한다. 이때, Ethernet에서는 CAN 메시지로의 변환 작업뿐만 아니라 CAN 메시지와 유사한 구조를 가지는 SOME/IP(Service-Oriented Middleware over IP) 프로토콜을 사용할 수 있다.
또한, 네트워크 모니터링부(4232)는 도커 관리부(410)로부터 가상 ECU(422) 간 데이터 교환을 위한 정보를 수신하여 저장한다. 이 정보에는 개별 ECU(422)들에 대한 메시지, 서비스, 메시지 및 서비스의 요청 경로 등이 포함될 수 있다. 저장된 정보를 기반으로 네트워크 구성부(4231)는 각 가상 ECU(422)에 알맞은 프로토콜 및 경로를 통해 메시지를 전송할 수 있다.
일 실시예로, 네트워크 모니터링부(4232) 및 가상 ECU(422)는 테스트케이스에 대한 시뮬레이션을 수행하는 시뮬레이션 모델을 교환하기 위한 FMI(Functional Mockup Interface)를 포함할 수 있다.
FMI는 여러 도구 및 벤더의 시뮬레이션 모델(FMU, Functional Mock-up)을 교환하기 위한 표준이다. FMU는 개별 ECU나 네트워크 전반을 시뮬레이션하기 위한 인스턴스로, ECU나 네트워크 통신을 검증하기 위한 입력, 시뮬레이션 시간, 시뮬레이션 모델 등의 정보를 제공한다. 본 발명의 일 실시예는 FMI를 활용하여 FMU를 교환함으로써 외부 상용 도구나 자체 제작한 테스트케이스에 대한 시뮬레이션을 가능하게 할 수 있다. 이때, 교환하는 모델은 시뮬레이션 하고자 하는 대상에 따라 다르게 작성될 수 있다. 이를 위해, 각 ECU 및 네트워크 모니터링부는 FMI를 지원하여 테스트 네트워크의 시뮬레이션이 가능하도록 한다.
이처럼 본 발명의 일 실시예는 기존에 단순히 버스 상에서 메시지를 캡처하거나 보내는 등의 단순한 업무를 수행하던 네트워크 모니터링부(4232)의 기능을 확장하여, 직접적으로 개입하고 FMU를 교환하여 다양한 조건에 따른 시뮬레이션을 수행하는 확장된 기능을 제공할 수 있다.
한편, 본 발명의 일 실시예에서 대상으로 하는 네트워크 통신 프로토콜은 차량 내 ECU에서 적용 가능한 통신 프로토콜로, CAN, LIN, Ethernet 등 통신 프로토콜이 적용될 수 있다.
실제 차량 내 ECU는 다양한 센서와 액츄에이터를 사용하며, 이와 대응되도록 본 발명에서는 차량 내 센서와 액츄에이터를 시뮬레이션할 수 있도록 한다.
또한, 본 발명의 일 실시예는 네트워크 및 가상 ECU를 테스트하기 위한 네트워크 테스터부(425) 및 ECU 테스트부(424)를 포함할 수 있다.
네트워크 테스트부(425)는 복수의 가상 ECU(422) 간의 네트워크 테스트를 자동화하기 위한 테스트케이스를 저장 및 구동시킨다.
네트워크 테스트부(425)는 2개 이상의 가상 ECU(422) 간의 네트워크 테스트를 자동화하기 위해 사용된다. 네트워크 테스트부(425)는 테스트 케이스를 저장하고 관리할 수 있다. 예를 들어, DoorOpenSensor ECU의 동작을 모사하여 클러스터 ECU와 DoorControl ECU, BodyInnerLight ECU의 동작 변화를 통해 네트워크를 검증하는 경우, 이러한 시나리오를 테스트 케이스로 저장한다.
그 다음 네트워크 테스트부(425)는 저장된 테스트 케이스를 구동하여 자동화된 테스트를 수행할 수 있다. 위 예시에서, DoorOpen 시그널이 발생한 경우, 이를 주변 ECU에 전파하여, DoorOpen 시그널 발생에 따라 클러스터 ECU에서는 DoorOpenLed를 점등하여 문열림에 대한 경고를 표시하고, DoorControl ECU에서는 문열림에 따른 소리 DoorOpenBeep를 발생시킨다. BodyInnerLight ECU에서는 Body_DoorOpenLight_N을 점등될 때, 이에 따라 클러스터 ECU와 DoorControl ECU BodyInnerLight ECU의 동작 결과를, 각각 DoorOpenLed점등과 DoorOpenBeep의 동작 결과를 반환한다. 이때, DoorOpenSensor ECU로 지속적으로 DoorOpen 시그널 값을 요청하는 시나리오가 있다면, 네트워크를 통해 DoorOpenSensor ECU가 DoorOpen 시그널을 발생시킴에 따른 ECU간 데이터 교환과 데이터 교환 타이밍 등을 측정하여, 시간 내에 필요한 동작이 적절히 수행되었는지 검증할 수 있다.
ECU 테스트부(424)는 각 가상 ECU(422)의 검증을 자동화하기 위한 테스트케이스를 저장 및 구동시킨다.
ECU 테스트부(424)는 가상 ECU(422) 동작을 검증하기 위한 다수의 시나리오를 포함한 테스트케이스를 저장하고 생성할 수 있다. 테스트케이스는 가상 ECU(422) 동작을 검증하기 위해 필요한 입력 신호 등을 포함하며, 이를 FMU의 알고리즘을 통해 생성할 수 있다. 또한, ECU 테스트부(424)는 테스트케이스가 여러 개인 경우 이를 빠르게 검증하기 위하여 순차적으로 테스트케이스를 가상 ECU(422)의 입력으로 줄 수 있다.
또한, ECU 테스트부(424)는 단일 가상 ECU(422)에 대한 내부 동작 검증이 가능하도록 한다. 예를 들어, 특정 ECU에 DoorOpen 센서의 값이 감지된 경우(감지된 값=1, 문이 열렸음을 의미) 이를 클러스터에 전송하여 클러스터에서 문열림 경고가 뜨도록 하는 어플리케이션이 있다고 가정하자. 이러한 어플리케이션을 테스트하기 위하여 DoorOpen 센서에 값을 빠르게 0, 1을 반복 입력하여 주거나 랜덤하게 1 또는 0의 값을 주었을 때, DoorOpen 신호가 0과 1로 적절하게 바뀌는지 여부를 기록하여 반환할 수 있다.
ECU 테스트부(424)는 테스트케이스의 구동 결과와 실제 ECU 테스트의 결과로 ECU 내에서 생성되어야 하는 신호를 비교 분석하고, 해당 테스트케이스를 통과하는지 여부를 판단한다.
그밖에 본 발명의 일 실시예에서 도커 호스트(420)는 기타 상용 툴과 연동을 통한 테스트를 진행할 수 있도록 하는 써드파티(ThirdParty) 컨테이너(426)를 포함할 수 있다. 써드파티 컨테이너(426)는 ASAM XIL MA를 지원하여 차량용 임베디드 시스템(400)을 검증하기 위한 서로 다른 툴 간 테스트케이스를 교환할 수 있다.
도 5는 본 발명에서의 가상 ECU를 검증하는 일 실시예를 설명하기 위한 도면이다.
본 발명의 일 실시예는 테스트 케이스를 자동화하기 위해 가상 ECU에 관한 설정정보인 제1 설정정보와 설정정보인 제2 설정정보를 가진 도커 관리부의 정보를 활용한다.
가상 ECU를 생성함에 있어, 가상 ECU 집합의 설정정보를 기반으로 개별 가상 ECU에 알맞은 이미지를 탑재하기 위해 필요한 자원을 수집하고 하드웨어를 빌드하여 가상 ECU를 생성한다. 이후, 해당 ECU에서 구동되어야할 AUTOSAR 어플리케이션 소프트웨어 패키지를 구동한다. 이처럼, 가상 ECU의 설정정보와 빌드된 어플리케이션을 활용하여 검증하고자 하는 시스템에 필요한 모든 가상 ECU를 생성할 수 있다.
또한, ECU 간 통신을 하기 위한 네트워크를 설정함에 있어, 네트워크 구성부는 네트워크 설정정보를 기반으로 네트워크 모니터링부와 개별 ECU 간 연결을 수행할 수 있도록 설정을 지원한다. 또한, 네트워크 구성부는 네트워크 구성 정보를 기반으로 각 ECU와 네트워크 모니터링부를 연결할 수 있다.
가령, 가상 ECU1(510)에서 가상 ECU2(520)로 메시지를 보내는 가상 ECU간 통신에 있어서, 가상 ECU에서 네트워크 모니터링부(540)로 메시지를 송신하면, 이를 수신한 네트워크 모니터링부(540)는 해당 가상 ECU가 보낸 메시지가 어디로 전송이 되어야하는지 확인하기 위해 네트워크 구성부(530)를 통해 라우팅 정보를 확인한다.
이때, 네트워크 구성부(530)의 라우팅 정보에서 가상 ECU1(510)과 가상 ECU2(520)의 프로토콜이 상이한 경우, 네트워크 구성부(530)의 메시지 정보를 통해 메시지와 메시지 포맷을 확인하고, 가상 ECU1(510)로부터의 메시지를 프로토콜에 알맞게 가공한 후 가상 ECU2(520)로 메시지를 전송할 수 있다. 네트워크 모니터링부(540)는 가상 ECU에 대한 정보 및 가상 ECU간 송수신하는 메시지를 타임스탬프와 함께 로그로 기록할 수 있다.
일 실시예로, 네트워크 모니터링부(540)는 네트워크 구성부(530)로부터 시뮬레이션 정보 및 외부 상용 툴(550)로부터 시뮬레이션 모델을 입력받으면, 시뮬레이션 모델의 특정 입력에 대응하는 메시지를 생성하여 가상 ECU에 전송하고 가상 ECU로부터 응답을 기록하며, 기록된 응답이 테스트케이스에서의 응답과 동일한지 여부를 판단할 수 있다.
즉, 가상 ECU간 네트워크 시뮬레이션을 수행하는 경우, 네트워크 모니터링부(540)는 네트워크 구성부(530)로부터 시뮬레이션 정보로 네트워크 테스트 가용성 여부, 가상 ECU별 테스트 가용성 여부, 테스트 가능한 모듈에 관한 정보를 수신하고, 외부 상용 툴(550)로부터 전달된 FMU를 입력받는다. 네트워크 모니터링부(540)는 이를 통해 시뮬레이션 모델의 특정 입력에 따라 메시지를 생성하고 이를 가상 ECU로 전송하며 이에 대한 응답을 기록한다.
이때, 가상 ECU간 네트워크 테스트를 위해서는 수신 메시지를 대상으로 네트워크 구성부(530)의 메시지 및 라우팅 정보를 기반으로 통신 테스트를 수행하고자 하는 가상 ECU로 메시지를 전송하고 그 결과를 반환받아 로깅을 수행한다.
이후, 네트워크 모니터링부(540)는 복수의 가상 ECU 간 송수신하는 데이터의 로깅 결과를 적정성 판단을 위해 외부 상용 툴(550)로 반환한다. 외부 상용 툴(550)은 로깅 결과를 테스트케이스에 따른 시뮬레이션 결과와 비교하여 적정성 판단 결과를 생성할 수 있다.
또한, 본 발명의 일 실시예는 네트워크 모니터링부(540)가 개별 ECU를 시뮬레이션하기 위하여, 외부 상용 툴(530)로부터 시뮬레이션 모델을 입력받으면, 시뮬레이션 정보 및 라우팅 정보에 기반하여 시뮬레이션 대상인 가상 ECU로 시뮬레이션 모델을 전달하고, 시뮬레이션 대상 ECU로부터 시뮬레이션 결과를 수신함에 따라 이를 로깅하고 외부 상용 툴(550)로 전송할 수 있다.
이후, 외부 상용 툴(550)은 시뮬레이션 결과를 테스트케이스에 따른 시뮬레이션 결과와 비교하여 적정성 판단 결과를 생성할 수 있다.
도 6은 본 발명의 일 실시예에 따른 차량용 임베디드 시스템(300, 400)을 위한 가상 ECU 검증 방법의 순서도이다.
본 발명의 일 실시예는 먼저, 네트워크 관리부가 제1 가상 ECU로부터 전송된 데이터를 수신하면(S110), 네트워크 관리부가 데이터의 목적지를 확인한다(S120).
다음으로, 네트워크 관리부가 상기 목적지에 상응하는 제2 가상 ECU에 적용된 네트워크 통신 프로토콜을 확인한다(S130).
다음으로, 네트워크 통신 프로토콜에 상응하도록 데이터의 포맷을 유지 또는 변경하여 제2 가상 ECU로 전송한다(S140).
한편, 상술한 설명에서, 단계 S110 내지 단계 S140은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 3에 기술된 내용과 도 5 내지 도 6에 기술된 내용은 상호 적용된다.
이상에서 전술한 본 발명의 일 실시예에 차량용 임베디드 시스템을 위한 가상 ECU 검증 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
400: 가상 ECU 검증 시스템
410: 도커 관리부
420: 도커 호스트부
421: 자원 관리부
422: 가상 ECU
423: 네트워크 관리부
424: ECU 테스터부
425: 네트워크 테스터부
426: 써드파티 컨테이너
427: 차량 인포테인먼트

Claims (10)

  1. 제1 설정정보를 기반으로 복수의 가상 ECU에 대한 설정을 수행하고, 제2 설정정보를 기반으로 복수의 가상 ECU 간의 네트워크를 구성하는 도커 관리부와,
    상기 도커 관리부에 의해 관리되는 도커 호스트를 포함하되,
    상기 도커 호스트는,
    각 가상 ECU를 생성하기 위한 보드별 디바이스 드라이버와, 상기 가상 ECU에 탑재될 오토사 표준을 따르는 임베디드 소프트웨어 기반 어플리케이션을 빌드하기 위한 어플리케이션 빌더를 포함하는 자원 관리부,
    상기 빌드된 어플리케이션을 구동하는 복수의 가상 ECU 및
    상기 복수의 가상 ECU와 각각 연결되어 가상 ECU 간의 네트워크 통신을 지원하는 네트워크 관리부를 포함하는,
    차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템.
  2. 제1항에 있어서,
    상기 네트워크 관리부는,
    상기 네트워크 통신을 위한 가상화된 네트워크 환경을 구성하며, 상기 가상 ECU 간의 네트워크 통신시 동종 또는 이종의 네트워크 통신 프로토콜을 지원하는 네트워크 구성부 및
    복수의 네트워크 통신 프로토콜이 적용된 상기 복수의 가상 ECU 간 송수신하는 데이터를 로깅하여 가상화된 네트워크 환경을 검증하는 네트워크 모니터링부를 포함하는,
    차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템.
  3. 제2항에 있어서,
    상기 네트워크 모니터링부는 제1 가상 ECU로부터 전송된 데이터를 수신하면 상기 데이터의 목적지를 상기 네트워크 구성부를 통해 확인하고, 상기 목적지에 상응하는 제2 가상 ECU로 상기 데이터를 전송하는 것인,
    차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템.
  4. 제3항에 있어서,
    상기 네트워크 모니터링부는 상기 네트워크 구성부의 라우팅 정보에 기반하여, 제1 네트워크 통신 프로토콜을 갖는 상기 제1 가상 ECU에서 전송된 데이터를 상기 제2 가상 ECU에 적용된 제2 네트워크 통신 프로토콜에 상응하는 데이터로 변환하여 전송하는 것인,
    차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템.
  5. 제2항에 있어서,
    상기 네트워크 모니터링부 및 상기 가상 ECU는 테스트케이스에 대한 시뮬레이션을 수행하는 시뮬레이션 모델을 교환하기 위한 FMI(Functional Mockup Interface)를 포함하는 것인,
    차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템.
  6. 제5항에 있어서,
    상기 복수의 가상 ECU 간의 네트워크 테스트를 자동화하기 위한 상기 테스트케이스를 저장 및 구동시키는 네트워크 테스트부 및
    상기 각 가상 ECU의 검증을 자동화하기 위한 상기 테스트케이스를 저장 및 구동시키는 ECU 테스트부를 더 포함하는,
    차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템.
  7. 제6항에 있어서,
    상기 네트워크 모니터링부는 상기 네트워크 구성부로부터 시뮬레이션 정보 및 외부 상용 툴로부터 시뮬레이션 모델을 입력받으면, 상기 시뮬레이션 모델의 특정 입력에 대응하는 메시지를 생성하여 가상 ECU에 전송하고 상기 가상 ECU로부터의 응답을 기록하고, 상기 기록된 응답이 상기 테스트케이스에서의 응답과 동일 여부를 판단하는 것인,
    차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템.
  8. 제7항에 있어서,
    상기 네트워크 모니터링부는 상기 복수의 가상 ECU 간 송수신하는 데이터의 로깅 결과를 적정성 판단을 위해 외부 상용 툴로 반환하되,
    상기 외부 상용 툴은 상기 로깅 결과를 상기 테스트케이스에 따른 시뮬레이션 결과와 비교하여 적정성 판단 결과를 생성하는 것인,
    차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템.
  9. 제6항에 있어서,
    상기 네트워크 모니터링부는 외부 상용 툴로부터 시뮬레이션 모델을 입력받으면, 시뮬레이션 정보 및 라우팅 정보에 기반하여 시뮬레이션 대상인 가상 ECU로 상기 시뮬레이션 모델을 전달하고, 상기 시뮬레이션 대상인 가상 ECU로부터 시뮬레이션 결과를 수신함에 따라 외부 상용 툴로 전송하되,
    상기 외부 상용 툴은 상기 시뮬레이션 결과를 상기 테스트케이스에 따른 시뮬레이션 결과와 비교하여 적정성 판단 결과를 생성하는 것인,
    차량용 임베디드 시스템을 위한 가상 ECU 검증 시스템.
  10. 설정정보를 기반으로 복수의 가상 ECU에 대한 설정을 수행하고, 복수의 가상 ECU 간의 네트워크를 구성하는 도커 관리부 및 상기 도커 관리부에 의해 관리되는 도커 호스트를 포함하는 가상 ECU 검증 시스템에 의해 수행되는 방법에 있어서,
    네트워크 관리부가 제1 가상 ECU로부터 전송된 데이터를 수신하는 단계;
    상기 네트워크 관리부가 데이터의 목적지를 확인하는 단계;
    상기 네트워크 관리부가 상기 목적지에 상응하는 제2 가상 ECU에 적용된 네트워크 통신 프로토콜을 확인하는 단계; 및
    상기 네트워크 통신 프로토콜에 상응하도록 상기 데이터의 포맷을 유지 또는 변경하여 상기 제2 가상 ECU로 전송하는 단계를 포함하되,
    상기 네트워크 관리부 및 상기 가상 ECU는 상기 도커 호스트 내에서 컨테이너 기반으로 생성되는 것인,
    차량용 임베디드 시스템을 위한 가상 ECU 검증 방법.
KR1020230082582A 2023-06-27 2023-06-27 차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법 KR102595323B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230082582A KR102595323B1 (ko) 2023-06-27 2023-06-27 차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230082582A KR102595323B1 (ko) 2023-06-27 2023-06-27 차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법

Publications (1)

Publication Number Publication Date
KR102595323B1 true KR102595323B1 (ko) 2023-10-31

Family

ID=88543230

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230082582A KR102595323B1 (ko) 2023-06-27 2023-06-27 차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법

Country Status (1)

Country Link
KR (1) KR102595323B1 (ko)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110046073A (ko) * 2009-10-28 2011-05-04 동의대학교 산학협력단 차량내 네트워크에서의 통합 게이트웨이 모니터링 시스템 및 방법
KR101544887B1 (ko) * 2014-07-22 2015-08-17 현대오트론 주식회사 Can 통신 진단 방법 및 장치
KR20160047147A (ko) 2014-10-22 2016-05-02 현대자동차주식회사 오토사 기반의 소프트웨어 플랫폼 검증 장치 및 그 방법
KR102103450B1 (ko) * 2019-01-30 2020-04-22 한국기술교육대학교 산학협력단 분산 시뮬레이션 기반 첨단 운전자 지원 시스템
KR20210046390A (ko) * 2019-10-18 2021-04-28 재단법인대구경북과학기술원 오토사 베이직 소프트웨어 테스팅 자동화 시스템 및 그 방법
KR20220040056A (ko) * 2020-09-23 2022-03-30 주식회사 다산네트웍스 차량용 전자제어장치 테스트 시스템
KR20220111035A (ko) * 2021-02-01 2022-08-09 주식회사 드림에이스 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치
JP2023012395A (ja) * 2021-07-13 2023-01-25 ルネサスエレクトロニクス株式会社 仮想開発環境装置、方法および記録媒体
KR20230076317A (ko) * 2021-11-24 2023-05-31 현대자동차주식회사 모의 시험 장치 및 그 제어 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110046073A (ko) * 2009-10-28 2011-05-04 동의대학교 산학협력단 차량내 네트워크에서의 통합 게이트웨이 모니터링 시스템 및 방법
KR101544887B1 (ko) * 2014-07-22 2015-08-17 현대오트론 주식회사 Can 통신 진단 방법 및 장치
KR20160047147A (ko) 2014-10-22 2016-05-02 현대자동차주식회사 오토사 기반의 소프트웨어 플랫폼 검증 장치 및 그 방법
KR102103450B1 (ko) * 2019-01-30 2020-04-22 한국기술교육대학교 산학협력단 분산 시뮬레이션 기반 첨단 운전자 지원 시스템
KR20210046390A (ko) * 2019-10-18 2021-04-28 재단법인대구경북과학기술원 오토사 베이직 소프트웨어 테스팅 자동화 시스템 및 그 방법
KR20220040056A (ko) * 2020-09-23 2022-03-30 주식회사 다산네트웍스 차량용 전자제어장치 테스트 시스템
KR20220111035A (ko) * 2021-02-01 2022-08-09 주식회사 드림에이스 차량 가상화 구조 기반의 디바이스 제어 방법 및 장치
JP2023012395A (ja) * 2021-07-13 2023-01-25 ルネサスエレクトロニクス株式会社 仮想開発環境装置、方法および記録媒体
KR20230076317A (ko) * 2021-11-24 2023-05-31 현대자동차주식회사 모의 시험 장치 및 그 제어 방법

Similar Documents

Publication Publication Date Title
US11144439B2 (en) Emulation-based testing of a microservices architecture
CN109039824B (zh) 一种车载终端无线远程通信协议自动化测试系统及方法
CN107784152B (zh) 包括多个模拟器的模拟
CN102880532B (zh) 以云端技术为基础的测试系统与方法
US8924011B2 (en) Intelligent robot apparatus responsive to environmental change and method of controlling and reconfiguring intelligent robot apparatus
US7827531B2 (en) Software testing techniques for stack-based environments
US20140343915A1 (en) Test environment configuration apparatus and method of operating network simulation apparatus using same
CN108768730B (zh) 用于操作智能网卡的方法和装置
US11461206B2 (en) Cloud simulation and validation system
US20100205600A1 (en) Simulation method for realizing large batches and different kinds of baseboard management controllers using a single server
US7434041B2 (en) Infrastructure for verifying configuration and health of a multi-node computer system
CN113791605B (zh) 一种测试方法、装置、设备及存储介质
CN113127009A (zh) 大数据管理平台的自动化部署方法和装置
US7496551B1 (en) Methods and apparatus associated with advisory generation
KR102595323B1 (ko) 차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법
CN115629599B (zh) 一种can总线仿真测试方法以及系统
CN117041111A (zh) 车云功能测试方法、装置、电子设备及存储介质
KR102155562B1 (ko) 차량 네트워크에 대한 시뮬레이션 및 모니터링 정보를 제공하는 시스템
WO2023276039A1 (ja) サーバ管理装置、サーバ管理方法およびプログラム
KR102440254B1 (ko) 차량용 전자제어장치 테스트 시스템
US20220164168A1 (en) Generating mock services based on log entries
JP2023531701A (ja) 効率的コントローラデータ生成および抽出
CN111221687B (zh) 一种云存储测试系统和方法
JP2022091301A (ja) 制御システムおよび制御方法
US11611500B2 (en) Automated network analysis using a sensor

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant