KR102259503B1 - Method and system for controlling simulation based on event driven scheme - Google Patents

Method and system for controlling simulation based on event driven scheme Download PDF

Info

Publication number
KR102259503B1
KR102259503B1 KR1020190167174A KR20190167174A KR102259503B1 KR 102259503 B1 KR102259503 B1 KR 102259503B1 KR 1020190167174 A KR1020190167174 A KR 1020190167174A KR 20190167174 A KR20190167174 A KR 20190167174A KR 102259503 B1 KR102259503 B1 KR 102259503B1
Authority
KR
South Korea
Prior art keywords
model
simulation
event
sil
time
Prior art date
Application number
KR1020190167174A
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 KR1020190167174A priority Critical patent/KR102259503B1/en
Application granted granted Critical
Publication of KR102259503B1 publication Critical patent/KR102259503B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

The present invention provides a method for controlling simulation in real time based on an event-driven scheme. The method of the present invention comprises: a first state transition step of transmitting real-time time advance events received from a simulation control unit to a system integration laboratory (SIL) model and performing transition in the state of the SIL model over time to output a result, wherein the first state transition step is performed by a processor implemented as a simulator; a second state transition step of receiving external data events from a message exchange unit and transmitting the same to the SIL model to perform transition in the state of the SIL model; and a message transmission step of transmitting a message for a calculation result of the SIL model, which is processed through the first state transition and the second state transition. According to the present invention, provided are a method and system for controlling simulation through a simulation model for an aircraft based on discrete event system specification (DEVS) formalism.

Description

이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법 및 시스템{Method and system for controlling simulation based on event driven scheme}Real-time simulation control method and system based on event driven scheme {Method and system for controlling simulation based on event driven scheme}

본 발명은 시뮬레이션 제어 방법 및 장치에 관한 것이다. 보다 상세하게는, 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법 및 시스템에 관한 것이다. The present invention relates to a simulation control method and apparatus. More particularly, it relates to an event-driven method-based real-time simulation control method and system.

종래 항공용 SIL 모델을 시뮬레이션 하는 방법은 작은 시간 프레임 단위로 입력/출력/계산의 처리를 순차적(Sequential) 주기적(Periodic)으로 수행될 수 있다. In the conventional method of simulating the SIL model for aviation, the processing of input/output/calculation in units of small time frames may be performed sequentially and periodically.

이와 관련하여, 주기적 단위 수행이 단위 시간 프레임 내에 종료되는지 모니터링함으로 시스템의 실시간성(Real-time)을 보장할 수 있다. 즉, 주기적으로 수신한 데이터를 읽고 그 데이터를 기반으로 로직을 수행(계산)하여 결과를 출력하는 작업을 반복적으로 수행한다. 이에 따라, 그 작업이 정해진 단위 시간 프레임 이내에 종료되는 것을 모니터링 하여 실시간성을 보장할 수 있다.In this regard, real-time of the system can be guaranteed by monitoring whether the periodic unit execution is completed within the unit time frame. That is, the operation of periodically reading the received data, executing (calculating) logic based on the data, and outputting the result is repeatedly performed. Accordingly, it is possible to ensure real-time performance by monitoring that the task is finished within a predetermined unit time frame.

종래 항공용 SIL (System Integration Laboratory) 모델은 모델링 형식론이 적용되지 않았다. 이와 관련하여, 모델링 형식론 없이 개발된 항공용 SIL 모델은 표준화에 어려움이 있다는 문제점이 있다. The modeling formalism was not applied to the conventional SIL (System Integration Laboratory) model for aviation. In this regard, the aviation SIL model developed without modeling formalism has a problem in that it is difficult to standardize.

또한, 주기적인 시간 프레임 내의 순차적 처리의 실시간 모니터링은 다음의 한계점이 있다.In addition, real-time monitoring of sequential processing within a periodic time frame has the following limitations.

1) I/O을 Polling 방식으로 처리하여 시스템 자원을 낭비할 수 있다. 1) By processing I/O in a polling method, system resources can be wasted.

2) 단위 시간 프레임의 크기(통상 20ms)에 따라 주기적 입출력하는 구조로 시간 프레임 크기보다 정밀한 시간 처리가 불가능하다.2) Due to the periodic input/output structure according to the size of the unit time frame (normally 20 ms), it is impossible to process time more precisely than the time frame size.

3) 시간 프레임 기준으로 실시간성을 모니터링 하는 방법은 실행 주기가 다른 여러 모델을 동시에 실행 시키는 경우 실시간성 판정에 False Positive 오류를 내포한다.3) The method of monitoring real-time performance based on the time frame implies a false positive error in the real-time determination when several models with different execution cycles are executed at the same time.

따라서, 본 발명의 목적은 상기 서술된 문제를 해결하기 위해 DEVS 형식론 기반의 항공용 시뮬레이션 모델을 통한 시뮬레이션 제어 방법 및 시스템을 제공함에 있다. Accordingly, an object of the present invention is to provide a simulation control method and system through a simulation model for aviation based on the DEVS formalism in order to solve the above-described problems.

또한, 본 발명의 목적은 I/O와 모델 실행을 순차적, 주기적 수행 방식이 아닌 DEVS 형식론과 이벤트 기반으로 처리하여 자원을 효율적으로 사용하는 방법을 제공함에 있다. In addition, it is an object of the present invention to provide a method for efficiently using resources by processing I/O and model execution based on DEVS formalism and event rather than sequential and periodic execution methods.

또한, 본 발명의 목적은 더 정밀한 시간 처리를 보장하고, 실시간성 모니터링의 False Positive 오류 없이 동일 목적(항공용 SIL 모델의 실시간 모의)을 달성하는 방법을 제안함에 있다. In addition, an object of the present invention is to guarantee more precise time processing and to propose a method for achieving the same purpose (real-time simulation of a SIL model for aviation) without false positive errors of real-time monitoring.

상기와 같은 과제를 해결하기 위한 본 발명에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법이 제공된다. 상기 방법은 시뮬레이터(simulator)로 구현되는 프로세서에 의해 수행되고, 시뮬레이션 제어부로부터 수신한 실시간 시간전진 이벤트(time advance event)를 SIL (System Integration Laboratory) 모델로 전달하여, 시간의 흐름에 따라 상기 SIL 모델의 상태를 천이 시키고 결과를 출력하는 제1 상태 천이 단계; 메시지 교환부로부터 외부 데이터 이벤트를 수신하고 상기 SIL 모델로 전달하여, 상기 SIL 모델의 상태를 천이 시키는 제2 상태 천이 단계; 및 상기 제 1상태 천이와 제2 상태 천이를 통해 처리되는 SIL 모델의 계산 결과에 대한 메시지를 송신하는 메시지 송신 단계를 포함할 수 있다.An event driving method-based real-time simulation control method according to the present invention for solving the above problems is provided. The method is performed by a processor implemented as a simulator, and transmits a real-time time advance event received from a simulation control unit to a System Integration Laboratory (SIL) model, and the SIL model according to the passage of time a first state transition step of transitioning the state of , and outputting a result; a second state transition step of receiving an external data event from the message exchange unit and transferring the event to the SIL model to transition the state of the SIL model; and transmitting a message for a result of calculation of the SIL model processed through the first state transition and the second state transition.

일 실시 예로, 상기 메시지 교환부와 공유 메모리를 통해 항공용 시뮬레이션 모델의 입력 데이터 및 출력 데이터를 교환 할 수 있다.In one embodiment, input data and output data of the aviation simulation model may be exchanged through the message exchange unit and the shared memory.

일 실시 예로, 상기 시뮬레이션 제어부는 상기 제어 명령을 시뮬레이션 엔진으로 전달하고, 상기 시뮬레이션 엔진은 상기 제어 명령에 기반하여 상기 항공용 시뮬레이션이 시작/중지/재개/종료되도록 처리할 수 있다.In an embodiment, the simulation control unit may transmit the control command to a simulation engine, and the simulation engine may process to start/stop/resume/end the aviation simulation based on the control command.

일 실시 예로, 하드웨어 인터페이스인 외부 I/0 인터페이스를 통해 상기 메시지 교환부가 수신한 메시지를 상기 메시지 교환부를 통해 시뮬레이션 엔진이 수신하고, 상기 메시지를 상기 메시지 교환부와 상기 SIL 모델이 공유 메모리를 통해 공유할 수 있다.In one embodiment, the simulation engine receives the message received by the message exchange unit through the external I/0 interface, which is a hardware interface, through the message exchange unit, and the message exchange unit and the SIL model share the message through a shared memory can do.

일 실시 예로, 상기 메시지 교환부는 상기 SIL 모델의 스펙에 따라 정해진 출력 메시지의 갱신 주기를 모니터링할 수 있다.In an embodiment, the message exchange unit may monitor an update period of an output message determined according to the specification of the SIL model.

일 실시 예로, 상기 시뮬레이션 제어부는 시작 또는 재개 명령이 입력되면 하드웨어 타이머와 I/O를 활성화 시켜서 시간 전진과 외부 데이터 수신 이벤트가 활성화 되도록 하고, 중지 또는 종료 명령이 입력되면 상기 외부 데이터 수신 이벤트를 비활성화 시켜서 시뮬레이션을 중지하도록 할 수 있다.In one embodiment, the simulation control unit activates a hardware timer and I/O when a start or resume command is input so that time advance and an external data reception event are activated, and when a stop or end command is input, the external data reception event is deactivated to stop the simulation.

일 실시 예로, 상기 SIL 모델은, 상태, 수신한 메시지로부터 이벤트가 전달되는 포트, 공유 메모리와 연관된 연동 속성 및 상태 천이에 관한 정보를 포함하는 원자 모델; 복수의 하위 모델과 연결되고, 상기 하위 모델에 대한 스케줄 정보 및 포트 간 연결 정보를 포함하는 결합 모델; 및 상기 원자 모델 및 상기 결합 모델과 연결되고, 상기 원자 모델 및 상기 결합 모델에 해당하는 하위 모델에 대한 스케줄 정보 및 포트 간 연결 정보를 포함하는 최상위 결합 모델을 포함할 수 있다.In an embodiment, the SIL model may include: an atomic model including a state, a port through which an event is transmitted from a received message, an interlocking attribute associated with a shared memory, and information on state transition; a coupling model connected to a plurality of sub-models and including schedule information and port-to-port connection information for the sub-models; and a top-level coupling model connected to the atomic model and the coupling model, and including schedule information and port-to-port connection information for a sub-model corresponding to the atomic model and the coupling model.

일 실시 예로, 상기 제1 상태 천이 단계에서, 운영 체제(operating system, OS)와 협력하여 하드웨어의 타이머 이벤트와 연관된 설정을 구성하고, 상기 타이머 이벤트를 수신하면 상기 실시간 시간전진 이벤트를 통해 SIL 모델에서 정의한 상태 천이 태스크를 처리할 수 있다. 또한, 상기 제2 상태 천이 단계에서, 상기 메시지 교환부로부터 외부 데이터 이벤트를 수신하면, 상기 외부 데이터 이벤트와 연관된 포트 데이터를 상기 SIL 모델로 전달하여 이벤트 방식으로 SIL 모델에서 정의한 상태 천이 태스크를 처리할 수 있다.In one embodiment, in the first state transition step, a setting related to a timer event of hardware is configured in cooperation with an operating system (OS), and when the timer event is received, the SIL model through the real-time time advance event A defined state transition task can be processed. In addition, in the second state transition step, when an external data event is received from the message exchange unit, port data associated with the external data event is transferred to the SIL model to process the state transition task defined in the SIL model in an event manner. can

본 발명의 다른 양상에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법을 수행하는 시뮬레이션 제어 장치가 제공된다. 상기 시뮬레이션 제어 장치는 하드웨어 인터페이스를 통해 메시지를 송수신하고 SIL 모델과 그 메시지 내용을 교환하는 메시지 교환부; 실시간 시간전진 이벤트(time advance event)를 시뮬레이션 엔진에 전달하고 시뮬레이션의 시작/중지/재개/종료를 제어하도록 구성된 시뮬레이션 제어부; 및 상기 시뮬레이션 제어부로부터 수신한 상기 실시간 시간전진 이벤트를 SIL (System Integration Laboratory) 모델로 전달하여, 상기 SIL 모델의 상태를 천이 시키고, 상기 메시지 교환부로부터 외부 데이터 이벤트를 수신하고 상기 SIL 모델로 전달하여, 상기 SIL 모델의 상태를 천이 시키고, 상기 시뮬레이션 제어부로부터 수신된 항공용 시뮬레이션 시작/중지/재개/종료의 제어 명령을 처리하도록 구성된 시뮬레이션 엔진을 포함할 수 있다.A simulation control apparatus for performing a real-time simulation control method based on an event driving method according to another aspect of the present invention is provided. The simulation control device includes: a message exchange unit for transmitting and receiving messages through a hardware interface and exchanging the SIL model and the message contents; a simulation control unit configured to forward a real-time time advance event to the simulation engine and to control start/stop/resume/end of the simulation; and transferring the real-time time advance event received from the simulation control unit to a System Integration Laboratory (SIL) model, transitioning the state of the SIL model, receiving an external data event from the message exchange unit, and transferring it to the SIL model , transition the state of the SIL model, and may include a simulation engine configured to process a control command of start/stop/resume/end of the aviation simulation received from the simulation control unit.

일 실시 예로, 상기 시뮬레이션 엔진은, 상기 메시지 교환부와 공유 메모리를 통해 항공용 시뮬레이션 모델의 입력 데이터 및 출력 데이터를 교환하고, 상기 시뮬레이션 제어부는 상기 제어 명령을 시뮬레이션 엔진으로 전달하고, 상기 시뮬레이션 엔진은 상기 제어 명령에 기반하여 상기 항공용 시뮬레이션이 시작/중지/재개/종료되도록 처리할 수 있다.In one embodiment, the simulation engine exchanges input data and output data of the aviation simulation model through the message exchange unit and the shared memory, the simulation control unit transmits the control command to the simulation engine, and the simulation engine Based on the control command, the flight simulation may be processed to start/stop/resume/end.

일 실시 예로, 상기 하드웨어 인터페이스인 외부 I/0 인터페이스를 통해 상기 메시지 교환부가 수신한 메시지를 상기 메시지 교환부를 통해 상기 시뮬레이션 엔진이 SIL 모델의 이벤트로 수신하여 모델의 포트로 전달하고, 상기 메시지를 상기 시뮬레이션 엔진과 상기 SIL 모델이 공유 메모리를 통해 공유하고, 상기 메시지 교환부는 상기 SIL 모델의 스펙에 따라 정해진 출력 메시지의 갱신 주기를 모니터링할 수 있다.In one embodiment, the simulation engine receives the message received by the message exchange unit through the external I/0 interface, which is the hardware interface, as an event of the SIL model through the message exchange unit, and transmits the message to the model port, and transmits the message to the The simulation engine and the SIL model share the shared memory, and the message exchange unit may monitor an update cycle of an output message determined according to the specification of the SIL model.

일 실시 예로, 상기 시뮬레이션 제어부는 운영 체제(operating system, OS)와 협력하여 하드웨어의 타이머 이벤트와 연관된 설정을 구성하고, 상기 타이머 이벤트를 수신하면 상기 시뮬레이션 엔진으로 실시간 시간전진 이벤트를 전달하여 SIL 모델의 제 1 상태 천이 태스크를 처리하고, 상기 메시지 교환부로부터 외부 데이터 이벤트를 수신하면, 상기 외부 데이터 이벤트와 연관된 포트 데이터를 상기 SIL 모델로 전달하여 SIL 모델의 제 2 상태 천이 태스크를 처리할 수 있다.In one embodiment, the simulation control unit configures settings related to a timer event of hardware in cooperation with an operating system (OS), and when receiving the timer event, transmits a real-time time advance event to the simulation engine to generate the SIL model. After processing the first state transition task and receiving an external data event from the message exchange unit, port data associated with the external data event may be transferred to the SIL model to process the second state transition task of the SIL model.

본 발명의 적어도 일 실시예에 따르면, 항공용 시뮬레이션 모델에 적용하는 DEVS 형식론의 이벤트는 시간의 흐름(전진)과 외부 입력 데이터이다. 따라서 DEVS 엔진을 이용한 위의 시뮬레이션 구성으로 이벤트가 발생할 때만 이벤트를 모델 내부로 전달하여 로직을 실행 시키게 되고, 기존의 주기적인 반복 작업의 비효율성을 개선한다. According to at least one embodiment of the present invention, the events of the DEVS formalism applied to the aviation simulation model are the passage of time (advance) and external input data. Therefore, with the above simulation configuration using the DEVS engine, only when an event occurs, the event is transferred into the model to execute the logic, and the inefficiency of the existing periodic repetitive work is improved.

본 발명의 적어도 일 실시예에 따르면, 실시간성에 대한 모니터링은 모델이 출력 데이터를 정해진 갱신 주기 이내에 갱신(출력)하는지 판단한다. 이와 관련하여,Hard Real-time System의 실시간성의 보장은 계산의 결과가 Deadline 이내 출력 여부로 판정할 수 있다. 즉 종래 방식은 전체 반복 작업이 시간 프레임 이내 종료되어 출력이 정해진 시간(프레임) 이내에 계산되는지를 판단했다면, 본 발명에서는 실행 중인 모델이 개별 출력 데이터의 요구된 갱신 주기(ICD에서 명시한 주기)를 지키고 있는지 판단할 수 있다.According to at least one embodiment of the present invention, the monitoring for real-time determines whether the model updates (outputs) the output data within a predetermined update period. In this regard, the real-time guarantee of the hard real-time system can be determined by whether the calculation result is output within the deadline. That is, in the conventional method, if it is determined whether the output is calculated within a predetermined time (frame) because the entire iterative task is finished within a time frame, in the present invention, the running model keeps the required update period (period specified in the ICD) of the individual output data, and It can be determined whether

이벤트를 중심으로 실행되는 DEVS 형식론은 종래의 시뮬레이션 방법인 주기적인 처리 방식과 어울리지 않는다. 따라서 본 발명은 이벤트 구동과 어울리는 인터럽트 방식의 I/O 운용과 이벤트 기반으로 동작하는 시뮬레이션 엔진으로 SIL 모델을 운용하고, 실시간성을 보장하도록 모니터링하는 방법을 제공할 수 있다.DEVS formalism, which revolves around events, is not compatible with the cyclical processing method, which is a conventional simulation method. Therefore, the present invention can provide a method of operating a SIL model with an interrupt type I/O operation suitable for event driving and a simulation engine operating based on an event, and monitoring to ensure real-time performance.

본 발명의 적어도 일 실시예에 따르면, 이벤트 구동 방식은 주기적인 일괄처리 방식보다 시스템을 확장하기 쉽고(Scalability), 시스템 성능을 효율적으로 활용 가능하다. According to at least one embodiment of the present invention, the event driving method is easier to expand the system than the periodic batch processing method (scalability), and it is possible to efficiently utilize the system performance.

본 발명의 방법은 DEVS 형식론으로 개발된 모델의 로직은 데이터 교환부에 의해 모델의 외부 I/O 통신과 분리되므로 모델이 모의하려는 탑재장비 또는 상위 체계(항전체계, 비행체 체계 등)의 ICD(Interface Control Document)로의 의존성이 낮아져서 모델 로직의 재사용성을 향상시킬 수 있다.In the method of the present invention, the logic of the model developed with the DEVS formalism is separated from the external I/O communication of the model by the data exchange unit, so the ICD (Interface of the on-board equipment or higher system (avionics system, air vehicle system, etc.) Control Document), the reusability of model logic can be improved.

도 1은 Time Frame마다 주기적인 작업 수행 시, 실시간 처리 실패 감지가 발생하는 경우를 나타낸다.
도 2는 계산(C) 작업을 3개의 다른 실행 주기로 동작하는 SIL 모델로 구분하여 표현한 도면이다.
도 3은 순차적(Sequential) 주기적(Periodic)으로 작업을 처리하는 Hard Real-Time 시스템에서 시간 오차가 발생하는 경우를 나타낸다.
도 4는 본 발명에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법을 수행하는 시뮬레이션 제어 장치의 상세 구성을 나타낸다.
도 5는 본 발명에 따른 시뮬레이터와 SIL 모델의 연동과 관련하여, SIL 모델의 상세한 구성을 나타낸다.
도 6은 본 발명에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법의 흐름도를 나타낸다.
1 illustrates a case in which real-time processing failure detection occurs when performing periodic tasks for each time frame.
FIG. 2 is a diagram illustrating the calculation (C) task by dividing it into a SIL model operating in three different execution cycles.
3 illustrates a case in which a time error occurs in a Hard Real-Time system that processes tasks in sequential and periodic fashion.
4 shows a detailed configuration of a simulation control apparatus for performing a real-time simulation control method based on an event driving method according to the present invention.
5 shows the detailed configuration of the SIL model in relation to the linkage between the simulator and the SIL model according to the present invention.
6 is a flowchart of a real-time simulation control method based on an event driving method according to the present invention.

상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. The features and effects of the present invention described above will become more apparent through the following detailed description in connection with the accompanying drawings, and accordingly, those of ordinary skill in the technical field to which the present invention pertains can easily implement the technical idea of the present invention. I will be able to.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.In describing each drawing, similar reference numerals are used for similar elements.

제1, 제2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component.

예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.Unless otherwise defined, all terms used herein including technical or scientific terms have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. Shouldn't.

이하의 설명에서 사용되는 구성요소에 대한 접미사 모듈, 블록 및 부는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. Suffix modules, blocks, and parts for components used in the following description are given or mixed in consideration of only the ease of writing the specification, and do not have meanings or roles that are distinguished from each other by themselves.

이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 하기에서 본 발명의 실시 예를 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement them. In describing the embodiments of the present invention below, when it is determined that a detailed description of a related known function or a known configuration may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted.

이하에서는, 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법 및 장치에 대해 살펴보기로 한다. 이와 관련하여, 도 1 내지 도 3은 본 발명과 관련하여 Hard Real-Time 시스템에서의 시간 흐름에 따른 타임 스케줄링 방법을 나타낸 것이다. T, R, C 블록은 SIL 모델이 데이터를 송신(T)하고 데이터를 수신(R)하고 계산(C)하는 점유 시간을 의미한다.Hereinafter, an event-driven method-based real-time simulation control method and apparatus will be described. In this regard, FIGS. 1 to 3 show a time scheduling method according to time flow in a Hard Real-Time system in relation to the present invention. The T, R, and C blocks mean the occupancy time for the SIL model to transmit (T) data, receive (R) and calculate (C) data.

도 1은 Time Frame마다 주기적인 작업 수행 시, 실시간 처리 실패 감지가 발생하는 경우를 나타낸다. 한편, 도 2는 계산(C) 작업을 3개의 다른 실행 주기로 동작하는 SIL 모델로 구분하여 표현한 도면이다. Time Frame 마다 모든 작업에 대한 종료를 기준으로 실시간성 판단하는 경우, C2또는 C3가 매 단위 시간 프레임 주기로 작업할 필요가 없는 모델임에도 불구하고 C3가 Frame 3에서 종료되지 않았다는 이유로 Frame Over Run의 False Positive오류가 발생하는 경우를 나타낸다. 또한, 도 3은 순차적(Sequential) 주기적(Periodic)으로 작업을 처리하는 Hard Real-Time 시스템에서 시간 오차가 발생하는 경우를 나타낸다. Frame 1에서 신호 출력을 요청하는 메시지를 수신해도 SIL 모델은 해당 프레임의 R 블록이 종료되었으므로 다음 프레임의 R 블록에서 수신하게 되고 처리(C)하고 신호를 출력하는 시점은 빨라야 Frame 3의 T 블록에서 이루어진다. 그래서 정밀한 시간 Delay에 따라 처리할 수 없고 Frame 길이 이상의 오차가 발생할 수 밖에 없다.1 illustrates a case in which real-time processing failure detection occurs when performing periodic tasks for each time frame. Meanwhile, FIG. 2 is a diagram illustrating the calculation (C) task by dividing it into a SIL model operating in three different execution cycles. When real-time is judged based on the completion of all tasks for each time frame, it is a false positive of Frame Over Run because C3 is not finished in Frame 3 even though C2 or C3 is a model that does not need to work every unit time frame period. Indicates when an error occurs. In addition, FIG. 3 shows a case in which a time error occurs in a Hard Real-Time system that processes a job in a sequential and periodic manner. Even if a message requesting signal output is received in Frame 1, the SIL model receives it in the R block of the next frame because the R block of the corresponding frame is terminated. The time of processing (C) and outputting the signal is at the earliest in the T block of Frame 3 is done Therefore, it cannot be processed according to the precise time delay and an error more than the frame length is inevitable.

이와 관련하여, 항공용 SIL 실시간 시뮬레이션 시스템은 Hard Real-Time 시스템으로 주어진 시간 제약 조건 내에 작업(Task)의 수행 결과를 얻지 못하면 시스템에 치명적인 영향을 주는 시스템이다. 도 1과 같이 항공용 SIL 모델의 시뮬레이션은 Time Frame마다 주기적인 작업을 수행할 수 있다. In this regard, the SIL real-time simulation system for aviation is a hard real-time system that has a fatal effect on the system if the result of the task is not obtained within the given time constraint. 1 , the simulation of the aviation SIL model may perform a periodic operation for each time frame.

도 1을 참조하면, Time Frame을 정하고 데이터 출력(T), 데이터 입력(R), 계산 작업(C)을 반복 수행할 수 있다. 이 경우, 특정 계산 작업(C)의 시간이 증가함에 따라 실시간 처리 실패가 발생할 수 있고, 이에 따라 알림 또는 시스템 중단이 발생할 수 있다.Referring to FIG. 1 , a time frame may be determined and data output (T), data input (R), and calculation operations (C) may be repeatedly performed. In this case, as the time of the specific calculation task (C) increases, real-time processing failure may occur, and accordingly, a notification or system interruption may occur.

도 2를 참조하면, Hard Real-Time 시스템은 Frame Over Run의 False Positive오류를 내포할 수 있다. 이와 관련하여, Time Frame 마다 모든 작업에 대한 종료를 기준으로 실시간성 판단하므로 단위 Time Frame 보다 큰 주기의 모델까지 매 단위 Time Frame(20ms) 기준으로 판단할 수 있다. C1은 20ms, C2는 40ms, C3는 80ms의 실행주기를 갖는 모델 3개를 시뮬레이션하는 경우 C3는 Frame3이 끝나는 시점에 모든 작업을 마쳐야 하는 것은 아니다. 따라서 Frame 3에서 Frame Over Run은 False Positive 오류이다.Referring to FIG. 2 , the Hard Real-Time system may contain a false positive error of Frame Over Run. In this regard, since real-time is determined on the basis of the completion of all tasks for each time frame, it is possible to determine a model with a period larger than the unit time frame on the basis of each time frame (20 ms). C1 is 20ms, C2 is 40ms, C3 is 80ms when simulating three models with an execution cycle, C3 does not have to finish all the work at the end of Frame3. Therefore, Frame Over Run in Frame 3 is a false positive error.

한편, 도 3을 참조하면, Discrete 신호의 정밀한 출력과 관련하여, 시간 제어 오차가 발생할 수 있다. 구체적으로, 요구 사항이 신호 출력 요청 수신 기준 5ms 후 출력이라면, Polling 방식으로 오차가 발생할 수 있다.Meanwhile, referring to FIG. 3 , in relation to the precise output of the discrete signal, a time control error may occur. Specifically, if the requirement is output 5 ms after the signal output request reception standard, an error may occur in the polling method.

이러한 False Positive 오류 문제와 시간 제어 오차 문제를 해결하기 위해, 본 발명에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법 및 이를 수행하는 장치는 도 4와 같이 구성될 수 있다. 즉, 도 4는 본 발명에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법을 수행하는 시뮬레이션 제어 장치의 상세 구성을 나타낸다.In order to solve the false positive error problem and the time control error problem, the event driving method-based real-time simulation control method according to the present invention and an apparatus for performing the same may be configured as shown in FIG. 4 . That is, FIG. 4 shows a detailed configuration of a simulation control apparatus for performing a real-time simulation control method based on an event driving method according to the present invention.

시뮬레이션 제어 장치는 시뮬레이션 제어부(110), 시뮬레이션 엔진(120) 및 메시지 교환부(150)를 포함하는 시뮬레이터(simulator, 100)로 구현될 수 있다. 여기서, 시뮬레이션 엔진(120)은 항공용 SIL 모델에 기반하여 이벤트 기반으로 실시간 시뮬레이션을 수행하므로 DEVS (Discrete Event Systems Specification) 시뮬레이션 엔진(120)으로 지칭할 수 있다.The simulation control apparatus may be implemented as a simulator 100 including a simulation control unit 110 , a simulation engine 120 , and a message exchange unit 150 . Here, the simulation engine 120 may be referred to as a Discrete Event Systems Specification (DEVS) simulation engine 120 because it performs real-time simulation based on an event based on the aviation SIL model.

한편, 시뮬레이션 제어 장치는 시뮬레이션 엔진(120)과 연동하는 (항공용) SIL 모델(200)을 더 포함할 수 있다. 여기서, SIL 모델(200)은 SIL 라이브러리(200) 또는 SIL 모델 저장부(200)로 지칭될 수 있다. 한편, 본 발명에 따른 시뮬레이션 제어부(110), 시뮬레이션 엔진(120) 및 메시지 교환부(150)를 포함하는 시뮬레이터(100)는 적어도 하나의 프로세서에 의해 구동될 수 있다. 이에 따라, 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법은 시뮬레이터(100)를 구동하는 적어도 하나의 프로세서에 의해 구동될 수 있다.On the other hand, the simulation control apparatus may further include a (aviation) SIL model 200 interlocking with the simulation engine 120 . Here, the SIL model 200 may be referred to as the SIL library 200 or the SIL model storage unit 200 . Meanwhile, the simulator 100 including the simulation control unit 110 , the simulation engine 120 , and the message exchange unit 150 according to the present invention may be driven by at least one processor. Accordingly, the real-time simulation control method based on the event driving method may be driven by at least one processor driving the simulator 100 .

한편, 본 발명에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법을 수행하는 시뮬레이터(100)는 Real-time OS와 연동되어 구동될 수 있다. 한편, 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법을 수행하는 시뮬레이터(100)는 Real-time OS를 통해 하드웨어와 연동될 수 있다.On the other hand, the simulator 100 performing the real-time simulation control method based on the event driving method according to the present invention may be operated in conjunction with the real-time OS. Meanwhile, the simulator 100 performing the event driving method-based real-time simulation control method may be linked with hardware through a real-time OS.

이러한 본 발명에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법을 수행하는 시뮬레이터(100)의 상세 구성과 동작은 다음과 같다.The detailed configuration and operation of the simulator 100 for performing the real-time simulation control method based on the event driving method according to the present invention are as follows.

1) DEVS 시뮬레이션 엔진(120) - DEVS 기반 항공용 SIL 모델을 구동 시키는 엔진부로 모델에 이벤트(시간 전진 또는 입력(포트) 데이터)를 전달하고 이벤트 수행의 결과인 출력 데이터를 데이터 교환부로 전달한다. 시간 전진은 DEVS 모델의 내부 상태 천이(제 1 상태 천이)가 발생하고 외부 입력 데이터는 DEVS 모델의 외부 상태 천이(제 2 상태 천이)가 발생한다. 1) DEVS simulation engine 120 - This is the engine unit that drives the DEVS-based aviation SIL model, and transmits an event (time advance or input (port) data) to the model and transmits the output data resulting from the event execution to the data exchange unit. In the time advance, an internal state transition (first state transition) of the DEVS model occurs, and external input data causes an external state transition (second state transition) of the DEVS model.

2) 시뮬레이션 제어부(110) - OS를 통해 하드웨어의 타이머 이벤트를 설정하고 타이머 이벤트를 수신하면 DEVS 엔진의 실시간 Tick을 전진시킨다. 운용자 연동을 통해 시뮬레이션 엔진의 시작/중지등 전체 시스템을 제어하는 기능을 수행한다.2) Simulation control unit 110 - When a timer event of hardware is set through the OS and a timer event is received, the real-time tick of the DEVS engine is advanced. It performs the function of controlling the entire system such as start/stop of the simulation engine through operator interlocking.

3) 메시지 교환부(150) - I/O를 통해 외부로부터 수신한 입력 데이터를 DEVS 엔진에 전달하고 DEVS 엔진에서 출력된 모델의 수행 결과 데이터를 I/O를 통해 외부로 송신한다. 이에 따라, 주기적인 출력이 수행되어야 하는 데이터는 그 갱신 주기를 모니터링하여 모델의 실시간성을 모니터링할 수 있다.3) Message exchange unit 150 - Transmits input data received from the outside through I/O to the DEVS engine, and transmits the result data of the model output from the DEVS engine to the outside through I/O. Accordingly, it is possible to monitor the real-time of the model by monitoring the update period of data for which periodic output is to be performed.

이러한 본 발명에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법을 수행하는 시뮬레이션 제어부(110), 시뮬레이션 엔진(120) 및 메시지 교환부(150)를 포함하는 시뮬레이터(simulator, 100)의 상세 동작은 다음과 같다.The detailed operation of the simulator 100 including the simulation control unit 110 , the simulation engine 120 , and the message exchange unit 150 for performing the event driving method-based real-time simulation control method according to the present invention is as follows. same.

메시지 교환부(150)는 하드웨어 인터페이스를 통해 메시지를 수신하도록 구성된다. 한편, 시뮬레이션 제어부(110)는 실시간 시간전진 이벤트(time advance event)를 전달하도록 구성된다. 이와 관련하여, 시뮬레이션 엔진(120)은 시뮬레이션 제어부(110)로부터 수신한 상기 실시간 시간전진 이벤트를 SIL (System Integration Laboratory) 모델로 전달하여, 상기 SIL 모델의 상태를 천이 시킬 수 있다.The message exchange unit 150 is configured to receive a message through a hardware interface. On the other hand, the simulation control unit 110 is configured to deliver a real-time time advance event (time advance event). In this regard, the simulation engine 120 may transmit the real-time time advance event received from the simulation control unit 110 to a System Integration Laboratory (SIL) model, and may transition the state of the SIL model.

한편, 시뮬레이션 엔진(120)은 메시지 교환부(150)로부터 외부 데이터 이벤트를 수신하고 상기 SIL 모델로 전달하여, 상기 SIL 모델의 상태를 천이 시킬 수 있다. Meanwhile, the simulation engine 120 may receive an external data event from the message exchange unit 150 and transmit it to the SIL model, thereby making the state of the SIL model transition.

한편, 시뮬레이션 엔진(120)은 메시지 교환부(150)와 공유 메모리를 통해 항공용 시뮬레이션 모델의 입력 데이터 및 출력 데이터를 교환할 수 있다. Meanwhile, the simulation engine 120 may exchange input data and output data of the aviation simulation model through the message exchange unit 150 and the shared memory.

한편, SIL 모델의 스펙에 따라 정해진 출력 메시지의 갱신 주기를 모니터링하여, 실시간성을 보장할 수 있다. 이 과정은 다음과 같다. SIL 모델(200)은 시간 전진과 외부 데이터 입력 이벤트에 의해 상태 천이가 발생하고 그 때 수행되는 계산 로직에 의해 공유 메모리 또는 모델의 포트로 결과가 출력되어 메시지 교환부(110)의 송신할 메시지를 갱신한다. 메시지 교환부는 메시지의 모델의 ICD에 정의된 송신 주기에 따라 갱신된 메시지를 송신하는데 주기 이내에 SIL 모델에 의한 메시지 갱신이 이루어졌는지 모니터링한다.On the other hand, by monitoring the update period of the output message determined according to the specification of the SIL model, real-time can be guaranteed. This process is as follows. In the SIL model 200, a state transition occurs due to time advance and an external data input event, and the result is output to the shared memory or the port of the model by the calculation logic performed at that time, so that the message to be transmitted by the message exchange unit 110 is transmitted. update The message exchange unit transmits the updated message according to the transmission period defined in the ICD of the model of the message, and monitors whether the message update by the SIL model is made within the period.

한편, 본 발명에서는 항공용 시뮬레이션 시작/중지/재개/종료와 연관된 제어 명령을 통해 제어할 수 있다. 이와 관련하여, 시뮬레이터가 동작하는 프로세서의 GUI를 구성하여 운용자가 시뮬레이션 제어부를 제어할 수도 있고, 원격 시스템이 통신을 통해 시뮬레이션 제어부를 제어할 수 도 있다. 본 발명을 통해 시뮬레이터를 구성할 때 응용할 수 있다.Meanwhile, in the present invention, control can be performed through control commands related to start/stop/resume/end of aviation simulation. In this regard, an operator may control the simulation control unit by configuring the GUI of the processor in which the simulator operates, or a remote system may control the simulation control unit through communication. The present invention can be applied when configuring a simulator.

한편, 시뮬레이션 제어부(110)은 운영 체제(operating system, OS)와 협력하여 하드웨어의 타이머 이벤트와 연관된 설정을 구성하고, 상기 타이머 이벤트를 수신하면 실시간 시간전진 이벤트를 시뮬레이션 엔진으로 전달하여 SIL 모델의 상태 천이 태스크를 처리할 수 있다. On the other hand, the simulation control unit 110 configures settings related to a timer event of hardware in cooperation with an operating system (OS), and when receiving the timer event, transmits a real-time time advance event to the simulation engine to obtain the state of the SIL model It can handle transition tasks.

또한, 시뮬레이션 엔진(120)은 메시지 교환부(110)로부터 외부 데이터 이벤트를 수신하면, 상기 외부 데이터 이벤트와 연관된 포트 데이터를 상기 SIL 모델로 전달하여 이벤트 방식으로 태스크를 처리할 수 있다.In addition, upon receiving an external data event from the message exchange unit 110 , the simulation engine 120 may transfer port data related to the external data event to the SIL model to process the task in an event manner.

한편, 도 5는 본 발명에 따른 시뮬레이터와 SIL 모델의 연동과 관련하여, SIL 모델의 상세한 구성을 나타낸다. 도 4 및 도 5를 참조하면, SIL 모델(200)은 원자 모델(210), 결합 모델(220) 및 최상위 결합 모델(230)을 포함할 수 있다. 이와 관련하여, 원자 모델(210)은 상태, 포트, 연동 속성 및 상태 천이에 관한 정보를 포함하도록 구성될 수 있다. 한편, 결합 모델(220)은 복수의 하위 모델과 연결되고, 상기 하위 모델에 대한 스케줄 정보 및 포트 간 연결 정보를 포함하도록 구성될 수 있다. 또한, 최상위 결합 모델(230)은 원자 모델 및 결합 모델과 연결되고, 상기 원자 모델 및 상기 결합 모델에 해당하는 하위 모델에 대한 스케줄 정보 및 포트 간 연결 정보를 포함하도록 구성될 수 있다. 최상위 결합 모델은 SIL 모델 그 자체이다.Meanwhile, FIG. 5 shows the detailed configuration of the SIL model in relation to the linkage between the simulator and the SIL model according to the present invention. 4 and 5 , the SIL model 200 may include an atomic model 210 , a binding model 220 , and an uppermost binding model 230 . In this regard, the atomic model 210 may be configured to include information regarding states, ports, interlock properties, and state transitions. Meanwhile, the combined model 220 may be connected to a plurality of sub-models and configured to include schedule information and port-to-port connection information for the sub-models. In addition, the uppermost coupling model 230 may be connected to the atomic model and the coupling model, and may be configured to include schedule information and port-to-port connection information for the atomic model and a sub-model corresponding to the coupling model. The top-level coupling model is the SIL model itself.

한편, 도 5는 DEVS 시뮬레이션 엔진의 개략적인 동작 개념으로 시뮬레이터(100)는 시간전진과 외부 데이터 입력이라는 이벤트를 수신하면 최상위 결합 모델(230)로 전달한다. 전달된 이벤트는 최종 목적지(이벤트가 활용되는)까지 전달되어 원자 모델(210)의 상태 천이 규칙에 의해 상태 천이가 발생하고 그 결과로 데이터 출력과 다음 스케줄 시간(원자 모델이 다음 제 1 상태 천이(내부 천이)가 발생할 시간)을 상위 결합 모델(220, 230)로 전달하게 된다.On the other hand, FIG. 5 is a schematic operation concept of the DEVS simulation engine. When the simulator 100 receives events such as time advance and external data input, it transmits it to the uppermost combined model 230 . The delivered event is delivered to the final destination (where the event is utilized), and a state transition occurs according to the state transition rule of the atomic model 210, and as a result, data output and the next schedule time (the atomic model is the next first state transition ( internal transition) is transmitted to the upper coupling models 220 and 230 .

도 4 및 도 5를 참조하면, 시뮬레이션 엔진(120)은 이러한 DEVS 형식론의 규칙에 따라 결합 모델과 원자 모델의 기본 동작을 제공한다. 한편, 항공용 SIL 시뮬레이션 모델은 엔진에서 제공 기능으로 구현되면 엔진의 기본 동작 프레임워크를 동해 동작하게 된다.4 and 5 , the simulation engine 120 provides basic operations of the coupling model and the atomic model according to the rules of the DEVS formalism. On the other hand, when the SIL simulation model for aviation is implemented as a function provided by the engine, it operates with the engine's basic operating framework.

데이터 교환부(110)는 SIL 모델(200)에서 정의한 설정(XML파일로 정의한 ICD - Interface Control Document)에 의해 운용되고, 외부로부터 데이터를 수신하면 인터럽트를 처리하여 바로 수신한 데이터를 파싱(Parsing)하고 모델로 전달할 수 있도록 시뮬레이션 엔진(120)과 연동한다. 반대로 SIL 모델(200)이 로직의 상태 천이의 결과로 출력한 데이터를 시뮬레이션 엔진(120)이 데이터 교환부(150)로 전달할 수 있다. 이에 따라, 데이터 교환부(150)는 SIL 모델(200)에서 정의한 설정(XML 파일)에 따라 외부 목적지로 I/O 인터페이스를 통해 데이터를 송신할 수 있다.The data exchange unit 110 is operated by the setting defined in the SIL model 200 (ICD - Interface Control Document defined as an XML file), and when data is received from the outside, it processes an interrupt and parses the received data immediately. and interworks with the simulation engine 120 so that it can be transmitted to the model. Conversely, the simulation engine 120 may transmit data output by the SIL model 200 as a result of the logic state transition to the data exchange unit 150 . Accordingly, the data exchange unit 150 may transmit data to an external destination through the I/O interface according to the setting (XML file) defined in the SIL model 200 .

이와 관련하여, 모든 수신 데이터를 시뮬레이터(100)를 통한 외부 입력으로 주입시킨다면, 이벤트의 전달과 모델의 상태 천이라는 과정의 부하가 유발된다. 수신 데이터는 그 성격을 분석해보면 모델의 상태 천이를 유발시켜야 하는 데이터와 아닌 데이터로 구분할 수 있다. 따라서 시뮬레이션 엔진(120)과 데이터 교환부(150)는 공유 메모리를 통해 데이터를 교환하는 수단인 연동 속성 기능을 원자 모델에 제공하여 이벤트로 처리되지 않아도 되는 데이터를 교환할 수 있어서 부하를 줄일 수 있다.In this regard, if all received data is injected as an external input through the simulator 100 , a load is induced in the process of event transmission and model state transition. By analyzing the characteristics of the received data, it can be divided into data that should cause a model state transition and data that do not. Therefore, the simulation engine 120 and the data exchange unit 150 provide the atomic model with an interlocking property function, which is a means of exchanging data through the shared memory, so that data that does not need to be processed as an event can be exchanged, thereby reducing the load. .

이러한 엔진의 동작으로 실행되는 항공용 SIL 시뮬레이션 모델은 실시간성을 보장해야 한다. 기존 방법(Time Frame내의 작업 종료) 과 같은 실시간성 모니터링을 적용할 수 없다. Aviation SIL simulation models running with the operation of these engines must ensure real-time. It is not possible to apply real-time monitoring like the existing method (finishing a task within a time frame).

항공용 SIL 시뮬레이션 모델의 실시간 제약 조건은 ICD에 명시된 출력 데이터의 주기를 준수하는 것이다. 따라서, 주기적인 출력 데이터의 계산(갱신) 주기가 그 주기내에 이루어지면 모델의 실시간성을 보장할 수 있다. 따라서 데이터 교환부(150)는 출력 데이터가 그 주기를 지키고 있는지 계속 체크하고 그 결과로 시스템의 실시간성을 모니터링 한다.The real-time constraint of the aviation SIL simulation model is to comply with the period of output data specified in the ICD. Accordingly, if the periodic calculation (updating) cycle of the output data is performed within the cycle, the real-time of the model can be guaranteed. Therefore, the data exchange unit 150 continuously checks whether the output data keeps the cycle, and as a result, monitors the real-time of the system.

한편, 본 발명에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법 및 장치와 관련하여 청구하고자 하는 사항은 다음과 같다.On the other hand, in relation to the method and apparatus for controlling real-time simulation based on the event driving method according to the present invention, claims are as follows.

1) 이벤트 구동 방식 기반의 항공용 시뮬레이션 모델을 시뮬레이션 하는 방법1) How to simulate an event-driven simulation model for aviation

- 이산 사건 시스템(DEVS 형식론)의 이벤트를 기반으로 모델을 실시간으로 구동하는 방법- A method to run a model in real time based on events in a discrete event system (DEVS formalism)

- 실시간 시스템(HW+RTSE) 위에서 동작하는 실시간 소프트웨어로서 항공용 시뮬레이션 모델을 구동하는 방법- A method of driving simulation models for aviation as real-time software running on a real-time system (HW+RTSE)

- 모델을 구동하는 개체는 아래의 DEVS 시뮬레이션 엔진, 메시지 교환부, 시뮬레이션 제어부로 구성함- The entity that drives the model consists of the following DEVS simulation engine, message exchange unit, and simulation control unit.

2) DEVS 시뮬레이션 엔진(이하 엔진) (120)2) DEVS simulation engine (hereafter engine) (120)

- 시뮬레이션 제어부로부터 실시간 시간전진 이벤트를 수신하여 모델의 상태를 천이 시키는 기능 및/또는 동작- A function and/or operation to receive a real-time time advance event from the simulation control unit and transition the state of the model

- 메시지 교환부로부터 외부 데이터 이벤트를 수신하여 모델의 상태를 천이 시키는 기능 및/또는 동작- Functions and/or actions to transition the model state by receiving external data events from the message exchange unit

- 모델의 상태 천이의 결과로 발생하는 출력을 수신하여 메시지 교환부로 전달하는 기능 및/또는 동작- The function and/or operation of receiving the output resulting from the model's state transition and forwarding it to the message exchange.

- 메시지 교환부와 공유 메모리를 통해 항공용 시뮬레이션 모델의 입/출력 데이터를 공유하는 기능 및/또는 동작- Function and/or operation to share input/output data of aviation simulation model through message exchange and shared memory

시뮬레이션 제어부로부터 수신한 시뮬레이션 시작/중지/재개/종료의 제어 명령 처리 기능 및/또는 동작Control command processing function and/or operation of simulation start/stop/resume/end received from the simulation control unit

3) 메시지 교환부 (150)3) Message Exchange (150)

- 외부 I/O로부터 수신한 메시지를 엔진으로 이벤트를 통해 전달하는 기능- A function to transmit messages received from external I/O to the engine through events

- 외부 I/O로부터 수신한 메시지를 엔진 위에서 동작하는 항공용 시뮬레이션 모델과 공유 메모리를 통해 공유하는 기능- Ability to share messages received from external I/O through shared memory with the aviation simulation model operating on the engine

- 항공용 시뮬레이션 모델의 스펙에 따라 정해진 출력 메시지의 갱신 주기를 모니터링 하는 기능- Function to monitor the update cycle of the output message determined according to the specifications of the aviation simulation model

4) 시뮬레이션 제어부 (110)4) Simulation Control Unit (110)

- 사용자 또는 타시스템과 연동으로 시뮬레이션을 제어(시작/중지/재개/종료) 명령을 엔진으로 전달하는 기능- Function to transmit simulation control (start/stop/resume/end) commands to the engine by interworking with users or other systems

- 시스템으로부터 발생한 실시간 Tick을 DEVS 시뮬레이션 엔진으로 전달하는 기능- Ability to transmit real-time ticks generated from the system to the DEVS simulation engine

이상에서는 본 발명의 일 양상에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 장치에 대해 설명하였다. 이하에서는 본 발명의 다른 양상에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법에 대해 설명하면 다음과 같다.In the above, a real-time simulation control apparatus based on an event driving method according to an aspect of the present invention has been described. Hereinafter, a real-time simulation control method based on an event driving method according to another aspect of the present invention will be described.

이와 관련하여, 도 6은 본 발명에 따른 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법의 흐름도를 나타낸다. 이와 관련하여, 실시간 시뮬레이션 제어 방법은 도 6의 흐름도의 순서에 한정되는 것은 아니다. In this regard, FIG. 6 shows a flowchart of a real-time simulation control method based on an event driving method according to the present invention. In this regard, the real-time simulation control method is not limited to the sequence of the flowchart of FIG. 6 .

도 6을 참조하면, 실시간 시뮬레이션 제어 방법은 Timer 발생 단계(S100), W제1 상태 천이 단계(S200), 메시지 수신 단계(S300), 제2 상태 천이 단계(S400), 및 메시지 송신 단계(S500)를 포함할 수 있다. 이와 관련하여, 모든 단계는 이벤트 방식으로 순서와 무관하게 발생할 수 있다. 한편, 이벤트 방식으로 반복됨에 따라 특정 단계의 수행이 생략될 수 있다. 6 , the real-time simulation control method includes a timer generation step (S100), a W first state transition step (S200), a message reception step (S300), a second state transition step (S400), and a message transmission step (S500) ) may be included. In this regard, all steps may occur out of sequence in an event manner. On the other hand, as the event is repeated, the execution of a specific step may be omitted.

Timer 발생 단계(S100)에서, 시뮬레이션 제어부의 Timer 설정(예, 1ms)에 따라 반복하여 발생하는 이벤트로 시뮬레이션 엔진으로 전달할 수 있다. 이에 따라, SIL 모델의 제 1 상태 천이(S200)가 발생할 수 있다. In the timer generation step (S100), an event that occurs repeatedly according to the timer setting (eg, 1 ms) of the simulation controller may be transmitted to the simulation engine. Accordingly, the first state transition S200 of the SIL model may occur.

제 1 상태 천이 단계(S200)에서, 실시간 흐름에 따라 SIL 모델 내부 원자 모델들의 내부 천이가 발생한다. 이와 관련하여, 내부 천이는 S100에서 발생한 Tick에 따라 발생할 수도 있고, 그렇지 않을 수도 있다. 한편, 내부 상태 천이가 발생하면 입력된 데이터(이벤트 또는 공유 메모리를 통해)로 계산을 수행하고 결과를 출력하여 송신 메시지를 갱신할 수 있다.In the first state transition step S200, an internal transition of the atomic models within the SIL model occurs according to a real-time flow. In this regard, the internal transition may or may not occur according to the tick generated in S100. On the other hand, when an internal state transition occurs, the transmission message can be updated by performing calculations with input data (via events or shared memory) and outputting the results.

메시지 수신 단계(S300)에서, 외부 I/O에 의해 메시지가 수신되는 이벤트에 따라 상기 메시지를 시뮬레이션 엔진으로 전달할 수 있다.In the message receiving step (S300), the message may be transmitted to the simulation engine according to an event in which the message is received by the external I/O.

한편, 제2 상태 천이 단계(S400)에서, 외부 입력 데이터에 의해 SIL 모델의 제 2 상태 천이가 발생할 수 있다. 이와 관련하여, 메시지 교환부로부터 외부 데이터 이벤트를 수신하고 상기 SIL 모델로 전달하여, 상기 SIL 모델의 상태를 천이 시킬 수 있다. 상태 천이가 발생하면 입력된 데이터로 계산을 수행하고 결과를 출력하여 송신 메시지를 갱신할 수 있다.Meanwhile, in the second state transition step S400 , a second state transition of the SIL model may occur due to external input data. In this regard, an external data event may be received from the message exchange unit and transmitted to the SIL model, and the state of the SIL model may be transitioned. When a state transition occurs, the transmitted message can be updated by performing calculations with the input data and outputting the result.

한편, 메시지 교환부와 공유 메모리를 통해 항공용 시뮬레이션 모델의 입력 데이터 및 출력 데이터를 교환할 수 있다. Meanwhile, input data and output data of the aviation simulation model can be exchanged through the message exchange unit and the shared memory.

메시지 송신 단계(S500)는 SIL 모델의 ICD 설정에 의해 메시지 주기에 의해 수행된다. Timer의 단위가 1ms이고 송신 메시지가 20ms라면 그 송신 메시지는 Timer가 20번 발생할 때마다 송신될 수 있다. 한편, 송신 메시지를 통해 SIL 모델의 상태 천이 동작으로 출력 메시지가 주기적으로 갱신되었는지 모니터링할 수 있다. The message sending step (S500) is performed by the message cycle by the ICD setting of the SIL model. If the unit of the timer is 1ms and the transmission message is 20ms, the transmission message can be transmitted every time the timer occurs 20 times. Meanwhile, it is possible to monitor whether the output message is periodically updated by the state transition operation of the SIL model through the transmission message.

S100과 S300은 순서와 관계없이 발생하는 이벤트 소스이고, S100이 발생한 후 S200과 S500이 발생하고, S300이 발생한 후 S400이 발생할 수 있다.S100 and S300 are event sources that occur regardless of order, S200 and S500 may occur after S100 occurs, and S400 may occur after S300 occurs.

한편, 상기 시뮬레이션 엔진은 운용자 또는 타 시스템의 명령에 기반하여 상기 항공용 시뮬레이션이 시작/중지/재개/종료되도록 처리할 수 있다.Meanwhile, the simulation engine may process to start/stop/resume/end the aviation simulation based on a command from an operator or other system.

항공용 시뮬레이션이 시작/중지/재개/종료되도록 처리하는 것과 관련하여 입출력 데이터 교환이 수행될 수 있다. 이와 관련하여, 하드웨어 인터페이스인 외부 I/0 인터페이스를 통해 메시지 교환부가 수신한 메시지를 상기 메시지 교환부를 통해 시뮬레이션 엔진이 수신할 수 있다. 또한, 상기 메시지를 상기 시뮬레이션 엔진과 상기 SIL 모델이 공유 메모리를 통해 공유할 수 있다.I/O data exchange may be performed in connection with handling the aviation simulation to start/stop/resume/end. In this regard, the simulation engine may receive a message received by the message exchange unit through the external I/0 interface, which is a hardware interface, through the message exchange unit. In addition, the message may be shared by the simulation engine and the SIL model through a shared memory.

한편, 상기 메시지 교환부는 상기 SIL 모델의 스펙에 따라 정해진 출력 메시지의 갱신 주기를 모니터링할 수 있다.Meanwhile, the message exchange unit may monitor an update cycle of an output message determined according to the specification of the SIL model.

한편, 도 5 및 도 6을 참조하면, SIL 모델은 SIL 모델(200)은 원자 모델(210), 결합 모델(220) 및 최상위 결합 모델(230)을 포함할 수 있다. 이와 관련하여, 원자 모델(210)은 상태, 포트, 연동 속성 및 상태 천이에 관한 정보를 포함하도록 구성될 수 있다. 한편, 결합 모델(220)은 복수의 하위 모델과 연결되고, 상기 하위 모델에 대한 스케줄 정보 및 포트 간 연결 정보를 포함하도록 구성될 수 있다. 또한, 최상위 결합 모델(230)은 원자 모델 및 결합 모델과 연결되고, 상기 원자 모델 및 상기 결합 모델에 해당하는 하위 모델에 대한 스케줄 정보 및 포트 간 연결 정보를 포함하도록 구성될 수 있다.Meanwhile, referring to FIGS. 5 and 6 , the SIL model 200 may include an atomic model 210 , a binding model 220 , and an uppermost binding model 230 . In this regard, the atomic model 210 may be configured to include information regarding states, ports, interlock properties, and state transitions. Meanwhile, the combined model 220 may be connected to a plurality of sub-models and configured to include schedule information and port-to-port connection information for the sub-models. In addition, the uppermost coupling model 230 may be connected to the atomic model and the coupling model, and may be configured to include schedule information and port-to-port connection information for the atomic model and a sub-model corresponding to the coupling model.

이에 따라, 전술한 S100 내지 S500 단계에서, 원자 모델(210), 결합 모델(220) 및 최상위 결합 모델(230)을 이용하여 시간 전진 및 외부 데이터에 따른 이벤트 전달과 외부 데이터 출력이 이루어질 수 있다.Accordingly, in steps S100 to S500 described above, event delivery and external data output according to time advance and external data may be performed using the atomic model 210 , the coupling model 220 , and the highest coupling model 230 .

이상에서는 이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법 및 장치에 대해 살펴보았다. 본 발명에 따른 기술적 효과에 대해 살펴보면 다음과 같다.In the above, an event-driven method-based real-time simulation control method and apparatus have been reviewed. Looking at the technical effects of the present invention are as follows.

본 발명의 적어도 일 실시예에 따르면, 항공용 시뮬레이션 모델에 적용하는 DEVS 형식론의 이벤트는 시간의 흐름(전진)과 외부 입력 데이터이다. 따라서 DEVS 엔진을 이용한 위의 시뮬레이션 구성으로 이벤트가 발생할 때만 이벤트를 모델 내부로 전달하여 로직을 실행 시키게 되고, 기존의 주기적인 반복 작업의 비효율성을 개선한다. According to at least one embodiment of the present invention, the events of the DEVS formalism applied to the aviation simulation model are the passage of time (advance) and external input data. Therefore, with the above simulation configuration using the DEVS engine, only when an event occurs, the event is transferred into the model to execute the logic, and the inefficiency of the existing periodic repetitive work is improved.

본 발명의 적어도 일 실시예에 따르면, 실시간성에 대한 모니터링은 모델이 출력 데이터를 정해진 갱신 주기 이내에 갱신(출력)하는지 판단한다. 이와 관련하여,Hard Real-time System의 실시간성의 보장은 계산의 결과가 Deadline 이내 출력 여부로 판정할 수 있다. 즉 종래 방식은 전체 반복 작업이 시간 프레임 이내 종료되어 출력이 정해진 시간(프레임) 이내에 계산되는지를 판단했다면, 본 발명에서는 실행 중인 모델이 개별 출력 데이터의 요구된 갱신 주기(ICD에서 명시한 주기)를 지키고 있는지 판단할 수 있다.According to at least one embodiment of the present invention, the monitoring for real-time determines whether the model updates (outputs) the output data within a predetermined update period. In this regard, the real-time guarantee of the hard real-time system can be determined by whether the calculation result is output within the deadline. That is, in the conventional method, if it is determined whether the output is calculated within a predetermined time (frame) because the entire iterative task is finished within a time frame, in the present invention, the running model keeps the required update period (period specified in the ICD) of the individual output data, and It can be determined whether

이벤트를 중심으로 실행되는 DEVS 형식론은 종래의 시뮬레이션 방법인 주기적인 처리 방식과 어울리지 않는다. 따라서 본 발명은 이벤트 구동 방식의 I/O 운용과 시뮬레이션 엔진으로 DEVS 형식론 기반의 모델을 운용하고, 실시간성을 보장하도록 모니터링하는 방법을 제공할 수 있다.DEVS formalism, which revolves around events, is not compatible with the cyclical processing method, which is a conventional simulation method. Therefore, the present invention can provide a method of operating a DEVS formalism-based model as an event-driven I/O operation and simulation engine, and monitoring to ensure real-time performance.

본 발명의 적어도 일 실시예에 따르면, 이벤트 구동 방식은 주기적인 일괄처리 방식보다 시스템을 확장하기 쉽고(Scalability), 시스템 성능을 효율적으로 활용 가능하다. According to at least one embodiment of the present invention, the event driving method is easier to expand the system than the periodic batch processing method (scalability), and it is possible to efficiently utilize the system performance.

본 발명의 방법은 DEVS 형식론으로 개발된 모델의 로직은 데이터 교환부에 의해 모델의 외부 I/O 통신과 분리되므로 모델이 모의하려는 탑재장비 또는 상위 체계(항전체계, 비행체 체계 등)의 ICD(Interface Control Document)로의 의존성이 낮아져서 모델 로직의 재사용성을 향상시킬 수 있다.In the method of the present invention, the logic of the model developed with the DEVS formalism is separated from the external I/O communication of the model by the data exchange unit, so the ICD (Interface of the on-board equipment or higher system (avionics system, air vehicle system, etc.) Control Document), the reusability of model logic can be improved.

상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. The features and effects of the present invention described above will become more apparent through the following detailed description in connection with the accompanying drawings, and accordingly, those of ordinary skill in the technical field to which the present invention pertains can easily implement the technical idea of the present invention. I will be able to.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능뿐만 아니라 각각의 구성 요소들에 대한 설계 및 파라미터 최적화는 별도의 소프트웨어 모듈로도 구현될 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부(controller) 또는 프로세서(processor)에 의해 실행될 수 있다.According to the software implementation, not only the procedures and functions described in the present specification, but also design and parameter optimization for each component may be implemented as a separate software module. The software code can be implemented with a software application written in an appropriate programming language. The software code may be stored in a memory and executed by a controller or a processor.

Claims (12)

이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법에 있어서, 상기 방법은 시뮬레이터(simulator)로 구현되는 프로세서에 의해 수행되고,
시뮬레이션 제어부로부터 수신한 실시간 시간전진 이벤트(time advance event)를 SIL (System Integration Laboratory) 모델로 전달하여, 시간의 흐름에 따라 상기 SIL 모델의 상태를 천이시키는 제1 상태 천이 단계;
메시지 교환부로부터 외부 데이터 이벤트를 수신하고 상기 SIL 모델로 전달하여, 상기 SIL 모델의 상태를 천이 시키는 제2 상태 천이 단계;
상기 제1 상태 천이와 제2 상태 천이를 통해 처리되는 SIL 모델의 계산 결과에 대한 메시지를 송신하는 메시지 송신 단계를 포함하는, 시뮬레이션 제어 방법.
In the event-driven method-based real-time simulation control method, the method is performed by a processor implemented as a simulator,
a first state transition step of transferring a real-time time advance event received from the simulation control unit to a System Integration Laboratory (SIL) model, and transitioning the state of the SIL model according to the passage of time;
a second state transition step of receiving an external data event from the message exchange unit and transferring the event to the SIL model to transition the state of the SIL model;
and a message transmitting step of transmitting a message about a result of calculation of the SIL model processed through the first state transition and the second state transition.
제1 항에 있어서,
상기 메시지 교환부와 공유 메모리를 통해 항공용 시뮬레이션 모델의 입력 데이터 및 출력 데이터를 교환하는, 시뮬레이션 제어 방법.
The method of claim 1,
A simulation control method for exchanging input data and output data of an aviation simulation model through the message exchange unit and a shared memory.
제2 항에 있어서,
상기 시뮬레이션 제어부는 시뮬레이션 시작/중지/재개/종료의 제어 명령을 시뮬레이션 엔진으로 전달하고, 상기 시뮬레이션 엔진은 상기 제어 명령에 기반하여 상기 항공용 시뮬레이션이 시작/중지/재개/종료되도록 처리하는, 시뮬레이션 제어 방법.
The method of claim 2,
The simulation control unit transmits a control command of simulation start/stop/resume/end to the simulation engine, and the simulation engine processes the aviation simulation to start/stop/resume/end based on the control command, simulation control Way.
제2 항에 있어서,
하드웨어 인터페이스인 외부 I/0 인터페이스를 통해 상기 메시지 교환부가 수신한 메시지를 상기 메시지 교환부를 통해 시뮬레이션 엔진이 수신하고,
상기 메시지를 상기 시뮬레이션 엔진과 상기 SIL 모델이 공유 메모리를 통해 공유하는, 시뮬레이션 제어 방법.
The method of claim 2,
The simulation engine receives the message received by the message exchange unit through the external I/0 interface, which is a hardware interface, through the message exchange unit,
and the simulation engine and the SIL model share the message through a shared memory.
제4 항에 있어서,
상기 메시지 교환부는 상기 SIL 모델의 스펙에 따라 정해진 출력 메시지의 갱신 주기를 모니터링하는, 시뮬레이션 제어 방법.
The method of claim 4,
The message exchange unit monitors the update cycle of the output message determined according to the specification of the SIL model, simulation control method.
제5 항에 있어서,
상기 시뮬레이션 제어부는 시작 또는 재개 명령이 입력되면 하드웨어 타이머와 I/O를 활성화 시켜서 시간 전진과 외부 데이터 수신 이벤트가 활성화 되도록 하고, 중지 또는 종료 명령이 입력되면 상기 외부 데이터 수신 이벤트를 비활성화 시켜서 시뮬레이션을 중지하는, 시뮬레이션 제어 방법.
The method of claim 5,
When a start or resume command is input, the simulation control unit activates a hardware timer and I/O to activate time advance and external data reception event, and when a stop or end command is input, deactivates the external data reception event to stop the simulation which is a simulation control method.
제1 항에 있어서,
상기 SIL 모델은,
상태, 수신한 메시지로부터 이벤트가 전달되는 포트, 공유 메모리와 연관된 연동 속성 및 상태 천이에 관한 정보를 포함하는 원자 모델;
복수의 하위 모델과 연결되고, 상기 하위 모델에 대한 스케줄 정보 및 포트 간 연결 정보를 포함하는 결합 모델;
상기 원자 모델 및 상기 결합 모델과 연결되고, 상기 원자 모델 및 상기 결합 모델에 해당하는 하위 모델에 대한 스케줄 정보 및 포트 간 연결 정보를 포함하는 최상위 결합 모델을 포함하는, 시뮬레이션 제어 방법.
The method of claim 1,
The SIL model is
an atomic model including a state, a port through which an event is transmitted from a received message, an interlocking property associated with a shared memory, and information on state transition;
a coupling model connected to a plurality of sub-models and including schedule information and port-to-port connection information for the sub-models;
A simulation control method comprising a top-level coupling model connected to the atomic model and the coupling model, and including schedule information and port-to-port connection information for a sub-model corresponding to the atomic model and the coupling model.
제1 항에 있어서,
상기 제1 상태 천이 단계에서,
운영 체제(operating system, OS)와 협력하여 하드웨어의 타이머 이벤트와 연관된 설정을 구성하고, 상기 타이머 이벤트를 수신하면 상기 실시간 시간전진 이벤트를 통해 SIL 모델에서 정의한 상태 천이 태스크를 처리하고,
상기 제2 상태 천이 단계에서,
상기 메시지 교환부로부터 외부 데이터 이벤트를 수신하면, 상기 외부 데이터 이벤트와 연관된 포트 데이터를 상기 SIL 모델로 전달하여 이벤트 방식으로 SIL 모델에서 정의한 상태 천이 태스크를 처리하는, 시뮬레이션 제어 방법.
The method of claim 1,
In the first state transition step,
Configures settings related to a timer event of hardware in cooperation with an operating system (OS), and processes a state transition task defined in the SIL model through the real-time time advance event when the timer event is received,
In the second state transition step,
When an external data event is received from the message exchange unit, port data associated with the external data event is transferred to the SIL model to process a state transition task defined in the SIL model in an event manner.
이벤트 구동 방식 기반의 실시간 시뮬레이션 제어 방법을 수행하는 시뮬레이션 제어 장치에 있어서,
하드웨어 인터페이스를 통해 메시지를 송수신하고 SIL 모델과 상기 메시지의 내용을 교환하는 메시지 교환부;
실시간 시간전진 이벤트(time advance event)를 시뮬레이션 엔진에 전달하고 시뮬레이션의 시작/중지/재개/종료를 제어하도록 구성된 시뮬레이션 제어부; 및
상기 시뮬레이션 제어부로부터 수신한 상기 실시간 시간전진 이벤트를 SIL (System Integration Laboratory) 모델로 전달하여, 상기 SIL 모델의 상태를 천이 시키고,
상기 메시지 교환부로부터 외부 데이터 이벤트를 수신하고 상기 SIL 모델로 전달하여, 상기 SIL 모델의 상태를 천이 시키고,
상기 시뮬레이션 제어부로부터 수신된 항공용 시뮬레이션 시작/중지/재개/종료의 제어 명령을 처리하도록 구성된 시뮬레이션 엔진을 포함하는, 시뮬레이션 제어 장치.
A simulation control apparatus for performing a real-time simulation control method based on an event driving method, the simulation control apparatus comprising:
a message exchange unit for transmitting and receiving messages through a hardware interface and exchanging the SIL model and contents of the message;
a simulation control unit configured to forward a real-time time advance event to the simulation engine and to control start/stop/resume/end of the simulation; and
Transmitting the real-time time advance event received from the simulation control unit to a System Integration Laboratory (SIL) model to transition the state of the SIL model,
Receives an external data event from the message exchange unit and transmits it to the SIL model to transition the state of the SIL model,
and a simulation engine configured to process a control command of start/stop/resume/end of an aviation simulation received from the simulation control unit.
제9 항에 있어서,
상기 시뮬레이션 엔진은,
상기 메시지 교환부와 공유 메모리를 통해 항공용 시뮬레이션 모델의 입력 데이터 및 출력 데이터를 교환하고,
상기 시뮬레이션 제어부는 상기 제어 명령을 시뮬레이션 엔진으로 전달하고,
상기 시뮬레이션 엔진은 상기 제어 명령에 기반하여 상기 항공용 시뮬레이션이 시작/중지/재개/종료되도록 처리하는, 시뮬레이션 제어 장치.
The method of claim 9,
The simulation engine is
Exchanging input data and output data of the aviation simulation model through the message exchange unit and the shared memory,
The simulation control unit transmits the control command to the simulation engine,
The simulation engine processes to start/stop/resume/end the aviation simulation based on the control command, a simulation control device.
제10 항에 있어서,
상기 하드웨어 인터페이스인 외부 I/0 인터페이스를 통해 상기 메시지 교환부가 수신한 메시지를 상기 메시지 교환부를 통해 상기 시뮬레이션 엔진이 SIL 모델의 이벤트로 수신하여 모델의 포트로 전달하고,
상기 메시지를 상기 시뮬레이션 엔진과 상기 SIL 모델이 공유 메모리를 통해 공유하고,
상기 메시지 교환부는 상기 SIL 모델의 스펙에 따라 정해진 출력 메시지의 갱신 주기를 모니터링하는, 시뮬레이션 제어 장치.
The method of claim 10,
The simulation engine receives the message received by the message exchange unit through the external I/0 interface, which is the hardware interface, as an event of the SIL model through the message exchange unit, and transmits it to the model port,
The message is shared by the simulation engine and the SIL model through a shared memory,
The message exchange unit monitors the update cycle of the output message determined according to the specification of the SIL model, simulation control device.
제9 항에 있어서,
상기 시뮬레이션 제어부는,
운영 체제(operating system, OS)와 협력하여 하드웨어의 타이머 이벤트와 연관된 설정을 구성하고, 상기 타이머 이벤트를 수신하면 상기 시뮬레이션 엔진으로 실시간 시간전진 이벤트를 전달하여 SIL 모델의 제 1 상태 천이 태스크를 처리하고,
상기 메시지 교환부로부터 외부 데이터 이벤트를 수신하면, 상기 외부 데이터 이벤트와 연관된 포트 데이터를 상기 SIL 모델로 전달하여 SIL 모델의 제 2 상태 천이 태스크를 처리하는, 시뮬레이션 제어 장치.
The method of claim 9,
The simulation control unit,
Cooperating with an operating system (OS) to configure settings associated with a timer event in hardware, and when receiving the timer event, send a real-time time-forward event to the simulation engine to process the first state transition task of the SIL model, ,
Upon receiving the external data event from the message exchange unit, the simulation control device for processing the second state transition task of the SIL model by transferring the port data associated with the external data event to the SIL model.
KR1020190167174A 2019-12-13 2019-12-13 Method and system for controlling simulation based on event driven scheme KR102259503B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190167174A KR102259503B1 (en) 2019-12-13 2019-12-13 Method and system for controlling simulation based on event driven scheme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190167174A KR102259503B1 (en) 2019-12-13 2019-12-13 Method and system for controlling simulation based on event driven scheme

Publications (1)

Publication Number Publication Date
KR102259503B1 true KR102259503B1 (en) 2021-06-02

Family

ID=76372509

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190167174A KR102259503B1 (en) 2019-12-13 2019-12-13 Method and system for controlling simulation based on event driven scheme

Country Status (1)

Country Link
KR (1) KR102259503B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656727A (en) * 2021-06-30 2021-11-16 云南昆钢电子信息科技有限公司 Object pushing and efficient display device in event-driven system
KR102676334B1 (en) 2021-11-30 2024-06-19 주식회사 제이에스파워솔루션 Systems and methods for supporting the development of motor control devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242325B1 (en) * 2011-03-17 2013-03-11 한국과학기술원 Simulation method, system based on event-oriented for hierarchical DEVS model, recording medium for the same
KR101299137B1 (en) * 2012-12-27 2013-08-22 국방과학연구소 Modeling and verification system for command and control, and operating method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242325B1 (en) * 2011-03-17 2013-03-11 한국과학기술원 Simulation method, system based on event-oriented for hierarchical DEVS model, recording medium for the same
KR101299137B1 (en) * 2012-12-27 2013-08-22 국방과학연구소 Modeling and verification system for command and control, and operating method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
S. W. Kim 외 2명. Simulation model framework for avaonics SIL. 2018년 *
서민기 외 3명. 항공용 SIL에 적용 가능한 DEVS 형식론 기반의 시뮬레이션 환경 개발. 2019.10. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656727A (en) * 2021-06-30 2021-11-16 云南昆钢电子信息科技有限公司 Object pushing and efficient display device in event-driven system
KR102676334B1 (en) 2021-11-30 2024-06-19 주식회사 제이에스파워솔루션 Systems and methods for supporting the development of motor control devices

Similar Documents

Publication Publication Date Title
Heck et al. Software technology for implementing reusable, distributed control systems
CN111034128B (en) Control system and control device
EP2591419B1 (en) Simulating and testing avionics
US20070168082A1 (en) Task-based robot control system for multi-tasking
Kim et al. Design and implementation of a delay-guaranteed motor drive for precision motion control
US11022967B2 (en) Method for generating a technical system model, executable on a test unit, and the test unit
US8494664B2 (en) Integrated drive management and configuration using instantiated objects
KR102259503B1 (en) Method and system for controlling simulation based on event driven scheme
CN109100952B (en) Regional inference machine of health management system of distributed semi-physical simulation spacecraft
KR101704751B1 (en) Apparatus for simulating of multi-core system by using timing information between modules, and method thereof
Atmojo et al. Dynamic reconfiguration and adaptation of manufacturing systems using SOSJ framework
Bateni et al. Risk and Mitigation of Nondeterminism in Distributed Cyber-Physical Systems
Görke et al. Flexible platform approach for fly-by-wire systems
Ashjaei et al. End-to-end resource reservations in distributed embedded systems
CN111052012B (en) Control device and control system
Dumitrescu et al. Multicriteria optimal reconfiguration of fault-tolerant real-time tasks
Groothuis Distributed HIL simulation for Boderc
Feiler et al. Pattern-based analysis of an embedded real-time system architecture
Fant et al. A comparison of executable model based approaches for embedded systems
Catalán et al. Communication types for manufacturing systems. A proposal to distributed control system based on IEC 61499
Kampmann et al. ASOA-A Dynamic Software Architecture for Software-defined Vehicles
Ippolito et al. Component-based plug-and-play methodologies for rapid embedded technology development
Vistein et al. Instantaneous switching between real-time commands for continuous execution of complex robotic tasks
JP7231073B2 (en) Controllers and control systems
US20110055849A1 (en) Method for controlling an interaction between modules of a service-oriented component as well as a service-oriented component

Legal Events

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