Nothing Special   »   [go: up one dir, main page]

KR102505850B1 - System and method for developing automotive software - Google Patents

System and method for developing automotive software Download PDF

Info

Publication number
KR102505850B1
KR102505850B1 KR1020200176993A KR20200176993A KR102505850B1 KR 102505850 B1 KR102505850 B1 KR 102505850B1 KR 1020200176993 A KR1020200176993 A KR 1020200176993A KR 20200176993 A KR20200176993 A KR 20200176993A KR 102505850 B1 KR102505850 B1 KR 102505850B1
Authority
KR
South Korea
Prior art keywords
input
signal
control logic
unit
output
Prior art date
Application number
KR1020200176993A
Other languages
Korean (ko)
Other versions
KR20220086838A (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 KR1020200176993A priority Critical patent/KR102505850B1/en
Publication of KR20220086838A publication Critical patent/KR20220086838A/en
Application granted granted Critical
Publication of KR102505850B1 publication Critical patent/KR102505850B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 차량 제어기의 설계 요구사항에 따라 차량 소프트웨어를 설계하고 이에 대한 검증을 수행할 수 있는 차량 소프트웨어 개발 시스템 및 방법에 대한 것이다. 본 발명은, 설계 요구사양이 기재된 제어기 사양서부터 입력 신호 및 출력 신호를 추출하고 상기 입력 신호와 상기 출력 신호의 상관 관계에 대한 기능 리스트를 생성하는 요구사양 분석부; 및 상기 입력 및 출력 신호를 추상화하여 정의하고 제어 모델에 따른 제어 로직을 생성하는 제어 모델 생성부;를 포함하는 차량 소프트웨어 개발 시스템을 제공한다. The present invention relates to a vehicle software development system and method capable of designing and verifying vehicle software according to design requirements of a vehicle controller. The present invention, a requirement analysis unit for extracting an input signal and an output signal from a controller specification written in the design requirements and generating a function list for the correlation between the input signal and the output signal; and a control model generator configured to abstractly define the input and output signals and generate control logic according to the control model.

Figure R1020200176993
Figure R1020200176993

Description

차량 소프트웨어 개발 시스템 및 방법 {SYSTEM AND METHOD FOR DEVELOPING AUTOMOTIVE SOFTWARE}Vehicle software development system and method {SYSTEM AND METHOD FOR DEVELOPING AUTOMOTIVE SOFTWARE}

본 발명은 차량 소프트웨어 개발 시스템 및 방법에 대한 것이다. 더욱 상세하게는, 본 발명은 차량 제어기의 설계 요구사항에 따라 차량 소프트웨어를 설계하고 이에 대한 검증을 수행할 수 있는 차량 소프트웨어 개발 시스템 및 방법에 대한 것이다.The present invention relates to a vehicle software development system and method. More specifically, the present invention relates to a vehicle software development system and method capable of designing and verifying vehicle software according to design requirements of a vehicle controller.

최근 자동차 산업 분야에서 자율 주행 커넥티트카 환경에 따른 각종 신기능, 협조 제어 기능이 다수 적용되고 있으며, 이는 각 기능들을 제어할 ECU 의 개수를 증가시킨다. 기존 기능 뿐만 아니라 새로운 기능을 제공하는 제어기가 신규 개발됨에 따라 다수의 제어기에 탑재되는 소프트웨어를 관리하기 위한 표준 사양 개발과 소프트웨어 플랫폼에 대한 필요성이 점차 확대되고 있으며, 차량 각 분야에서 이를 위한 자체 플랫폼 개발에 대한 연구가 지속되고 있다.Recently, various new functions and cooperative control functions according to the autonomous driving connected car environment are being applied in the automobile industry, which increases the number of ECUs to control each function. As controllers that provide new functions as well as existing functions are newly developed, the need for standard specification development and software platforms to manage software mounted on multiple controllers is gradually expanding, and each field of vehicle develops its own platform for this. Research on is ongoing.

특히, 요구사양에 대한 표준 사양 개발은 제어기의 소프트웨어 개발을 위한 초석이며 정해진 Format과 사양서의 기술 수준이 상위 요구사양 문서와 동일하게 설정이 되어 관리되지 않으면 사양의 명확성이 떨어지고 소프트웨어와 정합성이 맞지 않아 개발 기간이 늘어나고 품질이 저하되는 원인이 된다.In particular, the development of standard specifications for the required specifications is the cornerstone for the software development of the controller, and if the technical level of the specified format and specification is not set and managed identically with the upper level specification document, the clarity of the specification is reduced and it is not consistent with the software. It increases the development period and causes the quality to deteriorate.

또한 다수의 제어기를 통합한 통합제어기의 설계 시 기존 제어기들간 요구사양이 표준화되어 있지 않을 경우 사양 개발 시 입출력 신호간 정합성을 맞출 수 없으며 동일한 기능을 수행하는 제어 로직을 최적화하는 데 많은 시간이 소요된다. In addition, when designing an integrated controller that integrates multiple controllers, if the requirements among existing controllers are not standardized, it is impossible to match the input/output signals during specification development, and it takes a lot of time to optimize control logic that performs the same function. .

대한민국 공개특허공보 제10-2013-0138468호Republic of Korea Patent Publication No. 10-2013-0138468

기능의 다양화와 통합화에 따라 효율적으로 표준 사양을 개발하고 요구사양과의 정합성이 확보된 소프트웨어를 공급하는 것이 바람직하다. 이를 위해 차량 소프트웨어 개발 프로세스는 기존의 방식이 아닌 새로운 개발 프로세스를 필요로 한다. 또한, 요구사양 설계 플랫폼은 이러한 요구에 맞춰 제어기 사양 개발 시 요구사양 설계부터 소프트웨어 양산 및 검증까지 일원화된 소프트웨어 개발 프로세스를 통해 표준 기능 사양서와 양산 소프트웨어를 한번에 제공할 수 있는 통합 솔루션을 제공할 필요가 있다.It is desirable to efficiently develop standard specifications according to the diversification and integration of functions and to supply software that ensures consistency with the required specifications. To this end, the vehicle software development process requires a new development process rather than the existing method. In addition, the requirements design platform needs to provide an integrated solution that can provide standard function specifications and mass production software at once through a unified software development process from requirements design to software mass production and verification when developing controller specifications to meet these needs. there is.

본 발명은 이러한 필요를 해결하기 위하여, 차량 제어기의 설계 요구사양에 따라 차량 소프트웨어를 설계하고 이에 대한 검증을 수행할 수 있는 차량 소프트웨어 개발 시스템 및 방법을 제공하는 것을 목적으로 한다. In order to solve these needs, an object of the present invention is to provide a vehicle software development system and method capable of designing and verifying vehicle software according to design requirements of a vehicle controller.

본 발명은, 설계 요구사양이 기재된 제어기 사양서부터 입력 신호 및 출력 신호를 추출하고 상기 입력 신호와 상기 출력 신호의 상관 관계에 대한 기능 리스트를 생성하는 요구사양 분석부; 및 상기 입력 및 출력 신호를 추상화하여 정의하고 제어 모델에 따른 제어 로직을 생성하는 제어 모델 생성부;를 포함하는 차량 소프트웨어 개발 시스템을 제공한다. The present invention, a requirement analysis unit for extracting an input signal and an output signal from a controller specification written in the design requirements and generating a function list for the correlation between the input signal and the output signal; and a control model generator configured to abstractly define the input and output signals and generate control logic according to the control model.

일 실시예에 있어서, 상기 요구사양 분석부는, 상기 제어기 사양서로부터 상기 입력 신호와 상기 출력 신호를 추출하여 구분하는 입출력 신호 추출부; 상기 제어기 사양서로부터 변수를 추출하는 변수 추출부; 및 상기 기능 리스트를 생성하는 기능 리스트 생성부를 포함할 수 있다. In one embodiment, the requirement analysis unit may include an input/output signal extraction unit for extracting and distinguishing the input signal and the output signal from the controller specification; a variable extraction unit extracting variables from the controller specification; and a function list generating unit generating the function list.

상기 입출력 신호 추출부는, 상기 입력 신호와 상기 출력 신호를 연결 관계에 따라 기능 간 연결을 나타내는 내부 신호, 하드웨어 구성요소와 연결되는 HW 신호 또는 통신 프로토콜에 통신 신호로 구분할 수 있다. The input/output signal extraction unit may classify the input signal and the output signal into an internal signal indicating a connection between functions, a HW signal connected to a hardware component, or a communication signal in a communication protocol according to a connection relationship.

또한, 상기 제어 모델 생성부는, 상기 입력 및 출력 신호의 특성에 따라 신호를 추상화하는 입출력 신호 설정부; 상기 상기 입력 및 출력 신호의 속성값 또는 상기 사양서에 포함된 변수의 파라미터를 설정하는 파라미터 설정부; 및 상기 입력 및 출력 신호와 상기 속성값 또는 상기 파라미터에 따른 제어 로직을 생성하는 제어 로직 생성부를 포함할 수 있다. In addition, the control model generator may include an input/output signal setting unit for abstracting signals according to characteristics of the input and output signals; a parameter setting unit for setting attribute values of the input and output signals or parameters of variables included in the specification; and a control logic generation unit configured to generate control logic according to the input and output signals and the attribute value or the parameter.

또한, 상기 입출력 신호 설정부는, 상기 입력 및 출력 신호에 대해, 입력 또는 출력 구분, 상기 입력 신호와 상기 출력 신호의 연결 관계, 및 상기 입력 및 출력 신호의 명칭을 이용하여 표준 신호명을 생성할 수 있다. In addition, the input/output signal setting unit may generate a standard signal name for the input and output signals by using the input or output classification, the connection relationship between the input signal and the output signal, and the names of the input and output signals. .

또한, 상기 파라미터 설정부는, 상기 속성값 또는 상기 파라미터에 대하여 상기 제어 로직과는 별도의 파일을 생성하여 관리되도록 할 수 있다. Also, the parameter setting unit may generate and manage a file separate from the control logic with respect to the attribute value or the parameter.

또한, 상기 제어 로직 생성부는, 상기 기능 리스트의 연결과 조건 연산자가 포함된 테스트 시나리오를 생성할 수 있다. Also, the control logic generation unit may generate a test scenario including a connection of the function list and a conditional operator.

또한, 상기 제어 로직 생성부는, 상기 테스트 시나리오 중에서 유효한 테스트 케이스를 선별하고, 상기 유효한 테스트 케이스의 조건에 대한 배타적인 조건에 따른 테스트 케이스를 생성할 수 있다. Also, the control logic generation unit may select a valid test case from among the test scenarios and generate a test case according to conditions exclusive to conditions of the valid test case.

일 실시예에 있어서, 상기 차량 소프트웨어 개발 시스템은, 상기 제어 로직을 검증하는 검증부를 더 포함할 수 있다. In one embodiment, the vehicle software development system may further include a verification unit verifying the control logic.

상기 검증부는, 개별 기능별로 생성된 상기 제어 로직에 대한 검증을 수행하는 단위 검증부와, 상기 제어 로직을 적어도 2개 통합하여 통합 모델을 생성하고 검증하는 통합 검증을 수행하는 통합 검증부를 포함할 수 있다. The verification unit may include a unit verification unit that verifies the control logic generated for each function, and an integrated verification unit that performs integrated verification that generates and verifies an integrated model by integrating at least two control logics. there is.

또한, 상기 통합 검증부는, 적어도 2개의 상기 제어 로직 중 어느 하나의 제어 로직에서의 출력 신호가 다른 하나의 제어 로직의 입력 신호가 될 때, 상기 어느 하나의 제어 로직에서의 출력 신호와 상기 다른 하나의 제어 로직의 입력 신호의 신호 특성을 기능 간 연결을 나타내는 내부 신호로 설정할 수 있다. In addition, the integrated verification unit, when an output signal from one of the at least two control logics becomes an input signal of another control logic, an output signal from the one control logic and the other one The signal characteristics of the input signal of the control logic of can be set to an internal signal representing the connection between functions.

또한, 상기 통합 검증부는, 상기 통합 모델의 입력 신호와 출력 신호를 기반으로 한 테스트 케이스를 생성할 수 있다. In addition, the integrated verification unit may generate a test case based on the input signal and output signal of the integrated model.

본 발명은, (a) 요구사양 분석부가 설계 요구사양이 기재된 제어기 사양서부터 입력 신호 및 출력 신호를 추출하고 상기 입력 신호와 상기 출력 신호의 상관 관계에 대한 기능 리스트를 생성하는 단계; 및 (b) 제어 모델 생성부가 상기 입력 및 출력 신호를 추상화하여 정의하고 제어 모델에 따른 제어 로직을 생성하는 단계;를 포함하는 차량 소프트웨어 개발 방법을 제공한다. The present invention includes: (a) a requirement analysis unit extracting an input signal and an output signal from a controller specification in which design requirements are described, and generating a function list for correlation between the input signal and the output signal; and (b) abstractly defining the input and output signals by a control model generation unit and generating control logic according to the control model.

일 실시예에 있어서, 상기 (a) 단계에서, 상기 입력 신호와 상기 출력 신호는 연결 관계에 따라 기능 간 연결을 나타내는 내부 신호, 하드웨어 구성요소와 연결되는 HW 신호 또는 통신 프로토콜에 통신 신호로 구분될 수 있다. In one embodiment, in the step (a), the input signal and the output signal may be divided into an internal signal indicating a connection between functions, a HW signal connected to a hardware component, or a communication signal in a communication protocol according to a connection relationship. can

일 실시예에 있어서, 상기 (b) 단계에서, 상기 제어 모델 생성부는, 상기 입력 및 출력 신호에 대해, 입력 또는 출력 구분, 상기 입력 신호와 상기 출력 신호의 연결 관계, 및 상기 입력 및 출력 신호의 명칭을 이용하여 표준 신호명을 생성할 수 있다. In one embodiment, in the step (b), the control model generating unit, for the input and output signals, input or output classification, the connection relationship between the input signal and the output signal, and the input and output signals A standard signal name can be created using the name.

또한, 상기 (b) 단계에서, 상기 기능 리스트의 연결과 조건 연산자가 포함된 테스트 시나리오가 생성되고, 상기 테스트 시나리오의 테스트 케이스의 유효성이 판단될 수 있다. Also, in step (b), a test scenario including a connection of the function list and a conditional operator is created, and validity of a test case of the test scenario may be determined.

또한, 상기 방법은, (c) 검증부가 상기 제어 로직을 검증하는 검증 단계를 더 포함하고, 상기 검증 단계에서, 개별 기능별로 생성된 상기 제어 로직에 대한 검증이 수행되고, 상기 제어 로직을 적어도 2개 통합하여 통합 모델을 생성하고 검증하는 통합 검증이 수행될 수 있다. The method further includes (c) a verification step of verifying the control logic by a verification unit, and in the verification step, verification of the control logic generated for each individual function is performed, and the control logic is configured to include at least two Integration verification can be performed to create and verify an integrated model by integrating two models.

또한, 상기 (c) 단계에서, 적어도 2개의 상기 제어 로직 중 어느 하나의 제어 로직에서의 출력 신호가 다른 하나의 제어 로직의 입력 신호가 될 때, 상기 어느 하나의 제어 로직에서의 출력 신호와 상기 다른 하나의 제어 로직의 입력 신호의 신호 특성을 기능 간 연결을 나타내는 내부 신호로 설정될 수 있다. In addition, in the step (c), when an output signal from one of the at least two control logics becomes an input signal of another control logic, the output signal from the one control logic and the A signal characteristic of an input signal of another control logic may be set as an internal signal representing a connection between functions.

본 발명에 따르면, 차량 설계시의 요구사양으로부터 소프트웨어의 설계까지 통합 설계 및 검증이 가능하여 차량 소프트웨어의 개발을 용이하게 할 수 있다. According to the present invention, it is possible to facilitate the development of vehicle software by enabling integrated design and verification from requirements for vehicle design to software design.

또한, 요구사양으로부터 소프트웨어까지의 추적성이 확보되어, 요구사양이 변경되더라도 빠르게 소프트웨어를 변경시킬 수 있다.In addition, traceability from requirements to software is ensured, so even if requirements are changed, software can be changed quickly.

또한, 본 발명에 따라 개발된 제어기들을 통합하는 경우, 동일한 설계 구조를 가지고 있으므로 통합 설계 및 검증이 용이하다. In addition, when integrating the controllers developed according to the present invention, since they have the same design structure, integrated design and verification are easy.

결과적으로, 갈수록 복잡해지는 차량 시스템에 대응하여, 생산성과 품질이 확보된 차량 소프트웨어를 효과적으로 설계할 수 있는 장점이 있다. As a result, in response to increasingly complex vehicle systems, there is an advantage in effectively designing vehicle software with productivity and quality secured.

도 1은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 요구사양 분석부의 분석 결과를 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서, 파라미터 설정부에 의해 생성된 파라미터의 스크립트 파일을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서, 제어 로직 생성부의 제어 로직 생성을 예시적으로 설명하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 입출력 동작 리스트를 생성하는 것으로서, 테스트 시나리오를 자동 생성하는 것을 예시한다.
도 6은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 입출력 동작 리스트를 생성하는 것으로서, 테스트 시나리오의 유효성을 확인(Activation 체크)하는 것을 예시한다.
도 7은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 Activation 조건의 배타적 조건을 적용하여 테스트 시나리오를 자동 생성하는 것을 예시한다.
도 8a는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 입력 조건에 따라 출력 동작에 따른 제어 로직을 생성한 것을 나타낸다.
도 8b는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 파라미터 조건에 따른 입출력 조건 추가에 대한 제어 로직을 생성한 것을 나타낸다.
도 9는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 통합 검증부가 통합 모델을 생성하는 것을 예시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 방법을 도시한 순서도이다.
도 11은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 방법에 있어서, 제어 모델을 생성하는 과정을 도시한 순서도이다.
도 12는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 방법에 있어서, 단위 기능에 대한 제어 모델로부터 통합 검증을 위한 통합 모델을 생성하는 과정을 도시한 순서도이다.
1 is a diagram schematically illustrating a vehicle software development system according to an embodiment of the present invention.
2 is a diagram illustrating an analysis result of a requirement analysis unit in a vehicle software development system according to an embodiment of the present invention.
3 shows a script file of parameters generated by a parameter setting unit in a vehicle software development system according to an embodiment of the present invention.
4 is a diagram illustratively illustrating control logic generation by a control logic generation unit in a vehicle software development system according to an embodiment of the present invention.
5 illustrates automatic generation of a test scenario as a control logic generating unit generating an input/output operation list in a vehicle software development system according to an embodiment of the present invention.
6 illustrates that a control logic generation unit generates an input/output operation list in a vehicle software development system according to an embodiment of the present invention, and confirms the validity of a test scenario (activation check).
7 illustrates that a control logic generation unit automatically generates a test scenario by applying an exclusive condition of an activation condition in a vehicle software development system according to an embodiment of the present invention.
8A shows that the control logic generation unit generates control logic according to an output operation according to an input condition in the vehicle software development system according to an embodiment of the present invention.
8B shows that the control logic generation unit generates control logic for adding input/output conditions according to parameter conditions in the vehicle software development system according to an embodiment of the present invention.
9 is a diagram illustrating that an integrated verification unit generates an integrated model in a vehicle software development system according to an embodiment of the present invention.
10 is a flowchart illustrating a vehicle software development method according to an embodiment of the present invention.
11 is a flowchart illustrating a process of generating a control model in a vehicle software development method according to an embodiment of the present invention.
12 is a flowchart illustrating a process of generating an integrated model for integrated verification from a control model for a unit function in a vehicle software development method according to an embodiment of the present invention.

아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.In the following, the content of the present invention will be described clearly and in detail to the extent that a person skilled in the art can easily implement the present invention using drawings.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다.Since the present invention can have various changes and various forms, specific embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the present invention to a specific form disclosed, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms.

상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.The terms may be used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 혹은 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Other expressions describing the relationship between elements, such as "between" and "directly between" or "adjacent to" and "directly adjacent to", etc., should be interpreted similarly. Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise.

본 출원에서, "포함하다" 혹은 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In this application, the terms "comprise" or "have" are intended to designate that there is an embodied feature, number, step, operation, component, part, or combination thereof, but one or more other features or numerals. However, it should be understood that it does not preclude the possibility of existence or addition of steps, operations, components, parts, or combinations thereof. Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this application, they are not interpreted in an ideal or excessively formal meaning. .

차량 소프트웨어 개발 시스템(10)Vehicle software development system (10)

도 1은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템을 개략적으로 도시한 도면이다. 1 is a diagram schematically illustrating a vehicle software development system according to an embodiment of the present invention.

일 실시예에 있어서, 본 발명에 따른 차량 소프트웨어 개발 시스템은 자동차 소프트웨어 플랫폼인 오토사(AUTOSAR)에 기반하여 구현될 수 있다. AUTOSAR는 차량 소프트웨어의 공용 요소를 통일화할 수 있는 플랫폼을 제공하고, 이러한 플랫폼에 기반하여 응용 소프트웨어의 개발을 가능하게 한다. In one embodiment, the vehicle software development system according to the present invention may be implemented based on AUTOSAR, an automotive software platform. AUTOSAR provides a platform that can unify the common elements of vehicle software and enables the development of application software based on this platform.

본 발명에 따른 차량 소프트웨어 개발 시스템은, 요구사양에 따른 차량 소프트웨어 개발시, 입출력 신호와 신호를 추상화하여 정의하고, 기능 단위로 분류하여 제어 모델을 개발하고, 제어 모델의 단위 기능 검증과 통합 시스템 검증을 통해 제어 요구사양으로부터 제어 기능 사양서와 차량의 응용 소프트웨어를 생성할 수 있도록 함을 일 특징으로 한다. In the vehicle software development system according to the present invention, when developing vehicle software according to the required specifications, input/output signals and signals are abstracted and defined, classified into functional units to develop a control model, and unit function verification and integrated system verification of the control model. It is characterized in that it is possible to generate control function specifications and vehicle application software from control requirements through.

도 1을 참조하면, 본 발명에 따른 차량 소프트웨어 개발 시스템(10)은, AUTOSAR의 Application Layer로서 구현될 수 있다. 차량 소프트웨어 개발 시스템(10)은, 요구사양 분석부(100), 제어 모델 생성부(200), 검증부(300) 및 결과물 생성부(400)를 포함할 수 있다. 또한, 차량 소프트웨어 개발 시스템(10)은, 각 구성의 동작을 조율 또는 제어하기 위한 구성 관리부(500)를 추가로 포함할 수 있다. Referring to FIG. 1 , the vehicle software development system 10 according to the present invention may be implemented as an application layer of AUTOSAR. The vehicle software development system 10 may include a requirement analysis unit 100 , a control model generation unit 200 , a verification unit 300 and a result generation unit 400 . In addition, the vehicle software development system 10 may further include a configuration management unit 500 for coordinating or controlling the operation of each component.

요구사양 분석부(100)Requirements Analysis Unit (100)

요구사양 분석부(100)는, 설계 요구사양이 기재된 제어기 사양서부터 입력 신호 및 출력 신호를 추출하고 상기 입력 신호와 상기 출력 신호의 상관 관계에 대한 기능 리스트를 생성할 수 있다. 일 실시예에 있어서, 요구사양 분석부(100)는, 입출력 신호 추출부(110), 변수 추출부(120) 및 기능 리스트 생성부(130)를 포함한다. The requirement analysis unit 100 may extract an input signal and an output signal from a controller specification in which design requirements are described, and may generate a function list for a correlation between the input signal and the output signal. In one embodiment, the requirement analysis unit 100 includes an input/output signal extraction unit 110, a variable extraction unit 120, and a function list generation unit 130.

입출력 신호 추출부(110)는, 제어기 사양서로부터 요구사양에 대한 입출력 신호를 추출한다. 통상적으로 차량의 제어를 위한 차량용 제어기 사양서는, 텍스트 파일(예를 들면, MS-word 파일)로 작성되어 소프트웨어 설계 업체에 제공된다. 여기에서, 차량용 제어기의 로직은 MS-Visio 파일 형태로 제공될 수 있고, 로직 제어를 위한 변수(parameter) 값들은 테이블 형태로 제공될 수 있다.The input/output signal extraction unit 110 extracts input/output signals for required specifications from the controller specification. Typically, vehicle controller specifications for vehicle control are prepared as text files (eg, MS-word files) and provided to software design companies. Here, the logic of the vehicle controller may be provided in the form of an MS-Visio file, and parameter values for logic control may be provided in the form of a table.

변수 추출부(120)는 제어기 사양서로부터 변수(parameter 등)를 추출한다.The variable extraction unit 120 extracts variables (parameters, etc.) from the controller specification.

기능 리스트 생성부(130)는, 입력 신호와 출력 신호의 상관 관계를 연결하여 기능 리스트를 구성한다. The function list generator 130 constructs a function list by connecting the correlation between the input signal and the output signal.

본 발명의 실시에 있어서, 요구사양 분석부(100)는 제어기 사양서 또는 제어기 로직으로부터 입출력 신호와 변수를 추출하고 입력 신호와 출력 신호의 상관 관계에 대한 기능 리스트를 자동으로 추출할 수 있다. 다만, 경우에 따라서, 요구사양 분석부(100)는 사용자(설계자)에게 적절한 인터페이스를 제공하고 사용자로부터 상기 입출력 신호와 변수 또는 기능 리스트의 적어도 일부를 직접 입력받는 것도 가능할 수 있다. In the implementation of the present invention, the requirement analysis unit 100 may extract input/output signals and variables from a controller specification or controller logic, and may automatically extract a function list for a correlation between an input signal and an output signal. However, in some cases, the requirement analysis unit 100 may provide a user (designer) with an appropriate interface and directly receive input/output signals, variables, or at least a part of the function list from the user.

이러한 입출력 신호, 변수, 기능은 다음의 표 1과 같이 정의될 수 있다. These input/output signals, variables, and functions can be defined as shown in Table 1 below.

구분division 설명explanation 기능(Function)Function 독립적인 제어 단위의 차량 기능Vehicle functions as an independent control unit 입출력 신호(IO Data Flow)Input/Output Signal (IO Data Flow) 기능(Function)을 수행하기 위한 입력 신호, 출력 신호 및 신호 간 흐름Flow between input signal, output signal and signal to perform function 변수(Variable)Variable 기능(Function)을 수행하기 위해 필요한 각종 파라미터, 캘리브레이션 요소Various parameters and calibration elements required to perform a function

도 2는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 요구사양 분석부의 분석 결과를 예시한 도면이다. 이하에서는, 차량의 뒷유리 서리제거(열선) 기능에 대한 요구사양 분석을 예시한다. 2 is a diagram illustrating an analysis result of a requirement analysis unit in a vehicle software development system according to an embodiment of the present invention. Hereinafter, analysis of requirements for the rear window defrosting (heating wire) function of a vehicle is exemplified.

차량에서 요구하는 "뒷유리 서리제거(열선)" 기능에 대한 사양은 "엔진에 시동을 건 상태에서 버튼을 누르면 버튼 내 표시등이 켜져 사용 중임을 알려 주고 열선이 작동해 뒷유리의 서리가 제거됩니다. 버튼을 한 번 더 누르면 작동이 멈춥니다. 뒷유리 서리 제거 버튼을 누른 후 작동 조건에서 약 20분이 경과되면 작동으로 작동이 멈춥니다. 또한 작동 중에 시동을 껐다가 시동을 다시 걸면 작동 정지 상태로 원위치 됩니다."인 것으로 예를 들어 제시한다.The specification for the "rear window defrosting (heating)" function required by the vehicle is "If you press the button with the engine started, the indicator light in the button turns on to inform you that it is in use, and the heating wire operates to defrost the rear window. .If you press the button once more, the operation will stop. After pressing the rear window defrost button, the operation will stop working if about 20 minutes have elapsed in the operating condition. Also, if the engine is turned off and then started again during operation, the operation will stop. It will be returned to its original state.” It is presented as an example.

먼저, 입출력 신호 추출부(110)는, 제시된 기능 요구사양으로부터, 입력 신호와 출력 신호를 추출하여 구분하고(Input, Output), 입출력 신호의 값(Value)과, 신호 특성에 따른 구분한다. 신호 특성에 따른 구분은, 기능 간 연결에 해당하는 내부 신호(Internal), 물리적으로 연결된 하드웨어 구성요소와의 HW 신호, 통신 프로토콜에 따라 CAN 통신, LIN 통신, Ethernet 통신으로 구분한다. First, the input/output signal extraction unit 110 extracts and distinguishes input and output signals from the presented functional requirements (Input and Output), and classifies them according to the values of the input and output signals and signal characteristics. Classification according to signal characteristics is divided into CAN communication, LIN communication, and Ethernet communication according to internal signal (Internal) corresponding to connection between functions, HW signal with physically connected hardware components, and communication protocol.

또한, 변수 추출부(120)는, 요구사양에 대한 변수를 추출한다. Also, the variable extractor 120 extracts variables for the required specifications.

기능 리스트 생성부(130)는, 입출력 신호와 변수 구성이 마친 신호들의 연결 영향성에 따라 입력 신호와 출력 신호의 상관 관계를 연결하여 기능 리스트를 생성한다. The function list generating unit 130 creates a function list by connecting correlations between input signals and output signals according to the connection influences of input/output signals and signals for which variables have been configured.

도 2에서는, 기능, 입출력 신호, 변수에 대하여, 요구사양의 설명(Description)에 따라, 입출력 신호(I/O Data)의 추출 결과(Value, I/O, 특성)와, 변수(Variable)의 추출 결과, 및 기능 리스트(Link to)를 예시적으로 나타낸다. 여기에서, 입출력 신호와 변수의 명칭(Name)은 제어 대상 또는 입력 하드웨어에 따라 미리 설정되어 제공되거나, 사용자가 직접 명칭을 입력하는 것도 가능할 수 있다. 또는 상기 명칭은, 입출력 신호와 변수의 리스트를 사용자에게 제시되어 사용자에 의해 선택된 것일 수 있다. In FIG. 2, according to the description of the required specifications for functions, input/output signals, and variables, the extraction results (Value, I/O, characteristics) of the input/output signals (I/O Data) and the variables (Variable) An example of an extraction result and a function list (Link to) is shown. Here, the names of the input/output signals and variables may be preset and provided according to control objects or input hardware, or the names may be directly input by the user. Alternatively, the name may be selected by the user after presenting a list of input/output signals and variables to the user.

제어 모델 생성부(200)Control model generation unit 200

제어 모델 생성부(200)는, 사양서로부터 추출된 입출력 신호를 추상화하여 정의하고 관련 파라미터를 설정하며 제어 모델에 따른 제어 로직을 생성할 수 있다. 이러한 제어 모델 생성부(200)는, 입출력 신호 설정부(210), 파라미터 설정부(220) 및 제어 로직 생성부(230)를 포함할 수 있다. The control model generating unit 200 may abstractly define input/output signals extracted from specifications, set related parameters, and generate control logic according to the control model. The control model generation unit 200 may include an input/output signal setting unit 210, a parameter setting unit 220, and a control logic generation unit 230.

입출력 신호 설정부(210)는, 입출력 신호 추출부(110)에서 추출된 입출력 신호에 대해 신호 특성에 따라 신호를 추상화한다. 입출력 신호 설정부(210)는 입출력 신호를 1)입력 또는 출력 신호인지, 2)신호 특성이 기능간 연결인지(INT), 물리적 연결인지(HW), 어떤 통신 신호인지(CAN, LIN, ETHernet)에 따라 구분할 수 있다. 일 실시예에 있어서, 입출력 신호 설정부(210)는 입출력 신호에 대해, 입출력 여부, 신호 특성, 신호의 명칭을 "표준 신호명"으로서 자동으로 부여할 수 있다. 바람직하게는, 입출력 신호 설정부(210)는, 표준 신호명을 부여함에 있어서 그 명칭만으로도 해당 기능의 동작을 유추할 수 있고, 신호에 필요한 속성들 또는 해당 속성에 따른 동작을 유추할 수 있도록 할 수 있다. The input/output signal setting unit 210 abstracts the input/output signals extracted by the input/output signal extraction unit 110 according to signal characteristics. The input/output signal setting unit 210 sets the input/output signal to 1) whether it is an input or output signal, 2) whether the signal characteristics are a connection between functions (INT), a physical connection (HW), and what kind of communication signal (CAN, LIN, ETHernet) can be distinguished according to In one embodiment, the input/output signal setting unit 210 may automatically assign input/output status, signal characteristics, and signal names as "standard signal names" to the input/output signals. Preferably, in giving a standard signal name, the input/output signal setting unit 210 can infer the operation of the corresponding function only with the name, and can infer the properties required for the signal or the operation according to the corresponding property. there is.

표 2는 입출력 신호 설정부(210)에 의해 설정된 입출력 신호를 예시적으로 나타낸다. Table 2 shows input/output signals set by the input/output signal setting unit 210 by way of example.

입/출력input/output 신호명signal name 표준 신호명standard signal name 속성property InputInput 시동 상태startup status Input_INT_EngineRunningStateInput_INT_EngineRunningState - Engine Stop
- Engine Running
- Cranking
- Engine Stop
-Engine Running
-Cranking
버튼button Input_HW_RearDefoggerSwInput_HW_RearDefoggerSw - Off
- On
-Off
-On
OutputOutput 열선thermic rays Output_HW_RearDefoggerOutput_HW_RearDefogger - Off
- On
-Off
-On
표시등indicator light Output_CAN_RearDefoggerIndOutput_CAN_RearDefoggerInd - Off
- On
-Off
-On

파라미터 설정부(220)는 변수 추출부(120)에서 추출된 변수의 파라미터를 설정한다. 파라미터 설정부(220)는 예시의 뒷유리 서리제거 기능에서의 20분 시간 제한 등과 같은 변경 가능하거나 상수로 관리되는 항목들을 파라미터로 설정할 수 있다. 일 실시예에 있어서, 파라미터는 해당 기능 내에서만 사용하도록 설정되고, 타 기능과 중복되지 않도록 하는 것이 바람직하다. 또한, 파라미터 설정부(220)는 해당 파라미터에 대한 명칭을 자동 부여하거나, 사용자로부터 파라미터의 명칭을 입력받을 수 있다. 파라미터의 명칭은 표 2에 제시된 표준 신호명과 마찬가지로 파라미터의 역할과 목적을 유추할 수 있도록 직관적으로 제시되는 것이 바람직할 수 있다. 다음의 표 3은 파라미터 설정부(220)에 의해 설정된 파라미터를 예시적으로 나타낸다. The parameter setting unit 220 sets parameters of the variables extracted by the variable extraction unit 120 . The parameter setting unit 220 may set changeable or constant items, such as a 20-minute time limit in the rear window defrost function, as parameters. In one embodiment, it is preferable that parameters are set to be used only within a corresponding function and not overlapped with other functions. In addition, the parameter setting unit 220 may automatically assign a name to the corresponding parameter or receive a name of the parameter from the user. It may be desirable that the name of the parameter be presented intuitively so that the role and purpose of the parameter can be inferred like the standard signal names presented in Table 2. Table 3 below shows parameters set by the parameter setting unit 220 as an example.

파라미터명parameter name value Par_RearDefoggerMaxTimePar_RearDefoggerMaxTime 20 min20min

또한, 본 발명의 실시에 있어서, 파라미터 설정부(220)는, 입출력 신호의 속성값 및 파라미터의 값을 각 제어 로직 내 데이터로 정의하지 않고, 별도의 스크립트 파일로 정의하여 생성할 수 있다. 이는 기능간 정합성 판단 및 독립성 검증을 위한 것으로서, 도 3은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서, 파라미터 설정부에 의해 생성된 파라미터의 스크립트 파일을 나타낸다.In addition, in the implementation of the present invention, the parameter setting unit 220 may define and generate the attribute values and parameter values of the input/output signals as separate script files instead of defining them as data within each control logic. This is for judging compatibility between functions and verifying independence, and FIG. 3 shows a script file of parameters generated by a parameter setting unit in a vehicle software development system according to an embodiment of the present invention.

제어 로직 생성부(230)는, 설정된 입출력 신호와 파라미터에 따라 해당 기능을 수행하기 위한 제어 로직을 생성한다. 제어 로직 생성부(230)는, 기능 리스트 생성부(130)에 의해 생성된 기능 리스트(도 2의 "Link to" 항목 참조)의 연결 관계 및 속성에 따라 제어 로직을 생성할 수 있다. 또한 제어 로직 생성부(230)는, 기능 리스트의 연결 관계에 따라 조건 연산자가 포함된 테스트 시나리오를 자동 생성하고, 테스트 시나리오의 유효성을 체크하여 제어 로직을 생성할 수 있다.The control logic generation unit 230 generates control logic for performing a corresponding function according to set input/output signals and parameters. The control logic generation unit 230 may generate control logic according to the connection relationship and properties of the function list generated by the function list generation unit 130 (refer to the “Link to” item in FIG. 2 ). Also, the control logic generation unit 230 may automatically generate a test scenario including a conditional operator according to the connection relationship of the function list and check the validity of the test scenario to generate the control logic.

도 4는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서, 제어 로직 생성부의 제어 로직 생성을 예시적으로 설명하는 도면으로서, Mathlab Similink의 Subsystem 형태로 제시한 것이다. 4 is a diagram illustratively illustrating control logic generation of a control logic generation unit in a vehicle software development system according to an embodiment of the present invention, and is presented in the form of a Mathlab Similink Subsystem.

제어 로직 생성부(230)는, 표준 입출력 신호 및 파라미터 설정이 완료된 후 도 4와 같은 형태의 제어 로직을 생성할 수 있다. 도 4에서는, 중앙에 기능을 나타내는 Subsystem을 작성하고, 좌우측에 입력 및 출력 Port 를 위치시킨 것이 예시된다. The control logic generation unit 230 may generate control logic of the form shown in FIG. 4 after standard input/output signals and parameter settings are completed. In FIG. 4, a subsystem representing a function is created in the center, and input and output ports are placed on the left and right sides.

제어 로직 생성부(230)에서의 제어 로직 생성은 스테이트 차트, 플로우 그래프 또는 진리표 등의 형태로 작성될 수 있다. 입력 조합에 따른 출력이 항상 일치하는 기능의 경우, 플로우 그래프 또는 진리표를 활용하여 로직이 생성될 수 있다. 반면, 입력의 조합이 같다 하더라도, 현재의 기능 동작 상태에 따라 출력이 달라지거나 시간에 따라 동작이 달라지는 경우 스테이트 차트로 작성될 수 있다. 뒷유리 서리제거 기능의 경우에는 스위치 입력마다 열선 출력 상태가 변화하며, 열선 출력 후 20 분이 경과하면 출력을 정지하기 때문에 상태 천이도 형태로 제어 로직이 생성될 수 있다.Control logic generation in the control logic generation unit 230 may be written in the form of a state chart, flow graph, or truth table. In the case of a function in which outputs according to input combinations always match, logic may be created using a flow graph or truth table. On the other hand, even if the combination of inputs is the same, if the output changes according to the current function operation state or the operation changes according to time, it can be written as a state chart. In the case of the rear window defrosting function, the output state of the hot wire is changed for each switch input, and since the output is stopped 20 minutes after the hot wire is output, control logic can be created in the form of a state transition diagram.

제어 로직 생성부(230)에서 제어 로직을 생성하는 구체적인 일례를 앞서 제시한 뒷유리 서리 제거 기능을 대상으로 하여 설명한다. A specific example of generating the control logic in the control logic generation unit 230 will be described with respect to the aforementioned rear window defrosting function.

도 5는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 입출력 동작 리스트를 생성하는 것으로서, 테스트 시나리오를 자동 생성하는 것을 예시하고, 도 6은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 입출력 동작 리스트를 생성하는 것으로서, 테스트 시나리오의 유효성을 확인(Activation 체크)하는 것을 예시하며, 도 7은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 Activation 조건의 배타적 조건을 적용하여 테스트 시나리오를 자동 생성하는 것을 예시한다. 또한, 도 8a는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 입력 조건에 따라 출력 동작에 따른 제어 로직을 생성한 것을 나타내고, 도 8b는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 파라미터 조건에 따른 입출력 조건 추가에 대한 제어 로직을 생성한 것을 나타낸다. 5 illustrates automatic generation of a test scenario by a control logic generation unit generating an input/output operation list in a vehicle software development system according to an embodiment of the present invention, and FIG. 6 illustrates a vehicle according to an embodiment of the present invention. In the software development system, the control logic generation unit generates an input/output operation list, which illustrates checking the validity of a test scenario (activation check), and FIG. 7 shows control logic generation in a vehicle software development system according to an embodiment of the present invention. An example of automatically generating test scenarios by applying exclusive conditions of additional activation conditions. 8A shows that the control logic generation unit generates control logic according to an output operation according to an input condition in the vehicle software development system according to an embodiment of the present invention, and FIG. 8B shows a vehicle according to an embodiment of the present invention. In the software development system, the control logic generator generates control logic for adding input/output conditions according to parameter conditions.

도 5를 참조하면, 제어 로직 생성부(230)는 입출력 신호의 기능 리스트(Link to) 연결에 따라 조건 연산자가 포함된 모든 테스트 시나리오를 자동 생성할 수 있다. 도 5에서는, 테스트 케이스(TC1, TC2)와 상태에 따라, Event(입력 신호), Value(입력 신호의 값), Expected(출력 신호), Value(출력 신호의 값)이 대응되는 테스트 케이스가 자동 생성된 것이 예시된다. 도 5에서의 테스트 케이스 중에는 유효하지 않은 테스트 케이스도 포함될 수 있다. Referring to FIG. 5 , the control logic generation unit 230 may automatically generate all test scenarios including conditional operators according to the link to function list (Link to) of input/output signals. In FIG. 5, according to the test cases TC1 and TC2 and the state, a test case corresponding to Event (input signal), Value (input signal value), Expected (output signal), and Value (output signal value) is automatically What was created is exemplified. Among the test cases in FIG. 5 , invalid test cases may also be included.

도 6을 참조하면, 제어 로직 생성부(230)는 자동 생성된 모든 테스트 시나리오 중에서, 실제 유효한 테스트 케이스를 체크한다. 즉, 입력 신호와 출력 신호 및 이들의 값을 대응시킨 모든 테스크 케이스 중에서 실제 유효하게 작동될 수 있는 테스트 케이스를 선별한다(Activation Check). Referring to FIG. 6 , the control logic generation unit 230 checks actual valid test cases among all automatically generated test scenarios. That is, among all test cases in which input signals, output signals, and their values correspond, test cases that can actually be operated effectively are selected (Activation Check).

도 7을 참조하면, 제어 로직 생성부(230)는 도 6에서의 유효한 테스트 케이스의 Activation 조건의 배타적인 조건으로서, Inactivation 테스트 시나리오를 자동 생성한다. 즉, 도 7의 TC1이 Activation 조건의 테스트 케이스인데, TC2, TC3 등의 테스트 케이스는 TC1의 배타적인 조건으로서 Inactivation 테스트 케이스에 해당한다. Referring to FIG. 7 , the control logic generation unit 230 automatically generates an inactivation test scenario as an exclusive condition of the activation condition of the valid test case in FIG. 6 . That is, TC1 in FIG. 7 is a test case of an activation condition, and test cases such as TC2 and TC3 correspond to an inactivation test case as an exclusive condition of TC1.

이러한 과정을 거쳐 확인된 Activation 조건 및 Inactivation 조건에 따라 도 8a와 같은 제어 로직이 자동 생성된다. 이후, 제어 로직 생성부(230)는 도 8b와 같이 파라미터를 적용한 제어 로직을 자동 생성할 수 있다.Control logic as shown in FIG. 8A is automatically generated according to the activation condition and the inactivation condition confirmed through this process. Thereafter, the control logic generation unit 230 may automatically generate control logic to which parameters are applied, as shown in FIG. 8B.

검증부(300)verification unit 300

검증부(300)는, 개별 기능별로 생성된 제어 로직에 대한 검증과, 개별 기능별 제어 로직을 복수로 통합하여 통합 모델을 생성하고 검증하는 통합 검증을 수행할 수 있다. 이러한 검증부(300)는, 단위 검증부(310)와 통합 검증부(320)를 포함할 수 있다. The verification unit 300 may perform verification of control logic generated for each individual function and integrated verification of generating and verifying an integrated model by integrating a plurality of control logics for each individual function. This verification unit 300 may include a unit verification unit 310 and an integrated verification unit 320 .

단위 검증부(310)는 개별 기능 단위의 검증을 수행할 수 있다. 단위 검증부(310)는 제어 로직 생성부(230)에서 생성된 개별 기능에 대한 제어 로직에 대한 검증을 수행할 수 있다. 일 실시예에 있어서, 단위 검증부(310)는 테스트 케이스에 기반하여 개별 기능에 대한 검증을 수행하는 것일 수 있다. 일 실시예에 있어서, 테스트 케이스는 제어 로직 생성부(230)에서 생성된 Activation/Inactivation 기반의 테스트 케이스를 활용한 것이거나, 별도로 단위 검증부(310)에 제공된 것일 수 있다. The unit verification unit 310 may perform verification of individual functional units. The unit verification unit 310 may perform verification of the control logic for each function generated by the control logic generation unit 230 . In one embodiment, the unit verification unit 310 may perform verification for individual functions based on test cases. In one embodiment, the test case may be one using an Activation/Inactivation-based test case generated by the control logic generation unit 230 or separately provided to the unit verification unit 310.

한편, 개별 기능에 대한 검증에는 정적 검증과 동적 검증이 포함될 수 있다. 정적 검증은 작성된 제어 로직의 요구사양의 구현 여부를 검토하고 모델링 가이드 준수여부를 확인한다. 모델링 가이드는 필수 적용되어야 하는 Mandatory 항목과 권고 사항인 Recommended 항목을 모두 확인하고 평가 결과에 따라 최종 소프트웨어 코드 생성 시 코드의 가독성을 확보하고 최적화된 소스 코드를 생성할 수 있도록 할 수 있다. 동적 검증은 스테이트 차트로 작성된 제어 로직으로부터 로직의 정합성 및 무결성을 검증하기 위해 Condition Coverage 와 Decision Coverage 검증을 진행하며 , 각 Condition 과 Decision 은 입출력 신호에 따른 스테이트 차트 천이 조건에 따라 테스트 케이스를 생성하여 검증할 수 있다.Meanwhile, verification of individual functions may include static verification and dynamic verification. Static verification reviews whether the written control logic requirements are implemented and checks compliance with the modeling guide. The modeling guide checks both Mandatory items that must be applied and Recommended items that are recommendations, and according to the evaluation results, when creating the final software code, the readability of the code can be secured and the optimized source code can be created. Dynamic verification proceeds with Condition Coverage and Decision Coverage verification to verify the consistency and integrity of the logic from the control logic written in the state chart, and each condition and decision is verified by generating a test case according to the state chart transition condition according to the input/output signal. can do.

통합 검증부(320)는, 단위 검증부(310)의 검증이 완료된 개별 기능을 통합하여 통합 검증 모델을 생성하고, 각 단위 기능 제어 모델들 간 내부 신호 연결의 정합성을 확인하고, 외부 입출력 신호가 정확히 할당되었는지를 검증할 수 있다.The integrated verification unit 320 generates an integrated verification model by integrating the individual functions verified by the unit verification unit 310, checks the consistency of the internal signal connection between each unit function control model, and checks whether the external input/output signal is You can verify that it has been assigned correctly.

통합 검증부(320)는, 제어 모델 생성부(200)에서 생성된 적어도 2개의 단위 기능 제어 모델을 통합하여 통합 모델을 생성하여 단위 기능 제어 모델들 간의 내부 신호 연결의 정합성, 외부 입출력 신호의 할당을 검증할 수 있다. The integrated verification unit 320 generates an integrated model by integrating at least two unit function control models generated by the control model generation unit 200 to determine the consistency of internal signal connections between the unit function control models and the allocation of external input/output signals. can be verified.

또한, 통합 검증부(320)는 통합 모델에 포함된 입출력 신호와 변수를 기반으로 한 테스트 케이스를 자동으로 생성하고, 자동 생성된 제어 로직에 기반하여 유효한 테스트 케이스를 확보하며, 이 테스트 케이스를 바탕으로 통합 모델에 대한 검증을 수행하는 것도 가능할 수 있다. 이러한 통합 모델을 기반으로 한 테스트 케이스의 자동 생성 및 통합 제어 로직의 생성은 도 5 내지 도 8b를 참조하여 설명한 단위 기능 제어 모델에 대한 방식을 적용하여 수행될 수 있다. In addition, the integrated verification unit 320 automatically creates a test case based on the input/output signals and variables included in the integrated model, secures a valid test case based on the automatically generated control logic, and based on the test case. It may also be possible to perform verification of the integrated model with The automatic generation of test cases and the generation of integrated control logic based on such an integrated model may be performed by applying the method for the unit function control model described with reference to FIGS. 5 to 8B.

도 9는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 통합 검증부가 통합 모델을 생성하는 것을 예시한 도면이다. 도 9의 (a)는 A 제어기(20)의 단위 기능에 대한 기능 모델과 B 제어기(30)의 단위 기능에 대한 제어 모델을 연계하여 도시한 도면이고, 도 9의 (b)는 A 제어기(20)와 B 제어기(30)의 단위 기능을 통합한 통합 모델(40)을 도시한 도면이다. 9 is a diagram illustrating that an integrated verification unit generates an integrated model in a vehicle software development system according to an embodiment of the present invention. 9(a) is a diagram showing a function model for unit functions of controller A 20 and a control model for unit functions of controller B 30 linked together, and FIG. 9(b) shows controller A ( 20) and the integrated model 40 integrating the unit functions of the B controller 30.

도 9의 (a)를 참조하면, A 제어기(20)의 A 사양에 따른 제어 모델에서, A 제어기(20)에는 'Input_HW_외부1'과 'Input_CAN_외부1'의 입력 신호가 입력되고, A 제어기(20)에서는 'Output_CAN_타제어기1', 'Output_HW_AA1'과 'Output_CAN_AA2'의 출력 신호가 출력된다.Referring to (a) of FIG. 9, in the control model according to the A specification of the A controller 20, input signals of 'Input_HW_External 1' and 'Input_CAN_External 1' are input to the A controller 20, The A controller 20 outputs output signals of 'Output_CAN_other controller 1', 'Output_HW_AA1' and 'Output_CAN_AA2'.

B 제어기(30)의 B 사양에 따른 제어 모델에서, B 제어기(30)는 A 제어기(20)의 출력 신호인 'Output_HW_AA1'과 'Output_CAN_AA2'를 입력 신호로 입력 받고, 'Output_HW_타제어기2'의 출력 신호를 출력한다. In the control model according to the B specification of the B controller 30, the B controller 30 receives 'Output_HW_AA1' and 'Output_CAN_AA2', which are output signals of the A controller 20, as input signals, and receives 'Output_HW_other controller 2' as input signals. outputs the output signal of

앞서, 설명한 바와 같이, 기능별 제어 모듈을 생성함에 있어서, 입출력 신호 설정부(210)는 입출력 신호를 신호 특성에 따라 추상화하면서, 입력 또는 출력에 따라, 신호 특성이 기능간 연결인지(INT), 물리적 연결인지(HW), 어떤 통신 신호인지(CAN, LIN, ETHernet)에 따라 입출력 신호를 추상화하고, 표준화 명칭을 부여하였다. As described above, in generating a control module for each function, the input/output signal setting unit 210 abstracts the input/output signal according to the signal characteristic, and depending on the input or output, whether the signal characteristic is a connection between functions (INT), physical Depending on whether it is connected (HW) or what type of communication signal it is (CAN, LIN, ETHernet), input/output signals are abstracted and standardized names are given.

통합 모델을 생성함에 있어서도, 입출력 신호에 대한 추상화는 입출력 신호 설정부(210)에서 설정한 것을 사용할 수 있는데, 도 9에서와 같이 A 제어기(20)의 출력 신호가 B 제어기(30)의 입력 신호가 되는 경우, 해당 신호는 기능간 연결에 해당한다. 이에 따라, '_HW', '_CAN' 등의 속성 값은 '_INT'로 변경되고 입출력 신호가 새롭게 설정된다. Even in generating the integrated model, the abstraction of the input/output signals can use what was set in the input/output signal setting unit 210. As shown in FIG. 9, the output signal of controller A 20 is the input signal of controller B 30 , the corresponding signal corresponds to an inter-function connection. Accordingly, attribute values such as '_HW' and '_CAN' are changed to '_INT' and input/output signals are newly set.

도 9의 (b)를 참조하면, A 제어기(20)와 B 제어기(30)를 연동한 통합 모델(40)을 생성함에 있어서, A 제어기의 출력 신호인 'Output_HW_AA1'과 'Output_CAN_AA2'는 'Output_INT_AA1'과 'Output_INT_AA2'로 그 신호 특성이 변경되고, B 제어기의 입력 신호가 되는 'Input_HW_AA1'과 'Input_CAN_AA2'는 'Input_INT_AA1'과 'Input_INT_AA2'로 신호 특성이 변경된다. Referring to (b) of FIG. 9, in generating the integrated model 40 in which the A controller 20 and the B controller 30 are interlocked, 'Output_HW_AA1' and 'Output_CAN_AA2', which are output signals of the A controller, are 'Output_INT_AA1' ' and 'Output_INT_AA2', and the signal characteristics of 'Input_HW_AA1' and 'Input_CAN_AA2', which are input signals of the B controller, are changed to 'Input_INT_AA1' and 'Input_INT_AA2'.

통합 검증부(320)는 도 9에 예시된 바와 같은 방법으로 단위 기능에 대한 제어 모듈을 통합하여 통합 모델을 생성하고, 통합 모델(40)에서의 최종 입출력 신호와 변수를 기반으로 한 테스트 케이스를 자동으로 생성한다. 또한, 통합 검증부(320)는 자동 생성된 테스트 케이스에서 유효한 테스트 케이스 리스트를 확보할 수 있다. 이러한 통합 검증부(320)의 기능은, 제어 로직 생성부(230)에서 단위 기능에 대한 제어 로직을 생성하고 테스트 케이스를 생성하는 것과 같은 방식으로 수행될 수 있다. The integrated verification unit 320 creates an integrated model by integrating control modules for unit functions in the method shown in FIG. automatically generate In addition, the integrated verification unit 320 may secure a valid test case list from automatically generated test cases. The function of the integrated verification unit 320 may be performed in the same way as the control logic generation unit 230 generates control logic for unit functions and generates test cases.

결과물 생성부(400)Result generator 400

결과물 생성부(400)는, 기능 사양서 생성부(410)와 응용 프로그램 생성부(420)를 포함할 수 있다. The output generator 400 may include a function specification generator 410 and an application program generator 420 .

기능 사양서 생성부(410)는, 요구사양 기반으로 작성된 제어 모델로부터 기능 요구사양서를 추출할 수 있다. 응용 프로그램 생성부(420)는 검증이 완료된 제어 로직으로부터 응용 프로그램을 생성할 수 있다. The function specification generation unit 410 may extract a function requirement specification from a control model created based on a requirement. The application program generator 420 may generate an application program from the verified control logic.

차량 소프트웨어 개발 방법How to develop vehicle software

도 10은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 방법을 도시한 순서도이다. 10 is a flowchart illustrating a vehicle software development method according to an embodiment of the present invention.

요구사양 분석부(100)가 설계 요구사양이 기재된 제어기 사양서부터 입력 신호 및 출력 신호를 추출하고 상기 입력 신호와 상기 출력 신호의 상관 관계에 대한 기능 리스트를 생성한다(S100).The requirement analysis unit 100 extracts an input signal and an output signal from the controller specification in which the design requirements are described, and generates a function list for correlation between the input signal and the output signal (S100).

제어 모델 생성부(200)가 상기 입력 및 출력 신호를 추상화하여 정의하고 제어 모델에 따른 제어 로직을 생성한다(S200). The control model generation unit 200 abstractly defines the input and output signals and generates control logic according to the control model (S200).

검증부(300)는, 개별 기능별로 생성된 상기 제어 로직에 대한 단위 검증을 수행하고, 서로 연결된 제어 로직이 복수로 존재하는 경우 복수의 제어 로직을 통합하여 통합 모델을 생성하고 검증하는 통합 검증을 수행한다(S300).The verification unit 300 performs unit verification on the control logic generated for each individual function, and when a plurality of control logics connected to each other exist, integrated verification of generating and verifying an integrated model by integrating a plurality of control logics. It is performed (S300).

검증이 완료된 후, 결과물 생성부(400)는 요구사양 기반으로 작성된 제어 모델로부터 기능 요구사양서를 추출하고, 검증이 완료된 제어 로직으로부터 응용 프로그램을 생성한다(S400).After the verification is completed, the result generating unit 400 extracts a functional requirement specification from the control model prepared based on the requirements, and generates an application program from the control logic for which verification has been completed (S400).

단위 기능에 대한 제어 모델 생성Create control models for unit functions

도 11은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 방법에 있어서, 제어 모델을 생성하는 과정을 도시한 순서도이다. 도 11을 참조하여 제어 모델 생성부(200)가 제어 모델에 따라 제어 로직을 생성하는 과정을 더 상세히 설명한다. 11 is a flowchart illustrating a process of generating a control model in a vehicle software development method according to an embodiment of the present invention. Referring to FIG. 11 , a process in which the control model generation unit 200 generates control logic according to the control model will be described in more detail.

요구 사양 분석부(100)가 설계 요구사양이 기재된 제어기 사양서로부터 입출력 데이터를 입력받고(S202), 입력 신호와 출력 신호를 그 특성에 따라 분류한다(S204). 요구 사양 분석부(100)는 입력 신호와 출력 신호에 대해, 입력 신호와 출력 신호를 추출하여 구분하고(Input, Output), 입출력 신호의 값(Value)과, 신호 특성에 따른 구분할 수 있다. The requirement specification analysis unit 100 receives input/output data from the controller specification written in the design requirements (S202), and classifies the input signal and output signal according to their characteristics (S204). The requirement analysis unit 100 extracts and distinguishes input and output signals from input and output signals (Input and Output), and can classify input and output signals according to values and signal characteristics.

입출력 신호는, 입력 신호와 출력 신호의 특성에 따라 기능 간 연결에 해당하는 내부 신호(Internal)인지 또는 물리적으로 연결된 하드웨어 구성요소와의 HW 신호, 통신 프로토콜에 따라 CAN 통신, LIN 통신, Ethernet 통신의 신호인지가 판단될 수 있다(S206). Depending on the characteristics of the input and output signals, the input/output signal is an internal signal corresponding to the connection between functions, or a HW signal with physically connected hardware components, and CAN communication, LIN communication, or Ethernet communication depending on the communication protocol. It can be determined whether it is a signal (S206).

제어 모델 생성부(200)는 추출된 입출력 신호에 대해 신호 특성에 따라 신호를 추상화한다(S208). The control model generating unit 200 abstracts the extracted input/output signal according to signal characteristics (S208).

제어 모델 생성부(200)는 입력 신호와 출력 신호의 특성에 따른 입출력 데이터 테이블(IO Data Table)을 생성한다(S210). 여기에서 입출력 데이터 테이블은 요구 사양 분석부(100)에서 1차 생성되고, 제어 모델 생성부(200)가 이를 직접 또는 수정하여 활용하는 것도 가능할 수 있다. The control model generation unit 200 generates an IO Data Table according to characteristics of input signals and output signals (S210). Here, the input/output data table is primarily generated by the requirement analysis unit 100, and the control model generation unit 200 may directly or modify it to utilize it.

입력 신호와 출력 신호의 연결 관계(기능 리스트)가 확인되고(S212), 입력 신호와 출력 신호의 연결을 통한 속성값에 기반하여 상기 기능 리스트에 따른 기능 동작 리스트가 생성된다(S214). 이러한 기능 동작 리스트는 도 5에 도시된 바와 같은 입출력 동작 리스트로서, 가능한 모든 테스트 시나리오가 S214 단계에서 생성될 수 있다.A connection relationship (function list) between an input signal and an output signal is checked (S212), and a function operation list according to the function list is generated based on the attribute value through the connection between the input signal and the output signal (S214). This function operation list is an input/output operation list as shown in FIG. 5, and all possible test scenarios can be generated in step S214.

제어 모델 생성부(200)는, 테스트 시나리오에 포함된 테스트 케이스 중에서 유효한 조건을 갖는 테스트 케이스를 확인한다(S216).The control model generating unit 200 checks test cases having valid conditions among the test cases included in the test scenarios (S216).

테스트 케이스가 유효한 지(Activation 조건 만족 여부)가 판단되고(S218), 유효한 조건에 따른 테스트 케이스(기능 리스트(fucntion list)로도 이해 가능)가 생성되고(S220), 유효한 조건에 대한 배타적인 조건으로서의 Inactivation 조건에 따른 테스트 케이스가 생성된다(S230). It is determined whether the test case is valid (activation condition satisfied or not) (S218), a test case (which can also be understood as a function list) according to the valid condition is created (S220), and as an exclusive condition for the valid condition A test case according to the inactivation condition is created (S230).

다음으로, 파라미터의 유무가 판단될 수 있다(S224). 파라미터가 존재하는 경우, 파라미터가 입력 신호 또는 출력 신호의 어느 것에 연관되는지 확인되고(S226), 제어 모델이 생성된다(S228). 여기에서 제어 모델은 스테이트 차트일 수 있으나, 이에 한정되는 것은 아니다. Next, the presence or absence of parameters may be determined (S224). If the parameter exists, it is checked whether the parameter is related to the input signal or the output signal (S226), and a control model is created (S228). Here, the control model may be a state chart, but is not limited thereto.

통합 모델 생성Create an integrated model

도 12는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 방법에 있어서, 단위 기능에 대한 제어 모델로부터 통합 검증을 위한 통합 모델을 생성하는 과정을 도시한 순서도이다. 12 is a flowchart illustrating a process of generating an integrated model for integrated verification from a control model for a unit function in a vehicle software development method according to an embodiment of the present invention.

검증부(300)의 통합 검증부(320)는 제어 로직을 적어도 2개 통합하여 통합 모델을 생성하고 검증하는 기능을 수행한다. The integrated verification unit 320 of the verification unit 300 performs a function of generating and verifying an integrated model by integrating at least two control logics.

복수의 제어 모델이 입력된다(S302).A plurality of control models are input (S302).

통합 검증부(320)는 복수의 제어 모델에 포함된 입출력 신호의 특성을 분석한다(S304). The integrated verification unit 320 analyzes the characteristics of the input/output signals included in the plurality of control models (S304).

제 1 제어 모델(Unit1)의 외부 출력 신호가 제 2 제어 모델(Unit2)의 외부 입력 신호에 해당하는지, 또는 제 1 제어 모델(Unit1)의 외부 입력 신호가 제 2 제어 모델(Unit2)의 외부 출력 신호에 해당하는지 판단된다(S306). Whether the external output signal of the first control model (Unit1) corresponds to the external input signal of the second control model (Unit2), or whether the external input signal of the first control model (Unit1) corresponds to the external output signal of the second control model (Unit2) It is determined whether it corresponds to a signal (S306).

S306 단계에서 No로 판단된 경우, 각각의 제어 모델(Unit1, Unit2)에서의 외부 출력 신호 또는 외부 입력 신호를 추가한다(S308, S312).If it is determined as No in step S306, an external output signal or external input signal from each control model (Unit1, Unit2) is added (S308, S312).

만약, S306 단계의 판단 결과, 어느 하나의 제어 모델에서의 출력 신호가 다른 하나의 제어 모델의 입력 신호가 될 때, 상기 어느 하나의 제어 모델에서의 출력 신호와 상기 다른 하나의 제어 모델의 입력 신호의 신호 특성을 기능 간 연결을 나타내는 내부 신호로 설정한다(S310).If, as a result of the determination in step S306, when the output signal of one control model becomes the input signal of another control model, the output signal of the one control model and the input signal of the other control model The signal characteristic of is set to an internal signal representing the connection between functions (S310).

입출력 신호의 데이터 흐름을 판단하고(S314), 관련 파라미터를 정의하여(S316), 통합 제어 모델을 생성한다(S318).The data flow of input/output signals is determined (S314), related parameters are defined (S316), and an integrated control model is generated (S318).

모든 입출력 데이터 흐름에 대하여 구성이 완료된 것으로 판단되면(S320), 제어 모델 생성을 완료함으로써, 통합 모델 생성이 완료된다(S322).When it is determined that the configuration of all input/output data flows is completed (S320), the creation of the integrated model is completed by completing the generation of the control model (S322).

추가적으로, 검증부(300)에 의해 통합 모델에 대한 동적 또는 정적 검증이 수행될 수 있다(S324).Additionally, dynamic or static verification of the integrated model may be performed by the verification unit 300 (S324).

검증이 완료된 후, 기능 요구사양서와 응용 프로그램이 생성될 수 있다(S326).After the verification is complete, a functional requirement specification and an application program may be generated (S326).

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an example of the technical idea of the present invention, and those skilled in the art can make various modifications, changes, and substitutions without departing from the essential characteristics of the present invention. will be. Therefore, the embodiments disclosed in the present invention and the accompanying drawings are not intended to limit the technical idea of the present invention, but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments and the accompanying drawings. . The protection scope of the present invention should be construed according to the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.

10 : 차량 소프트웨어 개발 시스템 100 : 요구사양 분석부
110 : 입출력 신호 추출부 120 : 변수 추출부
130 : 기능 리스트 생성부 200 : 제어 모델 생성부
210 : 신호 설정부 220 : 파라미터 설정부
230 : 제어 로직 생성부 300 : 검증부
310 : 단위 검증부 320 : 통합 검증부
400 : 결과물 생성부 410 : 기능 사양서 생성부
420 : 응용 프로그램 생성부
10: vehicle software development system 100: requirements analysis unit
110: input/output signal extraction unit 120: variable extraction unit
130: function list generation unit 200: control model generation unit
210: signal setting unit 220: parameter setting unit
230: control logic generation unit 300: verification unit
310: unit verification unit 320: integrated verification unit
400: result generation unit 410: function specification generation unit
420: application generator

Claims (18)

설계 요구사양이 기재된 제어기 사양서로부터 입력 신호 및 출력 신호를 추출하고 상기 입력 신호와 상기 출력 신호의 상관 관계에 대한 기능 리스트를 생성하는 요구사양 분석부;
상기 입력 및 출력 신호를 추상화하여 정의하고 제어 모델에 따른 제어 로직을 생성하는 제어 모델 생성부; 및
상기 제어 로직을 적어도 2개 통합하여 통합 모델을 생성하고 검증하는 통합 검증을 수행하는 통합 검증부를 구비하는 검증부;
를 포함하고,
상기 제어 모델 생성부는, 상기 입력 및 출력 신호의 특성에 따라 신호를 추상화하는 입출력 신호 설정부를 포함하고,
상기 입출력 신호 설정부는, 상기 입력 및 출력 신호에 대해, 입력 또는 출력 구분, 상기 입력 신호와 상기 출력 신호의 연결 관계, 및 상기 입력 및 출력 신호의 명칭을 이용하여 표준 신호명을 생성하고,
상기 통합 검증부는, 적어도 2개의 상기 제어 로직 중 어느 하나의 제어 로직에서의 출력 신호가 다른 하나의 제어 로직의 입력 신호가 될 때, 상기 어느 하나의 제어 로직에서의 출력 신호와 상기 다른 하나의 제어 로직의 입력 신호의 신호 특성을 기능 간 연결을 나타내는 내부 신호로 설정하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
a requirement analysis unit for extracting an input signal and an output signal from a controller specification written with design requirements and generating a function list for a correlation between the input signal and the output signal;
a control model generation unit that abstractly defines the input and output signals and generates control logic according to the control model; and
a verification unit having an integrated verification unit that performs integrated verification for generating and verifying an integrated model by integrating at least two of the control logics;
including,
The control model generating unit includes an input/output signal setting unit for abstracting signals according to characteristics of the input and output signals,
The input/output signal setting unit generates a standard signal name for the input and output signals by using the input or output classification, the connection relationship between the input signal and the output signal, and the names of the input and output signals,
The integrated verification unit, when an output signal from any one control logic of the at least two control logic becomes an input signal of another control logic, the output signal from the one control logic and the other control logic Characterized in that the signal characteristic of the input signal of the logic is set to an internal signal representing the connection between functions, a vehicle software development system.
제 1 항에 있어서,
상기 요구사양 분석부는,
상기 제어기 사양서로부터 상기 입력 신호와 상기 출력 신호를 추출하여 구분하는 입출력 신호 추출부;
상기 제어기 사양서로부터 변수를 추출하는 변수 추출부; 및
상기 기능 리스트를 생성하는 기능 리스트 생성부를 포함하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
According to claim 1,
The requirements analysis unit,
an input/output signal extraction unit for extracting and distinguishing the input signal and the output signal from the controller specifications;
a variable extraction unit extracting variables from the controller specification; and
A vehicle software development system comprising a function list generating unit generating the function list.
제 2 항에 있어서,
상기 입출력 신호 추출부는, 상기 입력 신호와 상기 출력 신호를 연결 관계에 따라 기능 간 연결을 나타내는 내부 신호, 하드웨어 구성요소와 연결되는 HW 신호 또는 통신 프로토콜에 통신 신호로 구분하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
According to claim 2,
The input/output signal extraction unit divides the input signal and the output signal into an internal signal indicating a connection between functions, a HW signal connected to a hardware component, or a communication signal in a communication protocol according to a connection relationship, vehicle software. development system.
제 1 항에 있어서,
상기 제어 모델 생성부는,
상기 상기 입력 및 출력 신호의 속성값 또는 상기 사양서에 포함된 변수의 파라미터를 설정하는 파라미터 설정부; 및
상기 입력 및 출력 신호와 상기 속성값 또는 상기 파라미터에 따른 제어 로직을 생성하는 제어 로직 생성부를 더 포함하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
According to claim 1,
The control model generation unit,
a parameter setting unit for setting attribute values of the input and output signals or parameters of variables included in the specification; and
The vehicle software development system of claim 1, further comprising a control logic generation unit generating control logic according to the input and output signals and the attribute value or the parameter.
삭제delete 제 4 항에 있어서,
상기 파라미터 설정부는, 상기 속성값 또는 상기 파라미터에 대하여 상기 제어 로직과는 별도의 파일을 생성하여 관리되도록 하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템
According to claim 4,
The vehicle software development system, characterized in that the parameter setting unit creates and manages a file separate from the control logic for the attribute value or the parameter.
제 4 항에 있어서,
상기 제어 로직 생성부는, 상기 기능 리스트의 연결과 조건 연산자가 포함된 테스트 시나리오를 생성하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
According to claim 4,
The vehicle software development system, characterized in that, the control logic generation unit generates a test scenario including a connection of the function list and a conditional operator.
제 7 항에 있어서,
상기 제어 로직 생성부는, 상기 테스트 시나리오 중에서 유효한 테스트 케이스를 선별하고, 상기 유효한 테스트 케이스의 조건에 대한 배타적인 조건에 따른 테스트 케이스를 생성하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
According to claim 7,
The vehicle software development system, characterized in that, the control logic generating unit selects a valid test case from among the test scenarios and generates a test case according to conditions exclusive to conditions of the valid test case.
삭제delete 제 1 항에 있어서,
상기 검증부는, 개별 기능별로 생성된 상기 제어 로직에 대한 검증을 수행하는 단위 검증부를 더 포함하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
According to claim 1,
The vehicle software development system, characterized in that the verification unit further comprises a unit verification unit performing verification on the control logic generated for each function.
삭제delete 제 1 항에 있어서,
상기 통합 검증부는, 상기 통합 모델의 입력 신호와 출력 신호를 기반으로 한 테스트 케이스를 생성하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
According to claim 1,
The vehicle software development system, characterized in that the integrated verification unit generates a test case based on the input signal and the output signal of the integrated model.
(a) 요구사양 분석부가 설계 요구사양이 기재된 제어기 사양서로부터 입력 신호 및 출력 신호를 추출하고 상기 입력 신호와 상기 출력 신호의 상관 관계에 대한 기능 리스트를 생성하는 단계;
(b) 제어 모델 생성부가 상기 입력 및 출력 신호를 추상화하여 정의하고 제어 모델에 따른 제어 로직을 생성하는 단계; 및
(c) 검증부가 상기 제어 로직을 검증하는 검증 단계;
를 포함하고,
상기 (b) 단계에서, 상기 제어 모델 생성부는, 상기 입력 및 출력 신호에 대해, 입력 또는 출력 구분, 상기 입력 신호와 상기 출력 신호의 연결 관계, 및 상기 입력 및 출력 신호의 명칭을 이용하여 표준 신호명을 생성하고,
상기 (c) 단계에서, 상기 제어 로직을 적어도 2개 통합하여 통합 모델을 생성하고 검증하는 통합 검증이 수행되고,
상기 (c) 단계에서, 적어도 2개의 상기 제어 로직 중 어느 하나의 제어 로직에서의 출력 신호가 다른 하나의 제어 로직의 입력 신호가 될 때, 상기 어느 하나의 제어 로직에서의 출력 신호와 상기 다른 하나의 제어 로직의 입력 신호의 신호 특성을 기능 간 연결을 나타내는 내부 신호로 설정되는 것을 특징으로 하는, 차량 소프트웨어 개발 방법.
(a) extracting an input signal and an output signal from a controller specification in which design requirements are described by a requirement analysis unit and generating a function list for correlation between the input signal and the output signal;
(b) abstracting and defining the input and output signals by a control model generation unit and generating control logic according to the control model; and
(c) a verification step of verifying the control logic by a verification unit;
including,
In the step (b), the control model generation unit uses standard signal names for the input and output signals by using the input or output classification, the connection relationship between the input signal and the output signal, and the names of the input and output signals. create,
In the step (c), an integrated verification of generating and verifying an integrated model by integrating at least two control logics is performed,
In the step (c), when an output signal from one of the at least two control logics becomes an input signal of another control logic, the output signal from the one control logic and the other control logic Characterized in that the signal characteristics of the input signal of the control logic of the vehicle software development method is set to an internal signal representing the connection between functions.
제 13 항에 있어서,
상기 (a) 단계에서, 상기 입력 신호와 상기 출력 신호는 연결 관계에 따라 기능 간 연결을 나타내는 내부 신호, 하드웨어 구성요소와 연결되는 HW 신호 또는 통신 프로토콜에 통신 신호로 구분되는 것을 특징으로 하는, 차량 소프트웨어 개발 방법.
According to claim 13,
In the step (a), the input signal and the output signal are classified into an internal signal indicating a connection between functions, a HW signal connected to a hardware component, or a communication signal in a communication protocol according to a connection relationship. software development methods.
삭제delete 제 13 항에 있어서,
상기 (b) 단계에서, 상기 기능 리스트의 연결과 조건 연산자가 포함된 테스트 시나리오가 생성되고, 상기 테스트 시나리오의 테스트 케이스의 유효성이 판단되는 것을 특징으로 하는, 차량 소프트웨어 개발 방법.
According to claim 13,
In the step (b), a test scenario including a connection of the function list and a conditional operator is generated, and validity of a test case of the test scenario is determined.
제 13 항, 제 14 항 및 제 16 항 중 어느 한 항에 있어서,
상기 (c) 단계에서, 개별 기능별로 생성된 상기 제어 로직에 대한 검증이 더 수행되는 것을 특징으로 하는, 차량 소프트웨어 개발 방법.
The method of any one of claims 13, 14 and 16,
In the step (c), verification of the control logic generated for each function is further performed.
삭제delete
KR1020200176993A 2020-12-17 2020-12-17 System and method for developing automotive software KR102505850B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200176993A KR102505850B1 (en) 2020-12-17 2020-12-17 System and method for developing automotive software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200176993A KR102505850B1 (en) 2020-12-17 2020-12-17 System and method for developing automotive software

Publications (2)

Publication Number Publication Date
KR20220086838A KR20220086838A (en) 2022-06-24
KR102505850B1 true KR102505850B1 (en) 2023-03-02

Family

ID=82215898

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200176993A KR102505850B1 (en) 2020-12-17 2020-12-17 System and method for developing automotive software

Country Status (1)

Country Link
KR (1) KR102505850B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102041422B1 (en) * 2018-09-06 2019-11-27 조용행 Application Design Method and Apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080066402A (en) * 2007-01-12 2008-07-16 재단법인서울대학교산학협력재단 Design Method of Parallel Embedded Software Using Common Intermediate Code
KR101358075B1 (en) * 2012-02-20 2014-02-04 한국과학기술원 Distributed DEVS Simulation Architecture for Mobile Devices
KR20130138468A (en) 2012-06-11 2013-12-19 한국전자통신연구원 Apparatus and method for connecting application software and autosar service
KR101436694B1 (en) * 2012-11-13 2014-09-01 재단법인대구경북과학기술원 Method of designing application software of automotive roomlamp control system
KR20190123250A (en) * 2019-10-22 2019-10-31 주식회사 경신 Apparatus and method for automating software design of a vehicle controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102041422B1 (en) * 2018-09-06 2019-11-27 조용행 Application Design Method and Apparatus

Also Published As

Publication number Publication date
KR20220086838A (en) 2022-06-24

Similar Documents

Publication Publication Date Title
US10423571B2 (en) Method for configuring a real or virtual electronic control unit
CN113341917B (en) Internet of vehicles remote control end cloud integrated automatic test system and method
JP2014203314A (en) ECU simulation device
US10860467B2 (en) Method of configuring a test device designed to test an electronic control unit, and a configuration system
CN110554937B (en) Software diagnostic system for vehicle and method of operating the same
US10095194B2 (en) Method for configuring a test device set up for testing an electronic control unit
KR20070000732A (en) Asadal: A system that provides a feature-based software product line development environment
KR102505850B1 (en) System and method for developing automotive software
US20170315521A1 (en) Method for configuring a tester equipped for testing an electronic control unit
KR20190123250A (en) Apparatus and method for automating software design of a vehicle controller
CN115037587A (en) Method, device, equipment and storage medium for automatically issuing network equipment configuration
Beuche et al. Managing flexibility: Modeling binding-times in simulink
KR102038131B1 (en) Apparatus and method for automating software design of a vehicle controller
Rajeev et al. Design verification of automotive controller models
US11200069B1 (en) Systems and methods for generating a software application
CN115766541A (en) Device testing method, device, computer equipment and storage medium
CN116933097B (en) Method, device, equipment and storage medium for verifying modification data of vehicle
Schubert et al. Executable Specs: What makes one, and how are they used?
Conrad et al. Towards a methodology for the design of hybrid systems in automotive electronics
Hettig et al. Toolchain for architecture development, modeling and simulation of battery electric vehicles
KR20120047164A (en) Generic system requirement design method for vehicles type
Syed et al. Automated Migration of Legacy Functions and Algorithms to Model Based Design
Belloncle et al. An integrated approach to developing automotive climate control systems
Mouzakitis et al. Advanced automated onboard vehicle diagnostics testing
CN116302967A (en) NVMe model construction and test method and system

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20201217

PA0201 Request for examination
PN2301 Change of applicant

Patent event date: 20211015

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220418

Patent event code: PE09021S01D

AMND Amendment
PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20221027

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20220418

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

AMND Amendment
PX0701 Decision of registration after re-examination

Patent event date: 20230202

Comment text: Decision to Grant Registration

Patent event code: PX07013S01D

Patent event date: 20230126

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

Patent event date: 20221027

Comment text: Decision to Refuse Application

Patent event code: PX07011S01I

Patent event date: 20220620

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

X701 Decision to grant (after re-examination)
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230227

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230227

End annual number: 3

Start annual number: 1

PG1601 Publication of registration