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

System and method for developing automotive software Download PDF

Info

Publication number
KR20220086838A
KR20220086838A KR1020200176993A KR20200176993A KR20220086838A KR 20220086838 A KR20220086838 A KR 20220086838A KR 1020200176993 A KR1020200176993 A KR 1020200176993A KR 20200176993 A KR20200176993 A KR 20200176993A KR 20220086838 A KR20220086838 A KR 20220086838A
Authority
KR
South Korea
Prior art keywords
input
signal
control logic
unit
output signal
Prior art date
Application number
KR1020200176993A
Other languages
Korean (ko)
Other versions
KR102505850B1 (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/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/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 vehicle software according to design requirements of a vehicle controller and performing verification thereof. The present invention provides a requirement specification analysis unit for extracting an input signal and an output signal from a controller specification document in which a design requirement specification is written, and generating a function list for a correlation between the input signal and the output signal; and a control model generation unit that abstracts and defines the input and output signals and generates control logic according to the control model.

Figure P1020200176993
Figure P1020200176993

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 particularly, the present invention relates to a vehicle software development system and method capable of designing vehicle software according to design requirements of a vehicle controller and performing verification thereof.

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

특히, 요구사양에 대한 표준 사양 개발은 제어기의 소프트웨어 개발을 위한 초석이며 정해진 Format과 사양서의 기술 수준이 상위 요구사양 문서와 동일하게 설정이 되어 관리되지 않으면 사양의 명확성이 떨어지고 소프트웨어와 정합성이 맞지 않아 개발 기간이 늘어나고 품질이 저하되는 원인이 된다.In particular, the development of standard specifications for the required specifications is the cornerstone for software development of the controller, and if the technical level of the specified format and specifications is set and managed the same as the upper requirements specification documents, the clarity of the specifications will decrease and the consistency with the software will be inconsistent. 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 between the existing controllers are not standardized, it is impossible to match the input/output signals when developing the specifications, and it takes a lot of time to optimize the control logic that performs the same function. .

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

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

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

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

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

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

또한, 상기 제어 모델 생성부는, 상기 입력 및 출력 신호의 특성에 따라 신호를 추상화하는 입출력 신호 설정부; 상기 상기 입력 및 출력 신호의 속성값 또는 상기 사양서에 포함된 변수의 파라미터를 설정하는 파라미터 설정부; 및 상기 입력 및 출력 신호와 상기 속성값 또는 상기 파라미터에 따른 제어 로직을 생성하는 제어 로직 생성부를 포함할 수 있다. In addition, the control model generating unit 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 generator 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 input or output classification, a connection relationship between the input signal and the output signal, and names of the input and output signals. .

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

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

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

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

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

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

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

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

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

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

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

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

또한, 상기 (c) 단계에서, 적어도 2개의 상기 제어 로직 중 어느 하나의 제어 로직에서의 출력 신호가 다른 하나의 제어 로직의 입력 신호가 될 때, 상기 어느 하나의 제어 로직에서의 출력 신호와 상기 다른 하나의 제어 로직의 입력 신호의 신호 특성을 기능 간 연결을 나타내는 내부 신호로 설정될 수 있다. In addition, in step (c), when an output signal from any one of the at least two control logics becomes an input signal of the other 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 the required specifications at the time of vehicle design to the design of the software.

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

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

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

도 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 specification analysis unit in a vehicle software development system according to an embodiment of the present invention.
3 illustrates 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 exemplarily illustrating control logic generation of a control logic generation unit in a vehicle software development system according to an embodiment of the present invention.
5 exemplifies automatic generation of a test scenario as a control logic generator generates an input/output operation list in a vehicle software development system according to an embodiment of the present invention.
6 illustrates that the control logic generator generates an input/output operation list in the vehicle software development system according to an embodiment of the present invention, and checks the validity of a test scenario (Activation check).
7 illustrates that the control logic generator automatically generates a test scenario by applying the exclusive condition of the activation condition in the vehicle software development system according to an embodiment of the present invention.
8A illustrates that the control logic generator generates control logic according to an output operation according to an input condition in a vehicle software development system according to an embodiment of the present invention.
8B illustrates that the control logic generator 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 the integrated verification unit generates an integrated model in the 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.

아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.Hereinafter, 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 it using the drawings.

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

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

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

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

차량 소프트웨어 개발 시스템(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 an automobile software platform, AUTOSAR. AUTOSAR provides a platform that can unify 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 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 are performed. It is characterized in that it is possible to generate a control function specification sheet and vehicle application software from the control requirement specification through the

도 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 specification 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 configuration.

요구사양 분석부(100)Requirements analysis unit (100)

요구사양 분석부(100)는, 설계 요구사양이 기재된 제어기 사양서부터 입력 신호 및 출력 신호를 추출하고 상기 입력 신호와 상기 출력 신호의 상관 관계에 대한 기능 리스트를 생성할 수 있다. 일 실시예에 있어서, 요구사양 분석부(100)는, 입출력 신호 추출부(110), 변수 추출부(120) 및 기능 리스트 생성부(130)를 포함한다. The requirement specification analysis unit 100 may extract an input signal and an output signal from a controller specification in which a design requirement specification is written, and generate a function list for a correlation between the input signal and the output signal. In an embodiment, the requirement specification 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 the input/output signal for the requested specification from the controller specification. In general, a vehicle controller specification for vehicle control is prepared in a text file (eg, MS-word file) and provided to a software design company. 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 (such as parameters) from the controller specification sheet.

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

본 발명의 실시에 있어서, 요구사양 분석부(100)는 제어기 사양서 또는 제어기 로직으로부터 입출력 신호와 변수를 추출하고 입력 신호와 출력 신호의 상관 관계에 대한 기능 리스트를 자동으로 추출할 수 있다. 다만, 경우에 따라서, 요구사양 분석부(100)는 사용자(설계자)에게 적절한 인터페이스를 제공하고 사용자로부터 상기 입출력 신호와 변수 또는 기능 리스트의 적어도 일부를 직접 입력받는 것도 가능할 수 있다. In the practice of the present invention, the requirement specification analysis unit 100 may extract input/output signals and variables from the controller specification or controller logic, and automatically extract a function list for the correlation between the input signal and the output signal. However, in some cases, the requirement specification analysis unit 100 may provide an appropriate interface to the user (designer) and directly receive the input/output signal and at least a part of the variable or 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 of independent control units 입출력 신호(IO Data Flow)I/O signal (IO Data Flow) 기능(Function)을 수행하기 위한 입력 신호, 출력 신호 및 신호 간 흐름Input signals, output signals, and the flow between signals to perform a 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 specification analysis unit in a vehicle software development system according to an embodiment of the present invention. Hereinafter, the analysis of the requirements for the rear windshield defrost (heat wire) function of the vehicle is exemplified.

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

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

또한, 변수 추출부(120)는, 요구사양에 대한 변수를 추출한다. In addition, the variable extraction unit 120 extracts a variable for the required specification.

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

도 2에서는, 기능, 입출력 신호, 변수에 대하여, 요구사양의 설명(Description)에 따라, 입출력 신호(I/O Data)의 추출 결과(Value, I/O, 특성)와, 변수(Variable)의 추출 결과, 및 기능 리스트(Link to)를 예시적으로 나타낸다. 여기에서, 입출력 신호와 변수의 명칭(Name)은 제어 대상 또는 입력 하드웨어에 따라 미리 설정되어 제공되거나, 사용자가 직접 명칭을 입력하는 것도 가능할 수 있다. 또는 상기 명칭은, 입출력 신호와 변수의 리스트를 사용자에게 제시되어 사용자에 의해 선택된 것일 수 있다. In Fig. 2, the function, input/output signal, and variable are the result of extraction (Value, I/O, characteristic) of the input/output signal (I/O Data) and the variable (Variable) according to the description of the required specification. The extraction result and the function list (Link to) are exemplarily shown. Here, names of input/output signals and variables may be preset and provided according to a control target or input hardware, or it may be possible for a user to directly input names. Alternatively, the name may be selected by the user by 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 generation unit 200 may abstract and define the input/output signals extracted from the specification, set related parameters, and generate control logic according to the control model. The control model generating unit 200 may include an input/output signal setting unit 210 , a parameter setting unit 220 , and a control logic generating 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 signal extracted by the input/output signal extraction unit 110 according to signal characteristics. The input/output signal setting unit 210 determines whether the input/output signal is 1) an input or an output signal, 2) whether the signal characteristic is a function-to-function connection (INT), a physical connection (HW), and any communication signal (CAN, LIN, ETHernet) can be classified according to In an embodiment, the input/output signal setting unit 210 may automatically assign input/output, signal characteristics, and signal names to the input/output signals as “standard signal names”. Preferably, in giving the standard signal name, the input/output signal setting unit 210 can infer the operation of the corresponding function from the name alone, and can infer the properties required for the signal or the operation according to the corresponding property. have.

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

입/출력input/output 신호명signal name 표준 신호명standard signal name 속성property InputInput 시동 상태startup state 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 variable or constant-managed items as parameters, such as a 20-minute time limit in the example rear window defrosting function. In one embodiment, it is preferable that the parameter is set to be used only within the corresponding function, and not overlapped with other functions. Also, the parameter setting unit 220 may automatically assign a name to a corresponding parameter or receive a name of the parameter from a user. Like the standard signal names presented in Table 2, it may be preferable that the names of the parameters be presented intuitively so that the role and purpose of the parameters can be inferred. Table 3 below exemplarily shows parameters set by the parameter setting unit 220 .

파라미터명Parameter name value Par_RearDefoggerMaxTimePar_RearDefoggerMaxTime 20 min20 min

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

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

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

제어 로직 생성부(230)에서의 제어 로직 생성은 스테이트 차트, 플로우 그래프 또는 진리표 등의 형태로 작성될 수 있다. 입력 조합에 따른 출력이 항상 일치하는 기능의 경우, 플로우 그래프 또는 진리표를 활용하여 로직이 생성될 수 있다. 반면, 입력의 조합이 같다 하더라도, 현재의 기능 동작 상태에 따라 출력이 달라지거나 시간에 따라 동작이 달라지는 경우 스테이트 차트로 작성될 수 있다. 뒷유리 서리제거 기능의 경우에는 스위치 입력마다 열선 출력 상태가 변화하며, 열선 출력 후 20 분이 경과하면 출력을 정지하기 때문에 상태 천이도 형태로 제어 로직이 생성될 수 있다.The control logic generation by the control logic generator 230 may be written in the form of a state chart, a flow graph, or a truth table. In the case of a function in which the output according to the input combination always matches, logic can be generated by using a flow graph or a truth table. On the other hand, even if the combination of inputs is the same, it can be written as a state chart when the output varies depending on the current function operation state or the operation varies according to time. In the case of the rear window defrost function, the output state of the heating wire changes for each switch input, and the output is stopped when 20 minutes have elapsed after the output of the heating wire, so a 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 generating unit 230 will be described with reference to the rear glass defrosting function presented above.

도 5는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 입출력 동작 리스트를 생성하는 것으로서, 테스트 시나리오를 자동 생성하는 것을 예시하고, 도 6은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 입출력 동작 리스트를 생성하는 것으로서, 테스트 시나리오의 유효성을 확인(Activation 체크)하는 것을 예시하며, 도 7은 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 Activation 조건의 배타적 조건을 적용하여 테스트 시나리오를 자동 생성하는 것을 예시한다. 또한, 도 8a는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 입력 조건에 따라 출력 동작에 따른 제어 로직을 생성한 것을 나타내고, 도 8b는 본 발명의 일 실시예에 따른 차량 소프트웨어 개발 시스템에서 제어 로직 생성부가 파라미터 조건에 따른 입출력 조건 추가에 대한 제어 로직을 생성한 것을 나타낸다. 5 illustrates that the control logic generator generates an input/output operation list in the vehicle software development system according to an embodiment of the present invention and automatically generates a test scenario, and FIG. 6 is a vehicle according to an embodiment of the present invention. In the software development system, the control logic generation unit generates the input/output operation list, exemplifying validation (activation check) of the test scenario, and FIG. 7 is control logic generation in the vehicle software development system according to an embodiment of the present invention. It exemplifies the automatic creation of test scenarios by applying the exclusive condition of the additional activation condition. Also, FIG. 8A shows that the control logic generator 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 is a vehicle according to an embodiment of the present invention. This indicates that the control logic generator in the software development system generated 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 generator 230 may automatically generate all test scenarios including the conditional operator according to the link to connection of the input/output signal. In FIG. 5 , test cases corresponding to Event (input signal), Value (value of input signal), Expected (output signal), and Value (value of output signal) are automatically generated according to test cases TC1 and TC2 and their state. generated is exemplified. An invalid test case may also be included among the test cases in FIG. 5 .

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

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

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

검증부(300)Verification unit 300

검증부(300)는, 개별 기능별로 생성된 제어 로직에 대한 검증과, 개별 기능별 제어 로직을 복수로 통합하여 통합 모델을 생성하고 검증하는 통합 검증을 수행할 수 있다. 이러한 검증부(300)는, 단위 검증부(310)와 통합 검증부(320)를 포함할 수 있다. The verification unit 300 may perform verification of the 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. The 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 verify the control logic for the individual functions generated by the control logic generation unit 230 . In an embodiment, the unit verification unit 310 may verify individual functions based on test cases. According to an embodiment, the test case may be one using the activation/inactivation-based test case generated by the control logic generator 230 , or may be separately provided to the unit verifying 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 the implementation of the required specifications of the written control logic and confirms compliance with the modeling guide. The modeling guide can check both the mandatory items that must be applied and the Recommended items that are recommendations, and can ensure the readability of the code when generating the final software code according to the evaluation result and generate the optimized source code. Dynamic verification performs condition coverage and decision coverage verification to verify logic consistency and integrity from control logic written in state chart, and each condition and decision is verified by creating a test case according to the state chart transition condition according to input/output signals can do.

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

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

또한, 통합 검증부(320)는 통합 모델에 포함된 입출력 신호와 변수를 기반으로 한 테스트 케이스를 자동으로 생성하고, 자동 생성된 제어 로직에 기반하여 유효한 테스트 케이스를 확보하며, 이 테스트 케이스를 바탕으로 통합 모델에 대한 검증을 수행하는 것도 가능할 수 있다. 이러한 통합 모델을 기반으로 한 테스트 케이스의 자동 생성 및 통합 제어 로직의 생성은 도 5 내지 도 8b를 참조하여 설명한 단위 기능 제어 모델에 대한 방식을 적용하여 수행될 수 있다. In addition, the integrated verification unit 320 automatically generates 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 on the integrated model. The automatic generation of the test case and the generation of the integrated control logic based on the 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 the integrated verification unit generates an integrated model in the vehicle software development system according to an embodiment of the present invention. FIG. 9(a) is a diagram illustrating a function model for a unit function of the A controller 20 and a control model for a unit function of the B controller 30 in connection with FIG. 9(b) is a view showing the A controller ( 20) is a diagram showing an integrated model 40 in which the unit functions of the B controller 30 are integrated.

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

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 the output signals 'Output_HW_AA1' and 'Output_CAN_AA2' of the A controller 20 as input signals, and 'Output_HW_other controller 2' output the output signal of

앞서, 설명한 바와 같이, 기능별 제어 모듈을 생성함에 있어서, 입출력 신호 설정부(210)는 입출력 신호를 신호 특성에 따라 추상화하면서, 입력 또는 출력에 따라, 신호 특성이 기능간 연결인지(INT), 물리적 연결인지(HW), 어떤 통신 신호인지(CAN, LIN, ETHernet)에 따라 입출력 신호를 추상화하고, 표준화 명칭을 부여하였다. As described above, in generating the 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 function-to-function connection (INT), physical I/O signals are abstracted depending on whether it is a connection (HW) or a communication signal (CAN, LIN, ETHernet), and standardized names are given.

통합 모델을 생성함에 있어서도, 입출력 신호에 대한 추상화는 입출력 신호 설정부(210)에서 설정한 것을 사용할 수 있는데, 도 9에서와 같이 A 제어기(20)의 출력 신호가 B 제어기(30)의 입력 신호가 되는 경우, 해당 신호는 기능간 연결에 해당한다. 이에 따라, '_HW', '_CAN' 등의 속성 값은 '_INT'로 변경되고 입출력 신호가 새롭게 설정된다. Also in generating the integrated model, abstraction of the input/output signal may use the one set by the input/output signal setting unit 210. As shown in FIG. 9 , the output signal of the A controller 20 is the input signal of the B controller 30 . , the corresponding signal corresponds to a function-to-function connection. Accordingly, attribute values such as '_HW' and '_CAN' are changed to '_INT', and an input/output signal is 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 FIG. 9(b), 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 the output signals of the A controller, are 'Output_INT_AA1' ' and 'Output_INT_AA2', the signal characteristics are changed, and 'Input_HW_AA1' and 'Input_CAN_AA2', which are the 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 generates an integrated model by integrating the control module for the unit function in the method illustrated in FIG. automatically create Also, the integrated verification unit 320 may secure a valid test case list from the automatically generated test cases. The function of the integrated verification unit 320 may be performed in the same manner as the control logic generation unit 230 generates control logic for a unit function and generates a test case.

결과물 생성부(400)Result generation unit 400

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

기능 사양서 생성부(410)는, 요구사양 기반으로 작성된 제어 모델로부터 기능 요구사양서를 추출할 수 있다. 응용 프로그램 생성부(420)는 검증이 완료된 제어 로직으로부터 응용 프로그램을 생성할 수 있다. The function specification generating unit 410 may extract the function requirement specification from the control model created based on the requirement specification. The application program generation unit 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 specification analysis unit 100 extracts an input signal and an output signal from the controller specification in which the design requirement specification is written, and generates a function list for the correlation between the input signal and the output signal (S100).

제어 모델 생성부(200)가 상기 입력 및 출력 신호를 추상화하여 정의하고 제어 모델에 따른 제어 로직을 생성한다(S200). The control model generating unit 200 abstracts and 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 there are a plurality of control logics connected to each other, integrates a plurality of control logics to create and verify an integrated model. carry out (S300).

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

단위 기능에 대한 제어 모델 생성Creating 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. A process in which the control model generation unit 200 generates control logic according to the control model will be described in more detail with reference to FIG. 11 .

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

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

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

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

입력 신호와 출력 신호의 연결 관계(기능 리스트)가 확인되고(S212), 입력 신호와 출력 신호의 연결을 통한 속성값에 기반하여 상기 기능 리스트에 따른 기능 동작 리스트가 생성된다(S214). 이러한 기능 동작 리스트는 도 5에 도시된 바와 같은 입출력 동작 리스트로서, 가능한 모든 테스트 시나리오가 S214 단계에서 생성될 수 있다.A connection relationship (function list) between the input signal and the 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 of 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 may be generated in step S214.

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

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

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

통합 모델 생성Create a unified 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 characteristics of 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 the external input signal of the first control model (Unit1) is the external output of the second control model (Unit2) It is determined whether the signal corresponds to the signal (S306).

S306 단계에서 No로 판단된 경우, 각각의 제어 모델(Unit1, Unit2)에서의 외부 출력 신호 또는 외부 입력 신호를 추가한다(S308, S312).If it is determined as No in step S306, an external output signal or an external input signal in 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 as an internal signal indicating the connection between functions ( S310 ).

입출력 신호의 데이터 흐름을 판단하고(S314), 관련 파라미터를 정의하여(S316), 통합 제어 모델을 생성한다(S318).The data flow of the input/output signal 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 for all input/output data flows is complete (S320), by completing the control model generation, the integrated model generation is completed (S322).

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

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

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains may make various modifications, changes and substitutions within the scope without departing from the essential characteristics of the present invention. will be. Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are for explaining, not limiting, the technical spirit of the present invention, and the scope of the technical spirit of the present invention is not limited by these embodiments and the accompanying drawings . The protection scope of the present invention should be construed by the following claims, and all technical ideas within the scope equivalent thereto 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: requirement specification 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 creation unit

Claims (18)

설계 요구사양이 기재된 제어기 사양서부터 입력 신호 및 출력 신호를 추출하고 상기 입력 신호와 상기 출력 신호의 상관 관계에 대한 기능 리스트를 생성하는 요구사양 분석부; 및
상기 입력 및 출력 신호를 추상화하여 정의하고 제어 모델에 따른 제어 로직을 생성하는 제어 모델 생성부;
를 포함하는 차량 소프트웨어 개발 시스템.
a requirements specification analysis unit for extracting an input signal and an output signal from a controller specification document in which a design requirement specification is written, and generating a function list for a correlation between the input signal and the output signal; and
a control model generation unit that abstracts and defines the input and output signals and generates control logic according to the control model;
A vehicle software development system comprising a.
제 1 항에 있어서,
상기 요구사양 분석부는,
상기 제어기 사양서로부터 상기 입력 신호와 상기 출력 신호를 추출하여 구분하는 입출력 신호 추출부;
상기 제어기 사양서로부터 변수를 추출하는 변수 추출부; 및
상기 기능 리스트를 생성하는 기능 리스트 생성부를 포함하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
The method of claim 1,
The requirement specification analysis unit,
an input/output signal extraction unit for extracting and dividing the input signal and the output signal from the controller specification;
a variable extraction unit for extracting variables from the controller specification; and
and a function list generator configured to generate the function list.
제 2 항에 있어서,
상기 입출력 신호 추출부는, 상기 입력 신호와 상기 출력 신호를 연결 관계에 따라 기능 간 연결을 나타내는 내부 신호, 하드웨어 구성요소와 연결되는 HW 신호 또는 통신 프로토콜에 통신 신호로 구분하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
3. The method of 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 according to a connection relationship, a HW signal connected to a hardware component, or a communication signal to a communication protocol, vehicle software development system.
제 1 항에 있어서,
상기 제어 모델 생성부는,
상기 입력 및 출력 신호의 특성에 따라 신호를 추상화하는 입출력 신호 설정부;
상기 상기 입력 및 출력 신호의 속성값 또는 상기 사양서에 포함된 변수의 파라미터를 설정하는 파라미터 설정부; 및
상기 입력 및 출력 신호와 상기 속성값 또는 상기 파라미터에 따른 제어 로직을 생성하는 제어 로직 생성부를 포함하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
The method of claim 1,
The control model generation unit,
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
and a control logic generator configured to generate control logic according to the input and output signals and the attribute value or the parameter.
제 4 항에 있어서,
상기 입출력 신호 설정부는, 상기 입력 및 출력 신호에 대해, 입력 또는 출력 구분, 상기 입력 신호와 상기 출력 신호의 연결 관계, 및 상기 입력 및 출력 신호의 명칭을 이용하여 표준 신호명을 생성하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
5. The method of claim 4,
The input/output signal setting unit generates a standard signal name by using input or output classification, a connection relationship between the input signal and the output signal, and names of the input and output signals for the input and output signals , vehicle software development systems.
제 4 항에 있어서,
상기 파라미터 설정부는, 상기 속성값 또는 상기 파라미터에 대하여 상기 제어 로직과는 별도의 파일을 생성하여 관리되도록 하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템
5. The method of claim 4,
wherein the parameter setting unit generates and manages a file separate from the control logic with respect to the attribute value or the parameter, the vehicle software development system
제 4 항에 있어서,
상기 제어 로직 생성부는, 상기 기능 리스트의 연결과 조건 연산자가 포함된 테스트 시나리오를 생성하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
5. The method of claim 4,
The control logic generator is configured to generate a test scenario including a connection of the function list and a condition operator.
제 7 항에 있어서,
상기 제어 로직 생성부는, 상기 테스트 시나리오 중에서 유효한 테스트 케이스를 선별하고, 상기 유효한 테스트 케이스의 조건에 대한 배타적인 조건에 따른 테스트 케이스를 생성하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
8. The method of claim 7,
wherein the control logic generator selects a valid test case from among the test scenarios and generates a test case according to an exclusive condition with respect to the condition of the valid test case.
제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
상기 제어 로직을 검증하는 검증부를 더 포함하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
9. The method according to any one of claims 1 to 8,
The vehicle software development system, characterized in that it further comprises a verification unit for verifying the control logic.
제 9 항에 있어서,
상기 검증부는, 개별 기능별로 생성된 상기 제어 로직에 대한 검증을 수행하는 단위 검증부와, 상기 제어 로직을 적어도 2개 통합하여 통합 모델을 생성하고 검증하는 통합 검증을 수행하는 통합 검증부를 포함하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
10. The method of claim 9,
The verification unit includes a unit verification unit that verifies the control logic generated for each individual function, and an integrated verification unit that performs integrated verification that generates and verifies an integrated model by integrating at least two control logics Characterized in the vehicle software development system.
제 10 항에 있어서,
상기 통합 검증부는, 적어도 2개의 상기 제어 로직 중 어느 하나의 제어 로직에서의 출력 신호가 다른 하나의 제어 로직의 입력 신호가 될 때, 상기 어느 하나의 제어 로직에서의 출력 신호와 상기 다른 하나의 제어 로직의 입력 신호의 신호 특성을 기능 간 연결을 나타내는 내부 신호로 설정하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
11. The method of claim 10,
The integrated verification unit is configured to, when an output signal from any one of the at least two control logics becomes an input signal of the other control logic, the output signal from the one control logic and the other control logic A vehicle software development system, characterized in that a signal characteristic of an input signal of logic is set to an internal signal representing a connection between functions.
제 10 항에 있어서,
상기 통합 검증부는, 상기 통합 모델의 입력 신호와 출력 신호를 기반으로 한 테스트 케이스를 생성하는 것을 특징으로 하는, 차량 소프트웨어 개발 시스템.
11. The method of claim 10,
The integrated verification unit generates a test case based on an input signal and an output signal of the integrated model, the vehicle software development system.
(a) 요구사양 분석부가 설계 요구사양이 기재된 제어기 사양서부터 입력 신호 및 출력 신호를 추출하고 상기 입력 신호와 상기 출력 신호의 상관 관계에 대한 기능 리스트를 생성하는 단계; 및
(b) 제어 모델 생성부가 상기 입력 및 출력 신호를 추상화하여 정의하고 제어 모델에 따른 제어 로직을 생성하는 단계;
를 포함하는 차량 소프트웨어 개발 방법.
(a) extracting an input signal and an output signal from the controller specification in which the design requirement is written by the requirement specification analysis unit and generating a function list for the correlation between the input signal and the output signal; and
(b) a control model generating unit abstracting and defining the input and output signals and generating control logic according to the control model;
A vehicle software development method comprising a.
제 13 항에 있어서,
상기 (a) 단계에서, 상기 입력 신호와 상기 출력 신호는 연결 관계에 따라 기능 간 연결을 나타내는 내부 신호, 하드웨어 구성요소와 연결되는 HW 신호 또는 통신 프로토콜에 통신 신호로 구분되는 것을 특징으로 하는, 차량 소프트웨어 개발 방법.
14. The method of claim 13,
In the step (a), the input signal and the output signal are divided into an internal signal indicating a connection between functions according to a connection relationship, a HW signal connected to a hardware component, or a communication signal in a communication protocol, characterized in that the vehicle How to develop software.
제 13 항에 있어서,
상기 (b) 단계에서, 상기 제어 모델 생성부는, 상기 입력 및 출력 신호에 대해, 입력 또는 출력 구분, 상기 입력 신호와 상기 출력 신호의 연결 관계, 및 상기 입력 및 출력 신호의 명칭을 이용하여 표준 신호명을 생성하는 것을 특징으로 하는, 차량 소프트웨어 개발 방법.
14. The method of claim 13,
In step (b), the control model generating unit, for the input and output signals, input or output classification, a connection relationship between the input signal and the output signal, and a standard signal name using the names of the input and output signals A vehicle software development method, characterized in that for generating a.
제 15 항에 있어서,
상기 (b) 단계에서, 상기 기능 리스트의 연결과 조건 연산자가 포함된 테스트 시나리오가 생성되고, 상기 테스트 시나리오의 테스트 케이스의 유효성이 판단되는 것을 특징으로 하는, 차량 소프트웨어 개발 방법.
16. The method of claim 15,
In the step (b), a test scenario including the connection of the function list and a condition operator is generated, and the validity of the test case of the test scenario is determined.
제 13 항 내지 제 16 항 중 어느 한 항에 있어서,
(c) 검증부가 상기 제어 로직을 검증하는 검증 단계를 더 포함하고, 상기 검증 단계에서, 개별 기능별로 생성된 상기 제어 로직에 대한 검증이 수행되고, 상기 제어 로직을 적어도 2개 통합하여 통합 모델을 생성하고 검증하는 통합 검증이 수행되는 것을 특징으로 하는, 차량 소프트웨어 개발 방법.
17. The method according to any one of claims 13 to 16,
(c) further comprising a verification step in which a verification unit verifies the control logic, in the verification step, verification of the control logic generated for each function is performed, and at least two control logics are integrated to form an integrated model A vehicle software development method, characterized in that integrated verification of generating and verifying is performed.
제 17 항에 있어서,
상기 (c) 단계에서, 적어도 2개의 상기 제어 로직 중 어느 하나의 제어 로직에서의 출력 신호가 다른 하나의 제어 로직의 입력 신호가 될 때, 상기 어느 하나의 제어 로직에서의 출력 신호와 상기 다른 하나의 제어 로직의 입력 신호의 신호 특성을 기능 간 연결을 나타내는 내부 신호로 설정되는 것을 특징으로 하는, 차량 소프트웨어 개발 방법.
18. The method of claim 17,
In step (c), when an output signal from any one of the at least two control logics becomes an input signal of the other control logic, the output signal from the one control logic and the other one A vehicle software development method, characterized in that a signal characteristic of an input signal of a control logic of a control logic is set as an internal signal representing a connection between functions.
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 true KR20220086838A (en) 2022-06-24
KR102505850B1 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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080066402A (en) * 2007-01-12 2008-07-16 재단법인서울대학교산학협력재단 The method of designing parallel embedded software with common intermediate code
KR20130095557A (en) * 2012-02-20 2013-08-28 한국과학기술원 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
KR20140061044A (en) * 2012-11-13 2014-05-21 재단법인대구경북과학기술원 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
KR102041422B1 (en) * 2018-09-06 2019-11-27 조용행 Application Design Method and Apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080066402A (en) * 2007-01-12 2008-07-16 재단법인서울대학교산학협력재단 The method of designing parallel embedded software with common intermediate code
KR20130095557A (en) * 2012-02-20 2013-08-28 한국과학기술원 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
KR20140061044A (en) * 2012-11-13 2014-05-21 재단법인대구경북과학기술원 Method of designing application software of automotive roomlamp control system
KR102041422B1 (en) * 2018-09-06 2019-11-27 조용행 Application Design Method and Apparatus
KR20190123250A (en) * 2019-10-22 2019-10-31 주식회사 경신 Apparatus and method for automating software design of a vehicle controller

Also Published As

Publication number Publication date
KR102505850B1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
US8595171B2 (en) System and method for rule set validation
US9880927B2 (en) Functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device
CN110554937B (en) Software diagnostic system for vehicle and method of operating the same
US10860467B2 (en) Method of configuring a test device designed to test an electronic control unit, and a configuration system
CN110347130B (en) Subsystem linkage control scheme processing method, device, system, equipment and medium
US10095194B2 (en) Method for configuring a test device set up for testing an electronic control unit
CN109933521A (en) Automated testing method, device, computer equipment and storage medium based on BDD
CN111475174A (en) Device and method for online writing and configuration of vehicle-mounted gateway
US10452389B2 (en) Computer-implemented method for editing data object variants
CN105161130A (en) Method for on-line burning and verifying method of EEPROM of automobile instrument
CN110765028B (en) Visual construction method and device of verification environment and storage medium
CN105671852A (en) Control method compatible with various-model washing machine, and washing machine
US6941261B1 (en) Cause and effect logic application implementation
KR102505850B1 (en) System and method for developing automotive software
EP2469416A1 (en) Test bed for an AUTOSAR software component and method for checking an AUTOSAR software component
CN113359657B (en) ECU diagnosis configuration code verification method and system and electronic control unit thereof
CN103049602B (en) Based on model-driven engineering, AADL assembly is transformed into Interface Automata model method
KR20190123250A (en) Apparatus and method for automating software design of a vehicle controller
US10488835B2 (en) Method for configuring a tester equipped for testing an electronic control unit
US20090182442A1 (en) Framework for results interpretation and guided refinement of specifications for plc logic verification
CN114840200A (en) Vehicle configuration method, device, electronic equipment and storage medium
CN113283008A (en) Civil aircraft system behavior state safety verification method based on model conversion
KR101040194B1 (en) Apparatus and method for developing hardware topology of automotive ECS applying the verification centric process approach
US11200069B1 (en) Systems and methods for generating a software application
Mouzakitis et al. Advanced automated onboard vehicle diagnostics testing

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)