WO2023132381A1 - 철도차량 시스템의 소프트웨어 개발 시스템 및 방법 - Google Patents

철도차량 시스템의 소프트웨어 개발 시스템 및 방법 Download PDF

Info

Publication number
WO2023132381A1
WO2023132381A1 PCT/KR2022/000138 KR2022000138W WO2023132381A1 WO 2023132381 A1 WO2023132381 A1 WO 2023132381A1 KR 2022000138 W KR2022000138 W KR 2022000138W WO 2023132381 A1 WO2023132381 A1 WO 2023132381A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
railway vehicle
task
software package
unit
Prior art date
Application number
PCT/KR2022/000138
Other languages
English (en)
French (fr)
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 주식회사 알티스트
Publication of WO2023132381A1 publication Critical patent/WO2023132381A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • 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

Definitions

  • the present invention relates to a software development system and method, and more particularly to a software development system and method for a railway vehicle system.
  • the present invention is a railway vehicle parts development project of the Ministry of Land, Infrastructure and Transport (Task identification number: 21RSCD-C163348-01, research project name: Development of an integrated control platform to secure mutual compatibility of electric control devices for urban railways, research management specialized institution: Land Transport Science Technology Advancement Agency, Supervisor: Korea Railroad Research Institute, Research period: 2021.04.01. ⁇ 2025.12.31.) It was derived from a study conducted as part of.
  • a railway vehicle system refers to an element composed of devices and software for providing functions of a railway vehicle.
  • Rail vehicles having the same purpose and function also have a similar configuration of the railroad vehicle system.
  • the similarity of a railway vehicle system between a railway vehicle with a braking function and a railway vehicle without a braking function also differs depending on whether or not the railway vehicle has a braking function.
  • An object of the present invention is to provide a software development system for a railway vehicle system.
  • Another object of the present invention is to provide a software development method for a railway vehicle system.
  • a software development system for a railway vehicle system includes a software specification definition module for defining a software specification according to a railway vehicle system to be developed; and a software package generation module generating a software package according to the software specification defined in the software specification definition module.
  • it may be configured to further include a software package distribution module that builds the software package generated by the software package creation module.
  • the railway vehicle system may be composed of hardware and software for performing the function of the railway vehicle.
  • the software specification definition module may include a task definition unit defining a task constituting the railway vehicle system to be developed; an interface definition unit defining an interface between tasks defined in the task definition unit; It may be composed of a partition definition unit that defines a partition by forming a logical group based on the operation of the task defined in the task definition unit.
  • the software package generation module may include: a software package model configuration unit configuring a software package model according to the software specification defined in the software specification definition module; a task code generation unit generating task codes of each task according to the software package model configured in the software package model configuration unit; It may be configured to include a system setting unit that generates setting information based on the partitions and tasks of the software package model configured in the software package model configuration unit.
  • a software development method for a railway vehicle system includes the step of defining a software specification according to a railway vehicle system to be developed by a software specification definition module;
  • the software package generation module may be configured to generate a software package according to the software specification defined in the software specification definition module.
  • the software package distribution module may be configured to further include building the software package generated by the software package creation module.
  • the railway vehicle system may be composed of hardware and software for performing the function of the railway vehicle.
  • the step of defining the software specification according to the railway vehicle system to be developed by the software specification definition module may include: defining a task constituting the railway vehicle system to be developed by a task definition unit; defining an interface between tasks defined by the task definition unit by an interface definition unit;
  • the partition definition unit may be configured to include a step of defining a partition by forming a logical group based on the operation of the task defined in the task definition unit.
  • step of generating, by the software package generation module, the software package according to the software specification defined in the software specification definition module, the software package model constructing unit configures the software package model according to the software specification defined in the software specification definition module.
  • the system setting unit may be configured to include generating setting information based on the partitions and tasks of the software package model configured in the software package model configuration unit.
  • FIG. 1 is a block diagram of a software development system for a railway vehicle system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the configuration of software specification elements according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a software development method for a railway vehicle system according to an embodiment of the present invention.
  • first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention.
  • the terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.
  • FIG. 1 is a block diagram of a software development system for a railway vehicle system according to an embodiment of the present invention.
  • Figure 2 is a block diagram showing the configuration of software specification elements according to an embodiment of the present invention.
  • the software development system 100 of the railway vehicle system includes a software specification database 110, a task code database 120, a software specification definition module 130, and software specification storage. It may be configured to include a control module 140 , a software package creation module 150 , and a software package distribution module 160 .
  • the software specification database 110 may be configured to store software specifications of the rolling stock system.
  • the railway vehicle system may be composed of hardware and software for performing the functions of the railway vehicle.
  • the software specification may be composed of software specification elements as shown in FIG. 2 .
  • variable information 10 partition 11, task 12, communication channel 13, publication channel 14, subscription channel 15, It can be composed of exchange information (16), data type (17), resource (18), railroad car (19), and the like.
  • the railway vehicle 10 is composed of an identifier and a tag.
  • the identifier is a component for identifying a railroad vehicle
  • the tag represents a function of the railroad vehicle.
  • the task code database 120 may be configured to store task codes corresponding to software specifications stored in the software specification database 110 .
  • the software specification definition module 130 may be configured to define a software specification according to a railway vehicle system to be developed.
  • the software specification definition module 130 may be configured to include a task definition unit 131, an interface definition unit 132, and a partition definition unit 133.
  • the task definition unit 131 may be configured to define tasks constituting a railway vehicle system to be developed. Specifically, the task definition unit 131 is a process of defining information required to configure a software package through a software specification model, and may be configured to define a task corresponding to unit software constituting a railway vehicle system.
  • the task definition unit 131 may be configured to define a task through the task 12 of FIG. 2 .
  • the task 12 can be composed of attributes such as name, communication channel, internal operation, version, and necessary dimensions.
  • the name property is a property value for specifying the name (or identifier) of the railway vehicle software, that is, the task
  • the communication channel property is a property value containing a list of communication channels of the railway vehicle software
  • the internal operation property is a railway vehicle
  • It is an attribute value that specifies the internal operation of software, and can specify logic defined in related source codes or behavior models. Here, if the related logic does not exist, it is not necessary to specify it.
  • the version attribute is an attribute value for specifying a version of a task, and may be provided for version management of a task.
  • Required dimension properties can specify information about resources required by a task.
  • a tag list of tags representing functions of a railway vehicle may be specified through a variable point attribute of the variable information 10 .
  • functions to be implemented in the corresponding railway vehicle may be specified through a tag list of variable point attributes.
  • the function may include, for example, a braking function, a power function, and the like.
  • the software specification elements in which tags are directly specified are made in the task definition unit 131, and the remaining software specification elements may be automatically assigned by the software package model construction unit 150.
  • the interface definition unit 132 may be configured to define an interface between tasks defined in the task definition unit 131 . That is, an interface for information exchange between tasks can be defined.
  • the railway vehicle software utilizes a publish/subscribe method communication method, information published by one task can be delivered to all tasks that have applied for subscription. Therefore, when specifying information exchange, there is no need to indicate connections between objects of information exchange, and there is no need to separately indicate connections between tasks 12 in the interface definition.
  • a list of information to be published or subscribed to by the software may be specified through the communication channel property of the task 12 without indicating a direct communication channel. This can be defined through the communication channel (13).
  • the communication channel 13 may separately provide a publication channel 14 and a subscription channel 15 to differentiate between publication and subscription.
  • the publication channel 14 means a communication channel for publication
  • the subscription channel 15 means a communication channel for subscription.
  • Modeling of information exchange can be performed by adding information about the communication channel properties of the task 12 according to publication and subscription status.
  • the specification of information transmitted and received through the added communication channel is performed through the exchange information 16, which must be specified in the exchange information property of the communication channel 13.
  • the exchange information properties of the communication channel 13 can be added by reusing an existing model or creating a new model.
  • exchange information 16 is a model element for defining information exchanged between tasks.
  • Exchange information 16 may be composed of an identifier attribute, a global unique attribute, and a data type attribute.
  • the identifier attribute is an attribute value for marking an identifier, and a uniqueness range may be determined by a global uniqueness attribute.
  • the global uniqueness attribute is an attribute value for indicating whether the corresponding information is used throughout the system. When the global uniqueness attribute is set, the identifier attribute must be unique throughout the system.
  • the data type attribute is for specifying the data type of information.
  • the data type properties supported by the railway vehicle software specification model are limited to primitive data types such as integers, real numbers, and booleans.
  • the partition definition unit 133 may be configured to define a partition by forming a logical group based on the operation of the task defined in the task definition unit 131 .
  • Tasks included in the same logical group through party line definition must operate on the same device, so they must be configured based on the degree of cohesion between tasks.
  • a logical group of tasks is defined through a partition 11, and the partition 11 may be composed of a name attribute of the partition and an internal task attribute that is a list of tasks included in the partition.
  • the software specification storage control module 140 may be configured to control the software specification defined in the software specification definition module 130 to be stored in the software specification database 110 .
  • the software package creation module 150 may be configured to create a software package according to the software specification defined in the software specification definition module 130 .
  • the software package generation module 150 includes a software package model construction unit 151, a task code generation unit 152, a system setting unit 153, a software specification reading unit 154, a task tag comparison unit 155, and a variable unit. It may be configured to include whether or not 156, a task code reading unit 157, and a variability endowed code automatic identification/display unit 158.
  • the software package model construction unit 151 may be configured to configure a software package model according to the software specification defined in the software specification definition module 130 .
  • the software package model configuration unit 151 may configure and generate model information suitable for each railroad vehicle. Model information suitable for each railway vehicle may be processed based on software specification elements of the variable information 10, the task 12, and the railway vehicle 19.
  • the task code generation unit 152 may be configured to generate task codes for each task according to the software package model configured in the software package model configuration unit 151 .
  • the task code generation unit 152 may generate basic source codes for tasks. Since the task model defined as the task 12 contains only information about the configuration of the task, code for actual operation cannot be generated. However, common codes that all tasks must have can be created through template codes. Tasks basically have operating states called opening and operating, and functions performed according to operating states correspond to common functions. That is, the task code generating unit 152 may generate a function to be performed according to an operating state as a source code.
  • the open state is a stage in which task initialization is performed, and a communication channel can be configured mainly based on settings.
  • the operating state is a state reached after the open state, and may be configured to operate the business logic of the actual task. Codes executed in the open state are the same for all tasks, so source codes can be generated based on predefined template codes. Code executed in the operating state may be generated based on the values of the inner working properties of the task 12 .
  • the internal action attribute value can be specified as a source code or a behavior model. If the internal action attribute value is a source code, the code is used as it is, and in the case of a behavior model, the source code can be generated and used from the action model. . It may be configured not to generate any source code when the internal operation attribute value does not exist.
  • the system setting unit 153 may be configured to generate setting information based on the partitions and tasks of the software package model configured in the software package model configuration unit 151 .
  • the system setting unit 153 may be configured to generate setting information for system operation based on the configuration of tasks and partitions.
  • Platform settings and communication settings exist as setting information necessary for the railway vehicle software to operate.
  • Platform setting is for middleware and operating system provided for the operation of railway vehicle software, and may be composed of contents such as scheduling information and memory allocation information.
  • the necessary resource properties of the task 12 can be utilized.
  • CPU time slots and memory requirements required for each task to operate can be specified. Since platform configuration is performed in units of partitions, platform configuration can be created through the sum of CPU time slots and memory requirements for tasks included in the partition.
  • Communication setting is setting information used in the open state of a task, and may be composed of a list of exchange information.
  • Corresponding information can be grasped through the communication channel property of the task 12 for each task. Depending on the values specified in the communication channel properties, configuration information specifying the transmission direction, identifier, data type, etc. of exchange information can be created.
  • the platform and communication setting information generated in this way may vary in form depending on middleware and operating systems provided, but may be generally converted into JSON format and distributed.
  • the software specification reading unit 154 may be configured to search for and read related software specifications from the software specification database 110 based on the software package model configured in the software package model configuration unit 151 . The most similar software specification can be searched and read.
  • the task tag comparison unit 155 may be configured to compare task tags between the software package model configured by the software package model configuration unit 151 and the software specification read by the software specification reading unit 154 . Through comparison of task tags, it is possible to compare whether both tasks have similar functions and purposes.
  • the variability granting unit 156 may be configured to grant variability to a corresponding task when task tags as a result of the comparison of the task tag comparison unit 155 are not the same.
  • variable information 10 is indicated only in the task 12, and based on the information, variability can be given to elements related to the task 12 as well.
  • a communication channel exists between task A and B, which is task A's publishing port and task B's subscription port. It can be expressed as a port.
  • Corresponding model information can be applied without change to a railway vehicle having a tag value of “braking”.
  • task A should be removed from the model information.
  • subscription port of task B which will receive information from the publishing port of task A, must also be removed from the model information. That is, the tag value "brake” should be assigned to the publishing port of task A and the subscription port of task B. In this way, variability can be given to other software specification elements other than the task 20 .
  • model information suitable for each railroad vehicle can be created based on the assigned variability. Model elements with tag values existing in the railway vehicle may be left as they are, and model elements with irrelevant tag values may be removed. If there is a model element that does not have any tag value, it can be left as it is because it corresponds to a common element.
  • the task code reading unit 157 may be configured to search the task code database 120 for task codes of tasks to which variability is assigned by the variability granting unit 156 and read them.
  • the variability endowing code automatic identification/display unit 158 may be configured to automatically identify and display variability endowed codes in the task codes read by the task code reading unit 157 .
  • the task code generator 152 may be configured to generate a task code by modifying the variability endowed code displayed in the variability endowed code automatic identification/display unit 158 .
  • the software package distribution module 160 may be configured to build the software package created in the software package creation module 150 . It is converted into a form that can be loaded into the railroad car system, and partition binary code can be generated from the task source code included in the same partition to be loaded into the railroad car system.
  • FIG. 3 is a flowchart of a software development method for a railway vehicle system according to an embodiment of the present invention.
  • the software specification definition module 130 defines the software specification according to the railway vehicle system to be developed (S110).
  • the railway vehicle system may be composed of hardware and software for performing the function of the railway vehicle.
  • the task defining unit 131 defines a task constituting a railway vehicle system to be developed (S111).
  • the interface definition unit 132 defines an interface between the tasks defined in the task definition unit 131 (S112), and the partition definition unit 133 logically based on the operation of the task defined in the task definition unit 131 Groups are formed to define partitions (S113).
  • the software package generation module 150 creates a software package according to the software specification defined in the software specification definition module 130 (S120).
  • the software package distribution module 160 builds the software package generated by the software package creation module 150 (S130).
  • the software package model construction unit 151 constructs a software package model according to the software specification defined in the software specification definition module 130 (S131), and the task code generation unit 152 configures the software package model construction unit 151 ) generates task codes for each task according to the software package model configured in (S132), and the system setting unit 153 generates setting information based on the partition and task of the software package model configured in the software package model configuration unit 151. Create (S133).

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

철도차량 시스템의 소프트웨어 개발 시스템은 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 소프트웨어 명세 정의 모듈; 및 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 소프트웨어 패키지 생성 모듈을 포함한다.

Description

철도차량 시스템의 소프트웨어 개발 시스템 및 방법
본 발명은 소프트웨어 개발 시스템 및 방법에 관한 것으로서, 구체적으로는 철도차량 시스템의 소프트웨어 개발 시스템 및 방법에 관한 것이다.
본 발명은 국토교통부의 철도차량부품개발사업(과제고유번호: 21RSCD-C163348-01, 연구과제명: 도시철도용 전장제어기기 상호호환성 확보를 위한 통합제어플랫폼 개발, 연구관리 전문기관: 국토교통과학기술진흥원, 주관기관: 한국철도기술연구원, 연구기간: 2021.04.01. ~ 2025.12.31.)의 일환으로 수행한 연구로부터 도출된 것이다.
한편, 본 발명의 모든 측면에서 과제 제공 주체인 한국 정부의 재산 이익은 없다.
철도 차량 시스템은 철도 차량의 기능을 제공하기 위한 장치 및 소프트웨어로 구성된 요소를 의미한다. 동일한 목적과 기능을 갖는 철도 차량들은 철도 차량 시스템의 구성 역시 유사하다.
예를 들어, 철도 차량에 제동 기능이 있는지의 여부에 따라 제동 기능이 있는 철도 차량과 제동 기능이 없는 철도 차량 간에 철도 차량 시스템의 유사성도 달라지게 된다.
한편, 종래의 철도 차량 소프트웨어는 컴퓨팅 환경에 종속적인 형태로 나타난다. 컴퓨팅 환경에 해당되는 장치 및 네트워크는 한번 정의된 구성에서 변경하기 어려우며, 이를 변경하기 위해서는 관련된 부분을 새로 개발하여야 한다.
그런데, 철도 차량의 장치나 부품이 노후화되어 교체를 해야 하는 경우, 해당 장치가 단종된 경우가 자주 발생한다. 이러한 경우 새로운 장치로 대체하여 교체하여야 하지만, 새로운 장치는 기존의 철도 차량 소프트웨어로는 구동할 수 없기 때문에 동일한 기능을 갖는 철도 차량 소프트웨어를 새로 개발하여야 한다.
수십년의 장기간 운용되는 철도 차량은 수많은 장치들의 결합으로 구성되는데, 그러한 장치들을 교체하는 과정에서 철도 차량 소프트웨어까지 새로 개발해야하는 과정이 뒤따르고 있다.
이에, 새로운 장치의 교체 과정에서 전체 철도 차량 시스템(소프트웨어)에 새로운 소프트웨어를 개발하여 결합시키기 위해 너무나 많은 작업량이 소요되는 문제점이 있다. 단순히 장치 하나를 교체하여도 전체 철도 차량 시스템에 문제없이 결합하는 것이 쉽지 않은 과정일뿐만 아니라, 철도 차량의 목적이나 기능에 따라서도 동일한 장치의 소프트웨어 개발이 각각 다르게 이루어지고 그에 결합되어야 한다는 문제점이 있다.
본 발명의 목적은 철도차량 시스템의 소프트웨어 개발 시스템을 제공하는 데 있다.
본 발명의 다른 목적은 철도차량 시스템의 소프트웨어 개발 방법을 제공하는 데 있다.
상술한 본 발명의 목적에 따른 철도차량 시스템의 소프트웨어 개발 시스템은, 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 소프트웨어 명세 정의 모듈; 및 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 소프트웨어 패키지 생성 모듈을 포함하도록 구성될 수 있다.
여기서, 상기 소프트웨어 패키지 생성 모듈에서 생성된 소프트웨어 패키지를 빌드하는 소프트웨어 패키지 배포 모듈을 더 포함하도록 구성될 수 있다.
이때, 상기 철도차량 시스템은, 철도차량의 기능을 수행하기 위한 하드웨어 및 소프트웨어로 구성될 수 있다.
그리고 상기 소프트웨어 명세 정의 모듈은, 상기 개발하고자 하는 철도차량 시스템을 구성하는 태스크를 정의하는 태스크 정의부; 상기 태스크 정의부에서 정의되는 태스크 간의 인터페이스를 정의하는 인터페이스 정의부; 상기 태스크 정의부에서 정의되는 태스크의 동작을 기준으로 논리적 그룹을 형성하여 파티션을 정의하는 파티션 정의부로 구성될 수 있다.
그리고 상기 소프트웨어 패키지 생성 모듈은, 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따른 소프트웨어 패키지 모델을 구성하는 소프트웨어 패키지 모델 구성부; 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델에 따른 각 태스크의 태스크 코드를 생성하는 태스크 코드 생성부; 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델의 파티션 및 태스크를 기반으로 설정 정보를 생성하는 시스템 설정부를 포함하도록 구성될 수 있다.
상술한 본 발명의 다른 목적에 따른 철도차량 시스템의 소프트웨어 개발 방법은, 소프트웨어 명세 정의 모듈이 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 단계; 소프트웨어 패키지 생성 모듈이 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 단계를 포함하도록 구성될 수 있다.
여기서, 소프트웨어 패키지 배포 모듈이 상기 소프트웨어 패키지 생성 모듈에서 생성된 소프트웨어 패키지를 빌드하는 단계를 더 포함하도록 구성될 수 있다.
이때, 상기 철도차량 시스템은, 철도차량의 기능을 수행하기 위한 하드웨어 및 소프트웨어로 구성될 수 있다.
그리고 상기 소프트웨어 명세 정의 모듈이 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 단계는, 태스크 정의부가 상기 개발하고자 하는 철도차량 시스템을 구성하는 태스크를 정의하는 단계; 인터페이스 정의부가 상기 태스크 정의부에서 정의되는 태스크 간의 인터페이스를 정의하는 단계; 파티션 정의부가 상기 태스크 정의부에서 정의되는 태스크의 동작을 기준으로 논리적 그룹을 형성하여 파티션을 정의하는 단계를 포함하도록 구성될 수 있다.
그리고 상기 소프트웨어 패키지 생성 모듈이 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 단계는, 소프트웨어 패키지 모델 구성부가 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따른 소프트웨어 패키지 모델을 구성하는 단계; 태스크 코드 생성부가 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델에 따른 각 태스크의 태스크 코드를 생성하는 단계; 시스템 설정부가 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델의 파티션 및 태스크를 기반으로 설정 정보를 생성하는 단계를 포함하도록 구성될 수 있다.
상술한 철도차량 시스템의 소프트웨어 개발 시스템 및 방법에 의하면, 철도 차량 시스템의 소프트웨어를 개발하는 과정에서 각 철도 차량이 갖는 목적이나 기능에 부합하는 소프트웨어 명세를 정의하고 이를 기반으로 소프트웨어를 개발하여 적용하도록 구성됨으로써, 소프트웨어의 개발 과정을 단축시키고 소프트웨어의 이식성과 호환성을 향상시킬 수 있는 효과가 있다.
구체적으로는 철도 차량의 구성품을 신모델 구성품으로 교체하는 과정에서, 소프트웨어 명세를 이용하여 신모델 구성품의 소프트웨어를 개발하여 해당 철도 차량의 철도 차량 시스템에 문제없이 결합할 수 있도록 하는 효과가 있다.
또한, 이러한 소프트웨어 명세를 통해 기존 구모델 구성품의 소프트웨어 개발 시 활용되었던 컴퓨팅 환경에 대한 종속성을 제거할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 철도차량 시스템의 소프트웨어 개발 시스템의 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 명세 요소의 구성을 나타내는 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 철도차량 시스템의 소프트웨어 개발 방법의 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 발명을 실시하기 위한 구체적인 내용에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 철도차량 시스템의 소프트웨어 개발 시스템의 블록 구성도이다. 그리고 도 2는 본 발명의 일 실시예에 따른 소프트웨어 명세 요소의 구성을 나타내는 블록 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 철도차량 시스템의 소프트웨어 개발 시스템(100)은 소프트웨어 명세 데이터베이스(110), 태스크 코드 데이터베이스(120), 소프트웨어 명세 정의 모듈(130), 소프트웨어 명세 저장 제어 모듈(140), 소프트웨어 패키지 생성 모듈(150), 소프트웨어 패키지 배포 모듈(160)을 포함하도록 구성될 수 있다.
이하, 세부적인 구성에 대하여 설명한다.
소프트웨어 명세 데이터베이스(110)는 철도차량 시스템의 소프트웨어 명세가 저장되도록 구성될 수 있다.
여기서, 철도 차량 시스템은 철도차량의 기능을 수행하기 위한 하드웨어 및 소프트웨어로 구성될 수 있다.
그리고 소프트웨어 명세는 도 2와 같은 소프트웨어 명세 요소들로 구성될 수 있다.
도 2를 참조하면, 소프트웨어 명세 요소는 가변 정보(10), 파티션(partition)(11), 태스크(task)(12), 통신채널(13), 발간채널(14), 구독채널(15), 교환정보(16), 자료형(17), 자원(18), 철도차량(19) 등으로 구성될 수 있다.
여기서, 철도차량(10)은 식별자와 태그로 구성된다. 식별자는 철도차량을 식별하기 위한 구성이고, 태그는 철도차량의 기능을 나타낸다. 이러한 태그는 소프트웨어 명세를 할 때 사용되어 철도차량 구성의 가변성을 명시하는데 이용될 수 있다.
태스크 코드 데이터베이스(120)는 소프트웨어 명세 데이터베이스(110)에 저장된 소프트웨어 명세에 대응되는 태스크 코드가 저장되도록 구성될 수 있다.
소프트웨어 명세 정의 모듈(130)은 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하도록 구성될 수 있다.
여기서, 소프트웨어 명세 정의 모듈(130)은 태스크(task) 정의부(131), 인터페이스(interface) 정의부(132), 파티션(partition) 정의부(133)를 포함하도록 구성될 수 있다.
이하, 세부적인 구성에 대하여 설명한다.
태스크 정의부(131)는 개발하고자 하는 철도차량 시스템을 구성하는 태스크를 정의하도록 구성될 수 있다. 구체적으로는 태스크 정의부(131)는 소프트웨어 패키지를 구성하는데 필요한 정보를 소프트웨어 명세 모델을 통해 정의하는 과정으로서, 철도 차량 시스템을 구성하는 단위 소프트웨어에 해당하는 태스크를 정의하도록 구성될 수 있다.
태스크 정의부(131)는 도 2의 태스크(12)를 통해 태스크를 정의하도록 구성될 수 있다. 태스크(12)는 이름, 통신채널, 내부동작, 버전, 필요차원의 속성으로 구성될 수 있다.
이때, 이름 속성은 철도 차량 소프트웨어, 즉 태스크의 이름(또는 식별자)를 명시하기 위한 속성값이고, 통신채널 속성은 철도 차량 소프트웨어의 통신 채널의 목록을 담고 있는 속성값이고, 내부동작 속성은 철도 차량 소프트웨어의 내부 동작을 명시하는 속성값이고, 관련된 소스코드 혹은 행위모델로 정의된 로직을 명시할 수 있다. 여기서, 관련된 로직이 존재하지 않는 경우에는 명시하지 않아도 무방하다. 버전 속성은 태스크의 버전을 명시하기 위한 속성값으로서, 태스크의 버전 관리를 위해 제공될 수 있다. 필요차원 속성은 태스크가 필요로 하는 자원에 대한 정보를 명시할 수 있다.
한편, 철도 차량의 기능을 나타내는 태그의 태그 목록은 가변정보(10)의 가변 포인트 속성을 통해 명시될 수 있다. 각 철도 차량은 가변 포인트 속성의 태그 목록을 통해 해당 철도 차량에서 구현되어야 하는 기능이 명시될 수 있다. 기능은 예를 들어, 제동 기능, 동력 기능 등이 있을 수 있다.
이때, 태그가 직접적으로 명시되는 소프트웨어 명세 요소는 태스크 정의부(131)에서 이루어지며, 나머지 소프트웨어 명세 요소들은 소프트웨어 패키지 모델 구성부(150)에 의해 자동으로 부여될 수 있다.
인터페이스 정의부(132)는 태스크 정의부(131)에서 정의되는 태스크 간의 인터페이스를 정의하도록 구성될 수 있다. 즉, 태스크 간의 정보 교환을 위한 인터페이스를 정의할 수 있다.
철도 차량 소프트웨어는 발간/구독(Publish/Subscribe) 방식의 통신 방법을 활용하기 때문에 하나의 태스크에서 발간한 정보는 구독을 신청한 모든 태스크에 전달될 수 있다. 따라서 정보 교환에 대해 명시할 때, 정보 교환의 대상 간의 연결을 표기할 필요가 없으며, 인터페이스 정의에서는 태스크(12) 간의 연결을 별도로 표시할 필요가 없다.
인터페이스 정의 과정에서는 직접적인 통신 채널을 표기하지 않고 태스크(12)의 통신채널 속성을 통해 소프트웨어가 발간 혹은 구독하여야 하는 정보의 목록을 명시할 수 있다. 이는 통신채널(13)을 통해 정의할 수 있다. 통신채널(13)은 발간과 구독의 구분을 위해 발간채널(14)과 구독채널(15)을 별도로 제공할 수 있다.
여기서, 발간채널(14)은 발간을 위한 통신 채널을 의미하며, 구독채널(15)은 구독을 위한 통신채널을 의미한다. 발간과 구독을 동시에 수행하는 통신채널은 존재하지 않는다. 발간과 구독 여부에 따라 태스크(12)의 통신채널 속성에 대한 정보를 추가함으로써 정보 교환에 대한 모델링을 수행할 수 있다. 추가된 통신채널을 통해 송수신되는 정보에 대한 명세는 교환정보(16)를 통해 수행하며, 이는 통신채널(13)의 교환정보 속성에 명시되어야 한다. 통신채널(13)의 교환정보 속성은 기존에 존재하는 모델을 재활용하거나 새로운 모델을 생성하여 추가할 수 있다.
한편, 교환정보(16)는 태스크 사이의 교환되는 정보를 정의하기 위한 모델 요소이다. 교환정보(16)는 식별자 속성, 전역 고유성 속성, 자료형 속성으로 구성될 수 있다. 식별자 속성은 식별자를 표기하기 위한 속성 값이며, 전역 고유성 속성에 의해 고유성 범위가 결정될 수 있다. 전역 고유성 속성은 해당 정보가 시스템 전역에서 사용되는지 표기하기 위한 속성 값으로서, 전역 고유성 속성이 설정되면 식별자 속성은 시스템 전체에서 고유하여야 한다. 자료형 속성은 정보의 자료형을 명시하기 위한 것이다. 현재, 철도 차량 소프트웨어 명세 모델에서 지원하는 자료형 속성은 정수, 실수, 불리언 등과 같은 원시 자료형에 한한다.
파티션 정의부(133)는 태스크 정의부(131)에서 정의되는 태스크의 동작을 기준으로 논리적 그룹을 형성하여 파티션을 정의하도록 구성될 수 있다.
파티선 정의를 통해 동일한 논리적 그룹에 포함된 태스크는 반드시 동일한 장치 위에서 동작하므로, 태스크 간의 응집도를 바탕으로 구성되어야 한다. 파티션 정의 과정에서는 파티션(11)을 통해 태스크의 논리적 그룹을 정의하며, 파티션(11)은 파티션의 이름 속성과 파티션에 포함되는 태스크의 목록인 내부 태스크 속성으로 구성될 수 있다.
소프트웨어 명세 저장 제어 모듈(140)은 소프트웨어 명세 정의 모듈(130)에 정의된 소프트웨어 명세를 소프트웨어 명세 데이터베이스(110)에 저장하도록 제어하도록 구성될 수 있다.
소프트웨어 패키지 생성 모듈(150)은 소프트웨어 명세 정의 모듈(130)에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하도록 구성될 수 있다.
소프트웨어 패키지 생성 모듈(150)은 소프트웨어 패키지 모델 구성부(151), 태스크 코드 생성부(152), 시스템 설정부(153), 소프트웨어 명세 독출부(154), 태스크 태그 대비부(155), 가변성 부여부(156), 태스크 코드 독출부(157), 가변성 부여 코드 자동 식별/표시부(158)를 포함하도록 구성될 수 있다.
이하, 세부적인 구성에 대하여 설명한다.
소프트웨어 패키지 모델 구성부(151)는 소프트웨어 명세 정의 모듈(130)에서 정의된 소프트웨어 명세에 따른 소프트웨어 패키지 모델을 구성하도록 구성될 수 있다.
소프트웨어 패키지 모델 구성부(151)는 각 철도차량에 맞는 모델 정보를 구성 및 생성할 수 있다. 각 철도차량에 맞는 모델 정보는 가변정보(10), 태스크(12), 철도차량(19)의 소프트웨어 명세 요소들을 기반으로 진행될 수 있다.
태스크 코드 생성부(152)는 소프트웨어 패키지 모델 구성부(151)에서 구성된 소프트웨어 패키지 모델에 따른 각 태스크의 태스크 코드를 생성하도록 구성될 수 있다.
태스크 코드 생성부(152)는 태스크를 위한 기본적인 소스 코드를 생성할 수 있다. 태스크(12)로 정의된 태스크 모델은 태스크의 구성에 대한 정보만 담고 있기 때문에 실제 동작을 위한 코드를 생성할 수 없다. 그러나, 모든 태스크가 가져야 하는 공통적인 코드는 템플릿 코드를 통해 생성할 수 있다. 태스크는 기본적으로 개통과 운영이라고 하는 동작 상태를 가지며, 동작 상태에 따라 수행하는 기능은 공통 기능에 해당된다. 즉, 태스크 코드 생성부(152)는 동작 상태에 따라 수행되어야 하는 기능을 소스코드로 생성할 수 있다.
여기서, 개통 상태는 태스크의 초기화 작업이 수행되는 단계로서, 주로 설정을 바탕으로 통신채널을 구성할 수 있다. 그리고 운영 상태는 개통 상태 이후에 도달되는 상태로서, 실제 태스크의 비즈니스 로직이 동작하도록 구성될 수 있다. 개통 상태에서 수행되는 코드는 모든 태스크가 동일하므로, 미리 정의된 템플릿 코드를 바탕으로 소스코드가 생성될 수 있다. 운영 상태에서 수행되는 코드는 태스크(12)의 내부동작 속성값을 기반으로 생성될 수 있다. 내부동작 속성값은 소스코드 혹은 행위모델로 명시될 수 있으며, 만일 내부동작 속성값이 소스코드인 경우에는 해당 코드를 그대로 사용하고, 행위모델인 경우에는 행위모델로부터 소스코드를 생성하여 사용할 수 있다. 내부동작 속성값이 존재하지 않는 경우에는 아무런 소스코드도 생성하지 않도록 구성될 수 있다.
시스템 설정부(153)는 소프트웨어 패키지 모델 구성부(151)에서 구성된 소프트웨어 패키지 모델의 파티션 및 태스크를 기반으로 설정 정보를 생성하도록 구성될 수 있다.
시스템 설정부(153)는 태스크 및 파티션의 구성을 바탕으로 시스템 동작을 위한 설정 정보를 생성하도록 구성될 수 있다. 철도 차량 소프트웨어가 동작하기 위해 필요한 설정 정보는 플랫폼 설정과 통신 설정이 존재한다. 플랫폼 설정은 철도차량 소프트웨어의 동작을 위해 제공되는 미들웨어 및 운영체제를 위한 것이며, 스케줄링 정보, 메모리 할당 정보 등의 내용으로 구성될 수 있다. 이를 생성하기 위해서 태스크(12)의 필요자원 속성을 활용할 수 있다. 필요자원 속성에서는 각 태스크가 동작하기 위해 필요한 CPU 시간 슬롯과 메모리 요구량이 명시될 수 있다. 플랫폼 설정은 파티션 단위로 수행되므로, 파티션에 포함된 태스크에 대한 CPU 시간 슬롯과 메모리 요구량의 총합을 통해 플랫폼 설정을 생성할 수 있다. 통신 설정은 태스크의 개통 상태에서 사용되는 설정 정보로서, 교환정보의 목록으로 구성될 수 있다. 태스크 개통 상태에서 교환 정보에 해당되는 요소를 생성하고 이를 교환하기 위해 전체 시스템을 탐색하는 과정을 수행하여야 하므로, 해당 정보를 구성하는 것은 매우 중요하다. 해당 정보는 각 태스크마다 태스크(12)의 통신채널 속성을 통해 파악할 수 있다. 통신채널 속성에 명시된 값에 따라 교환 정보의 전송 방향, 식별자, 자료형 등이 명시된 설정 정보를 생성할 수 있다. 이렇게 생성된 플랫폼 및 통신 설정 정보는 제공되는 미들웨어 및 운영체제에 따라 그 형태가 달라질 수 있으나, 일반적으로 JSON 형식으로 변환되어 배포될 수 있다.
소프트웨어 명세 독출부(154)는 소프트웨어 패키지 모델 구성부(151)에서 구성된 소프트웨어 패키지 모델을 기반으로 소프트웨어 명세 데이터베이스(110)에서 연관된 소프트웨어 명세를 검색하여 독출하도록 구성될 수 있다. 가장 유사한 소프트웨어 명세를 검색하여 독출할 수 있다.
태스크 태그 대비부(155)는 소프트웨어 패키지 모델 구성부(151)에서 구성된 소프트웨어 패키지 모델 및 소프트웨어 명세 독출부(154)에서 독출된 소프트웨어 명세 간의 태스크 태그를 대비하도록 구성될 수 있다. 태스크 태그의 대비를 통해 양 태스크가 유사한 기능과 목적을 갖는지를 대비할 수 있다.
가변성 부여부(156)는 태스크 태그 대비부(155)의 대비 결과 태스크 태그가 동일하지 않은 경우 해당 태스크에 대해 가변성을 부여하도록 구성될 수 있다.
여기서, 가변정보(10)는 태스크(12)에만 표기되어 있으며, 해당 정보를 바탕으로 태스크(12)와 연관된 요소에 대해서도 가변성을 부여할 수 있다.
예를 들어 태그 값 "제동"을 갖는 태스크 A와 아무런 태그 값을 갖지 않는 태스크 B가 존재한다고 가정할 때, 태스크 A와 B 사이에는 통신 채널이 존재하고 이는 태스크 A의 발간 포트와 태스크 B의 구독 포트로 표현될 수 있다. 해당 모델 정보는 태그값 "제동"을 갖는 철도차량에 대해서는 변경없이 적용될 수 있다.
그러나, 만일 태그값 "제동"을 갖지 않는 경우에는 태스크 A는 모델 정보에서 제거되어야 한다. 또한 태스크 A의 발간포트로부터 정보를 전달받을 태스크 B의 구독포트 역시 모델 정보에서 제거되어야 한다. 즉, 태스크 A의 발간포트와 태스크 B의 구독포트는 태그값 "제동"이 부여되어야 한다. 이와 같은 방식으로 태스크(20) 외의 다른 소프트웨어 명세 요소에 대해 가변성을 부여할 수 있다.
가변성을 부여한 이후에는 부여된 가변성을 기반으로 각 철도차량에 맞는 모델 정보가 생성될 수 있다. 철도차량에 존재하는 태그 값을 가진 모델 요소는 그대로 남겨두고 관련 없는 태그 값을 가진 모델 요소는 제거하는 방식으로 이루어질 수 있다. 만일 아무런 태그 값을 가지지 않은 모델 요소가 존재한다면, 공통 요소에 해당되는 것이므로 그대로 남겨둘 수 있다.
태스크 코드 독출부(157)는 가변성 부여부(156)에서 가변성이 부여된 태스크의 태스크 코드를 태스크 코드 데이터베이스(120)에서 검색하여 독출하도록 구성될 수 있다.
가변성 부여 코드 자동 식별/표시부(158)는 태스크 코드 독출부(157)에서 독출된 태스크 코드에서 가변성 부여 코드를 자동으로 식별하여 표시하도록 구성될 수 있다.
여기서, 태스크 코드 생성부(152)는 가변성 부여 코드 자동 식별/표시부(158)에서 표시된 가변성 부여 코드를 수정하여 태스크 코드를 생성하도록 구성될 수 있다.
소프트웨어 패키지 배포 모듈(160)은 소프트웨어 패키지 생성 모듈(150)에서 생성된 소프트웨어 패키지를 빌드하도록 구성될 수 있다. 철도 차량 시스템에 탑재될 수 있는 형태로 변환되며, 동일한 파티션에 포함되는 태스크 소스코드로부터 파티션 바이너리 코드를 생성하여 철도 차량 시스템에 탑재될 수 있다.
도 3은 본 발명의 일 실시예에 따른 철도차량 시스템의 소프트웨어 개발 방법의 흐름도이다.
도 3을 참조하면, 소프트웨어 명세 정의 모듈(130)이 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의한다(S110).
이때, 철도차량 시스템은 철도차량의 기능을 수행하기 위한 하드웨어 및 소프트웨어로 구성될 수 있다.
여기서, 태스크 정의부(131)가 개발하고자 하는 철도차량 시스템을 구성하는 태스크를 정의한다(S111). 그리고 인터페이스 정의부(132)가 태스크 정의부(131)에서 정의되는 태스크 간의 인터페이스를 정의하고(S112), 파티션 정의부(133)가 태스크 정의부(131)에서 정의되는 태스크의 동작을 기준으로 논리적 그룹을 형성하여 파티션을 정의한다(S113).
다음으로, 소프트웨어 패키지 생성 모듈(150)이 소프트웨어 명세 정의 모듈(130)에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성한다(S120).
다음으로, 소프트웨어 패키지 배포 모듈(160)이 소프트웨어 패키지 생성 모듈(150)에서 생성된 소프트웨어 패키지를 빌드한다(S130).
여기서, 소프트웨어 패키지 모델 구성부(151)가 소프트웨어 명세 정의 모듈(130)에서 정의된 소프트웨어 명세에 따른 소프트웨어 패키지 모델을 구성하고(S131), 태스크 코드 생성부(152)가 소프트웨어 패키지 모델 구성부(151)에서 구성된 소프트웨어 패키지 모델에 따른 각 태스크의 태스크 코드를 생성하고(S132), 시스템 설정부(153)가 소프트웨어 패키지 모델 구성부(151)에서 구성된 소프트웨어 패키지 모델의 파티션 및 태스크를 기반으로 설정 정보를 생성한다(S133).
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 소프트웨어 명세 정의 모듈; 및
    상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 소프트웨어 패키지 생성 모듈을 포함하는 철도차량 시스템의 소프트웨어 개발 시스템.
  2. 제1항에 있어서,
    상기 소프트웨어 패키지 생성 모듈에서 생성된 소프트웨어 패키지를 빌드하는 소프트웨어 패키지 배포 모듈을 더 포함하도록 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 시스템.
  3. 제1항에 있어서,
    상기 철도차량 시스템은,
    철도차량의 기능을 수행하기 위한 하드웨어 및 소프트웨어로 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 시스템.
  4. 제1항에 있어서,
    상기 소프트웨어 명세 정의 모듈은,
    상기 개발하고자 하는 철도차량 시스템을 구성하는 태스크를 정의하는 태스크 정의부;
    상기 태스크 정의부에서 정의되는 태스크 간의 인터페이스를 정의하는 인터페이스 정의부; 및
    상기 태스크 정의부에서 정의되는 태스크의 동작을 기준으로 논리적 그룹을 형성하여 파티션을 정의하는 파티션 정의부로 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 시스템.
  5. 제4항에 있어서,
    상기 소프트웨어 패키지 생성 모듈은,
    상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따른 소프트웨어 패키지 모델을 구성하는 소프트웨어 패키지 모델 구성부;
    상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델에 따른 각 태스크의 태스크 코드를 생성하는 태스크 코드 생성부; 및
    상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델의 파티션 및 태스크를 기반으로 설정 정보를 생성하는 시스템 설정부를 포함하도록 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 시스템.
  6. 소프트웨어 명세 정의 모듈이 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 단계; 및
    소프트웨어 패키지 생성 모듈이 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 단계를 포함하는 철도차량 시스템의 소프트웨어 개발 방법.
  7. 제6항에 있어서,
    소프트웨어 패키지 배포 모듈이 상기 소프트웨어 패키지 생성 모듈에서 생성된 소프트웨어 패키지를 빌드하는 단계를 더 포함하도록 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 방법.
  8. 제6항에 있어서,
    상기 철도차량 시스템은,
    철도차량의 기능을 수행하기 위한 하드웨어 및 소프트웨어로 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 방법.
  9. 제6항에 있어서,
    상기 소프트웨어 명세 정의 모듈이 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 단계는,
    태스크 정의부가 상기 개발하고자 하는 철도차량 시스템을 구성하는 태스크를 정의하는 단계;
    인터페이스 정의부가 상기 태스크 정의부에서 정의되는 태스크 간의 인터페이스를 정의하는 단계; 및
    파티션 정의부가 상기 태스크 정의부에서 정의되는 태스크의 동작을 기준으로 논리적 그룹을 형성하여 파티션을 정의하는 단계를 포함하도록 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 방법.
  10. 제9항에 있어서,
    상기 소프트웨어 패키지 생성 모듈이 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 단계는,
    소프트웨어 패키지 모델 구성부가 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따른 소프트웨어 패키지 모델을 구성하는 단계;
    태스크 코드 생성부가 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델에 따른 각 태스크의 태스크 코드를 생성하는 단계; 및
    시스템 설정부가 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델의 파티션 및 태스크를 기반으로 설정 정보를 생성하는 단계를 포함하도록 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 방법.
PCT/KR2022/000138 2022-01-04 2022-01-05 철도차량 시스템의 소프트웨어 개발 시스템 및 방법 WO2023132381A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0001069 2022-01-04
KR1020220001069A KR102545640B1 (ko) 2022-01-04 2022-01-04 철도차량 시스템의 소프트웨어 개발 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2023132381A1 true WO2023132381A1 (ko) 2023-07-13

Family

ID=86994752

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/000138 WO2023132381A1 (ko) 2022-01-04 2022-01-05 철도차량 시스템의 소프트웨어 개발 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR102545640B1 (ko)
WO (1) WO2023132381A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110080772A (ko) * 2010-01-07 2011-07-13 한국과학기술연구원 소프트웨어 패키지의 생성 및 설치를 위한 시스템 및 방법
KR101111441B1 (ko) * 2008-12-01 2012-02-16 한국전자통신연구원 차량 오픈 시스템 아키텍처에서의 응용 소프트웨어 구조 생성 방법 및 장치
KR20130138468A (ko) * 2012-06-11 2013-12-19 한국전자통신연구원 응용 소프트웨어와 autosar 서비스를 연결하기 위한 장치 및 방법
KR20190089942A (ko) * 2016-12-07 2019-07-31 폭스바겐 악티엔 게젤샤프트 운송 수단의 사용자를 지원하기 위한 장치, 운송 수단 및 방법
KR20210065301A (ko) * 2019-11-27 2021-06-04 주식회사 알티스트 Autosar 기반의 소프트웨어 설계 방법 및 이를 수행하기 위한 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITSV20020056A1 (it) 2002-11-14 2004-05-15 Alstom Transp Spa Dispositivo e metodo di verifica di motori software logici di comando di impianti ferroviari, in particolare di impianti di stazione
KR102277181B1 (ko) 2019-10-29 2021-07-14 한국철도기술연구원 철도 설비용 호환형 제어장치 및 이를 이용한 응용소프트웨어의 호환 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101111441B1 (ko) * 2008-12-01 2012-02-16 한국전자통신연구원 차량 오픈 시스템 아키텍처에서의 응용 소프트웨어 구조 생성 방법 및 장치
KR20110080772A (ko) * 2010-01-07 2011-07-13 한국과학기술연구원 소프트웨어 패키지의 생성 및 설치를 위한 시스템 및 방법
KR20130138468A (ko) * 2012-06-11 2013-12-19 한국전자통신연구원 응용 소프트웨어와 autosar 서비스를 연결하기 위한 장치 및 방법
KR20190089942A (ko) * 2016-12-07 2019-07-31 폭스바겐 악티엔 게젤샤프트 운송 수단의 사용자를 지원하기 위한 장치, 운송 수단 및 방법
KR20210065301A (ko) * 2019-11-27 2021-06-04 주식회사 알티스트 Autosar 기반의 소프트웨어 설계 방법 및 이를 수행하기 위한 장치

Also Published As

Publication number Publication date
KR102545640B1 (ko) 2023-06-20

Similar Documents

Publication Publication Date Title
WO2019198885A1 (ko) 블록체인 기반의 다수의 서비스 노드를 사용하는 탈중앙화 서비스 플랫폼
WO2012067351A2 (ko) 소프트웨어 개발 방법 및 이를 위한 장치
WO2016111525A1 (ko) 소스코드 이관제어 방법 및 이를 위한 컴퓨터 프로그램, 그 기록매체
WO2021107179A1 (ko) Autosar 기반 응용 소프트웨어의 설정 코드 자동 생성 방법 및 장치
CN112147983B (zh) 一种车辆诊断方法、装置、电子设备及存储介质
CN112579098A (zh) 软件发布方法、装置、电子设备及可读存储介质
WO2023153558A1 (ko) 구조화 문서에 포함된 자원들에 관한 권한을 관리하는 방법 및 이를 이용한 장치
WO2022139325A1 (ko) 과적합 없는 단일 신경망 기반 다중 도메인 적응 학습을 위한 컴퓨터 시스템, 및 그의 방법
CN111694586A (zh) 程序初始化方法、程序初始化装置、终端设备及存储介质
WO2023132381A1 (ko) 철도차량 시스템의 소프트웨어 개발 시스템 및 방법
WO2009116748A2 (ko) 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및 장치
WO2019235884A1 (ko) 임상 의사 결정 시스템 구축을 위한 의료 정보 변환 방법 및 시스템
CN109446686B (zh) 设备内部器件间的逻辑连接关系分析方法
CN113254446A (zh) 数据融合方法、装置、电子设备及介质
WO2016085213A1 (ko) 컴퓨터 수행 가능한 모델 역공학 방법 및 장치
CN114418585A (zh) 智能合约生成方法、装置及相关设备
CN113971019A (zh) 数据类型创建方法、装置、服务器及介质
CN113704000A (zh) 服务访问优化方法、装置、设备及介质
CN113703339A (zh) 一种自动驾驶仿真方法、装置、设备及存储介质
CN113342429A (zh) 智能合约数据处理方法、装置、计算机设备及存储介质
WO2022145520A1 (ko) 블록체인과 연계된 개인정보 관리를 위한 데이터 맵핑 방법 및 장치
WO2024128344A1 (ko) 자산관리쉘 정보 모델을 활용한 장비 연동 및 데이터 시각화 방법
CN115509146B (zh) 一种飞行维护模拟机分布式通讯资源整合方法
WO2017030337A1 (ko) 사물 인터넷에서의 연관된 트랜잭션 처리 방법, 이를 위한 사물 인터넷 통신 노드, 및 이들을 이용한 사물 인터넷 망
WO2022114657A1 (ko) 임베디드 인공지능 설정 시스템 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22918918

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE