KR102545640B1 - 철도차량 시스템의 소프트웨어 개발 시스템 및 방법 - Google Patents
철도차량 시스템의 소프트웨어 개발 시스템 및 방법 Download PDFInfo
- Publication number
- KR102545640B1 KR102545640B1 KR1020220001069A KR20220001069A KR102545640B1 KR 102545640 B1 KR102545640 B1 KR 102545640B1 KR 1020220001069 A KR1020220001069 A KR 1020220001069A KR 20220001069 A KR20220001069 A KR 20220001069A KR 102545640 B1 KR102545640 B1 KR 102545640B1
- Authority
- KR
- South Korea
- Prior art keywords
- software
- task
- railway vehicle
- software package
- unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000009826 distribution Methods 0.000 claims abstract description 9
- 238000005192 partition Methods 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 24
- 238000010276 construction Methods 0.000 claims description 6
- 238000005096 rolling process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
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
본 발명은 소프트웨어 개발 시스템 및 방법에 관한 것으로서, 구체적으로는 철도차량 시스템의 소프트웨어 개발 시스템 및 방법에 관한 것이다.
철도 차량 시스템은 철도 차량의 기능을 제공하기 위한 장치 및 소프트웨어로 구성된 요소를 의미한다. 동일한 목적과 기능을 갖는 철도 차량들은 철도 차량 시스템의 구성 역시 유사하다.
예를 들어, 철도 차량에 제동 기능이 있는지의 여부에 따라 제동 기능이 있는 철도 차량과 제동 기능이 없는 철도 차량 간에 철도 차량 시스템의 유사성도 달라지게 된다.
한편, 종래의 철도 차량 소프트웨어는 컴퓨팅 환경에 종속적인 형태로 나타난다. 컴퓨팅 환경에 해당되는 장치 및 네트워크는 한번 정의된 구성에서 변경하기 어려우며, 이를 변경하기 위해서는 관련된 부분을 새로 개발하여야 한다.
그런데, 철도 차량의 장치나 부품이 노후화되어 교체를 해야 하는 경우, 해당 장치가 단종된 경우가 자주 발생한다. 이러한 경우 새로운 장치로 대체하여 교체하여야 하지만, 새로운 장치는 기존의 철도 차량 소프트웨어로는 구동할 수 없기 때문에 동일한 기능을 갖는 철도 차량 소프트웨어를 새로 개발하여야 한다.
수십년의 장기간 운용되는 철도 차량은 수많은 장치들의 결합으로 구성되는데, 그러한 장치들을 교체하는 과정에서 철도 차량 소프트웨어까지 새로 개발해야하는 과정이 뒤따르고 있다.
이에, 새로운 장치의 교체 과정에서 전체 철도 차량 시스템(소프트웨어)에 새로운 소프트웨어를 개발하여 결합시키기 위해 너무나 많은 작업량이 소요되는 문제점이 있다. 단순히 장치 하나를 교체하여도 전체 철도 차량 시스템에 문제없이 결합하는 것이 쉽지 않은 과정일뿐만 아니라, 철도 차량의 목적이나 기능에 따라서도 동일한 장치의 소프트웨어 개발이 각각 다르게 이루어지고 그에 결합되어야 한다는 문제점이 있다.
본 발명의 목적은 철도차량 시스템의 소프트웨어 개발 시스템을 제공하는 데 있다.
본 발명의 다른 목적은 철도차량 시스템의 소프트웨어 개발 방법을 제공하는 데 있다.
상술한 본 발명의 목적에 따른 철도차량 시스템의 소프트웨어 개발 시스템은, 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 소프트웨어 명세 정의 모듈; 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 소프트웨어 패키지 생성 모듈을 포함하도록 구성될 수 있다.
여기서, 상기 소프트웨어 패키지 생성 모듈에서 생성된 소프트웨어 패키지를 빌드하는 소프트웨어 패키지 배포 모듈을 더 포함하도록 구성될 수 있다.
이때, 상기 철도차량 시스템은, 철도차량의 기능을 수행하기 위한 하드웨어 및 소프트웨어로 구성될 수 있다.
그리고 상기 소프트웨어 명세 정의 모듈은, 상기 개발하고자 하는 철도차량 시스템을 구성하는 태스크를 정의하는 태스크 정의부; 상기 태스크 정의부에서 정의되는 태스크 간의 인터페이스를 정의하는 인터페이스 정의부; 상기 태스크 정의부에서 정의되는 태스크의 동작을 기준으로 논리적 그룹을 형성하여 파티션을 정의하는 파티션 정의부로 구성될 수 있다.
그리고 상기 소프트웨어 패키지 생성 모듈은, 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따른 소프트웨어 패키지 모델을 구성하는 소프트웨어 패키지 모델 구성부; 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델에 따른 각 태스크의 태스크 코드를 생성하는 태스크 코드 생성부; 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델의 파티션 및 태스크를 기반으로 설정 정보를 생성하는 시스템 설정부를 포함하도록 구성될 수 있다.
상술한 본 발명의 다른 목적에 따른 철도차량 시스템의 소프트웨어 개발 방법은, 소프트웨어 명세 정의 모듈이 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 단계; 소프트웨어 패키지 생성 모듈이 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 단계를 포함하도록 구성될 수 있다.
여기서, 소프트웨어 패키지 배포 모듈이 상기 소프트웨어 패키지 생성 모듈에서 생성된 소프트웨어 패키지를 빌드하는 단계를 더 포함하도록 구성될 수 있다.
이때, 상기 철도차량 시스템은, 철도차량의 기능을 수행하기 위한 하드웨어 및 소프트웨어로 구성될 수 있다.
그리고 상기 소프트웨어 명세 정의 모듈이 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 단계는, 태스크 정의부가 상기 개발하고자 하는 철도차량 시스템을 구성하는 태스크를 정의하는 단계; 인터페이스 정의부가 상기 태스크 정의부에서 정의되는 태스크 간의 인터페이스를 정의하는 단계; 파티션 정의부가 상기 태스크 정의부에서 정의되는 태스크의 동작을 기준으로 논리적 그룹을 형성하여 파티션을 정의하는 단계를 포함하도록 구성될 수 있다.
그리고 상기 소프트웨어 패키지 생성 모듈이 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 단계는, 소프트웨어 패키지 모델 구성부가 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따른 소프트웨어 패키지 모델을 구성하는 단계; 태스크 코드 생성부가 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델에 따른 각 태스크의 태스크 코드를 생성하는 단계; 시스템 설정부가 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델의 파티션 및 태스크를 기반으로 설정 정보를 생성하는 단계를 포함하도록 구성될 수 있다.
상술한 철도차량 시스템의 소프트웨어 개발 시스템 및 방법에 의하면, 철도 차량 시스템의 소프트웨어를 개발하는 과정에서 각 철도 차량이 갖는 목적이나 기능에 부합하는 소프트웨어 명세를 정의하고 이를 기반으로 소프트웨어를 개발하여 적용하도록 구성됨으로써, 소프트웨어의 개발 과정을 단축시키고 소프트웨어의 이식성과 호환성을 향상시킬 수 있는 효과가 있다.
구체적으로는 철도 차량의 구성품을 신모델 구성품으로 교체하는 과정에서, 소프트웨어 명세를 이용하여 신모델 구성품의 소프트웨어를 개발하여 해당 철도 차량의 철도 차량 시스템에 문제없이 결합할 수 있도록 하는 효과가 있다.
또한, 이러한 소프트웨어 명세를 통해 기존 구모델 구성품의 소프트웨어 개발 시 활용되었던 컴퓨팅 환경에 대한 종속성을 제거할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 철도차량 시스템의 소프트웨어 개발 시스템의 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 명세 요소의 구성을 나타내는 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 철도차량 시스템의 소프트웨어 개발 방법의 흐름도이다.
도 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).
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110: 소프트웨어 명세 데이터베이스
120: 태스크 코드 데이터베이스
130: 소프트웨어 명세 정의 모듈
131: 태스크 정의부
132: 인터페이스 정의부
133: 파티션 정의부
140: 소프트웨어 명세 저장 제어 모듈
150: 소프트웨어 패키지 생성 모듈
151: 소프트웨어 패키지 모델 구성부
152: 태스크 코드 생성부
153: 시스템 설정부
154: 소프트웨어 명세 독출부
155: 태스크 태그 대비부
156: 가변성 부여부
157: 태스크 코드 독출부
158: 가변성 부여 코드 자동 식별/표시부
160: 소프트웨어 패키지 배포 모듈
120: 태스크 코드 데이터베이스
130: 소프트웨어 명세 정의 모듈
131: 태스크 정의부
132: 인터페이스 정의부
133: 파티션 정의부
140: 소프트웨어 명세 저장 제어 모듈
150: 소프트웨어 패키지 생성 모듈
151: 소프트웨어 패키지 모델 구성부
152: 태스크 코드 생성부
153: 시스템 설정부
154: 소프트웨어 명세 독출부
155: 태스크 태그 대비부
156: 가변성 부여부
157: 태스크 코드 독출부
158: 가변성 부여 코드 자동 식별/표시부
160: 소프트웨어 패키지 배포 모듈
Claims (10)
- 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 소프트웨어 명세 정의 모듈;
상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 소프트웨어 패키지 생성 모듈을 포함하고,
상기 소프트웨어 명세 정의 모듈은,
상기 개발하고자 하는 철도차량 시스템을 구성하고, 이름, 통신채널, 내부동작, 버전 및 필요차원의 속성을 가지는 태스크를 정의하는 태스크 정의부,
상기 태스크 정의부에서 정의되는 태스크의 통신채널 속성에 기초하여 소프트웨어가 발간 또는 구독하여야 하는 정보의 목록을 명시함으로써 태스크 간의 정보 교환을 위한 인터페이스를 정의하는 인터페이스 정의부, 및
상기 태스크 정의부에서 정의되는 태스크의 동작 및 태스크 간의 응집도를 기반으로 논리적 그룹을 형성하여 파티션- 상기 파티션은 포함된 태스크의 목록인 내부 태스크 속성을 포함함 -을 정의하는 파티션 정의부로 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 시스템.
- 제1항에 있어서,
상기 소프트웨어 패키지 생성 모듈에서 생성된 소프트웨어 패키지를 빌드하는 소프트웨어 패키지 배포 모듈을 더 포함하도록 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 시스템.
- 제1항에 있어서,
상기 철도차량 시스템은,
철도차량의 기능을 수행하기 위한 하드웨어 및 소프트웨어로 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 시스템.
- 삭제
- 제1항에 있어서,
상기 소프트웨어 패키지 생성 모듈은,
상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따른 소프트웨어 패키지 모델을 구성하는 소프트웨어 패키지 모델 구성부;
상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델에 따른 각 태스크의 태스크 코드를 생성하는 태스크 코드 생성부;
상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델의 파티션 및 태스크를 기반으로 설정 정보를 생성하는 시스템 설정부를 포함하도록 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 시스템.
- 소프트웨어 명세 정의 모듈이 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 단계;
소프트웨어 패키지 생성 모듈이 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 단계를 포함하고,
상기 소프트웨어 명세 정의 모듈이 개발하고자 하는 철도차량 시스템에 따라 소프트웨어 명세를 정의하는 단계는,
태스크 정의부가, 상기 개발하고자 하는 철도차량 시스템을 구성하고, 이름, 통신채널, 내부동작, 버전 및 필요차원의 속성을 가지는 태스크를 정의하는 단계,
인터페이스 정의부가, 상기 태스크 정의부에서 정의되는 태스크의 통신채널 속성에 기초하여 소프트웨어가 발간 또는 구독하여야 하는 정보의 목록을 명시함으로써 태스크 간의 정보 교환을 위한 인터페이스를 정의하는 단계, 및
파티션 정의부가, 상기 태스크 정의부에서 정의되는 태스크의 동작 및 태스크 간의 응집도를 기반으로 논리적 그룹을 형성하여 파티션- 상기 파티션은 포함된 태스크의 목록인 내부 태스크 속성을 포함함 -을 정의하는 단계를 포함하도록 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 방법.
- 제6항에 있어서,
소프트웨어 패키지 배포 모듈이 상기 소프트웨어 패키지 생성 모듈에서 생성된 소프트웨어 패키지를 빌드하는 단계를 더 포함하도록 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 방법.
- 제6항에 있어서,
상기 철도차량 시스템은,
철도차량의 기능을 수행하기 위한 하드웨어 및 소프트웨어로 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 방법.
- 삭제
- 제6항에 있어서,
상기 소프트웨어 패키지 생성 모듈이 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따라 소프트웨어 패키지를 생성하는 단계는,
소프트웨어 패키지 모델 구성부가 상기 소프트웨어 명세 정의 모듈에서 정의된 소프트웨어 명세에 따른 소프트웨어 패키지 모델을 구성하는 단계;
태스크 코드 생성부가 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델에 따른 각 태스크의 태스크 코드를 생성하는 단계;
시스템 설정부가 상기 소프트웨어 패키지 모델 구성부에서 구성된 소프트웨어 패키지 모델의 파티션 및 태스크를 기반으로 설정 정보를 생성하는 단계를 포함하도록 구성되는 것을 특징으로 하는 철도차량 시스템의 소프트웨어 개발 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220001069A KR102545640B1 (ko) | 2022-01-04 | 2022-01-04 | 철도차량 시스템의 소프트웨어 개발 시스템 및 방법 |
PCT/KR2022/000138 WO2023132381A1 (ko) | 2022-01-04 | 2022-01-05 | 철도차량 시스템의 소프트웨어 개발 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220001069A KR102545640B1 (ko) | 2022-01-04 | 2022-01-04 | 철도차량 시스템의 소프트웨어 개발 시스템 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102545640B1 true KR102545640B1 (ko) | 2023-06-20 |
Family
ID=86994752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220001069A KR102545640B1 (ko) | 2022-01-04 | 2022-01-04 | 철도차량 시스템의 소프트웨어 개발 시스템 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102545640B1 (ko) |
WO (1) | WO2023132381A1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100735949B1 (ko) | 2002-11-14 | 2007-07-06 | 알스톰 페로비아리아 에스.피.에이. | 설비, 특히 역사설비에 명령을 하는 철도의 논리소프트웨어 엔진들을 점검하는 장치와 방법 |
KR20190089942A (ko) * | 2016-12-07 | 2019-07-31 | 폭스바겐 악티엔 게젤샤프트 | 운송 수단의 사용자를 지원하기 위한 장치, 운송 수단 및 방법 |
KR20210065301A (ko) * | 2019-11-27 | 2021-06-04 | 주식회사 알티스트 | Autosar 기반의 소프트웨어 설계 방법 및 이를 수행하기 위한 장치 |
KR102277181B1 (ko) | 2019-10-29 | 2021-07-14 | 한국철도기술연구원 | 철도 설비용 호환형 제어장치 및 이를 이용한 응용소프트웨어의 호환 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101111441B1 (ko) * | 2008-12-01 | 2012-02-16 | 한국전자통신연구원 | 차량 오픈 시스템 아키텍처에서의 응용 소프트웨어 구조 생성 방법 및 장치 |
KR101092373B1 (ko) * | 2010-01-07 | 2011-12-09 | 한국과학기술연구원 | 소프트웨어 패키지의 생성 및 설치를 위한 시스템 및 방법 |
KR20130138468A (ko) * | 2012-06-11 | 2013-12-19 | 한국전자통신연구원 | 응용 소프트웨어와 autosar 서비스를 연결하기 위한 장치 및 방법 |
-
2022
- 2022-01-04 KR KR1020220001069A patent/KR102545640B1/ko active IP Right Grant
- 2022-01-05 WO PCT/KR2022/000138 patent/WO2023132381A1/ko unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100735949B1 (ko) | 2002-11-14 | 2007-07-06 | 알스톰 페로비아리아 에스.피.에이. | 설비, 특히 역사설비에 명령을 하는 철도의 논리소프트웨어 엔진들을 점검하는 장치와 방법 |
KR20190089942A (ko) * | 2016-12-07 | 2019-07-31 | 폭스바겐 악티엔 게젤샤프트 | 운송 수단의 사용자를 지원하기 위한 장치, 운송 수단 및 방법 |
KR102277181B1 (ko) | 2019-10-29 | 2021-07-14 | 한국철도기술연구원 | 철도 설비용 호환형 제어장치 및 이를 이용한 응용소프트웨어의 호환 방법 |
KR20210065301A (ko) * | 2019-11-27 | 2021-06-04 | 주식회사 알티스트 | Autosar 기반의 소프트웨어 설계 방법 및 이를 수행하기 위한 장치 |
Also Published As
Publication number | Publication date |
---|---|
WO2023132381A1 (ko) | 2023-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022160707A1 (zh) | 结合rpa和ai的人机互动方法、装置、存储介质及电子设备 | |
CN108090073B (zh) | 一种可配置物料清单的转换方法及装置 | |
US20130304713A1 (en) | System and method for metadata level validation of custom setup objects | |
CN113052696A (zh) | 金融业务任务处理方法、装置、计算机设备和存储介质 | |
CN105005543A (zh) | 一种接口生成装置及方法 | |
CN110737425B (zh) | 一种计费平台系统的应用程序的建立方法及装置 | |
CN111428451A (zh) | 文本在线编辑方法、装置、电子设备及存储介质 | |
CN109614325A (zh) | 一种确定控件属性的方法及装置、电子设备和存储介质 | |
CN113239047A (zh) | 一种分库配置方法、业务处理方法、装置及设备 | |
CN113919158A (zh) | 一种用于飞行控制面板的仿真方法、装置及存储介质 | |
KR102545640B1 (ko) | 철도차량 시스템의 소프트웨어 개발 시스템 및 방법 | |
CN111580409B (zh) | 面向实时嵌入式系统的故障仿真测试方法 | |
CN117669518A (zh) | 文件生成方法、系统、计算机设备及存储介质 | |
Pan et al. | Automated Design Space Exploration for Resource Allocation in Software-Defined Vehicles | |
JP4137877B2 (ja) | Acpi制御メソッドの名前の衝突の回避 | |
CN107765655B (zh) | 以消息路由系统扩展mes功能的方法、系统及可读介质 | |
CN109189370B (zh) | 软件组件的生成方法、装置、设备及计算机可读存储介质 | |
CN112306466A (zh) | Aar包生成方法、电子设备及存储介质 | |
de Camargo et al. | An approach to design crosscutting framework families | |
CN117234466B (zh) | 企业管理软件开发方法、系统、设备及存储介质 | |
US20210240469A1 (en) | Method and apparatus for managing modules | |
CN114756292A (zh) | 组件配置的方法和装置 | |
KR20230021632A (ko) | 버스 어댑터와 채널의 바인딩 설치방법, 매핑 관리기 및 연결시스템 | |
CN116382759A (zh) | 一种软件资产管理方法及装置 | |
CN115859874A (zh) | 检查器设置方法、报告生成方法、装置及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |