KR20170063219A - Apparatus for generating source code of Battery Management System software and method thereof - Google Patents

Apparatus for generating source code of Battery Management System software and method thereof Download PDF

Info

Publication number
KR20170063219A
KR20170063219A KR1020150169335A KR20150169335A KR20170063219A KR 20170063219 A KR20170063219 A KR 20170063219A KR 1020150169335 A KR1020150169335 A KR 1020150169335A KR 20150169335 A KR20150169335 A KR 20150169335A KR 20170063219 A KR20170063219 A KR 20170063219A
Authority
KR
South Korea
Prior art keywords
configuration
source code
editing
information
configuration information
Prior art date
Application number
KR1020150169335A
Other languages
Korean (ko)
Other versions
KR102094447B1 (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 KR1020150169335A priority Critical patent/KR102094447B1/en
Publication of KR20170063219A publication Critical patent/KR20170063219A/en
Application granted granted Critical
Publication of KR102094447B1 publication Critical patent/KR102094447B1/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
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries

Abstract

본 발명은 BMS SW의 컨피그레이션 정보를 기반으로 소스 코드를 생성하는 소스 코드 생성 장치 및 소스 코드 생성 방법을 개시한다. 본 발명에 따르는 소스 코드 생성 장치는, 본 발명에 따르면, 기존 SW의 프로젝트에 설정된 컨피그레이션(configration) 정보를 로딩하는 컨피그레이션 로딩부; 로딩된 컨피그레이션을 구성하는 개별 항목의 편집 명령을 입력받고, 편집 처리하는 컨피그레이션 편집부; 및 편집이 완료된 컨피그레이션 정보에 대해 소스 코드의 생성 명령을 입력받고, 생성 처리하는 소스 코드 생성부를 포함하는 개발 툴을 실행한다. 본 발명에 따르면, 개발자로부터 기존 SW에 정의된 컨피그레이션 정보에 대해 편집 명령을 받아 새로운 SW의 소스 코드를 생성하고, 생성된 SW의 변경 정보를 관리하여 개발자의 노력과 시간을 줄인다.The present invention discloses a source code generation apparatus and a source code generation method for generating source code based on configuration information of a BMS SW. According to the present invention, a source code generation apparatus according to the present invention comprises: a configuration loading unit for loading configuration information set in a project of an existing SW; A configuration editing unit for receiving an editing command of an individual item constituting the loaded configuration and editing the input command; And a source code generation unit that receives a generation command of the source code for the editing information and generates and processes the configuration information. According to the present invention, an editing command for configuration information defined in an existing SW is generated by a developer, and a source code of a new SW is generated, and the change information of the created SW is managed to reduce the effort and time of the developer.

Description

BMS SW의 소스 코드를 생성하는 소스 코드 생성 장치 및 소스 코드 생성 방법{Apparatus for generating source code of Battery Management System software and method thereof}[0001] The present invention relates to a source code generation apparatus and a source code generation method for generating a source code of a BMS SW,

본 발명은 BMS SW의 소스 코드 생성 기술에 관한 것으로서, 보다 상세하게는 기존 BMS SW의 설정 정보를 재사용하여 SW의 소스 코드를 생성하는 소스 코드 생성 장치 및 소스 코드 생성 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a source code generation technique of a BMS SW, and more particularly, to a source code generation apparatus and a source code generation method for generating source code of an SW by reusing setting information of an existing BMS SW.

BMS SW는 개발 툴에 의해 생성될 수 있다. BMS SW는 배터리의 충방전을 제어하는 소프트웨어이다. 개발자는 개발 툴로부터 GUI를 제공받고, BMS SW의 프로젝트를 생성하고, 생성된 프로젝트에 대해 SW의 처리(processing) 및 기능(function) 사항의 항목을 컨피그레이션(configuration) 정보로 설정한다. 개발자가 소스 코드의 생성을 명령하면, 개발 툴은 설정된 컨피그레이션 정보를 기반으로 SW의 소스 코드를 자동으로 생성한다. 개발 툴로 인해 개발자는 직접 코딩하는 수고를 덜 수 있다. 자동 생성된 소스 코드는 컴파일 등을 통해 SW로 생성되고, 생성된 SW는 BMS에 의해 실행된다. 예를 들면, 전기 자동차의 경우, 배터리를 제어하는 HW로서 BMS 보드가 장착된다. BMS 보드는 BMS SW의 이미지 프로그램을 실행하고, 실행된 프로그램은 배터리의 충방전을 제어한다.The BMS SW can be generated by a development tool. BMS SW is software that controls charge / discharge of battery. The developer receives the GUI from the development tool, creates the project of the BMS SW, and sets items of the processing and functions of the SW as the configuration information for the created project. When the developer orders the generation of the source code, the development tool automatically generates the source code of the SW based on the set configuration information. Development tools can save you the trouble of coding yourself. The automatically generated source code is generated by SW through compilation and the generated SW is executed by BMS. For example, in the case of an electric vehicle, the BMS board is mounted as a HW for controlling the battery. The BMS board executes the image program of the BMS SW, and the executed program controls the charge / discharge of the battery.

여기서, 자동차 제조사(OEM)은 자사 차량의 기능에 최적화된 배터리의 사양(예 : 용량, 전류, 전압, 온도 등)을 요구하기 때문에, 요구되는 배터리 사양을 만족하는 BMS SW의 개발 및 업그레이드가 필요하다. Here, OEMs need to develop and upgrade BMS SWs that meet the required battery specifications because they require battery specifications (eg, capacity, current, voltage, temperature, etc.) optimized for the function of their vehicles. Do.

하지만, 개발 툴은 기존 SW의 컨피그레이션 설정 정보를 재사용하는 것을 지원하지 않는다. 툴 컨피그레이션에는 다양한 항목이 존재하는데, 이중 OS(Operating System) 항목과 관련된 일부 정보가 재사용이 지원된다. 따라서, 개발자는 개발 툴의 개별 프로젝트마다 배터리의 요구 사항에 맞게 툴 컨피그레이션을 다시 설정해주어야 한다. 같은 제조사의 유사 프로젝트 개발을 시작할 경우 및 단순히 기존 SW 소스 파일 내에 하나의 Function을 신규 추가하기 위해서도 기존 SW의 컨피그레이션 설정 정보를 재사용하지 못하여 모든 설정을 다시 해주어야 하는 번거로움이 있었다. 이러한 개발자의 수고와 시간이 소비되는 문제를 해결하기 위해서는 개선 기술이 필요하다.However, development tools do not support reusing the configuration settings information of existing SWs. There are various items in the tool configuration, and some information related to the dual OS (Operating System) items is supported for reuse. Therefore, the developer must reconfigure the tool configuration to meet the requirements of the battery for each individual project in the development tool. The configuration setting information of the existing SW can not be reused to start a similar project development of the same manufacturer or merely add a function in the existing SW source file. Improvement techniques are needed to solve these developers' time and effort.

한국공개특허 10-0103916(2013.09.25.)Korean Patent Laid-Open No. 10-0103916 (Feb.

본 발명은 상기와 같은 종래 기술의 인식 하에 창출된 것으로서, 본 발명은 BMS SW의 컨피그레이션의 개별 항목 정보를 파일로 저장하고, 저장된 파일의 컨피그레이션 정보의 재사용 및 개발자의 편집을 지원하는 소스 코드 생성 장치 및 소스 코드 생성 방법을 제공하는데 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made in view of the above-described prior art, and it is an object of the present invention to provide a source code generation apparatus for storing individual item information of a configuration of a BMS SW as a file, reusing configuration information of a stored file, And a method of generating a source code.

본 발명의 다른 목적은 기존 SW의 컨피그레이션 정보를 편집하여 생성되는 새로운 소스 코드에 대해 형상 관리(configuration management)를 제공하고, 개발 이력을 버전별로 관리하는데 있다.Another object of the present invention is to provide configuration management for new source code generated by editing configuration information of an existing SW and to manage development history by version.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 소스 코드 생성 장치는, 개발자에게 GUI 화면을 제공하여 BMS(Battery Management System) SW(Software)의 소스 코드를 자동 생성하는 소스 코드 생성 장치에 있어서, 기존 SW의 프로젝트에 설정된 컨피그레이션(configration) 정보를 로딩하는 컨피그레이션 로딩부; 로딩된 컨피그레이션을 구성하는 개별 항목의 편집 명령을 입력받고, 편집 처리하는 컨피그레이션 편집부; 및 편집이 완료된 컨피그레이션 정보에 대해 소스 코드의 생성 명령을 입력받고, 생성 처리하는 소스 코드 생성부를 포함한다.According to an aspect of the present invention, there is provided a source code generation apparatus for generating a source code of a BMS (Software Management System) SW by providing a GUI screen to a developer, A configuration loading unit loading configuration information set in a project of the server; A configuration editing unit for receiving an editing command of an individual item constituting the loaded configuration and editing the input command; And a source code generation unit for receiving a generation command of the source code and generating and processing the configuration information for which editing has been completed.

본 발명에 있어서, 상기 컨피그레이션 로딩부는, 프로젝트의 생성 명령이 입력될 경우, 초기화된 컨피그레이션 정보를 로딩한다.In the present invention, the configuration loading unit loads the initialized configuration information when the generation command of the project is inputted.

여기서, 상기 컨피그레이션 로딩부는, 상기 프로젝트의 파일을 읽어들이고, 읽어들인 컨피그레이션 정보를 대응되는 상기 개별 항목의 값으로 화면에 출력한다.Here, the configuration loading unit reads a file of the project and outputs the read configuration information to the screen as the value of the corresponding individual item.

또한, 상기 컨피그레이션 편집부는, 개별 항목의 생성, 수정 및 삭제를 포함하는 상기 편집 명령을 입력받는다.In addition, the configuration editing unit receives the editing command including creation, modification, and deletion of individual items.

본 발명의 일 측면에 따르면, 상기 컨피그레이션 편집부는, 사용자 입력에 의해 편집된 항목의 모듈과 관련되는 타 모듈의 항목을 자동으로 편집 처리하고, 편집 처리된 항목과 관련되어 타 모듈의 변경이 없을 때까지 상기 편집 처리를 반복한다.According to an aspect of the present invention, the configuration editing unit automatically edits and processes an item of another module related to a module of an item edited by user input, and when there is no change in another module in association with the edited item The above-described editing process is repeated.

바람직하게, 상기 소스 코드 생성 장치는, 상기 컨피그레이션 정보의 저장 명령을 입력받고, 파일로 저장하는 컨피그레이션 저장부를 더 포함한다.Preferably, the source code generation apparatus further includes a configuration storage unit for receiving the configuration information storage command and storing the received configuration information in a file.

본 발명의 다른 측면에 따르면, 상기 소스 코드 생성 장치는, 기존 컨피그레이션 정보로부터 현재 컨피그레이션 정보의 소스 코드가 생성될 때마다, 기존 컨피그레이션과 현재 컨피그레이션의 정보를 비교하여 변경점을 파일로 저장하고, 프로젝트별로 저장된 변경점을 이용하여 개별 프로젝트의 형상 관리 및 버전별 이력 관리를 수행하는 컨피그레이션 변경 관리부를 더 포함한다.According to another aspect of the present invention, each time the source code of the current configuration information is generated from the existing configuration information, the source code generation apparatus compares the existing configuration with the information of the current configuration to store the changed point as a file, And a configuration change manager for performing configuration management of individual projects and history management for each version using the stored change points.

더욱이, 상기 소스 코드는, 컴파일을 거쳐서 실행 가능한 BMS SW가 된다.Further, the source code becomes a BMS SW executable through compilation.

상기 기술적 과제를 해결하기 위한 본 발명에 따른 소스 코드 생성 방법은, 소스 코드 생성 장치가 개발자에게 GUI 화면을 제공하여 BMS(Battery Management System) SW(Software)의 소스 코드를 자동 생성하는 소스 코드 생성 방법에 있어서, (a)기존 SW의 프로젝트에 설정된 컨피그레이션(configration) 정보를 로딩하는 컨피그레이션 로딩 단계; (b)로딩된 컨피그레이션을 구성하는 개별 항목의 편집 명령을 입력받고, 편집 처리하는 컨피그레이션 편집 단계; 및 (c)편집이 완료된 컨피그레이션 정보에 대해 소스 코드의 생성 명령을 입력받고, 생성 처리하는 소스 코드 생성 단계를 포함하는 개발 툴을 실행한다.According to an aspect of the present invention, there is provided a source code generation method for generating a source code of a BMS (Battery Management System) software by providing a GUI screen to a developer, (A) a configuration loading step of loading configuration information set in a project of an existing SW; (b) a configuration editing step of receiving an editing command of an individual item constituting the loaded configuration and editing the input; And (c) a source code generating step of receiving a generation command of the source code for the editing information and generating and processing the generated configuration information.

본 발명의 일 측면에 따르면, 소스 코드 생성 장치가 BMS SW의 생성에 요구되는 컨피그레이션의 다양한 설정 항목에 대해 기존 SW의 설정 정보를 재사용하는 편집 기능을 개발자에게 제공함으로써 개발자의 수고와 시간을 덜어준다.According to an aspect of the present invention, the source code generation apparatus provides the developer with an editing function for reusing the setting information of the existing SW with respect to various setting items of the configuration required for creating the BMS SW, thereby reducing the labor and time of the developer .

또한, 소스 코드 생성 장치가 편집을 통해 생성된 소스 코드의 형상 관리를 수행하여 변경점을 바탕으로 SW의 버전별 형상 관리 및 이력 관리를 제공하여 기존 SW의 재사용율을 높이고 편집 범위를 줄이고 신규 SW의 안정성에 기여한다.In addition, the source code generation apparatus performs configuration management of the source code generated through editing and provides configuration management and history management for each version of the SW based on the change point, thereby increasing the reuse rate of the existing SW, reducing the editing range, Contributing to stability.

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술한 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되지 않아야 한다.
도 1은 본 발명의 일 실시예에 따른 소스 코드 생성 장치의 개략적 구성도이다.
도 2는 도 1의 소스 코드 장치의 기능도이다.
도 3은 도 1의 소스 코드 장치의 변경 이력을 관리하는 예시도이다.
도 4는 도 1의 소스 코드 장치가 제공하는 UI 화면의 예시도이다.
도 5는 도 1의 소스 코드 장치가 제공하는 변경 이력 UI의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 소스 코드 생성 방법의 개략적 순서도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate preferred embodiments of the invention and, together with the description of the invention below, And should not be construed as interpretation.
1 is a schematic configuration diagram of a source code generation apparatus according to an embodiment of the present invention.
Figure 2 is a functional diagram of the source code device of Figure 1;
FIG. 3 is an exemplary diagram for managing a change history of the source code device of FIG. 1;
4 is an exemplary view of a UI screen provided by the source code device of FIG.
5 is an exemplary diagram of a change history UI provided by the source code device of FIG.
6 is a schematic flowchart of a source code generation method according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Prior to this, terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary terms, and the inventor should appropriately interpret the concepts of the terms appropriately It should be interpreted in accordance with the meaning and concept consistent with the technical idea of the present invention based on the principle that it can be defined.

따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상에 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Therefore, the embodiments described in the present specification and the configurations shown in the drawings are only the most preferred embodiments of the present invention and do not represent all the technical ideas of the present invention. Therefore, It is to be understood that equivalents and modifications are possible.

도 1은 본 발명의 일 실시예에 따른 소스 코드 생성 장치(1)의 개략적 구성도이다.1 is a schematic configuration diagram of a source code generation apparatus 1 according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 소스 코드 생성 장치(1)는 컴퓨터 단말에 해당된다. 소스 코드 생성 장치는 개발 툴을 실행하고, 실행된 개발 툴은 개발자의 컨피그레이션 설계에 따라 소스 코드를 생성한다.The source code generation apparatus 1 according to an embodiment of the present invention corresponds to a computer terminal. The source code generation apparatus executes the development tool, and the executed development tool generates the source code according to the configuration design of the developer.

참고로, 소스 코드 생성 장치(1)는 도 1에서와 같이 컴퓨터 단말 단독으로 구현될 수 있으나 이에 한정하는 것은 아니다. 즉, 소스 코드 생성 장치(2)는 서버로 구축되고, 서버가 네트워크를 통해 접속하는 사용자 단말로 소스 코드의 생성 서비스를 제공하여도 무방하다.For reference, the source code generation apparatus 1 may be implemented by a computer terminal alone as shown in FIG. 1, but the present invention is not limited thereto. That is, the source code generation device 2 may be provided as a server, and the server may provide a source code generation service to a user terminal connected through a network.

본 발명의 일 실시예에 따른 개발 툴은 기존 컨피그레이션 정보를 로딩하는 컨피그레이션 로딩부(11), 개발자의 편집 명령에 따라 항목을 설정받는 컨피그레이션 편집부(12), 편집된 컨피그레이션 정보를 저장하는 컨피그레이션 저장부(13), 개발자의 생성 명령에 따라 소스 코드를 생성하는 소스 코드 생성부(14) 및 생성된 소스 코드의 컨피그레이션 정보에 대한 변경 이력을 관리하는 컨피그레이션 변경 관리부(15)를 포함하여 구성된다.The development tool according to an embodiment of the present invention includes a configuration loading unit 11 for loading existing configuration information, a configuration editing unit 12 for setting items according to a developer's editing command, a configuration storing unit 12 for storing edited configuration information, A source code generation unit 14 for generating a source code in accordance with a developer creation command, and a configuration change management unit 15 for managing a change history of the configuration information of the generated source code.

상기 컨피그레이션 로딩부(11)는 기존 SW의 프로젝트에 설정된 컨피그레이션 정보를 로딩한다. 개발 툴은 개발자로부터 프로젝트 불러오기 명령을 입력받고, 기존 SW의 프로젝트 파일로부터 컨피그레이션 정보를 읽어들인다.The configuration loading unit 11 loads the configuration information set in the existing SW project. The development tool inputs the command to load the project from the developer, and reads the configuration information from the project file of the existing SW.

여기서, 컨피그레이션 로딩부(11)는, 프로젝트의 파일로부터 읽어들인 컨피그레이션 정보를 대응되는 상기 개별 항목의 값으로 GUI의 화면에 출력한다.Here, the configuration loading unit 11 outputs the configuration information read from the file of the project to the screen of the GUI with the value of the corresponding individual item.

참고로, GUI 화면을 통해 표시되는 컨피그레이션의 설정 항목은 디바이스 제어, 통신, 운영체제 및 BMS 로직 등의 다양한 항목이 있다. 디바이스 항목은 BMS SW가 제어하는 주변 장치의 항목을 말한다. BMS 로직의 항목은 배터리의 충방전을 제어하는 정보가 설정되는 항목을 말한다. 또한, BMS 로직의 항목에 설정되는 개별 기능은 동작 주기가 설정되어야 한다. 동작 주기는 자동차의 급출발 및 급제동과 같은 조건에서도 배터리가 정상적으로 반응하여 동작되기 위함이다. 개발자는 컨피그레이션의 개별 항목을 선택하고, 항목 값을 설정함으로써 BMS SW를 설계한다.For reference, the setting items of the configuration displayed through the GUI screen include various items such as device control, communication, operating system, and BMS logic. A device item is an item of a peripheral device controlled by the BMS SW. The item of BMS logic refers to an item in which information for controlling charge / discharge of the battery is set. In addition, the individual function set in the item of the BMS logic must set the operation cycle. The operation cycle is for the battery to react normally even under conditions such as sudden start and sudden braking of the vehicle. The developer designs the BMS SW by selecting individual items of the configuration and setting the item values.

한편, 컨피그레이션 로딩부(11)가 개발자로부터 GUI 화면을 통해 프로젝트의 생성 명령을 입력받을 경우, 초기화된 컨피그레이션 정보를 로딩한다. 초기화된 컨피그레이션은 개발자가 설계하는 컨피그레이션의 모든 항목에 대해 설정 입력이 요구된다. 물론, 초기화된 컨피그레이션의 입력 설정은 기존 컨피그레이션의 편집 설정에 비해 개발자의 수고와 시간이 소요된다.On the other hand, when the configuration loading unit 11 receives a command for generating a project from a GUI screen through a developer, the initialized configuration information is loaded. The initialized configuration requires setting input for all items of the configuration that the developer designs. Of course, the input configuration of the initialized configuration takes time and effort of the developer compared to the edit setting of the existing configuration.

상기 컨피그레이션 편집부(12)는 GUI 화면을 통해 개발자로부터 로딩된 컨피그레이션을 구성하는 개별 항목의 편집 명령을 입력받고, 편집 처리한다. 개발자는 배터리 및 BMS의 사양에 따라 변경되는 항목에 대해서만 편집 명령을 내린다.The configuration editing unit 12 receives an editing command for individual items constituting the configuration loaded from the developer through the GUI screen, and performs editing processing. Developers only issue edit commands for items that change according to battery and BMS specifications.

여기서, 컨피그레이션 편집부(12)는 개별 항목의 생성, 수정 및 삭제를 포함하는 편집 명령을 개발자로부터 입력받고, 대응하는 편집 처리를 수행한다.Here, the configuration editing unit 12 receives an editing command including creation, modification, and deletion of individual items from the developer, and performs corresponding editing processing.

특히, 상기 컨피그레이션 편집부(12)는, 사용자 입력에 의해 편집된 항목의 모듈과 관련되는 타 모듈의 항목을 자동으로 편집 처리한다. 예를 들어, 사용자가 A 컴포넌트의 a1 항목에 대해 항목 값을 변경하여 편집한 경우, 컨피그레이션 편집부(12)는 A 컴포넌트, a1 항목 및 항목 값에 의존하는 타 컴포넌트, 타 항목 및 타 항목 값을 자동으로 편집한다. 컨피그레이션 편집부(12)는 편집된 정보와 관련된 정보가 없을 때까지 상기 편집 처리를 반복한다. 즉, 사용자의 편집 입력에 의해 제 1편집이 유발될 수 있고, 제 1편집에 의해 다른 편집이 유발될 수 있는데, 이는 컴포넌트, 항목 및 항목 값의 의존 관계에 따른다. 개발 툴은 상기 의존 관계가 정의된 정보를 보유하고, 컨피그레이션 편집부(12)는 의존 관계의 정보를 참조하여 사용자의 편집 입력 또는 자동으로 편집된 항목에 대해 관련되는 전체 항목을 편집한다. 따라서, 소스 코드 생성 장치(1) 개발자의 수고와 시간을 덜어주고, 자동 편집을 통해 오류없는 BMS SW의 소스 코드를 생성한다. In particular, the configuration editing unit 12 automatically edits and processes items of other modules related to the module of the item edited by the user input. For example, when the user changes the item value for the item a1 of the A component and edits it, the configuration editing unit 12 automatically sets the value of the A component, the a1 item, and other components that depend on the item value, . The configuration editing unit 12 repeats the editing process until there is no information related to the edited information. That is, a first edit can be triggered by a user's edit input, and another edit can be triggered by a first edit, depending on the dependency of the component, item, and item value. The development tool holds the information on which the dependency relation is defined, and the configuration editor 12 refers to the dependency information and edits the entire item related to the user's edit input or automatically edited item. Therefore, it saves labor and time of the developer of the source code generating apparatus 1, and generates the source code of the error-free BMS SW through automatic editing.

상기 컨피그레이션 저장부(13)는 컨피그레이션 정보의 저장 명령을 입력받고, 프로젝트 파일로 저장한다. 소스 코드가 생성되는 경우, 컨피그레이션 정보의 저장 이벤트가 자동으로 발생된다. 본 발명은 사용자가 설정한 컨피그레이션 정보를 프로젝트 파일로 저장한다. 때문에, 사용자가 프로젝트 파일을 불러오면, 기 설정된 컨피그레이션 정보의 개별 항목을 기반으로 편집이 가능하다. 참고로, 종래 개발 툴의 경우, 컨피그레이션 정보의 재사용이 거의 불가능하였다. 하지만, 본 발명은 컨피그레이션의 각각의 설정 항목의 정보를 프로젝트 파일로 저장하므로, 저장된 컨피그레이션 정보의 재사용이 가능하다.The configuration storage unit 13 receives a configuration information storage command and stores the configuration information in a project file. When the source code is generated, a storage event of the configuration information is automatically generated. The present invention stores the configuration information set by the user as a project file. Therefore, when the user loads the project file, it is possible to edit based on the individual items of the preset configuration information. For reference, in the case of the conventional development tool, reuse of the configuration information is almost impossible. However, the present invention stores the information of each setting item of the configuration as a project file, so that the stored configuration information can be reused.

상기 소스 코드 생성부(14)는 개발자의 생성 명령을 입력받고, 설정된 컨피그레이션 정보에 대해 소스 코드를 생성하는 처리를 수행한다. 생성된 소스 코드는 개발자의 코드 변경이 필요없고, 컴파일을 거쳐서 실행 가능한 BMS SW가 제작된다.The source code generation unit 14 receives the generation command of the developer and performs processing to generate the source code for the set configuration information. The generated source code does not require the developer to change the code, and the BMS SW that can be executed through compilation is produced.

상기 컨피그레이션 변경 관리부(15)는 기존 컨피그레이션 정보로부터 설정 정보가 편집되어 현재 컨피그레이션 정보의 소스 코드가 생성될 때마다, 변경된 정보를 관리한다.The configuration change management unit 15 manages the changed information every time the configuration information is edited from the existing configuration information and the source code of the current configuration information is generated.

구체적으로, 컨피그레이션 변경 관리부(15)는 기존 컨피그레이션과 현재 컨피그레이션의 정보를 비교하여 변경점을 파일로 저장한다. 컨피그레이션 변경 관리부(15)는 프로젝트별로 저장된 변경점을 이용하여 개별 프로젝트의 형상 관리 및 버전별 이력 관리를 포함한 변경 관리를 수행한다. 형상 관리는 컨피그레이션 정보의 변경 내용 및 이력의 추적을 수반한다. 이를 통해 SW의 버전별 변경 관리가 가능해진다.Specifically, the configuration change management unit 15 compares the existing configuration with the information of the current configuration, and stores the changed point in a file. The configuration change management unit 15 performs change management including the configuration management of individual projects and the history management for each version using the change points stored for each project. Configuration management involves tracking changes and history of configuration information. This makes it possible to manage the SW version by change.

변경 관리를 통해, 컨피그레이션 정보의 재사용은 더욱 정교해진다. 먼저, 컨피그레이션 변경 관리는 개발자의 요청에 따라 변경 관리의 이력을 제공한다. 개발자는 변경 관리의 이력을 조회하여 현재 편집을 위해 요구되는 정확한 SW 버전의 컨피그레이션을 선택할 수 있다. 예를 들어, 1, 2, 3차 버전의 컨피그레이션 정보가 있는 상태에서 개발자가 4차 버전을 개발하는 경우, 3차 버전을 기반으로 4차 버전을 개발하는 것보다 1, 2차 버전을 통해 개발하는 것이 더 효율적일 수 있는 경우가 있다. 예를 들면, 3차 버전에서 추가된 기능이 4차 버전에서 삭제되는 경우이다. 또한, 4차 버전에 요구되는 내용이 3차 버전과 충돌되는 경우, 개발자는 3차 버전의 충돌되는 항목을 삭제하는 편집을 해야 하는데, 2차 버전을 기반으로 4차 버전을 개발할 경우 삭제 편집의 수고를 제거할 수 있다. 따라서, 개발자는 1, 2, 3차 버전별 변경 이력을 조회한 후 4차 버전의 개발에 가장 적합한 이전 버전을 선택할 수 있다. 물론, 개발자에 의해 적합한 버전이 선택되기 때문에 편집 범위도 줄어드는 효과가 기대될 수 있다. 또한, 코드의 최적화된 편집을 지향하기 때문에 BMS SW의 안정성을 기할 수 있다.Through change management, the reuse of configuration information becomes more sophisticated. First, the configuration change management provides a history of change management according to the developer's request. The developer can query the history of change management and select the configuration of the exact SW version required for the current edit. For example, if a developer develops a fourth version in the presence of configuration information for the first, second, and third versions, then developing the first and second versions rather than developing a fourth version based on the third version It may be more efficient to do so. For example, a feature added in the third version is deleted from the fourth version. In addition, if the content required by the fourth version conflicts with the third version, the developer must edit the third version to delete the conflicting item. If the fourth version is developed based on the second version, You can remove the trouble. Thus, the developer can query the history of changes for the first, second, and third versions, and then select the previous version that is most suitable for the development of the fourth version. Of course, since the appropriate version is selected by the developer, the editing range can be expected to be reduced. In addition, it aims to optimize the editing of the code, so that the stability of the BMS SW can be achieved.

도 2는 도 1의 소스 코드 장치(1)의 기능도이다.2 is a functional diagram of the source code device 1 of Fig.

기존 SW의 프로젝트 파일(201)은 open 및 read의 처리를 수반하여 컨피그레이션 정보가 메모리에 로딩되고, 컨피그레이션 정보가 GUI 화면으로 통해 출력된다. 개발자는 개발 사항에 맞게 컨피그레이션 정보를 편집한다. 편집된 정보는 신규 프로젝트 파일(202)로 저장된다. 이후, 기존 프로젝트 파일(201)과 신규 프로젝트 파일(202)은 컨피그레이션 정보가 비교되어 변경점 정보가 출력된다. The project file 201 of the existing SW is loaded with the processing of opening and reading, and the configuration information is loaded into the memory, and the configuration information is outputted through the GUI screen. The developer edits the configuration information to fit the development needs. The edited information is stored in the new project file 202. Then, the existing project file 201 and the new project file 202 are compared with the configuration information, and the changed point information is output.

여기서, 변경점 정보는 기존 컨피그레이션 정보와 대비되는 현재 컨피그레이션 정보가 추가, 수정, 삭제를 포함하는 편집된 위치 및 값들의 정보를 포함한다. 변경점 정보를 확인하는 개발자는 입력으로 편집된 컴포넌트와 의존성(dependancy)을 기반으로 편집된 컴포넌트의 수정 범위 및 영향 범위를 파악할 수 있다. 변경 정도가 % 값으로 산정되면, 개발자는 BMS SW의 안정성에 대비된 잠재적 리스크 정도를 진단할 수 있다. Here, the change point information includes information of edited positions and values, which include addition, modification, and deletion of the current configuration information as compared with existing configuration information. Developers who view change information can identify the scope and extent of modification of edited components based on edited components and dependencies as input. If the degree of change is calculated as a% value, the developer can diagnose the potential risk level against the stability of the BMS SW.

결론적으로, Project 파일이 저장이 이루어질 때마다 각각의 파일은 변경 이력을 갖고, 형상 관리를 통해 개발 이력으로써의 역할, 추가 개발 요소 및 안정성에 대한 이력 자료로 활용될 수가 있다.In conclusion, each time a project file is saved, each file has a history of changes, and can be used as a history of development history, additional development factors, and stability through configuration management.

도 3은 도 1의 소스 코드 장치(1)의 변경 이력을 관리하는 예시도이다.3 is an exemplary diagram for managing the change history of the source code device 1 of Fig.

설명의 편의상 버전 1.0.0의 베이스 프로젝트 파일(301)이 있는 것으로 가정한다. 이후, OEM측의 요구 사항 1에 의해 컨피그레이션 편집이 수반된다. 그러면, 요구 사항 1에 의해 컨피그레이션 정보가 편집되어 브랜치 프로젝트로서 버전 1.0.1의 SW가 생성된다. 이후, OEM측의 요구 사항 2에 의해 컨피그레이션 편집이 수반된다. 그러면, 요구 사항 2에 의해 컨피그레이션 정보가 편집되어 브랜치 프로젝트로서 버전 1.0.2의 SW가 생성된다For convenience of explanation, it is assumed that there is a base project file 301 of version 1.0.0. Thereafter, configuration editing is carried out according to requirement 1 of the OEM side. Then, according to Requirement 1, the configuration information is edited and SW of version 1.0.1 is created as a branch project. Thereafter, configuration editing is carried out according to Requirement 2 of the OEM side. Then, according to Requirement 2, the configuration information is edited and SW of version 1.0.2 is created as a branch project

여기서, 1차 및 2차로 변경된 각각의 버전별 컨피그레이션 정보는 별도로 분리되어 관리된다. 개발자는 필요에 따라 버전별 변경점 정보를 확인하여 그 이력을 참조할 수 있다.Here, the configuration information for each version changed in the first and second order is separately managed. The developer can refer to the history by checking the change point information for each version as needed.

도 4는 도 1의 소스 코드 장치(1)가 제공하는 UI 화면의 예시도이다.4 is an exemplary view of a UI screen provided by the source code device 1 of Fig.

소스 코드 장치(1)가 프로젝트 파일을 오픈하고, 파일의 컨피그레이션 정보를 읽어들인다. 컨피그레이션 정보가 로딩되면, 로딩된 개별 항목 정보는 GUI 화면을 통해 개발자에게 제공된다. 개발자는 화면의 항목(401)에 대하여 편집을 한다. 개발자는 BMS 요구 사항에 맞게 항목의 추가, 삭제 및 변경의 편집을 한다.The source code device 1 opens the project file and reads the configuration information of the file. When the configuration information is loaded, the loaded item information is provided to the developer through the GUI screen. The developer edits the item 401 on the screen. The developer adds, deletes, and edits the item to meet BMS requirements.

편집이 완료되면, 개발자는 코드 생성의 아이콘(402)을 선택한다. 소스 코드 장치(1)는 편집된 컨피그레이션 정보를 이용하여 소스 코드를 생성한다.When the editing is completed, the developer selects an icon 402 of code generation. The source code device 1 generates the source code using the edited configuration information.

여기서, 소스 코드가 생길 때마다, 소스 코드 장치(1)는 버전 관리 객체(403)를 화면에 출력한다. 버전 관리 객체(403)는 개발자가 컨피그레이션의 변경 이력에 접근하는 UI 객체이다. 소스 코드 장치(1)는 이전 버전과 신규 버전의 컨피그레이션 정보에 대한 변경 이력을 기록한다. 소스 코드 장치(1)는 기록된 변경 이력을 GUI 화면을 통해 개발자에게 제공한다.Here, every time the source code is generated, the source code device 1 outputs the version control object 403 to the screen. The version management object 403 is a UI object in which the developer accesses the change history of the configuration. The source code device 1 records a history of changes to the configuration information of the previous version and the new version. The source code device 1 provides the recorded change history to the developer through the GUI screen.

도 5는 도 1의 소스 코드 장치(1)가 제공하는 변경 이력 UI의 예시도이다.5 is an exemplary diagram of a change history UI provided by the source code device 1 of FIG.

도 4의 화면에서 개발자는 버전 관리 객체(403)의 버튼을 선택한다. 소스 코드 장치(1)는 버전 관리 정보를 요청한 개발자에게 변경 이력 UI를 제공한다.On the screen of Fig. 4, the developer selects a button of the version management object 403. [ The source code device 1 provides the change history UI to the developer requesting the version management information.

변경 이력 UI를 통해, 소스 코드 장치(1)는 버전 정보(501), 컨피그레이션의 변경점 정보(502) 및 소스 코드 비교 정보(503)를 개발자에게 제공한다.Through the change history UI, the source code device 1 provides the version information 501, the configuration change point information 502, and the source code comparison information 503 to the developer.

개발자가 조회하고자 하는 버전 관리 객체(403)를 선택하면, 소스 코드 장치(1)는 선택된 BMS SW 버전의 변경 이력 정보를 제공한다.When the developer selects the version management object 403 to be viewed, the source code device 1 provides the change history information of the selected BMS SW version.

변경 이력 정보에 해당되는 변경점 정보(502)의 화면 영역은 컨피그레이션 정보에서 변경된 부분에 해당되는 항목 정보, 컴포넌트 정보 등을 개발자에게 제공한다.The screen area of the change point information 502 corresponding to the change history information provides the developer with item information and component information corresponding to the changed portion in the configuration information.

또한, 소스 코드 비교 정보(503)의 화면 영역은 변경점으로 인해 변경된 소스 코드를 개발자에게 제공한다.Further, the screen area of the source code comparison information 503 provides the changed source code to the developer due to the change point.

도 6은 본 발명의 일 실시예에 따른 소스 코드 생성 방법의 개략적 순서도이다.6 is a schematic flowchart of a source code generation method according to an embodiment of the present invention.

소스 코드 생성 장치(1)가 개발 툴을 실행한다. 실행된 개발 툴에서, 개발자는 소스 코드 생성을 위해 기존 SW의 프로젝트 파일을 불러온다. 오픈된 프로젝트 파일은 신규 소스 코드 생성을 위해 가장 적합한 파일로서 개발자에 의해 선택된 파일이다. 개발자는 개별 SW별로 변경 이력을 참조하여 새롭게 생성될 SW와 가장 적합한 SW를 선택할 수 있다.The source code generating apparatus 1 executes the development tool. In the executed development tool, the developer loads the project file of the existing SW to generate the source code. An open project file is the file that is selected by the developer as the most suitable file for generating new source code. The developer can select the most suitable SW and the new SW by referring to the change history for each individual SW.

프로젝트 파일의 오픈에 의해, 소스 코드 생성 장치(1)는 파일의 컨피그레이션 정보를 로딩한다(S11). 로딩된 컨피그레이션 정보는 화면의 GUI를 통해 대응되는 각각의 항목으로 제공된다. 컨피그레이션 정보는 다양한 항목들로 구성됨을 기 설명한 바 있다.By opening the project file, the source code generation apparatus 1 loads the configuration information of the file (S11). The loaded configuration information is provided to each corresponding item through the GUI of the screen. It has been described that the configuration information is composed of various items.

컨피그레이션 정보의 각각의 항목들이 GUI 화면에 출력되면, 소스 코드 생성 장치(1)는 개발자로부터 개별 항목의 편집 명령을 받고, 편집 처리한다(S12). 개발자의 편집에 의해 항목의 추가, 변경, 삭제가 발생된다.When each item of the configuration information is output to the GUI screen, the source code generation device 1 receives an editing command of the individual item from the developer and performs editing processing (S12). Addition, change, or deletion of an item occurs by editing by the developer.

항목의 편집이 발생되면, 소스 코드 생성 장치(1)는 편집된 정보의 컴포넌트에 의해 관련된 타 컴포넌트의 변경이 유발되는지 판단한다(S13).When the item is edited, the source code generation device 1 determines whether a change of another related component is caused by the edited information component (S13).

타 컴포넌트의 변경이 요구되는 것으로 판단되면, 소스 코드 생성 장치(1)는 타 컴포넌트를 개발자의 편집 내용과 일치되도록 자동으로 편집한다(S14). 여기서, 소스 코드 생성 장치(1)는 개발자의 편집 및 자동 편집된 컴포넌트에 의해 유발되는 타 컴포넌트의 편집이 완료될 때까지 자동 편집의 처리를 수행한다. 자동 편집의 처리는 컴포넌트들간의 의존성에 기인한다.If it is determined that the change of other components is required, the source code generating apparatus 1 automatically edits the other components so as to match the edited content of the developer (S14). Here, the source code generation apparatus 1 performs the process of automatic editing until the editing of the developer and the editing of the other components caused by the auto-edited component are completed. The processing of auto-editing is due to the dependency between the components.

개발자에 의해 소스 코드의 생성 명령이 내려지면, 소스 코드 생성 장치(1)는 개발자에 의해 설정된 컨피그레이션 정보를 이용하여 소스 코드를 생성한다(S16). 이후, 생성된 소스 코드는 컴파일을 거쳐 실행이 가능한 SW가 된다.When the source code generation command is issued by the developer, the source code generation apparatus 1 generates the source code using the configuration information set by the developer (S16). After that, the generated source code is SW that can be compiled and executed.

파일 저장 및 소스 코드 생성 등의 기 정의된 이벤트가 발생할 때마다, 소스 코드 생성 장치(1)는 컨피그레이션의 변경 정보에 해당되는 변경점을 출력하고, 그 변경점의 정보를 이용하여 프로젝트의 변경 이력을 관리한다(S17). 변경 이력의 관리는 이력 정보의 생성 및 조회를 수반한다. 변경 이력의 관리에 의해, 개발자는 기존 SW의 기능 범위를 정확히 확인하여 편집 대상의 SW 프로젝트로 선택할 수 있다. 개발자는 최적의 SW 프로젝트를 선택하여 편집함으로써 편집 범위를 최소화할 수 있고, 최소화된 편집 범위로 인해 충돌 가능성이 배제되는 안정성있는 SW 개발이 가능하다.Every time a predefined event such as file saving and source code generation occurs, the source code generating apparatus 1 outputs a change point corresponding to the change information of the configuration and manages the change history of the project using the information of the change point (S17). Management of change history involves generation and inquiry of history information. By managing the change history, the developer can accurately check the function range of the existing SW and select it as the SW project to be edited. Developers can minimize the editing range by selecting and editing the optimal SW project, and develop a stable SW that minimizes the possibility of collision due to the minimized editing range.

저장 이벤트가 발생되면, 소스 코드 생성 장치(1)는 개발자가 편집한 컨피그레이션 정보를 BMS SW의 프로젝트 파일로 저장한다(S18). 저장 이벤트는 사용자의 저장 명령 및 소스 코드 생성 등에 의해 발생될 수 있다. 물론, 저장된 파일은 다음 번 SW 개발시 오픈 기능을 통해 편집 대상이 된다.When the storage event occurs, the source code generation apparatus 1 stores the configuration information edited by the developer as a project file of the BMS SW (S18). The storage event can be generated by a user's save instruction and source code generation. Of course, the saved file will be edited through the open function during the next SW development.

상술한 실시예에서, "~부"라는 용어는 소스 코드 생성 장치(1)의 하드웨어적 구분을 의미하는 용어로 사용된 것이 아니다. 따라서 복수의 구성부가 하나의 구성부로 통합될 수도 있고, 하나의 구성부가 복수의 구성부로 분할될 수도 있다. 또한, 구성부는 하드웨어의 구성부를 의미할 수도 있지만, 소프트웨어의 구성부를 의미할 수도 있다. 따라서 본 발명은 "~부"라는 용어에 의해 특별히 한정되지 않음을 이해하여야 할 것이다.In the above-described embodiment, the term "part" is not used as a term meaning a hardware division of the source code generation apparatus 1. [ Accordingly, a plurality of constituent parts may be integrated into one constituent part, and one constituent part may be divided into a plurality of constituent parts. The constituent unit may mean a constituent part of hardware, but may also mean a constituent part of software. Therefore, it should be understood that the present invention is not particularly limited by the term "part ".

본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. It goes without saying that various modifications and variations are possible within the scope of equivalence of the scope.

1 : 소스 코드 생성 장치 11 : 컨피그레이션 로딩부
12 : 컨피그레이션 편집부 13 : 컨피그레이션 저장부
14 : 소스 코드 생성부 15: 컨피그레이션 변경 관리부
1: source code generation device 11: configuration loading section
12: Configuration editing unit 13: Configuration storing unit
14: source code generation unit 15: configuration change management unit

Claims (16)

개발자에게 GUI 화면을 제공하여 BMS(Battery Management System) SW(Software)의 소스 코드를 자동 생성하는 소스 코드 생성 장치에 있어서,
기존 SW의 프로젝트에 설정된 컨피그레이션(configration) 정보를 로딩하는 컨피그레이션 로딩부;
로딩된 컨피그레이션을 구성하는 개별 항목의 편집 명령을 입력받고, 편집 처리하는 컨피그레이션 편집부; 및
편집이 완료된 컨피그레이션 정보에 대해 소스 코드의 생성 명령을 입력받고, 생성 처리하는 소스 코드 생성부
를 포함하는 개발 툴을 실행하는 것을 특징으로 하는 특징으로 하는 소스 코드 생성 장치.
A source code generation apparatus for automatically generating a source code of a BMS (Battery Management System) SW (Software) by providing a GUI screen to a developer,
A configuration loading unit for loading configuration information set in a project of an existing SW;
A configuration editing unit for receiving an editing command of an individual item constituting the loaded configuration and editing the input command; And
A source code generation unit that receives a generation code generation command for the editing information that has been edited,
Wherein the source code generation means executes the development tool including the source code.
제 1항에 있어서,
상기 컨피그레이션 로딩부는,
프로젝트의 생성 명령이 입력될 경우, 초기화된 컨피그레이션 정보를 로딩하는 것을 특징으로 하는 소스 코드 생성 장치.
The method according to claim 1,
The configuration loading unit,
When the generation command of the project is inputted, loads the initialized configuration information.
제 1항에 있어서,
상기 컨피그레이션 로딩부는,
상기 프로젝트의 파일을 읽어들이고, 읽어들인 컨피그레이션 정보를 대응되는 상기 개별 항목의 값으로 화면에 출력하는 것을 특징으로 하는 소스 코드 생성 장치.
The method according to claim 1,
The configuration loading unit,
Reads the file of the project, and outputs the read configuration information to the screen as the value of the corresponding individual item.
제 1항에 있어서,
상기 컨피그레이션 편집부는,
개별 항목의 생성, 수정 및 삭제를 포함하는 상기 편집 명령을 입력받는 것을 특징으로 하는 소스 코드 생성 장치.
The method according to claim 1,
The configuration editing unit,
And the editing command including generation, modification, and deletion of individual items is input.
제 1항에 있어서,
상기 컨피그레이션 편집부는,
사용자 입력에 의해 편집된 항목의 모듈과 관련되는 타 모듈의 항목을 자동으로 편집 처리하고, 편집 처리된 항목과 관련되어 타 모듈의 변경이 없을 때까지 상기 편집 처리를 반복하는 것을 특징으로 하는 소스 코드 생성 장치.
The method according to claim 1,
The configuration editing unit,
Automatically edits and processes the items of other modules related to the module of the item edited by the user input and repeats the editing process until there is no change of the other module with respect to the edited and processed item Generating device.
제 1항에 있어서,
상기 소스 코드 생성 장치는,
상기 컨피그레이션 정보의 저장 명령을 입력받고, 파일로 저장하는 컨피그레이션 저장부를 더 포함하는 것을 특징으로 하는 소스 코드 생성 장치.
The method according to claim 1,
Wherein the source code generation device comprises:
Further comprising: a configuration storing unit configured to receive the configuration information storage command and store the configuration information as a file.
제 1항에 있어서,
상기 소스 코드 생성 장치는,
기존 컨피그레이션 정보로부터 현재 컨피그레이션 정보의 소스 코드가 생성될 때마다, 기존 컨피그레이션과 현재 컨피그레이션의 정보를 비교하여 변경점을 파일로 저장하고, 프로젝트별로 저장된 변경점을 이용하여 개별 프로젝트의 형상 관리 및 버전별 이력 관리를 수행하는 컨피그레이션 변경 관리부를 더 포함하는 것을 특징으로 하는 소스 코드 생성 장치.
The method according to claim 1,
Wherein the source code generation device comprises:
Each time the source code of the current configuration information is generated from the existing configuration information, the information of the existing configuration is compared with the information of the current configuration to store the changed point as a file, and the configuration management of each project and the history management And a configuration change management unit for performing a configuration change management of the source code.
제 1항에 있어서,
상기 소스 코드는,
컴파일을 거쳐서 실행 가능한 BMS SW가 되는 것을 특징으로 하는 소스 코드 생성 장치.
The method according to claim 1,
The source code comprises:
And the BMS SW is executable through compilation.
소스 코드 생성 장치가 개발자에게 GUI 화면을 제공하여 BMS(Battery Management System) SW(Software)의 소스 코드를 자동 생성하는 소스 코드 생성 방법에 있어서,
(a)기존 SW의 프로젝트에 설정된 컨피그레이션(configration) 정보를 로딩하는 컨피그레이션 로딩 단계;
(b)로딩된 컨피그레이션을 구성하는 개별 항목의 편집 명령을 입력받고, 편집 처리하는 컨피그레이션 편집 단계; 및
(c)편집이 완료된 컨피그레이션 정보에 대해 소스 코드의 생성 명령을 입력받고, 생성 처리하는 소스 코드 생성 단계
를 포함하는 개발 툴을 실행하는 것을 특징으로 하는 특징으로 하는 소스 코드 생성 방법.
A source code generation method for automatically generating a source code of a BMS (Software Management System) SW by providing a GUI screen to a developer, the source code generation apparatus comprising:
(a) a configuration loading step of loading configuration information set in a project of an existing SW;
(b) a configuration editing step of receiving an editing command of an individual item constituting the loaded configuration and editing the input; And
(c) a source code generation step of receiving the generation command of the source code for the editing information that has been edited,
And a program code for executing the program.
제 9항에 있어서,
상기 단계(a)는,
프로젝트의 생성 명령이 입력될 경우, 초기화된 컨피그레이션 정보를 로딩하는 단계인 것을 특징으로 하는 소스 코드 생성 방법.
10. The method of claim 9,
The step (a)
And loading the initialized configuration information when the generation command of the project is inputted.
제 9항에 있어서,
상기 단계(a)는,
상기 프로젝트의 파일을 읽어들이고, 읽어들인 컨피그레이션 정보를 대응되는 상기 개별 항목의 값으로 화면에 출력하는 것을 특징으로 하는 소스 코드 생성 방법.
10. The method of claim 9,
The step (a)
Reads a file of the project, and outputs the read configuration information to a screen as a value of the corresponding individual item.
제 9항에 있어서,
상기 단계(b)는,
개별 항목의 생성, 수정 및 삭제를 포함하는 상기 편집 명령을 입력받는 단계인 것을 특징으로 하는 소스 코드 생성 방법.
10. The method of claim 9,
The step (b)
And receiving the editing command including generation, modification and deletion of individual items.
제 9항에 있어서,
상기 단계(b)는,
사용자 입력에 의해 편집된 항목의 모듈과 관련되는 타 모듈의 항목을 자동으로 편집 처리하고, 편집 처리된 항목과 관련되어 타 모듈의 변경이 없을 때까지 상기 편집 처리를 반복하는 것을 특징으로 하는 소스 코드 생성 방법.
10. The method of claim 9,
The step (b)
Automatically edits and processes the items of other modules related to the module of the item edited by the user input and repeats the editing process until there is no change of the other module with respect to the edited and processed item Generation method.
제 9항에 있어서,
상기 단계(b) 이후에,
상기 컨피그레이션 정보의 저장 명령을 입력받고, 파일로 저장하는 컨피그레이션 저장 단계를 더 포함하는 것을 특징으로 하는 소스 코드 생성 방법.
10. The method of claim 9,
After the step (b)
Further comprising a configuration storing step of receiving a configuration command of the configuration information and storing the configuration command in a file.
제 9항에 있어서,
(d)기존 컨피그레이션 정보로부터 현재 컨피그레이션 정보의 소스 코드가 생성될 때마다, 기존 컨피그레이션과 현재 컨피그레이션의 정보를 비교하여 변경점을 파일로 저장하고, 프로젝트별로 저장된 변경점을 이용하여 개별 프로젝트의 형상 관리 및 버전별 이력 관리를 수행하는 컨피그레이션 변경 관리 단계를 더 포함하는 것을 특징으로 하는 소스 코드 생성 방법.
10. The method of claim 9,
(d) Each time the source code of the current configuration information is generated from the existing configuration information, the information of the existing configuration is compared with the information of the current configuration, the changed point is stored as a file, and the configuration management and version And a configuration change management step of performing a star history management.
제 9항에 있어서,
상기 소스 코드는,
컴파일을 거쳐서 실행 가능한 BMS SW가 되는 것을 특징으로 하는 소스 코드 생성 방법.
10. The method of claim 9,
The source code comprises:
Compiled to be executable BMS SW.
KR1020150169335A 2015-11-30 2015-11-30 Apparatus for generating source code of Battery Management System software and method thereof KR102094447B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150169335A KR102094447B1 (en) 2015-11-30 2015-11-30 Apparatus for generating source code of Battery Management System software and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150169335A KR102094447B1 (en) 2015-11-30 2015-11-30 Apparatus for generating source code of Battery Management System software and method thereof

Publications (2)

Publication Number Publication Date
KR20170063219A true KR20170063219A (en) 2017-06-08
KR102094447B1 KR102094447B1 (en) 2020-03-27

Family

ID=59221605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150169335A KR102094447B1 (en) 2015-11-30 2015-11-30 Apparatus for generating source code of Battery Management System software and method thereof

Country Status (1)

Country Link
KR (1) KR102094447B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111224181A (en) * 2019-11-22 2020-06-02 东莞市振华新能源科技有限公司 Battery module management system
KR20230024757A (en) * 2021-08-12 2023-02-21 주식회사 케이티 Command generation method and apparatus for updating config

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100103916A1 (en) 2002-07-05 2010-04-29 Sony Corporation Radio communication system, radio communication apparatus, and radio communication method
KR20110064485A (en) * 2009-12-08 2011-06-15 한국전자통신연구원 Model-based customized eco system and method for design of the eco system
KR20140087557A (en) * 2012-12-31 2014-07-09 인포뱅크 주식회사 A display device and a method for processing a screen using it

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100103916A1 (en) 2002-07-05 2010-04-29 Sony Corporation Radio communication system, radio communication apparatus, and radio communication method
KR20110064485A (en) * 2009-12-08 2011-06-15 한국전자통신연구원 Model-based customized eco system and method for design of the eco system
KR20140087557A (en) * 2012-12-31 2014-07-09 인포뱅크 주식회사 A display device and a method for processing a screen using it

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111224181A (en) * 2019-11-22 2020-06-02 东莞市振华新能源科技有限公司 Battery module management system
CN111224181B (en) * 2019-11-22 2021-08-27 东莞市振华新能源科技有限公司 Battery module management system
KR20230024757A (en) * 2021-08-12 2023-02-21 주식회사 케이티 Command generation method and apparatus for updating config

Also Published As

Publication number Publication date
KR102094447B1 (en) 2020-03-27

Similar Documents

Publication Publication Date Title
US10216509B2 (en) Continuous and automatic application development and deployment
CN101876940B (en) Automatic test method and device
US8151260B2 (en) Method for providing an image of software installed on a computer system
CN110941453A (en) Method and device for initializing Baseboard Management Controller (BMC) configuration
CN104598237B (en) A kind of method and apparatus that user interface is generated under upgrade mode
KR20170063219A (en) Apparatus for generating source code of Battery Management System software and method thereof
CN110704025A (en) Method and device for generating coding specification tool, storage medium and electronic equipment
US10540151B1 (en) Graphical customization of a firmware-provided user interface (UI)
US8667464B2 (en) Company advanced programming interface
CN106980516B (en) Information processing apparatus and resource management method
CN116643761A (en) Customized mirror image manufacturing and deploying method, device, terminal and medium
KR102107219B1 (en) Apparatus for generating source code of Battery Management System software
CN110806891A (en) Method and device for generating software version of embedded equipment
US6907604B1 (en) Instant integration model
CN113608795A (en) Universal method for starting and loading application program under VxWorks
CN114398155A (en) Method and system for configuring automatic deployment pipeline of application program
EP2605127B1 (en) Processing Framework For Generating Pre-Configuration Packages
US20050216884A1 (en) Object generation
CN116684243B (en) Method and terminal for managing SCA component
CN114546502B (en) Method and device for creating startup item based on white list and readable storage medium
CN112860248A (en) Source code generation method and device
CN115981614B (en) Modular processing method for project engineering, electronic equipment and computer storage medium
CN109413500B (en) Method for customizing main scene of television
JP2008191786A (en) Program management device, program management method and program
CN113986284A (en) System application upgrading method and device, storage medium and electronic equipment

Legal Events

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