KR102633556B1 - Method for configuring a communication channel based on the trosar platform - Google Patents

Method for configuring a communication channel based on the trosar platform Download PDF

Info

Publication number
KR102633556B1
KR102633556B1 KR1020230136260A KR20230136260A KR102633556B1 KR 102633556 B1 KR102633556 B1 KR 102633556B1 KR 1020230136260 A KR1020230136260 A KR 1020230136260A KR 20230136260 A KR20230136260 A KR 20230136260A KR 102633556 B1 KR102633556 B1 KR 102633556B1
Authority
KR
South Korea
Prior art keywords
trosar
model
setting
data
models
Prior art date
Application number
KR1020230136260A
Other languages
Korean (ko)
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 KR1020230136260A priority Critical patent/KR102633556B1/en
Application granted granted Critical
Publication of KR102633556B1 publication Critical patent/KR102633556B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks

Abstract

본원 발명의 통신 채널 구성 방법은 복수의 TROSAR 모델들 간의 연결 관계를 나타내는 링 구조를 설정하는 단계; 상기 링 구조의 이터레이션(iteration) 결과에 기초하여 각 TROSAR 모델에 대한 패킷 구성을 설정하는 단계; 및 상기 패킷 구성에 기초하여 각 TROSAR 모델과 관련된 패킷의 식별자를 생성하는 단계를 포함할 수 있다.The communication channel configuration method of the present invention includes setting a ring structure representing a connection relationship between a plurality of TROSAR models; setting a packet configuration for each TROSAR model based on an iteration result of the ring structure; and generating an identifier of a packet related to each TROSAR model based on the packet configuration.

Description

TROSAR 플랫폼 기반의 통신 채널 구성 방법{METHOD FOR CONFIGURING A COMMUNICATION CHANNEL BASED ON THE TROSAR PLATFORM}{METHOD FOR CONFIGURING A COMMUNICATION CHANNEL BASED ON THE TROSAR PLATFORM}

본원 발명은 TROSAR 플랫폼 기반의 통신 채널 구성 방법에 관한 것으로, 보다 상세하게는, 필요 없는 데이터는 제거하여 송신함으로써 최적화된 패킷을 구성하기 위한 통신 채널 구성 방법에 관한 것이다.The present invention relates to a method of configuring a communication channel based on the TROSAR platform, and more specifically, to a method of configuring a communication channel to configure an optimized packet by removing unnecessary data and transmitting it.

TROSAR 플랫폼은 철도차량용 소프트웨어 시스템을 개발하기 위해 요구사항 분석 단계부터 소프트웨어 개발 및 검증까지 수행할 수 있는 개발 플랫폼이다. TROSAR 플랫폼에서는 TROSAR 모델을 통해 요구사항 분석 및 하드웨어 및 소프트웨어 설계를 수행한다. 동일한 모델을 통해 하드웨어와 소프트웨어, 그리고 시스템의 구분 없이 수행되기 때문에 특정 TROSAR 모델을 소프트웨어로 변환하는 작업, 이른바 SW부품화 작업을 수행하기 위해서는 TROSAR 모델을 어떤 형태의 소프트웨어로 변환할 것인지 분석하는 과정이 필요하다.The TROSAR platform is a development platform that can perform everything from the requirements analysis stage to software development and verification to develop a software system for railway vehicles. The TROSAR platform performs requirements analysis and hardware and software design through the TROSAR model. Since it is performed without distinction between hardware, software, and system through the same model, in order to convert a specific TROSAR model into software, or so-called SW componentization, the process of analyzing what type of software to convert the TROSAR model to is required. need.

또한 TROSAR 플랫폼을 통해 정의되고 개발된 소프트웨어는 특정 운영체제에 종속되지 않도록 구성되기 때문에, TROSAR 모델에는 철도차량용 개방형 호환체계를 구성하는 파티셔닝 기반의 실시간 운영체제에 대한 특성이 전혀 반영되어 있지 않다. 따라서 TROSAR 모델로부터 생성되는 소프트웨어를 파티셔닝 기반의 실시간 운영체제에 어떤 형태로 포팅할 것인지 분석하는 과정도 필요하다.Additionally, because the software defined and developed through the TROSAR platform is configured not to depend on a specific operating system, the TROSAR model does not reflect the characteristics of the partitioning-based real-time operating system that constitutes an open compatible system for railroad vehicles. Therefore, it is also necessary to analyze how the software generated from the TROSAR model will be ported to a partitioning-based real-time operating system.

철도차량용 소프트웨어 사이의 데이터 교환을 위한 통신 프로토콜의 경우에는 철도차량용 소프트웨어가 탑재된 하드웨어 장치가 서로 링 구조 또는 버스 구조로 연결되며, 철도차량용 소프트웨어가 브로드캐스트 또는 멀티캐스트를 통해 데이터 교환이 수행된다. 송신된 데이터는 직접적으로 연결된 다른 장치로 이동되며, 해당 장치에 탑재된 철도차량용 소프트웨어가 필요한 데이터만을 수신한 뒤, 다른 장치로 전달하는 방식으로 통신이 수행되어야 한다. 따라서, 통신 최적화를 위해 한 장치에서 송신되어야 하는 모든 데이터를 하나의 패킷으로 구성하여 전송할 필요가 있다.In the case of a communication protocol for data exchange between software for railway vehicles, hardware devices equipped with software for railway vehicles are connected to each other in a ring structure or bus structure, and the software for railway vehicles exchanges data through broadcast or multicast. The transmitted data is moved to another directly connected device, and communication must be performed in such a way that the railroad vehicle software mounted on the device receives only the necessary data and then transmits it to the other device. Therefore, for communication optimization, it is necessary to configure all data to be transmitted from one device and transmit it as one packet.

본원 발명의 일 과제는 최적의 링 구조를 생성 및 이용하는 통신 채널 구성 방법에 관한 것이다.One object of the present invention relates to a method of configuring a communication channel that creates and uses an optimal ring structure.

일 실시예에 따른 통신 채널 구성 방법은 적어도 하나 이상의 프로세서에 의해 수행되는 통신 채널 구성 방법에 있어서, 복수의 TROSAR 모델들 간의 연결 관계를 나타내는 링 구조를 설정하는 단계; 상기 링 구조의 이터레이션(iteration) 결과에 기초하여 각 TROSAR 모델에 대한 패킷 구성을 설정하는 단계; 및 상기 패킷 구성에 기초하여 각 TROSAR 모델과 관련된 패킷의 식별자를 생성하는 단계를 포함할 수 있다.A method of configuring a communication channel according to an embodiment is performed by at least one processor, comprising: setting a ring structure representing a connection relationship between a plurality of TROSAR models; setting a packet configuration for each TROSAR model based on an iteration result of the ring structure; and generating an identifier of a packet related to each TROSAR model based on the packet configuration.

여기서, 상기 링 구조를 설정하는 단계는, 상기 복수의 TROSAR 모델들 중 어느 하나의 출력 데이터와 다른 하나의 입력 데이터의 중복 정도를 확인하는 단계; 및 상기 중복 정도에 기초하여 상기 복수의 TROSAR 모델들 간의 연결 관계를 설정하는 단계를 포함할 수 있다.Here, setting the ring structure includes checking the degree of overlap between output data of one of the plurality of TROSAR models and input data of another one of the plurality of TROSAR models; And it may include establishing a connection relationship between the plurality of TROSAR models based on the degree of overlap.

여기서, 상기 복수의 TROSAR 모델들 간의 연결 관계를 설정하는 단계는, 각 TROSAR 모델들이 수신하지 않고 전달하는 패킷의 개수를 최소화하기 위해, 상기 복수의 TROSAR 모델들 중 제1 TROSAR 모델과 중복 정도가 가장 큰 제2 TORSAR 모델을 상기 제1 TROSAR 모델과 연결하는 단계일 수 있다.Here, the step of establishing a connection relationship between the plurality of TROSAR models is to minimize the number of packets that each TROSAR model transmits without receiving, so that the degree of overlap with the first TROSAR model among the plurality of TROSAR models is the highest. This may be a step of connecting the large second TORSAR model with the first TROSAR model.

여기서, 상기 패킷 구성을 설정하는 단계는, 상기 링 구조의 수행 결과가 변하지 않을 때까지 상기 링 구조에 대한 이터레이션을 수행하는 단계; 및 상기 이터레이션 이후, 각 TROSAR 모델에게 전달되는 데이터에 기초하여 각 TROSAR 모델에 대응되는 패킷 구성을 설정하는 단계를 포함할 수 있다.Here, setting the packet configuration includes performing iteration on the ring structure until the performance result of the ring structure does not change; And after the iteration, it may include setting a packet configuration corresponding to each TROSAR model based on data delivered to each TROSAR model.

여기서, 상기 식별자를 생성하는 단계는, 상기 패킷 구성에 기초하여 해쉬값을 생성하는 단계; 및 생성된 해쉬값을 상기 패킷 구성에 대응되는 식별자로 설정하는 단계를 포함할 수 있다.Here, generating the identifier includes generating a hash value based on the packet configuration; And it may include setting the generated hash value as an identifier corresponding to the packet configuration.

여기서, 상기 이터레이션을 수행하는 단계는, 상기 복수의 TROSAR 모델들 중 제1 TROSAR 모델을 시작점으로 설정하는 단계; 상기 제1 TROSAR 모델부터 상기 제1 TROSAR 모델의 입력과 연결된 제2 TROSAR 모델까지의 경로를 반복 주기로 설정하는 단계; 상기 반복 주기마다 각 TROSAR 모델의 입력 데이터와 관련된 수행 결과를 확인하는 단계; 및 N번째 반복 주기(상기 N은 2 이상의 자연수임)의 수행 결과가 N-1번째 반복 주기의 수행 결과와 동일한 경우, 반복을 중단하는 단계를 포함할 수 있다.Here, performing the iteration includes setting a first TROSAR model among the plurality of TROSAR models as a starting point; Setting a path from the first TROSAR model to a second TROSAR model connected to the input of the first TROSAR model as a repetition period; Checking performance results related to input data of each TROSAR model at each repetition cycle; and stopping the repetition when the performance result of the Nth repetition cycle (where N is a natural number of 2 or more) is the same as the performance result of the N-1th repetition cycle.

여기서, 상기 통신 채널 구성 방법을 실행시키도록 컴퓨터로 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공될 수 있다.Here, a computer program stored in a computer-readable recording medium may be provided to execute the communication channel configuration method.

본원 발명의 일 실시예에 따르면 최적의 링 구조를 생성 및 이용하는 통신 채널 구성 방법이 제공될 수 있다.According to an embodiment of the present invention, a method of configuring a communication channel that creates and uses an optimal ring structure can be provided.

도 1은 일 실시예에 따른 TROSAR 모델 분석 시스템의 블록도이다.
도 2는 일 실시예에 따른 TROSAR 모델의 분석 방법의 순서도이다.
도 3은 일 실시예에 따른 TROSAR 모델의 속성 결정 방법의 순서도이다.
도 4는 일 실시예에 따른 의존성 조건에 기초한 TROSAR 모델 생성 방법의 순서도이다.
도 5 및 도 6은 의존성 조건이 설정된 노드를 포함하는 TROSAR 모델의 분석 방법을 설명하기 위한 예시 도면이다.
도 7은 일 실시예에 따른 통신 채널 구성 방법의 순서도이다.
도 8은 일 실시예에 따른 링 구조를 설정하는 방법의 순서도이다.
도 9는 일 실시예에 따른 패킷 구성을 설정하는 방법의 순서도이다.
도 10은 일 실시예에 따른 이터레이션 수행 방법의 순서도이다.
도 11은 일 실시예에 따른 패킷의 식별자 생성 방법의 순서도이다.
도 12는 복수의 TROSAR 모델들의 입력 데이터 및 출력 데이터를 설명하기 위한 예시 도면이다.
도 13은 일 실시예에 따른 복수의 TROSAR 모델들의 링 구조를 설명하기 위한 도면이다.
도 14는 다른 일 실시예에 따른 복수의 TROSAR 모델들의 링 구조를 설명하기 위한 도면이다.
도 15 내지 도 17는 데이터의 패킷 구성을 설명하기 위한 예시 도면들이다.
1 is a block diagram of a TROSAR model analysis system according to an embodiment.
Figure 2 is a flowchart of an analysis method of the TROSAR model according to an embodiment.
Figure 3 is a flowchart of a method for determining the properties of a TROSAR model according to an embodiment.
Figure 4 is a flowchart of a TROSAR model generation method based on dependency conditions according to an embodiment.
Figures 5 and 6 are example diagrams for explaining an analysis method of a TROSAR model including nodes for which dependency conditions are set.
Figure 7 is a flowchart of a method for configuring a communication channel according to an embodiment.
Figure 8 is a flowchart of a method for setting up a ring structure according to one embodiment.
Figure 9 is a flowchart of a method for setting packet configuration according to one embodiment.
Figure 10 is a flowchart of a method for performing iteration according to an embodiment.
Figure 11 is a flowchart of a method for generating a packet identifier according to an embodiment.
Figure 12 is an example diagram for explaining input data and output data of a plurality of TROSAR models.
Figure 13 is a diagram for explaining the ring structure of a plurality of TROSAR models according to an embodiment.
Figure 14 is a diagram for explaining the ring structure of a plurality of TROSAR models according to another embodiment.
Figures 15 to 17 are example diagrams for explaining the structure of a data packet.

본 명세서에 기재된 실시예는 본원 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 본원 발명의 사상을 명확히 설명하기 위한 것이므로, 본원 발명이 본 명세서에 기재된 실시예에 한정되는 것은 아니며, 본원 발명의 범위는 본원 발명의 사상을 벗어나지 아니하는 수정예 또는 변형예를 포함하는 것으로 해석되어야 한다.The embodiments described in this specification are intended to clearly explain the spirit of the present invention to those skilled in the art to which the present invention pertains, and therefore the present invention is not limited to the embodiments described in this specification, and the present invention is not limited to the embodiments described in this specification. The scope should be construed to include modifications or variations that do not depart from the spirit of the present invention.

본 명세서에서 사용되는 용어는 본원 발명에서의 기능을 고려하여 가능한 현재 널리 사용되고 있는 일반적인 용어를 선택하였으나 이는 본원 발명이 속하는 기술 분야에서 통상의 지식을 가진 자의 의도, 판례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 다만, 이와 달리 특정한 용어를 임의의 의미로 정의하여 사용하는 경우에는 그 용어의 의미에 관하여 별도로 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가진 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 한다.The terms used in this specification are general terms that are currently widely used as much as possible in consideration of their function in the present invention, but this may vary depending on the intention of those skilled in the art, precedents, or the emergence of new technology in the technical field to which the present invention pertains. You can. However, if a specific term is defined and used with an arbitrary meaning, the meaning of the term will be described separately. Therefore, the terms used in this specification should be interpreted based on the actual meaning of the term and the overall content of this specification, not just the name of the term.

본 명세서에 첨부된 도면은 본원 발명을 용이하게 설명하기 위한 것으로 도면에 도시된 형상은 본원 발명의 이해를 돕기 위하여 필요에 따라 과장되어 표시된 것일 수 있으므로 본원 발명이 도면에 의해 한정되는 것은 아니다.The drawings attached to this specification are intended to easily explain the present invention, and the shapes shown in the drawings may be exaggerated as necessary to aid understanding of the present invention, so the present invention is not limited by the drawings.

본 명세서에서 본원 발명에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본원 발명의 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 필요에 따라 생략하기로 한다.In this specification, if it is determined that a detailed description of a known configuration or function related to the present invention may obscure the gist of the present invention, the detailed description thereof will be omitted as necessary.

본원 발명은 응용 개발자에 의해 작성된 설계 혹은 소스코드로부터 플랫폼 안전 상태 관리를 위한 기본 설정을 생성하는 방법과 관련된 것이다. 여기서 기본 설정이란 플랫폼 안전 상태 관리의 설정에 반드시 필요한 제어 흐름 그래프를 의미한다. 응용 개발자는 자동 생성된 기본 설정을 바탕으로 응용의 올바른 동작을 명시함으로써 플랫폼 안전 상태 관리를 위한 설정을 수행할 수 있다.The present invention relates to a method of generating basic settings for platform safety state management from a design or source code created by an application developer. Here, basic settings refer to the control flow graph that is essential for setting platform safety state management. Application developers can configure the platform safety state management by specifying the correct behavior of the application based on automatically generated default settings.

도 1은 일 실시예에 따른 TROSAR 모델 분석 시스템의 블록도이다.1 is a block diagram of a TROSAR model analysis system according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 TROSAR 모델 분석 시스템 (1000, 이하 '시스템')은 노드 탐색부(1100), 속성 결정부(1200), 모델 생성부(1300) 및 데이터베이스부(1400)를 포함할 수 있다. 도 1은 시스템(1000)에 포함되는 네 가지 구성 요소를 도시하고 있으나, 도시된 구성 요소들이 필수적인 것은 아니고, 시스템(1000)은 그보다 많은 구성 요소를 갖거나 그보다 적은 구성 요소를 가질 수 있다. 또한, 시스템(1000)의 각 구성 요소는 물리적으로 하나의 서버에 포함될 수도 있고, 각각의 기능 별로 분산된 분산 서버일 수 있다.Referring to FIG. 1, the TROSAR model analysis system 1000 (hereinafter referred to as 'system') according to an embodiment includes a node search unit 1100, an attribute determination unit 1200, a model creation unit 1300, and a database unit 1400. may include. Figure 1 shows four components included in system 1000, but the illustrated components are not essential, and system 1000 may have more or fewer components. Additionally, each component of the system 1000 may be physically included in one server, or may be a distributed server distributed for each function.

시스템(1000)은 시스템(1000)의 동작을 총괄하는 제어 프로세서를 포함할 수 있다. 구체적으로, 제어 프로세서는 노드 탐색부(1100), 속성 결정부(1200), 모델 생성부(1300) 및 데이터베이스부(1400)에 제어 명령을 보내 각 부서의 동작을 실행할 수 있다.System 1000 may include a control processor that oversees the operation of system 1000. Specifically, the control processor may execute the operations of each department by sending control commands to the node search unit 1100, attribute determination unit 1200, model creation unit 1300, and database unit 1400.

이하에서 특별한 언급이 없는 경우에는, 시스템(1000)의 동작은 제어 프로세서의 제어에 의해 수행되는 것으로 해석될 수 있다.Unless otherwise specified below, the operation of the system 1000 may be interpreted as being performed under the control of a control processor.

노드 탐색부(1100)는 트리 형태로 구성된 TROSAR 모델에 포함된 노드들 중 하위 노드를 탐색할 수 있다. 노드 탐색부(1100)는 깊이 우선 탐색(Depth First Search)을 수행하여, 적어도 하나 이상의 하위 노드를 확인할 수 있다. 이때, 노드 탐색부(1100)는 순환 호출 또는 명시적인 스택을 사용하여 깊이 우선 탐색을 수행함으로써 적어도 하나 이상의 하위 노드를 탐색할 수 있다. 이때, 노드는 TROSAR 모델의 구성 요소를 의미하는 것으로, 시스템(1000)이 입력받은 초기 TROSAR 모델에 포함된 하위 TROSAR 모델일 수 있다. TROSAR 모델은 TROSAR 플랫폼 상에서 철도 분야의 소프트웨어 개발을 위해 사용되는 것으로서, 내부에 하위 노드 및 하위 TROSAR 모델을 포함할 수 있다.The node search unit 1100 may search lower nodes among nodes included in the TROSAR model structured in a tree form. The node search unit 1100 may perform a depth first search to check at least one child node. At this time, the node search unit 1100 may search at least one or more lower nodes by performing a depth-first search using a circular call or an explicit stack. At this time, the node refers to a component of the TROSAR model and may be a lower TROSAR model included in the initial TROSAR model received by the system 1000. The TROSAR model is used for software development in the railway field on the TROSAR platform and can include sub-nodes and sub-TROSAR models internally.

초기 TROSAR 모델은 내부에 복수의 하위 TROSAR 모델을 포함할 수 있다. 즉, TROSAR 모델간에 상하위 관계가 존재할 수 있다. TROSAR 모델들은 엣지를 통해 연결될 수 있다. 초기 TROSAR 모델에 포함된 하위 TROSAR 모델은 노드로 표현될 수 있다.The initial TROSAR model may contain multiple sub-TROSAR models within it. In other words, hierarchical relationships may exist between TROSAR models. TROSAR models can be connected via the edge. Sub-TROSAR models included in the initial TROSAR model can be expressed as nodes.

노드 탐색부(1100)는 어느 하나의 노드의 출력이 TROSAR 모델의 출력이 되는 하위 노드를 탐색할 수 있다. 예를 들어, 노드 탐색부(1100)는 어느 하나의 노드의 출력이 다른 노드의 입력이 되는 경우, 상기 어느 하나의 노드를 스킵하고, 다시 상기 다른 노드의 출력을 확인할 수 있다.The node search unit 1100 can search for lower nodes where the output of one node is the output of the TROSAR model. For example, when the output of one node becomes the input of another node, the node search unit 1100 can skip that one node and check the output of the other node again.

속성 결정부(1200)는 노드 탐색부(1100)에 의해 확인된 적어도 하나 이상의 하위 노드를 포함하는 TROSAR 모델에 포함된 노드가 소프트웨어 조건을 충족하는지 여부를 확인할 수 있다. 속성 결정부(1200)는 소프트웨어 조건 충족 여부에 기초하여, TROSAR 모델의 속성을 결정할 수 있다.The attribute determination unit 1200 may check whether a node included in the TROSAR model including at least one child node identified by the node search unit 1100 satisfies the software condition. The attribute determination unit 1200 may determine the attributes of the TROSAR model based on whether the software conditions are met.

소프트웨어 조건은 하드웨어와 관련된 하위 요소를 포함하는지 여부 및/또는 노드가 독자적인 로직을 보유하고 있는지 여부를 포함할 수 있다. 이때, 하드웨어와 관련된 하위 요소는 하드웨어 운영체제에 종속되는 요소(예, 프로세서)를 의미하는 것일 수 있다. 또한 이때, 독자적인 로직은 특정 프로그래밍 언어로 작성된 함수를 의미하는 것일 수 있다.Software conditions may include whether it contains hardware-related sub-elements and/or whether the node has its own logic. At this time, the lower element related to hardware may mean an element (eg, processor) dependent on the hardware operating system. Also, at this time, independent logic may mean a function written in a specific programming language.

속성 결정부(1200)는 노드 탐색부(1100)에 의해 확인된 적어도 하나 이상의 하위 노드들부터 소프트웨어 조건을 충족하는지 여부를 확인할 수 있다. 속성 결정부(1200)는 하위 노드의 조건 충족 여부를 확인하면, 상기 하위 노드와 연결된 상위 노드의 조건 충족 여부를 확인할 수 있다. 속성 결정부(1200)는 상위 노드의 조건 충족 여부를 확인하면, 그 위의 상위 노드의 조건 충족 여부를 확인할 수 있다.The attribute determination unit 1200 may check whether at least one or more lower nodes identified by the node search unit 1100 meet software conditions. When the attribute determination unit 1200 checks whether the condition of the lower node is satisfied, it can check whether the condition of the upper node connected to the lower node is satisfied. When the attribute determination unit 1200 checks whether the condition of the upper node is satisfied, it can check whether the condition of the higher node above it is satisfied.

즉, 속성 결정부(1200)는 적어도 하나 이상의 하위 노드부터 적어도 하나 이상의 최상위 노드까지 소프트웨어 조건 충족 여부를 순차적으로 확인할 수 있다. 이때, 최상위 노드는 입력이 TROSAR 모델의 입력인 노드를 의미하는 것일 수 있다.That is, the attribute determination unit 1200 may sequentially check whether software conditions are met from at least one lower level node to at least one upper level node. At this time, the top node may mean a node whose input is the input of the TROSAR model.

속성 결정부(1200)는 노드들의 소프트웨어 조건 충족 여부에 기초하여 TROSAR 모델의 속성이 소프트웨어인지 하드웨어인지 또는 시스템인지를 결정할 수 있다. 구체적으로, 속성 결정부(1200)는 TROSAR 모델에 포함된 노드들이 모두 소프트웨어 조건을 충족하는 경우, TROSAR 모델의 속성을 소프트웨어로 결정할 수 있다.The attribute determination unit 1200 may determine whether the attribute of the TROSAR model is software, hardware, or system based on whether the software conditions of the nodes are met. Specifically, if all nodes included in the TROSAR model satisfy software conditions, the attribute determination unit 1200 may determine the attributes of the TROSAR model using software.

또한, 속성 결정부(1200)는 TROSAR 모델에 포함된 노드들이 모두 소프트웨어 조건을 충족하지 않는 경우, TROSAR 모델의 속성을 하드웨어로 결정할 수 있다. 또한, 속성 결정부(1200)는 TROSAR 모델에 포함된 노드 중 일부는 소프트웨어 조건을 충족하고 나머지 일부는 소프트웨어 조건을 충족하지 않는 경우, TROSAR 모델의 속성을 시스템으로 결정할 수 있다.Additionally, if all nodes included in the TROSAR model do not meet software conditions, the attribute determination unit 1200 may determine the attributes of the TROSAR model in hardware. Additionally, the attribute determination unit 1200 may determine the attributes of the TROSAR model as a system when some of the nodes included in the TROSAR model satisfy the software conditions and others do not satisfy the software conditions.

속성 결정부(1200)가 결정한 TROSAR 모델의 속성은 TROSAR 모델의 포팅(porting) 작업에 사용될 수 있다. 포팅 작업은 소스 코드를 바이너리로 변환하는 작업을 의미하는 것으로, 시스템(1000)은 TROSAR 모델의 분석 방법을 통해 TROSAR 모델의 속성을 확인하고, TROSAR 모델에 대해 속성에 따른 운영 체제에 맞게 바이너리 변환 작업을 수행할 수 있다. 이는 소프트웨어 부품화(SW 부품화) 작업으로도 명칭될 수 있다.The properties of the TROSAR model determined by the property determination unit 1200 can be used for porting the TROSAR model. The porting operation refers to converting the source code into binary. The system 1000 verifies the properties of the TROSAR model through the analysis method of the TROSAR model and performs a binary conversion operation for the TROSAR model to suit the operating system according to the properties. can be performed. This can also be called software componentization (SW componentization) work.

예를 들어, TROSAR 모델의 속성이 소프트웨어인 경우, 시스템(1000)은 이를 이용하여 TROSAR 모델을 소프트웨어 운영체제에 따라 적절하게 변환시킬 수 있다. 또한, 속성이 하드웨어 또는 시스템인 경우에도 마찬가지로 시스템(1000)은 TROSAR 모델을 각 운영체제에 따라 적절하게 변환시킬 수 있다.For example, if the attribute of the TROSAR model is software, the system 1000 can use this to appropriately convert the TROSAR model according to the software operating system. Additionally, even when the attribute is hardware or system, the system 1000 can appropriately convert the TROSAR model according to each operating system.

모델 생성부(1300)는 노드에 설정된 의존성 조건에 기초하여 초기 TROSAR 모델의 하위 TROSAR 모델을 생성할 수 있다. 이때, 노드에 의존성 조건이 설정되어 있는지 여부는 노드 탐색부(1100)가 하위 노드를 탐색하는 동안 확인될 수도 있고, 모델 생성부(1300)가 추가로 확인할 수도 있다. 또한 이때, 의존성 조건은 일 노드의 출력이 다른 노드의 입력이 되는 관계를 의미하는 것일 수 있다.The model generator 1300 may generate a lower TROSAR model of the initial TROSAR model based on dependency conditions set in the node. At this time, whether a dependency condition is set for a node may be confirmed while the node search unit 1100 searches for a lower node, or the model creation unit 1300 may additionally check. Also, at this time, the dependency condition may mean a relationship in which the output of one node becomes the input of another node.

모델 생성부(1300)는 의존성 조건이 설정된 제1 노드에 대해 상기 제1 노드를 포함하는 새로운 TROSAR 모델을 생성할 수 있다. 이때, 새로운 TROSAR 모델은 시스템(1000)에 입력된 초기 TROSAR 모델에 포함된 하위 TROSAR 모델로서 복수의 노드를 포함하는 하위 TROSAR 모델일 수 있다.The model generator 1300 may generate a new TROSAR model including the first node for which the dependency condition is set. At this time, the new TROSAR model is a lower TROSAR model included in the initial TROSAR model input to the system 1000 and may be a lower TROSAR model including a plurality of nodes.

의존성 조건이 설정된 노드들은 각자가 독자적으로 실행될 수 없으므로, 모델 생성부(1300)는 이러한 노드들의 그룹화 수행을 위해 새로운 TROSAR 모델을 생성할 수 있다.Since nodes for which dependency conditions are set cannot be independently executed, the model generator 1300 may create a new TROSAR model to group these nodes.

데이터베이스부(1400)는 시스템(1000)이 동작하는데 필요한 각종 데이터 및 프로그램을 저장할 수 있다. 데이터베이스부(1400)는 시스템(1000)이 획득하는 정보 및 처리하는 정보 모두를 저장할 수 있다.The database unit 1400 can store various data and programs necessary for the system 1000 to operate. The database unit 1400 can store both information acquired by the system 1000 and information processed.

예를 들어, 데이터베이스부(1400)는 노드 탐색부(1100)가 확인한 하위 노드들에 대한 정보를 저장할 수 있다. 또한 예를 들어, 데이터베이스부(1400)는 속성 결정부(1200)가 결정한 TROSAR 모델의 속성을 저장할 수 있다.For example, the database unit 1400 may store information about lower nodes identified by the node search unit 1100. Also, for example, the database unit 1400 may store the attributes of the TROSAR model determined by the attribute determination unit 1200.

데이터베이스부(1400)는 데이터를 임시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 데이터베이스부(1400)는 하드디스크(HDD: Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM: Read-Only Memory), 램(RAM: Random Access Memory) 또는 클라우드 스토리지(Cloud Storage) 등일 수 있으나, 이에 한정되지 않고 데이터를 저장하기 위한 다양한 모듈로 구현될 수 있다.The database unit 1400 can store data temporarily or semi-permanently. For example, the database unit 1400 includes a hard disk drive (HDD), solid state drive (SSD), flash memory, read-only memory (ROM), and random access memory (RAM). Memory) or cloud storage, etc., but is not limited to this and can be implemented with various modules for storing data.

도 2는 일 실시예에 따른 TROSAR 모델의 분석 방법의 순서도이다.Figure 2 is a flowchart of an analysis method of the TROSAR model according to an embodiment.

도 2를 참조하면, 일 실시예에 따른 TROSAR 모델의 분석 방법은 하위 노드를 확인하는 단계(S100), 소프트웨어 조건 충족 여부를 확인하는 단계(S200) 및 TROSAR 모델의 속성을 결정하는 단계(S300)를 포함할 수 있다. 도 2에는 단계 S100 내지 단계 S300이 순서대로 수행되는 것이 도시되었으나, 이에 한정되지 않고 각 단계의 순서는 변경될 수 있다. 또는 각 단계가 다른 단계와 병합되거나 단계가 생략되거나 새로운 단계가 추가될 수도 있다.Referring to FIG. 2, the analysis method of the TROSAR model according to one embodiment includes the steps of checking child nodes (S100), checking whether software conditions are met (S200), and determining the properties of the TROSAR model (S300). may include. Although steps S100 to S300 are shown in FIG. 2 to be performed in order, the process is not limited to this and the order of each step may be changed. Alternatively, each step may be merged with other steps, steps may be omitted, or new steps may be added.

하위 노드를 확인하는 단계(S100)는 노드 탐색부(1100)가 초기 TROSAR 모델에 포함된 복수의 노드 중 가장 말단 노드를 탐색하는 단계일 수 있다. 이때, 하위 노드 또는 말단 노드는 노드의 출력이 곧바로 TROSAR 모델의 출력이 되는 노드를 의미하는 것일 수 있다. 이때, 노드 탐색부(1100)는 깊이 우선 탐색을 통해 하위 노드를 확인할 수 있다.The step of checking the lower node (S100) may be a step in which the node search unit 1100 searches for the most distal node among a plurality of nodes included in the initial TROSAR model. At this time, the lower node or terminal node may mean a node whose output directly becomes the output of the TROSAR model. At this time, the node search unit 1100 can check the lower node through depth-first search.

소프트웨어 조건 충족 여부를 확인하는 단계(S200)는 속성 결정부(1200)가 각 노드들이 소프트웨어 조건을 충족하는지 여부를 판단하는 단계일 수 있다. 이때, 속성 결정부(1200)는 단계 S100에서 확인한 하위 노드부터 하위 노드의 상위 노드 및 최상위 노드까지 오름차순으로 순차적으로 각 노드가 소프트웨어 조건을 충족하는지 여부를 확인하는 단계일 수 있다.The step of checking whether the software condition is met (S200) may be a step in which the attribute determination unit 1200 determines whether each node satisfies the software condition. At this time, the attribute determination unit 1200 may sequentially check whether each node satisfies the software condition in ascending order from the lower node confirmed in step S100 to the upper node of the lower node and the highest node.

TROSAR 모델의 속성을 결정하는 단계(S300)는 속성 결정부(1200)가 소프트웨어 조건 충족 여부에 기초하여 TROSAR 모델의 속성이 소프트웨어인지 하드웨어인지 시스템인지 여부를 결정하는 단계일 수 있다. 이에 대해서는 도 3을 참조하여 자세히 설명한다.The step of determining the properties of the TROSAR model (S300) may be a step in which the property determination unit 1200 determines whether the properties of the TROSAR model are software, hardware, or a system based on whether a software condition is met. This will be described in detail with reference to FIG. 3.

도 3은 일 실시예에 따른 TROSAR 모델의 속성 결정 방법의 순서도이다.Figure 3 is a flowchart of a method for determining the properties of a TROSAR model according to an embodiment.

도 3을 참조하면, 일 실시예에 따른 TROSAR 모델의 속성 결정 방법은 소프트웨어 조건 충족 여부를 확인하는 단계(S200) 및 소프트웨어 조건을 충족하지 않는 노드가 존재하는지 여부를 확인하는 단계(S210)를 포함할 수 있다. 또한, 방법은 소프트웨어 조건을 충족하지 않는 노드가 존재하지 않는 경우, TROSAR 모델의 속성을 소프트웨어로 결정하는 단계(S310)를 포함할 수 있다.Referring to FIG. 3, a method for determining the properties of a TROSAR model according to an embodiment includes a step of checking whether a software condition is met (S200) and a step of checking whether a node that does not satisfy the software condition exists (S210). can do. Additionally, the method may include a step (S310) of determining the properties of the TROSAR model using software when there is no node that does not satisfy the software condition.

또한, 방법은 소프트웨어 조건을 충족하지 않는 노드가 존재하는 경우, 모든 노드가 소프트웨어 조건을 미충족하는지 여부를 확인하는 단계(S210)를 포함할 수 있다. 또한, 방법은 모든 노드가 소프트웨어 조건을 미충족할 경우, TROSAR 모델의 속성을 하드웨어로 결정하는 단계(S320) 및 모든 노드가 소프트웨어 조건을 미충족하는 것이 아닌 경우, TROSAR 모델의 속성을 시스템으로 결정하는 단계(S330)를 포함할 수 있다.Additionally, if there is a node that does not satisfy the software condition, the method may include a step (S210) of checking whether all nodes do not satisfy the software condition. In addition, the method includes a step of determining the properties of the TROSAR model by hardware when all nodes do not meet the software conditions (S320), and a step of determining the properties of the TROSAR model by the system when not all nodes meet the software conditions. (S330) may be included.

도 3에는 단계 S200 내지 단계 S310, S200 내지 단계 S320 또는 S200 내지 단계 S330이 순서대로 수행되는 것이 도시되었으나, 이에 한정되지 않고 각 단계의 순서는 변경될 수 있다. 또는 각 단계가 다른 단계와 병합되거나 단계가 생략되거나 새로운 단계가 추가될 수도 있다.In Figure 3, steps S200 to S310, S200 to S320, or S200 to S330 are shown to be performed in order, but the present invention is not limited to this and the order of each step may be changed. Alternatively, each step may be merged with other steps, steps may be omitted, or new steps may be added.

소프트웨어 조건 충족 여부를 확인하는 단계(S200)는 도 2의 단계 S200과 동일하므로, 자세한 설명은 생략한다.Since the step S200 of checking whether the software conditions are met is the same as step S200 of FIG. 2, detailed description will be omitted.

소프트웨어 조건을 충족하지 않는 노드가 존재하는지 여부를 확인하는 단계(S210)는 제1 TROSAR 모델에 포함된 노드 중 어느 하나의 노드라도 소프트웨어 조건을 충족하지 않는 노드가 있는지 여부를 확인하는 단계일 수 있다.The step of checking whether a node that does not meet the software condition exists (S210) may be a step of checking whether any node among the nodes included in the first TROSAR model does not meet the software condition. .

제1 TROSAR 모델에 포함된 노드들이 모두 소프트웨어 조건을 충족하는 경우(소프트웨어 조건을 충족하지 않는 노드가 존재하지 않는 경우), 속성 결정부(1200)는 상기 제1 TROSAR 모델의 속성을 소프트웨어로 결정(S310)할 수 있다. 그러나, 소프트웨어 조건을 충족하지 않는 노드가 하나라도 존재하는 경우, 속성 결정부(1200)는 모든 노드가 소프트웨어 조건을 미충족하는지 여부를 판단(S220)하는 단계를 수행할 수 있다.If all nodes included in the first TROSAR model meet the software conditions (when there are no nodes that do not meet the software conditions), the attribute determination unit 1200 determines the attributes of the first TROSAR model as software ( S310) You can. However, if there is at least one node that does not satisfy the software condition, the attribute determination unit 1200 may perform a step of determining whether all nodes do not satisfy the software condition (S220).

제1 TROSAR 모델에 포함된 모든 노드들이 소프트웨어 조건을 충족하지 않는 경우, 속성 결정부(1200)는 상기 제1 TROSAR 모델의 속성을 하드웨어로 결정(S320)할 수 있다. 그러나, 제1 TROSAR 모델에 포함된 노드들 중 일부만 소프트웨어 조건을 충족하는 경우, 속성 결정부(1200)는 상기 제1 TROSAR 모델의 속성을 시스템으로 결정(S330)할 수 있다.If all nodes included in the first TROSAR model do not meet the software conditions, the attribute determination unit 1200 may determine the attributes of the first TROSAR model in hardware (S320). However, if only some of the nodes included in the first TROSAR model satisfy the software condition, the attribute determination unit 1200 may determine the attributes of the first TROSAR model as a system (S330).

속성 결정부(1200)는 상기 제1 TROSAR 모델에 포함된 하위 TROSAR 모델의 속성도 결정할 수 있다. 하위 TROSAR 모델에 포함된 노드들이 모두 소프트웨어 조건을 충족하는 경우, 속성 결정부(1200)는 하위 TROSAR 모델의 속성을 소프트웨어로 결정할 수 있다. 하드웨어 또는 시스템인 경우도 마찬가지다.The attribute determination unit 1200 may also determine the attributes of the lower TROSAR model included in the first TROSAR model. If all nodes included in the lower TROSAR model satisfy the software conditions, the property determination unit 1200 may determine the properties of the lower TROSAR model through software. The same goes for hardware or systems.

속성 결정부(1200)는 상기 제1 TROSAR 모델에 포함된 제1 하위 TROSAR 모델 및 제2 하위 TROSAR 모델의 속성에 기초하여 상기 제1 TROSAR 모델의 속성을 결정할 수 있다. 예를 들어, 제1 하위 TROSAR 모델 및 제2 하위 TROSAR 모델의 속성이 모두 소프트웨어인 경우, 속성 결정부(1200)는 상기 제1 TROSAR 모델의 속성을 소프트웨어로 결정할 수 있다.The attribute determination unit 1200 may determine the attributes of the first TROSAR model based on the attributes of the first lower TROSAR model and the second lower TROSAR model included in the first TROSAR model. For example, when the properties of the first lower TROSAR model and the second lower TROSAR model are both software, the property determination unit 1200 may determine the properties of the first TROSAR model to be software.

또한 예를 들어, 제1 하위 TROSAR 모델 및 제2 하위 TROSAR 모델의 속성이 모두 하드웨어인 경우, 속성 결정부(1200)는 상기 제1 TROSAR 모델의 속성을 하드웨어로 결정할 수 있다. 제1 하위 TROSAR 모델 및 제2 하위 TROSAR 모델의 속성 중 어느 하나가 소프트웨어고 다른 하나가 하드웨어인 경우, 속성 결정부(1200)는 상기 제1 TROSAR 모델의 속성을 시스템으로 결정할 수 있다.Also, for example, when the attributes of both the first lower TROSAR model and the second lower TROSAR model are hardware, the attribute determination unit 1200 may determine the attribute of the first TROSAR model to be hardware. When one of the attributes of the first lower TROSAR model and the second lower TROSAR model is software and the other is hardware, the attribute determination unit 1200 may determine the attributes of the first TROSAR model as a system.

도 4는 일 실시예에 따른 의존성 조건에 기초한 TROSAR 모델 생성 방법의 순서도이다.Figure 4 is a flowchart of a TROSAR model generation method based on dependency conditions according to an embodiment.

도 4를 참조하면, 일 실시예에 따른 의존성 조건에 기초한 TROSAR 모델 생성 방법은 하위 노드를 확인하는 단계(S100), 의존성 조건 설정 여부를 확인하는 단계(S400) 및 의존성 조건에 기초하여 새로운 TROSAR 모델을 생성하는 단계(S500)를 포함할 수 있다. 또한, 시스템(1000)은 새로운 TROSAR 모델에 대해 모델에 포함된 노드들이 소프트웨어 조건을 충족하는지 여부를 확인하는 단계(S200) 및 TROSAR 모델의 속성을 결정하는 단계(S300)를 재실행할 수 있다.Referring to FIG. 4, the method for generating a TROSAR model based on dependency conditions according to an embodiment includes a step of checking child nodes (S100), a step of checking whether dependency conditions are set (S400), and a new TROSAR model based on the dependency conditions. It may include a step of generating (S500). Additionally, the system 1000 may re-execute the step of checking whether the nodes included in the model satisfy software conditions for the new TROSAR model (S200) and the step of determining the properties of the TROSAR model (S300).

도 4에는 단계 S100 내지 단계 S300이 순서대로 수행되는 것이 도시되었으나, 이에 한정되지 않고 각 단계의 순서는 변경될 수 있다. 또는 각 단계가 다른 단계와 병합되거나 단계가 생략되거나 새로운 단계가 추가될 수도 있다.Although steps S100 to S300 are shown in FIG. 4 to be performed in order, the process is not limited to this and the order of each step may be changed. Alternatively, each step may be merged with other steps, steps may be omitted, or new steps may be added.

도 5 및 도 6은 의존성 조건이 설정된 노드를 포함하는 TROSAR 모델의 분석 방법을 설명하기 위한 예시 도면이다. 의존성 조건에 기초한 TROSAR 모델 생성 방법은 도 5 및 도 6의 예시를 참조하여 이하에서 설명한다.Figures 5 and 6 are example diagrams for explaining the analysis method of a TROSAR model including nodes for which dependency conditions are set. The TROSAR model generation method based on dependency conditions is described below with reference to examples in FIGS. 5 and 6.

하위 노드를 확인하는 단계(S100)는 도 2의 단계 S100과 동일하므로, 자세한 설명은 생략한다.Since the step S100 of checking the lower node is the same as step S100 of FIG. 2, detailed description is omitted.

의존성 조건 설정 여부를 확인하는 단계(S400)는 TROSAR 모델에 포함된 2 이상의 노드에 대해 의존성 관계가 있는지 여부를 판단하는 단계일 수 있다. 의존성 조건 또는 의존성 관계는 제1 노드의 출력이 제2 노드의 입력이 되는 관계일 수 있다. 단계 S400은 하위 노드를 탐색하는 노드 탐색부(1100) 또는 모델 생성부(1300)에 의해 수행될 수 있다.The step of checking whether dependency conditions are set (S400) may be a step of determining whether there is a dependency relationship with two or more nodes included in the TROSAR model. The dependency condition or dependency relationship may be a relationship in which the output of the first node becomes the input of the second node. Step S400 may be performed by the node search unit 1100 or the model creation unit 1300 that searches for lower nodes.

의존성 조건에 기초하여 새로운 TROSAR 모델을 생성하는 단계(S500)는 의존성 조건이 설정된 노드들을 포함하는 새로운 TROSAR 모델을 생성하는 단계일 수 있다. 구체적인 예를 들어, 도 5의 제1 TROSAR 모델(100)에 포함된 제1 노드(10)의 출력이 제2 노드(20)의 입력이 되어, 제1 노드(10) 및 제2 노드(20)에 의존성 조건(1)이 설정되어 있을 수 있다. 이때, 모델 생성부(1300)는 도 6과 같이 상기 제1 노드(10) 및 상기 제2 노드(20)를 포함하는 새로운 TROSAR 모델인 제2 TROSAR 모델(200)을 생성할 수 있다. 이때, 제2 TROSAR 모델(200)은 상기 제1 TROSAR 모델(100)의 하위 TROSAR 모델일 수 있다.The step of generating a new TROSAR model based on the dependency condition (S500) may be a step of creating a new TROSAR model including nodes for which the dependency condition is set. For a specific example, the output of the first node 10 included in the first TROSAR model 100 of FIG. 5 becomes the input of the second node 20, so that the first node 10 and the second node 20 ), the dependency condition (1) may be set. At this time, the model generator 1300 may generate a second TROSAR model 200, which is a new TROSAR model including the first node 10 and the second node 20, as shown in FIG. 6. At this time, the second TROSAR model 200 may be a lower TROSAR model of the first TROSAR model 100.

TROSAR 모델에 대해 모델에 포함된 노드들이 소프트웨어 조건을 충족하는지 여부를 확인하는 단계(S200)는 새롭게 생성된 상기 제2 TROSAR 모델(200)의 속성을 결정하기 위해 상기 제1 노드(10) 및 상기 제2 노드(20)들이 소프트웨어 조건을 만족하는지 여부를 확인하는 단계일 수 있다.The step of checking whether the nodes included in the TROSAR model satisfy software conditions (S200) is to determine the properties of the newly created second TROSAR model 200 by using the first node 10 and the This may be a step to check whether the second nodes 20 satisfy software conditions.

TROSAR 모델의 속성을 결정하는 단계(S300)는 소프트웨어 조건 충족 여부에 기초하여 제2 TROSAR 모델(200)의 속성이 소프트웨어인지 하드웨어인지 시스템인지 여부를 결정하는 단계일 수 있다. 도 6에서, 제2 TROSAR 모델(200)의 속성이 결정되면, 제2 TROSAR 모델(200)의 속성 및 제3 노드(30)가 소프트웨어 조건을 충족하는지 여부에 기초하여 제1 TROSAR 모델의 속성이 결정될 수 있다.The step of determining the properties of the TROSAR model (S300) may be a step of determining whether the properties of the second TROSAR model 200 are software, hardware, or a system based on whether software conditions are met. In Figure 6, once the properties of the second TROSAR model 200 are determined, the properties of the first TROSAR model are determined based on the properties of the second TROSAR model 200 and whether the third node 30 satisfies the software condition. can be decided.

예를 들어, 제2 TROSAR 모델(200)의 속성이 소프트웨어이고 제3 노드(30)가 소프트웨어 조건을 충족하는 경우, 제1 TROSAR 모델(100)의 속성은 소프트웨어로 결정될 수 있다. 또한 예를 들어, 제2 TROSAR 모델(200)의 속성이 소프트웨어이고 제3 노드(30)가 소프트웨어 조건을 미충족하는 경우, 제1 TROSAR 모델(100)의 속성은 시스템으로 결정될 수 있다.For example, if the attribute of the second TROSAR model 200 is software and the third node 30 satisfies the software condition, the attribute of the first TROSAR model 100 may be determined to be software. Also, for example, if the property of the second TROSAR model 200 is software and the third node 30 does not meet the software condition, the property of the first TROSAR model 100 may be determined by the system.

또한 예를 들어, 제2 TROSAR 모델(200)의 속성이 하드웨어이고 제3 노드(30)가 소프트웨어 조건을 충족하는 경우, 제1 TROSAR 모델(100)의 속성은 시스템으로 결정될 수 있다. 예를 들어, 제2 TROSAR 모델(200)의 속성이 하드웨어이고 제3 노드(30)가 소프트웨어 조건을 미충족하는 경우, 제1 TROSAR 모델(100)의 속성은 하드웨어로 결정될 수 있다.Also, for example, if the properties of the second TROSAR model 200 are hardware and the third node 30 satisfies the software condition, the properties of the first TROSAR model 100 may be determined by the system. For example, if the attribute of the second TROSAR model 200 is hardware and the third node 30 does not meet the software condition, the attribute of the first TROSAR model 100 may be determined to be hardware.

전술한 바와 같이, 본원 발명의 시스템(1000)은 TROSAR 모델의 속성을 결정할 수 있다. 시스템(1000)이 TROSAR 모델의 속성을 소프트웨어로 결정하는 경우, 시스템(1000)은 철도차량용 소프트웨어를 위한 통신 기능을 자동 생성 및 구성을 위한 통신 채널을 구성할 수 있다.As described above, system 1000 of the present invention can determine properties of a TROSAR model. When the system 1000 determines the properties of the TROSAR model as software, the system 1000 can configure a communication channel for automatically generating and configuring communication functions for software for railroad vehicles.

TROSAR 플랫폼을 통해 개발되는 철도차량용 소프트웨어는 다양한 프로토콜을 통해 통신을 수행할 수 있다. 철도차량용 소프트웨어에서 사용하는 프로토콜은 크게 두 가지로 나뉠 수 있다. 하나는 철도차량용 소프트웨어 사이의 데이터 교환을 위한 Ethernet, CAN과 같은 통신 프로토콜이다. 다른 하나는 하드웨어 장치와의 데이터 교환을 위한 GPIO, SPI, I2C와 같은 디바이스 프로토콜이다.Railroad vehicle software developed through the TROSAR platform can communicate through various protocols. Protocols used in railway vehicle software can be broadly divided into two types. One is a communication protocol such as Ethernet and CAN for data exchange between railway vehicle software. The other is device protocols such as GPIO, SPI, and I2C for data exchange with hardware devices.

통신 프로토콜의 경우에는 철도차량용 소프트웨어가 탑재된 하드웨어 장치가 서로 링 구조 또는 버스 구조로 연결되며, 철도차량용 소프트웨어가 브로드캐스트 또는 멀티캐스트를 통해 데이터 교환이 수행된다. 송신된 데이터는 직접적으로 연결된 다른 장치로 이동되며, 해당 장치에 탑재된 철도차량용 소프트웨어가 필요한 데이터만을 수신한 뒤, 다른 장치로 전달하는 방식으로 통신이 수행되어야 한다.In the case of communication protocols, hardware devices equipped with railway vehicle software are connected to each other in a ring structure or bus structure, and data exchange is performed between railway vehicle software through broadcast or multicast. The transmitted data is moved to another directly connected device, and communication must be performed in such a way that the railroad vehicle software mounted on the device receives only the necessary data and then transmits it to the other device.

따라서, 통신 최적화를 위해 한 장치에서 송신되어야 하는 모든 데이터를 하나의 패킷으로 구성하여 전송할 필요가 있다. 또한, 다른 장치로 전달하는 과정에서 필요 없는 데이터는 제거하여 송신함으로써, 최적화된 패킷을 구성할 필요가 있다.Therefore, for communication optimization, it is necessary to configure all data to be transmitted from one device and transmit it as one packet. In addition, it is necessary to configure an optimized packet by removing and transmitting unnecessary data in the process of transmitting to another device.

이하에서는 시스템(1000)에 포함된 적어도 하나 이상의 프로세서에 의해 수행되는 철도차량용 소프트웨어 통신을 위한 통신 채널 구성 방법에 대해 서술한다.Hereinafter, a method of configuring a communication channel for software communication for railroad vehicles performed by at least one processor included in the system 1000 will be described.

도 7은 일 실시예에 따른 통신 채널 구성 방법의 순서도이다.Figure 7 is a flowchart of a method for configuring a communication channel according to an embodiment.

도 7을 참조하면, 일 실시예에 따른 통신 채널 구성 방법은 링 구조를 설정하는 단계(S600), 패킷 구성을 설정하는 단계(S700) 및 패킷의 식별자를 생성하는 단계(S800)를 포함할 수 있다. 도 7은 단계 S600 내지 S800이 순차적으로 수행되는 것을 도시하였으나, 이에 한정되지 않고 일부 단계가 병합되어 동시에 수행되거나 새로운 단계가 추가될 수도 있다.Referring to FIG. 7, a method of configuring a communication channel according to an embodiment may include setting a ring structure (S600), setting a packet configuration (S700), and generating a packet identifier (S800). there is. Figure 7 shows that steps S600 to S800 are performed sequentially, but the present invention is not limited to this and some steps may be merged and performed simultaneously or new steps may be added.

링 구조를 설정하는 단계(S600)는 복수의 TROSAR 모델들 간의 연결 관계를 나타내는 링 구조를 설정하는 단계일 수 있다. 구체적으로, 링 구조는 TROSAR 모델들 간의 입출력 연결 관계로서, 닫혀있는(closed) 구조를 의미할 수 있다. 예를 들어, 링 구조는 제1 TROSAR 모델을 기준점으로 설정하여 순차적으로 데이터의 연결을 이어나가면 최종적으로 다시 제1 TROSAR 모델로 도달하는 구조를 의미할 수 있다. 그러나, 이에 한정되지 않고 본원 발명의 통신 채널 구성 방법은 열려있는(opend) 연결 관계에도 적용될 수도 있다. 단계 S600에 대해서는 도 8을 참조하여 이하에서 자세히 설명한다.The step of setting a ring structure (S600) may be a step of setting a ring structure representing a connection relationship between a plurality of TROSAR models. Specifically, the ring structure is an input-output connection relationship between TROSAR models and may mean a closed structure. For example, a ring structure may mean a structure that sets the first TROSAR model as a reference point and sequentially connects data to finally reach the first TROSAR model. However, it is not limited to this, and the communication channel configuration method of the present invention may also be applied to an open connection relationship. Step S600 will be described in detail below with reference to FIG. 8.

패킷 구성을 설정하는 단계(S700)는 링 구조의 이터레이션(iteration) 결과에 기초하여 각 TROSAR 모델에 대한 패킷 구성을 설정하는 단계일 수 있다. 링 구조의 이터레이션은 링 구조에서 제1 TROSAR 모델을 기준으로 하여 연결을 이어나가 최종적으로 상기 제1 TROSAR 모델까지 도달할 때까지의 경로를 반복하는 것을 의미할 수 있다. 예를 들어, 링 구조의 N번의 이터레이션은 상기 경로가 N번 반복되는 것을 의미할 수 있다.The step of setting the packet configuration (S700) may be a step of setting the packet configuration for each TROSAR model based on the iteration result of the ring structure. Iteration of the ring structure may mean continuing connections based on the first TROSAR model in the ring structure and repeating the path until finally reaching the first TROSAR model. For example, N iterations of a ring structure may mean that the path is repeated N times.

각 TROSAR 모델은 연결된 다른 TROSAR 모델로부터 패킷을 수신하거나 또 다른 TROSAR 모델로 패킷을 전송할 수 있다. 이에, 단계 S700은 TROSAR 모델이 송수신하는 패킷의 구성을 설정하는 단계일 수 있다. 단계 S700에 대해서는 도 9를 참조하여 이하에서 자세히 설명한다.Each TROSAR model can receive packets from other connected TROSAR models or transmit packets to another TROSAR model. Accordingly, step S700 may be a step of setting the configuration of packets transmitted and received by the TROSAR model. Step S700 will be described in detail below with reference to FIG. 9.

패킷의 식별자를 생성하는 단계(S800)는 단계 S700에서 설정한 패킷 구성에 기초하여 각 TROSAR 모델과 관련된 패킷의 식별자를 생성하는 단계일 수 있다. 구체적으로, 시스템(1000)은 패킷이 구별될 수 있도록 패킷마다 식별자(ID)를 부여할 수 있다. 식별자는 각 패킷을 구성하는 데이터의 이름을 바탕으로 생성된 해시값일 수 있다. 단계 S800에 대해서는 도 11을 참조하여 이하에서 자세히 설명한다.The step of generating a packet identifier (S800) may be a step of generating an identifier of a packet related to each TROSAR model based on the packet configuration set in step S700. Specifically, the system 1000 may assign an identifier (ID) to each packet so that the packets can be distinguished. The identifier may be a hash value generated based on the name of the data constituting each packet. Step S800 is described in detail below with reference to FIG. 11.

도 8은 일 실시예에 따른 링 구조를 설정하는 방법의 순서도이다.Figure 8 is a flowchart of a method for setting up a ring structure according to one embodiment.

도 8을 참조하면, 일 실시예에 따른 링 구조를 설정하는 방법은 TROSAR 모델들의 출력 데이터와 입력 데이터의 중복 정도를 확인하는 단계(S610) 및 중복 정도에 기초하여 TROSAR 모델들 간의 연결 관계를 설정하는 단계(S620)를 포함할 수 있다. 도 8은 단계 S610 및 S620이 순차적으로 수행되는 것을 도시하였으나, 이에 한정되지 않고 새로운 단계가 추가될 수도 있다.Referring to FIG. 8, a method of setting a ring structure according to an embodiment includes checking the degree of overlap between output data and input data of TROSAR models (S610) and establishing a connection relationship between TROSAR models based on the degree of overlap. It may include a step (S620). Figure 8 shows steps S610 and S620 being performed sequentially, but the process is not limited to this and new steps may be added.

TROSAR 모델들의 출력 데이터와 입력 데이터의 중복 정도를 확인하는 단계(S610)는 TROSAR 모델들 간의 송수신 데이터의 중복 정도를 확인하는 단계일 수 있다. 프로세서는 제1 TROSAR 모델과 연결된 제2 TROSAR 모델의 데이터 중복 정도를 확인할 수 있다. 구체적으로, 입력 집합과 출력 집합의 교집합의 구성 요소가 가장 많은 어느 하나의 TROSAR 모델과 다른 하나의 TROSAR 모델을 확인하는 단계일 수 있다.The step of checking the degree of overlap between output data and input data of TROSAR models (S610) may be a step of checking the degree of overlap of transmitted and received data between TROSAR models. The processor may check the degree of data redundancy of the second TROSAR model connected to the first TROSAR model. Specifically, this may be a step to confirm which TROSAR model has the most components of the intersection of the input set and the output set and which other TROSAR model has the most components.

도 12를 참조하면, 프로세서는 제1 TROSAR 모델(410)과 제2 TROSAR 모델(420) 및 제3 TROSAR 모델(430) 각각과의 데이터 중복 정도를 확인할 수 있다. 예를 들어, 제1 TROSAR 모델(410)은 입력 데이터는 없고 출력 데이터는 A이고, 제2 TROSAR 모델(420)은 입력 데이터는 B이고 출력 데이터는 없고, 제3 TROSAR 모델(430)은 입력 데이터는 A이고 출력 데이터는 B일 수 있다.Referring to FIG. 12, the processor can check the degree of data overlap with each of the first TROSAR model 410, the second TROSAR model 420, and the third TROSAR model 430. For example, the first TROSAR model 410 has no input data and output data is A, the second TROSAR model 420 has input data B and no output data, and the third TROSAR model 430 has input data may be A and the output data may be B.

제1 TROSAR 모델(410)의 출력이 제2 TROSAR 모델(420)의 입력이 되도록 연결되는 경우, 제1 TROSAR 모델(410)과 제2 TROSAR 모델(420)의 데이터 중복 정도는 0(중복되는 데이터 0개)일 수 있다. 반대로 제2 TROSAR 모델(420)의 출력이 제1 TROSAR 모델(410)의 입력이 되도록 연결되는 경우에도 제1 TROSAR 모델(410)과 제2 TROSAR 모델(420)의 데이터 중복 정도는 0일 수 있다.When the output of the first TROSAR model 410 is connected to be the input of the second TROSAR model 420, the degree of data overlap between the first TROSAR model 410 and the second TROSAR model 420 is 0 (overlapping data It can be 0). Conversely, even when the output of the second TROSAR model 420 is connected to be the input of the first TROSAR model 410, the degree of data overlap between the first TROSAR model 410 and the second TROSAR model 420 may be 0. .

제1 TROSAR 모델(410)의 출력이 제3 TROSAR 모델(430)의 입력이 되도록 연결되는 경우, 제1 TROSAR 모델(410)과 제3 TROSAR 모델(430)의 데이터 중복 정도는 1(중복되는 데이터는 A, 즉 1개)일 수 있다. 반대로 제3 TROSAR 모델(430)의 출력이 제1 TROSAR 모델(410)의 입력이 되도록 연결되는 경우, 제1 TROSAR 모델(410)과 제3 TROSAR 모델(430)의 데이터 중복 정도는 0일 수 있다.When the output of the first TROSAR model 410 is connected to be the input of the third TROSAR model 430, the degree of data overlap between the first TROSAR model 410 and the third TROSAR model 430 is 1 (overlapping data can be A, that is, 1). Conversely, when the output of the third TROSAR model 430 is connected to be the input of the first TROSAR model 410, the degree of data overlap between the first TROSAR model 410 and the third TROSAR model 430 may be 0. .

제2 TROSAR 모델(420)의 출력이 제3 TROSAR 모델(430)의 입력이 되도록 연결되는 경우, 제2 TROSAR 모델(420)과 제3 TROSAR 모델(430)의 데이터 중복 정도는 0일 수 있다. 반대로 제3 TROSAR 모델(430)의 출력이 제2 TROSAR 모델(420)의 입력이 되도록 연결되는 경우, 제2 TROSAR 모델(420)과 제3 TROSAR 모델(430)의 데이터 중복 정도는 1(중복되는 데이터는 B, 즉 1개)일 수 있다.When the output of the second TROSAR model 420 is connected to be the input of the third TROSAR model 430, the degree of data overlap between the second TROSAR model 420 and the third TROSAR model 430 may be 0. Conversely, when the output of the third TROSAR model 430 is connected to be the input of the second TROSAR model 420, the degree of data overlap between the second TROSAR model 420 and the third TROSAR model 430 is 1 (overlapping The data may be B, i.e. 1).

위와 같이, 프로세서는 각 TROSAR 모델들 간의 입출력 관계의 모든 경우에 대해 데이터 중복 정도를 확인할 수 있다.As above, the processor can check the degree of data redundancy for all cases of input-output relationships between each TROSAR model.

중복 정도에 기초하여 TROSAR 모델들 간의 연결 관계를 설정하는 단계(S620)는 단계 S610)에서 확인한 데이터 중복 정도에 기초하여 각 TROSAR 모델들이 수신하지 않고 전달하는 패킷의 개수를 최소화하기 위해, 중복 정도가 가장 큰 모델들을 중심으로 연결 관계를 설정하는 단계일 수 있다. 도 12의 제1 TROSAR 모델(410) 내지 제3 TROSAR 모델(430)의 예시에 의하면, 프로세서는 중복 정도가 1이 되는 관계인 제1 TROSAR 모델(410)-제3 TROSAR 모델(430) 및 제3 TROSAR 모델(430)-제2 TROSAR 모델(420)을 중심으로 연결 관계를 설정할 수 있다.The step of establishing a connection relationship between TROSAR models based on the degree of overlap (S620) is to minimize the number of packets that each TROSAR model transmits without receiving based on the degree of data overlap confirmed in step S610). This may be the step to establish a connection relationship centered on the largest models. According to the example of the first TROSAR model 410 to the third TROSAR model 430 in FIG. 12, the processor has a relationship in which the degree of overlap is 1: the first TROSAR model 410 - the third TROSAR model 430, and the third TROSAR model 430 - A connection relationship can be established centered on the second TROSAR model 420.

이에 따르면, 도 13과 같이 프로세서는 제1 TROSAR 모델(410)-제3 TROSAR 모델(430)-제2 TROSAR 모델(420) 그리고 다시 제1 TROSAR 모델(410)로 이어지는 링 구조를 설정할 수 있다. 도 13을 참조하면, 제1 TROSAR 모델(410)의 출력인 데이터 A는 곧바로 제3 TROSAR 모델(430)의 입력이 될 수 있다. 또한, 제3 TROSAR 모델(430)의 출력인 데이터 B는 곧바로 제2 TROSAR 모델(420)의 입력이 될 수 있다. 제2 TROSAR 모델(420)은 출력이 없고 제1 TROSAR 모델(410)은 입력이 없기 때문에, 링 구조의 이터레이션을 거듭하더라도 불필요하게 떠도는 데이터는 최소화될 수 있다.According to this, as shown in FIG. 13, the processor can set up a ring structure that leads to the first TROSAR model 410 - the third TROSAR model 430 - the second TROSAR model 420 and again to the first TROSAR model 410. Referring to FIG. 13, data A, which is the output of the first TROSAR model 410, can directly become the input of the third TROSAR model 430. Additionally, data B, which is the output of the third TROSAR model 430, can directly become the input of the second TROSAR model 420. Since the second TROSAR model 420 has no output and the first TROSAR model 410 has no input, unnecessary floating data can be minimized even if iterations of the ring structure are repeated.

그러나 프로세서가 중복 정도에 기초하지 않고 연결 관계를 설정하게 된다면 도 14와 같은 링 구조가 생성될 수 있다. 도 14의 링 구조는 중복 정도가 큰 TROSAR 모델들 중심으로 연결 관계가 설정되지 않은 링 구조의 예시이다. 도 14를 참조하면, 제1 TROSAR 모델(410)의 출력인 데이터 A는 제2 TROSAR 모델(420)에 전송되지만 제2 TROSAR 모델(420)의 입력이 될 수 없다. 제2 TROSAR 모델(420)은 수신했지만 처리하지 않은 데이터 A를 다시 제3 TROSAR 모델(430)로 전송할 수 있다. 제3 TROSAR 모델(430)은 제1 TROSAR 모델 (410)에서 제2 TROSAR 모델(420)을 거쳐 들어온 데이터 A를 입력으로 하여 데이터 B를 출력하고 이를 제1 TROSAR 모델(410)로 전송할 수 있다.However, if the processor establishes a connection relationship not based on the degree of overlap, a ring structure as shown in FIG. 14 can be created. The ring structure in FIG. 14 is an example of a ring structure in which no connection relationship is established centered on TROSAR models with a large degree of overlap. Referring to FIG. 14, data A, which is the output of the first TROSAR model 410, is transmitted to the second TROSAR model 420, but cannot be input to the second TROSAR model 420. The second TROSAR model 420 may transmit the received but unprocessed data A back to the third TROSAR model 430. The third TROSAR model 430 may output data B using data A received from the first TROSAR model 410 through the second TROSAR model 420 as input and transmit it to the first TROSAR model 410.

제1 TROSAR 모델(410)은 수신했지만 처리하지 않은 데이터 B와 출력 데이터인 데이터 A를 다시 제2 TROSAR 모델(420)로 전송할 수 있다. 제2 TROSAR 모델(420)은 제3 TROSAR 모델 (430)에서 제1 TROSAR 모델(410)을 거쳐 들어온 데이터 B를 입력으로 받고, 수신했지만 처리하지 않은 데이터 A를 다시 제3 TROSAR 모델(430)로 전송할 수 있다. 이와 같이, 도 14의 구조에서는 링 구조의 이터레이션을 거듭하면서 불필요하게 떠도는 데이터가 도 13보다 많아지게 된다.The first TROSAR model 410 may transmit received but unprocessed data B and data A, which is output data, back to the second TROSAR model 420. The second TROSAR model 420 receives data B received from the third TROSAR model 430 through the first TROSAR model 410 as input, and transfers the received but unprocessed data A back to the third TROSAR model 430. Can be transmitted. As such, in the structure of FIG. 14, as the ring structure repeats, the amount of data floating around unnecessarily increases than in FIG. 13.

본원 발명은 도 14의 경우와 같이 불필요한 데이터의 전송을 최소화하는 링 구조를 설정함으로써 효율적인 통신 채널을 구성할 수 있다.The present invention can form an efficient communication channel by setting up a ring structure that minimizes the transmission of unnecessary data, as in the case of FIG. 14.

도 9는 일 실시예에 따른 패킷 구성을 설정하는 방법의 순서도이다.Figure 9 is a flowchart of a method for setting packet configuration according to one embodiment.

도 9를 참조하면, 일 실시예에 따른 패킷 구성을 설정하는 방법은 링 구조에 대한 이터레이션을 수행하는 단계(S710) 및 TROSAR 모델에 대응되는 패킷 구성을 설정하는 단계(S720)를 포함할 수 있다. 도 9는 단계 S710 및 S720이 순차적으로 수행되는 것을 도시하였으나, 이에 한정되지 않고 새로운 단계가 추가될 수도 있다.Referring to FIG. 9, a method of setting a packet configuration according to an embodiment may include performing iteration on a ring structure (S710) and setting a packet configuration corresponding to the TROSAR model (S720). there is. Figure 9 shows steps S710 and S720 being performed sequentially, but the process is not limited to this and new steps may be added.

링 구조에 대한 이터레이션을 수행하는 단계(S710)는 링 구조의 수행 결과가 변하지 않을 때까지 링 구조에 대한 이터레이션을 수행하는 단계일 수 있다. 단계 S710에 대해서는 도 10을 참조하여 이하에서 자세히 설명한다.The step of performing iteration on the ring structure (S710) may be a step of performing iteration on the ring structure until the performance result of the ring structure does not change. Step S710 will be described in detail below with reference to FIG. 10.

도 10은 일 실시예에 따른 이터레이션 수행 방법의 순서도이다.Figure 10 is a flowchart of a method for performing iteration according to an embodiment.

도 10을 참조하면, 일 실시예에 따른 이터레이션 수행 방법은 제1 TROSAR 모델을 시작점으로 설정하는 단계(S711), 제1 TROSAR 모델부터 제2 TROSAR 모델까지의 경로를 반복 주기로 설정하는 단계(S712), 반복 주기마다 수행 결과를 확인하는 단계(S713) 및 반복 주기의 수행 결과가 변하지 않는 경우, 반복을 중단하는 단계(S714)를 포함할 수 있다. 도 10은 단계 S711 내지 S714가 순차적으로 수행되는 것을 도시하였으나, 이에 한정되지 않고 일부 단계가 병합되어 동시에 수행되거나 새로운 단계가 추가될 수도 있다.Referring to FIG. 10, the method of performing iteration according to an embodiment includes setting the first TROSAR model as a starting point (S711) and setting the path from the first TROSAR model to the second TROSAR model as a repetition period (S712). ), a step of checking the performance result for each repetition cycle (S713), and if the performance result of the repetition cycle does not change, a step of stopping the repetition (S714). Figure 10 shows steps S711 to S714 being performed sequentially, but the present invention is not limited to this and some steps may be merged and performed simultaneously or new steps may be added.

제1 TROSAR 모델을 시작점으로 설정하는 단계(S711)는 링 구조에 포함된 복수의 TROSAR 모델들 중 어느 하나의 모델을 시작점으로 설정하는 단계일 수 있다. 이때, 시작점으로 설정되는 TROSAR 모델은 어느 모델이나 가능할 수 있다. 예를 들어 도 13을 참조하면, 프로세서는 제1 TROSAR 모델(410)을 시작점으로 설정할 수 있다.The step of setting the first TROSAR model as a starting point (S711) may be a step of setting as a starting point any one model among a plurality of TROSAR models included in the ring structure. At this time, the TROSAR model set as the starting point can be any model. For example, referring to FIG. 13, the processor may set the first TROSAR model 410 as a starting point.

제1 TROSAR 모델부터 제2 TROSAR 모델까지의 경로를 반복 주기로 설정하는 단계(S712)는 제1 TROSAR 모델의 입력으로 연결된 제2 TROSAR 모델을 추출하는 단계를 포함할 수 있다. 이에, 프로세서는 제1 TROSAR 모델의 입력부터 제2 TROSAR 모델의 출력까지의 경로를 반복 주기로 설정할 수 있다. 예를 들어 도 13을 참조하면, 프로세서는 제1 TROSAR 모델(410)부터 제3 TROSAR 모델(430)을 거쳐 제2 TROSAR 모델(420)까지의 경로를 반복 주기로 설정할 수 있다.The step of setting the path from the first TROSAR model to the second TROSAR model as a repetition cycle (S712) may include extracting a second TROSAR model connected to the input of the first TROSAR model. Accordingly, the processor may set the path from the input of the first TROSAR model to the output of the second TROSAR model as a repetition cycle. For example, referring to FIG. 13, the processor may set the path from the first TROSAR model 410 through the third TROSAR model 430 to the second TROSAR model 420 as a repetition cycle.

반복 주기마다 수행 결과를 확인하는 단계(S713)는 프로세서가 반복 주기마다 각 TROSAR 모델로 입력되는 데이터와 관련된 수행 결과를 확인하는 단계일 수 있다. 예를 들어 도 13을 참조하면, 프로세서는 첫번째 반복 주기에서, 제1 TROSAR 모델(410)의 입력 데이터는 0, 제3 TROSAR 모델(430)의 입력 데이터는 A, 제2 TROSAR 모델(420)의 입력 데이터는 B인 것을 확인할 수 있다. 이어서, 프로세서는 두번째 반복 주기에서, 제1 TROSAR 모델(410)의 입력 데이터는 0, 제3 TROSAR 모델(430)의 입력 데이터는 A, 제2 TROSAR 모델(420)의 입력 데이터는 B인 것을 확인할 수 있다.The step of checking the performance result at each repetition cycle (S713) may be a step where the processor checks the performance result related to the data input to each TROSAR model at each repetition cycle. For example, referring to FIG. 13, in the first iteration cycle, the processor input data of the first TROSAR model 410 is 0, input data of the third TROSAR model 430 is A, and input data of the second TROSAR model 420 is A. It can be confirmed that the input data is B. Subsequently, in the second iteration cycle, the processor confirms that the input data of the first TROSAR model 410 is 0, the input data of the third TROSAR model 430 is A, and the input data of the second TROSAR model 420 is B. You can.

이때, 프로세서는 첫번째 반복 주기의 수행 결과와 두번째 반복 주기의 수행 결과가 동일한 것을 확인할 수 있다. 즉, 프로세서는 N번째 반복 주기(N은 2 이상의 자연수)의 수행 결과가 N-1번째 반복 주기의 수행 결과와 동일한 것을 확인할 수 있다. 이때, 프로세서는 반복을 중단(S714)할 수 있다.At this time, the processor can confirm that the performance result of the first repetition cycle and the performance result of the second repetition cycle are the same. That is, the processor can confirm that the performance result of the Nth repetition cycle (N is a natural number of 2 or more) is the same as the performance result of the N-1th repetition cycle. At this time, the processor may stop repetition (S714).

다른 예를 들어 도 14를 참조하면, 프로세서는 제1 TROSAR 모델(410)을 시작점으로 설정하고, 제1 TROSAR 모델(410)의 입력부터 제3 TROSAR 모델(430)의 출력까지의 경로를 반복 주기로 설정할 수 있다. 프로세서는 첫번재 반복 주기에서, 제1 TROSAR 모델(410)의 입력 데이터은 0, 제2 TROSAR 모델(420)의 입력 데이터는 A, 제3 TROSAR 모델(430)의 입력 데이터는 A인 것을 확인할 수 있다.For another example, referring to FIG. 14, the processor sets the first TROSAR model 410 as the starting point, and repeats the path from the input of the first TROSAR model 410 to the output of the third TROSAR model 430 as a repetition cycle. You can set it. In the first iteration cycle, the processor can confirm that the input data of the first TROSAR model 410 is 0, the input data of the second TROSAR model 420 is A, and the input data of the third TROSAR model 430 is A. .

이어서, 프로세서는 두번째 반복 주기에서, 제1 TROSAR 모델(410)의 입력 데이터는 B, 제2 TROSAR 모델(420)의 입력 데이터는 A 및 B, 제3 TROSAR 모델(430)의 입력 데이터는 A인 것을 확인할 수 있다. 또한 이어서, 프로세서는 세번째 반복 주기에서, 제1 TROSAR 모델(410)의 입력 데이터는 B, 제2 TROSAR 모델(420)의 입력 데이터는 A 및 B, 제3 TROSAR 모델(430)의 입력 데이터는 A인 것을 확인할 수 있다. 이에, 두번째 반복 주기의 수행 결과와 세번째 반복 주기의 수행 결과가 동일하기 때문에, 프로세서는 반복을 중단할 수 있다.Subsequently, in the second iteration cycle, the processor input data of the first TROSAR model 410 is B, the input data of the second TROSAR model 420 is A and B, and the input data of the third TROSAR model 430 is A. You can check that. Additionally, in the third iteration cycle, the processor determines that the input data of the first TROSAR model 410 is B, the input data of the second TROSAR model 420 is A and B, and the input data of the third TROSAR model 430 is A. You can check that it is. Accordingly, because the performance result of the second repetition cycle and the performance result of the third repetition cycle are the same, the processor can stop repetition.

도 13의 링 구조는 중복 정도를 고려한 구조이기 때문에, 수행 결과가 변하지 않을때까지의 이터레이션 횟수가 도 14의 횟수보다 적을 수 있다.Since the ring structure in FIG. 13 is a structure that takes the degree of redundancy into consideration, the number of iterations until the performance result does not change may be less than the number of iterations in FIG. 14.

다시 도 9를 참조하면, TROSAR 모델에 대응되는 패킷 구성을 설정하는 단계(S720)는 각 TROSAR 모델의 입력 데이터와 관련된 이터레이션 수행 결과에 기초하여 각 TROSAR 모델마다 대응되는 패킷 구성을 설정하는 단계일 수 있다. 예를 들어 도 13을 참조하면, 프로세서는 반복 주기의 수행 결과에 기초하여 제1 TROSAR 모델(410)의 입력 데이터인 0을 제1 TROSAR 모델(410)에 대응되는 패킷 구성으로 설정할 수 있다.Referring again to FIG. 9, the step of setting the packet configuration corresponding to the TROSAR model (S720) is a step of setting the packet configuration corresponding to each TROSAR model based on the results of iteration related to the input data of each TROSAR model. You can. For example, referring to FIG. 13 , the processor may set 0, which is input data of the first TROSAR model 410, to the packet configuration corresponding to the first TROSAR model 410 based on the result of performing the repetition cycle.

또한, 프로세서는 반복 주기의 수행 결과에 기초하여 제3 TROSAR 모델(430)의 입력 데이터인 A를 제3 TROSAR 모델(430)에 대응되는 패킷 구성으로 설정할 수 있다. 또한 프로세서는 반복 주기의 수행 결과에 기초하여 제2 TROSAR 모델(420)의 입력 데이터인 B를 제2 TROSAR 모델(420)에 대응되는 패킷 구성으로 설정할 수 있다.Additionally, the processor may set A, which is input data of the third TROSAR model 430, to a packet configuration corresponding to the third TROSAR model 430 based on the result of performing the repetition cycle. Additionally, the processor may set B, which is input data of the second TROSAR model 420, to a packet configuration corresponding to the second TROSAR model 420 based on the result of performing the repetition cycle.

다른 예를 들어 도 14를 참조하면, 프로세서는 반복 주기의 수행 결과에 기초하여 제1 TROSAR 모델(410)의 입력 데이터인 B를 제1 TROSAR 모델(410)에 대응되는 패킷 구성으로 설정하고, 제2 TROSAR 모델(420)의 입력 데이터인 A 및 B를 제2 TROSAR 모델(420)에 대응되는 패킷 구성으로 설정하고, 제3 TROSAR 모델(430)의 입력 데이터인 A를 제3 TROSAR 모델(430)에 대응되는 패킷 구성으로 설정할 수 있다.For another example, referring to FIG. 14, the processor sets B, which is input data of the first TROSAR model 410, to a packet configuration corresponding to the first TROSAR model 410 based on the result of performing the repetition cycle, and 2 Set A and B, the input data of the TROSAR model 420, to the packet configuration corresponding to the second TROSAR model 420, and set A, the input data of the third TROSAR model 430, to the third TROSAR model 430. It can be set to the corresponding packet configuration.

도 11은 일 실시예에 따른 패킷의 식별자 생성 방법의 순서도이다.Figure 11 is a flowchart of a method for generating a packet identifier according to an embodiment.

도 11을 참조하면, 일 실시예에 따른 패킷의 식별자 생성 방법은 패킷 구성에 기초하여 해쉬값을 생성하는 단계(S810) 및 해쉬값을 식별자로 설정하는 단계(S820)를 포함할 수 있다. 도 11은 단계 S810 및 S820이 순차적으로 수행되는 것을 도시하였으나, 이에 한정되지 않고 새로운 단계가 추가될 수도 있다.Referring to FIG. 11, a method of generating a packet identifier according to an embodiment may include generating a hash value based on the packet configuration (S810) and setting the hash value as an identifier (S820). Figure 11 shows steps S810 and S820 being performed sequentially, but the process is not limited to this and new steps may be added.

패킷 구성에 기초하여 해쉬값을 생성하는 단계(S810)는 단계 S720에서 설정한 패킷 구성에 기초하여 이에 대응되는 해쉬값을 생성하는 단계일 수 있다. 해쉬값을 생성하기 위해, 서로 충돌이 발생되지 않는 적절한 해쉬 알고리즘이 사용될 수 있다. 이때, 패킷 구성이 동일한 경우에는 같은 패킷으로 취급하여 동일한 해쉬값이 부여될 수 있다.The step of generating a hash value based on the packet configuration (S810) may be a step of generating a hash value corresponding to the packet configuration set in step S720. To generate a hash value, an appropriate hash algorithm that does not cause collisions can be used. At this time, if the packet configuration is the same, it may be treated as the same packet and given the same hash value.

해쉬값을 식별자로 설정하는 단계(S820)는 단계 S810에서 생성된 해쉬값을 패킷의 식별자(ID)로 설정하는 단계일 수 있다. 예를 들어 도 13을 참조하면, 프로세서는 제1 TROSAR 모델(410)의 패킷 구성인 0에 기초하여 제1 해쉬값을 생성하고, 제1 해쉬값을 제1 TROSAR 모델(410)의 패킷 구성의 식별자로 설정할 수 있다. 이어서, 프로세서는 제3 TROSAR 모델(430)의 패킷 구성인 A와 제2 TROSAR 모델(420)의 패킷 구성인 B에 기초하여 각각 제2 해쉬값 및 제3 해쉬값을 생성하고, 제2 해쉬값 및 제3 해쉬값을 각각 제3 TROSAR 모델(430)의 패킷 구성의 식별자 및 제2 TROSAR 모델(420)의 패킷 구성의 식별자로 설정할 수 있다.The step of setting the hash value as an identifier (S820) may be a step of setting the hash value generated in step S810 as an identifier (ID) of the packet. For example, referring to FIG. 13, the processor generates a first hash value based on 0, which is the packet configuration of the first TROSAR model 410, and uses the first hash value as the packet configuration of the first TROSAR model 410. It can be set as an identifier. Subsequently, the processor generates a second hash value and a third hash value, respectively, based on A, which is the packet configuration of the third TROSAR model 430, and B, which is the packet configuration of the second TROSAR model 420. and the third hash value may be set as the identifier of the packet configuration of the third TROSAR model 430 and the identifier of the packet configuration of the second TROSAR model 420, respectively.

도 15 내지 도 17는 데이터의 패킷 구성을 설명하기 위한 예시 도면들이다.Figures 15 to 17 are example diagrams for explaining the structure of a data packet.

도 15를 참조하면, 제1 패킷(310)의 구성은 식별자(311), 데이터 A(312), 데이터 B(313) 및 데이터 C(314)를 포함할 수 있다. 식별자(311)는 데이터 A(312), 데이터 B(313) 및 데이터 C(314)에 기초하여 해쉬 알고리즘에 의해 생성된 해쉬값을 포함할 수 있다.Referring to FIG. 15, the structure of the first packet 310 may include an identifier 311, data A (312), data B (313), and data C (314). The identifier 311 may include a hash value generated by a hash algorithm based on data A (312), data B (313), and data C (314).

어느 하나의 TROSAR 모델이 데이터 A, B, C를 모두 사용하는 모델이 아니라 이 중 어느 하나의 데이터만을 사용하는 모델이라면, 제1 패킷(310)은 상기 TROSAR 모델의 스펙에 오버되는 패킷일 수 있다. 이에, 제1 패킷(310)은 링 구조의 이터레이션 동안 계속적으로 전달될 수도 있다. 따라서, 전달되는(떠도는) 데이터의 양을 최소화하기 위해 본원 발명은 중복 정도에 기초하여 링 구조를 설정할 수 있다.If one TROSAR model is not a model that uses all of data A, B, and C, but a model that uses only one of these data, the first packet 310 may be a packet that exceeds the specifications of the TROSAR model. . Accordingly, the first packet 310 may be continuously transmitted during iteration of the ring structure. Therefore, in order to minimize the amount of transmitted (floating) data, the present invention can set a ring structure based on the degree of redundancy.

도 16을 참조하면, 제2 패킷(320)의 구성은 식별자(321) 및 데이터 A(322)를 포함할 수 있다. 식별자(321)는 데이터 A(322)에 기초하여 해쉬 알고리즘에 의해 생성된 해쉬값을 포함할 수 있다. 또한, 도 17을 참조하면, 제3 패킷(330)의 구성은 식별자(331), 데이터 B(332) 및 데이터 C(333)을 포함할 수 있다. 식별자(331)는 데이터 B(332) 및 데이터 C(333)에 기초하여 해쉬 알고리즘에 의해 생성된 해쉬값을 포함할 수 있다.Referring to FIG. 16, the structure of the second packet 320 may include an identifier 321 and data A (322). The identifier 321 may include a hash value generated by a hash algorithm based on data A (322). Additionally, referring to FIG. 17, the configuration of the third packet 330 may include an identifier 331, data B 332, and data C 333. The identifier 331 may include a hash value generated by a hash algorithm based on data B 332 and data C 333.

본원 발명에 의해 종래 링 구조에서는 도 15의 제1 패킷(310)과 같은 패킷이 떠도는 환경에서 도 16의 제2 패킷(320) 또는 도 17의 제3 패킷(330)과 같은 패킷이 떠도는 환경으로 변화하여, 통신 환경에 효율성 및 안정성이 증가되는 효과가 도출될 수 있다.According to the present invention, in the conventional ring structure, an environment in which packets such as the first packet 310 of FIG. 15 are floating is changed to an environment in which packets such as the second packet 320 in FIG. 16 or the third packet 330 in FIG. 17 are floating. By changing, the effect of increasing efficiency and stability in the communication environment can be derived.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.

Claims (7)

적어도 하나 이상의 프로세서에 의해 수행되는 통신 채널 구성 방법에 있어서,
복수의 TROSAR 모델들 간의 연결 관계를 나타내는 링 구조를 설정하는 단계;
상기 링 구조의 이터레이션(iteration) 결과에 기초하여 각 TROSAR 모델에 대한 패킷 구성을 설정하는 단계; 및
상기 패킷 구성에 기초하여 각 TROSAR 모델과 관련된 패킷의 식별자를 생성하는 단계를 포함하고,
상기 링 구조를 설정하는 단계는,
상기 복수의 TROSAR 모델들 중 어느 하나의 출력 데이터의 집합과 다른 하나의 입력 데이터의 집합의 교집합의 구성 요소의 개수에 기초하여 중복 정도를 확인하는 단계; 및
상기 중복 정도에 기초하여 상기 복수의 TROSAR 모델들 간의 연결 관계를 설정하는 단계를 포함하고,
상기 복수의 TROSAR 모델들 간의 연결 관계를 설정하는 단계는,
각 TROSAR 모델들이 수신하지 않고 전달하는 패킷의 개수를 최소화하기 위해, 상기 복수의 TROSAR 모델들 중 제1 TROSAR 모델과 중복 정도가 가장 큰 제2 TORSAR 모델을 상기 제1 TROSAR 모델과 연결하는 단계를 포함하는
통신 채널 구성 방법.
In a method of configuring a communication channel performed by at least one processor,
Setting up a ring structure representing a connection relationship between a plurality of TROSAR models;
setting a packet configuration for each TROSAR model based on an iteration result of the ring structure; and
Generating an identifier for a packet associated with each TROSAR model based on the packet configuration,
The step of setting the ring structure is,
Confirming the degree of overlap based on the number of components of the intersection of the output data set of one of the plurality of TROSAR models and the set of input data of another one of the plurality of TROSAR models; and
Establishing a connection relationship between the plurality of TROSAR models based on the degree of overlap,
The step of establishing a connection relationship between the plurality of TROSAR models is,
In order to minimize the number of packets that each TROSAR model transmits without receiving, it includes connecting a second TORSAR model that has the greatest degree of overlap with the first TROSAR model among the plurality of TROSAR models with the first TROSAR model. doing
How to configure a communication channel.
삭제delete 삭제delete 제1항에 있어서,
상기 패킷 구성을 설정하는 단계는,
상기 링 구조의 수행 결과가 변하지 않을 때까지 상기 링 구조에 대한 이터레이션을 수행하는 단계; 및
상기 이터레이션 이후, 각 TROSAR 모델에게 전달되는 데이터에 기초하여 각 TROSAR 모델에 대응되는 패킷 구성을 설정하는 단계를 포함하는
통신 채널 구성 방법.
According to paragraph 1,
The step of setting the packet configuration is,
performing iteration on the ring structure until the result of performing the ring structure does not change; and
After the iteration, setting a packet configuration corresponding to each TROSAR model based on the data delivered to each TROSAR model.
How to configure a communication channel.
제1항에 있어서,
상기 식별자를 생성하는 단계는,
상기 패킷 구성에 기초하여 해쉬값을 생성하는 단계; 및
생성된 해쉬값을 상기 패킷 구성에 대응되는 식별자로 설정하는 단계를 포함하는
통신 채널 구성 방법.
According to paragraph 1,
The step of generating the identifier is,
generating a hash value based on the packet configuration; and
Including setting the generated hash value as an identifier corresponding to the packet configuration.
How to configure a communication channel.
제4항에 있어서,
상기 이터레이션을 수행하는 단계는,
상기 복수의 TROSAR 모델들 중 제1 TROSAR 모델을 시작점으로 설정하는 단계;
상기 제1 TROSAR 모델부터 상기 제1 TROSAR 모델의 입력과 연결된 제2 TROSAR 모델까지의 경로를 반복 주기로 설정하는 단계;
상기 반복 주기마다 각 TROSAR 모델의 입력 데이터와 관련된 수행 결과를 확인하는 단계; 및
N번째 반복 주기(상기 N은 2 이상의 자연수임)의 수행 결과가 N-1번째 반복 주기의 수행 결과와 동일한 경우, 반복을 중단하는 단계를 포함하는
통신 채널 구성 방법.
According to paragraph 4,
The step of performing the iteration is,
Setting a first TROSAR model among the plurality of TROSAR models as a starting point;
Setting a path from the first TROSAR model to a second TROSAR model connected to the input of the first TROSAR model as a repetition period;
Checking performance results related to input data of each TROSAR model at each repetition cycle; and
If the performance result of the Nth repetition cycle (where N is a natural number of 2 or more) is the same as the performance result of the N-1th repetition cycle, including the step of stopping the repetition.
How to configure a communication channel.
제1항, 제4항 내지 제6항 중 어느 한 항에 기재된 통신 채널 구성 방법을 실행시키도록 컴퓨터로 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium to execute the communication channel configuration method according to any one of claims 1, 4 to 6.
KR1020230136260A 2023-10-12 2023-10-12 Method for configuring a communication channel based on the trosar platform KR102633556B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230136260A KR102633556B1 (en) 2023-10-12 2023-10-12 Method for configuring a communication channel based on the trosar platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230136260A KR102633556B1 (en) 2023-10-12 2023-10-12 Method for configuring a communication channel based on the trosar platform

Publications (1)

Publication Number Publication Date
KR102633556B1 true KR102633556B1 (en) 2024-02-06

Family

ID=89858166

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230136260A KR102633556B1 (en) 2023-10-12 2023-10-12 Method for configuring a communication channel based on the trosar platform

Country Status (1)

Country Link
KR (1) KR102633556B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130110328A1 (en) * 2010-07-08 2013-05-02 Siemens Aktiengesellschaft Control network for a rail vehicle
KR102550318B1 (en) * 2022-12-22 2023-07-03 주식회사 알티스트 Method for analyzing distributed object model based on trosar platform

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130110328A1 (en) * 2010-07-08 2013-05-02 Siemens Aktiengesellschaft Control network for a rail vehicle
KR102550318B1 (en) * 2022-12-22 2023-07-03 주식회사 알티스트 Method for analyzing distributed object model based on trosar platform

Similar Documents

Publication Publication Date Title
JP5581326B2 (en) Hardware cell architecture influenced by biology
CN111209005A (en) Method and apparatus for compiling program file, and computer-readable storage medium
CN108475189B (en) Method, system and computer readable medium for sub-graph interface generation
CN104657140A (en) Code generating method and device
CN103392170A (en) Synchronization of data between systems
WO2020062959A1 (en) Data configuration method and apparatus
WO2012126301A1 (en) Processing method and device for message transmission and reception
EP3637690B1 (en) Service configuration-driven flow table method and device
CN104794095B (en) Distributed Calculation processing method and processing device
CN107222363B (en) Storage protocol consistency test method and system
KR102633556B1 (en) Method for configuring a communication channel based on the trosar platform
EP3866443A1 (en) Opc ua server, system operating using opc ua, and method of executing opc ua system
CN103197947A (en) Script processing method and device
KR102550318B1 (en) Method for analyzing distributed object model based on trosar platform
CN108365976B (en) Network service optimization method and device
CN105763468A (en) Method and device for transmitting BGP update message
CN113535141A (en) Database operation code generation method and device
CN103984555A (en) Method for automatically generating specific platform communication protocol source code on basis of tree-table combination drive
Bourke et al. Showing invariance compositionally for a process algebra for network protocols
CN117170822B (en) System model and code joint simulation system using distributed network middleware
US20230350653A1 (en) Computational Graph Optimization Method and Apparatus
CN114443069B (en) Method and system for constructing operating system mirror image by dynamically expanding cluster
CN113641352B (en) Method and system for automatically generating SNMP (simple network management protocol) codes
CN117172206B (en) Test case generation method and device, electronic equipment and storage medium
CN114546624A (en) Task processing method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant