KR101194246B1 - 컴포넌트기반 통합 시뮬레이션 환경과 c/c++ 시뮬레이션 프로그램 연동 방법 및 연동 에이전트/인터페이스 설계 방법 - Google Patents

컴포넌트기반 통합 시뮬레이션 환경과 c/c++ 시뮬레이션 프로그램 연동 방법 및 연동 에이전트/인터페이스 설계 방법 Download PDF

Info

Publication number
KR101194246B1
KR101194246B1 KR1020120028612A KR20120028612A KR101194246B1 KR 101194246 B1 KR101194246 B1 KR 101194246B1 KR 1020120028612 A KR1020120028612 A KR 1020120028612A KR 20120028612 A KR20120028612 A KR 20120028612A KR 101194246 B1 KR101194246 B1 KR 101194246B1
Authority
KR
South Korea
Prior art keywords
simulation
legacy
component
program
environment
Prior art date
Application number
KR1020120028612A
Other languages
English (en)
Inventor
김도형
오현식
이태호
이상진
Original Assignee
국방과학연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소 filed Critical 국방과학연구소
Priority to KR1020120028612A priority Critical patent/KR101194246B1/ko
Application granted granted Critical
Publication of KR101194246B1 publication Critical patent/KR101194246B1/ko

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

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)

Abstract

본 발명은 C/C++ 환경에서 기 개발된 무기체계 공학급/교전급 시뮬레이션 프로그램(이하 레거시 시뮬레이션 프로그램)들을 컴포넌트 기반 통합시뮬레이션 환경의 플레이어와 쉽게 연동하기 위한 그 방법과 연동에이전트 구성에 관한 내용이다. 본 발명은 AddSIM-레거시 연동 시뮬레이션 개체들 간의 시간 동기화 방법, 데이터 교환 방법과 레거시 인터페이스 설계 방법을 포함한다. 본 발명에서 제안하는 방법의 전체 구성은 도 1 과 같다. 동적 재구성 가능한 컴포넌트로 구성된 AddSIM 플레이어들은 컴포넌트기반 통합 시뮬레이션 환경에서 시뮬레이션 커널의 주관 하에 시뮬레이션을 수행한다. 기존의 C나 C++ 환경에서 개발된 레거시 시뮬레이션 프로그램들은 고유의 시뮬레이션 커널(혹은 엔진)을 보유하며 단독으로 시뮬레이션을 수행한다. AddSIM 플레이어들과 레거시 시뮬레이션 프로그램 간의 연동을 위해서 데이터 교환과 시간 동기화의 주역할(Master)은 AddSIM 시뮬레이션 커널이 담당한다.

Description

컴포넌트기반 통합 시뮬레이션 환경과 C/C++ 시뮬레이션 프로그램 연동 방법 및 연동 에이전트/인터페이스 설계 방법{INTEROPERATION METHOD BETWEEN COMPONENT-BASED INTEGRATED SIMULATION ENVIRONMENT AND C/C++ SIMULATION PROGRAM, AND INTEROPERATION AGENT/INTERFACE DESIGN METHOD}
본 발명은 무기체계 연구개발 과정에서 필요한 많은 공학급 시뮬레이션 프로그램에 관한 것으로서, 보다 상세하게는 컴포넌트기반 통합 시뮬레이션 환경과 C/C++ 시뮬레이션 프로그램 연동방법 및 그에 필요한 연동 에이전트/인터페이스 설계 방법에 관한 것이다.
지금까지 무기체계 연구개발 과정에서 필요한 많은 공학급 시뮬레이션 프로그램들은 전통적인 공학급 시뮬레이션 프로그램 개발 및 실행 환경인 C/C++로 주로 개발되었다. 종래 개발된 각 문제 도메인의 시뮬레이션 프로그램들은, 다루고 있는 모델의 복잡도와 시뮬레이션에 참여하는 개체들의 수에 따라 프로그램의 복잡도와 소스코드의 양이 결정된다. 특히 알고리즘의 복잡도가 크고 프로그램 코드의 양이 방대한 시뮬레이션 프로그램의 경우 컴포넌트기반 통합 시뮬레이션 환경의 플레이어로 변환하는 과정에 시간적, 경제적으로 어려움이 따른다.
플러그인 & 플레이(Plug-Ins and Play) 방식으로 동작하는 컴포넌트기반 통합 시뮬레이션 환경(이하 'AddSIM'이라 한다, 특허 10-1056682 참조)에서는 한번 시뮬레이션 객체(플레이어, 컴포넌트)들을 생성하면 코드 수정 없이 쉽게 재사용이 가능하며 객체들의 모듈화로 인하여 유지보수성과 확장성이 뛰어나다.
그렇지만, 기존의 많은 공학급 시뮬레이션 프로그램들은 개별 연구자 및 개발자들마다 제각기 친숙한 개발환경에서 개발되었으며, 알고리즘의 복잡도가 크고 프로그램 코드의 양이 방대하여 AddSIM의 플레이어로 변환하는 과정에 어려움이 따른다. 무기체계 연구개발 과정에서 필요한 공학급 시뮬레이션 프로그램들은 개발환경으로 C 및 C++ 언어를 많이 이용하여 개발된다. 따라서 본 발명에서는 종래 플레이어 변환 과정의 불편함을 개선하고자 C/C++ 환경에서 기 개발된 시뮬레이션 프로그램을 AddSIM의 플레이어와 쉽게 연동할 수 있는 방법과 이를 실현시키는 연동에이전트 구성 방법을 제안한다.
본 발명에 따른 AddSIM과 레거시 시뮬레이션 프로그램 간의 연동 시뮬레이션 방법은, 컴포넌트기반 통합 시뮬레이션 환경에서 시뮬레이션 커널의 주관 하에 시뮬레이션을 수행하는 AddSIM 플레이어들; C/C++ 환경에서 개발되어 고유의 시뮬레이션 엔진을 보유하며 단독으로 시뮬레이션을 수행하는 레거시 시뮬레이션 프로그램; 상기 AddSIM 플레이어들 과 상기 레거시 시뮬레이션 프로그램 간의 연동을 위해 데이터 교환 과 시간 동기화의 주역할을 하는 AddSIM 시뮬레이션 커널; 상기 AddSIM 시뮬레이션 커널 위에서 실행되며 레거시 시뮬레이션 프로그램 과 AddSIM 시뮬레이션 커널 간의 시간 동기화 정보와 데이터 정보의 교환 매개체 역할을 담당하는 레거시 연동에이전트; 상기 레거시 연동에이전트 와 상기 레거시 시뮬레이션 프로그램 사이에 통신, 시간제어, 데이터 교환 등 연동에 필요한 응용프로그램 인터페이스(API)를 제공하는 레거시 인터페이스를 포함하는 것을 특징으로 하는 것이다.
또한, 상기 레거시 연동에이전트 와 상기 레거시 시뮬레이션 프로그램 사이의 데이터 교환은 TCP/IP 통신을 통해 이루어지며, 상기 레거시 인터페이스를 활용하여 구현되는 것이다.
또한, 상기 레거시 인터페이스는, TCP/IP의 기본 통신을 담당하는 서버/클라이언트 소켓 관리기, 시간 제어를 담당하는 시간진행요청/승인관리기 및 데이터 교환을 위한 송수신관리기를 포함하는 것이다.
또한, 상기 서버/클라이언트 소켓 관리기는, 상기 레거시 연동에이전트 와 상기 레거시 시뮬레이션 프로그램 간 서버-클라이언트 통신을 위한 기초가 되는 서버측 소켓 생성 관리, 클라이언트 측 소켓 생성 관리와 클라이언트의 서버 접속 및 연결유지를 관리하는 것이다.
본 발명에 따른 AddSIM과 레거시 시뮬레이션 프로그램 간의 연동 시뮬레이션 방법으로서, C/C++로 개발된 레거시 시뮬레이션 프로그램 과 시뮬레이션 커널, AddSIM 플레이어들 및 레거시 연동 에이전트를 포함하는 AddSIM에서의 상기 레거시 시뮬레이션 프로그램과 AddSIM 플레이어들의 연동 방법은, 시뮬레이션 시간 동기화 과정과 시뮬레이션 데이터 교환 과정을 포함하며, 상기 AddSIM 플레이어 간의 시뮬레이션 시간은 AddSIM 내부에 존재하는 시뮬레이션 커널의 이벤트 관리기와 시간 관리기의 주관 하에 시간적, 논리적 순서에 맞도록 동기화가 이루어지고,이와 동일하게 레거시 시뮬레이션과의 연동에서도 AddSIM의 시뮬레이션 커널이 시뮬레이션 시간 진행의 주 관리자 역할을 수행하는 것을 특징으로 하는 것이다.
또한, 상기 시뮬레이션 시간 동기화 과정은, 서버역할을 하는 레거시 연동 에이전트에서 서버 소켓을 생성하여 소켓에 IP와 Port를 할당한 뒤 클라이언트가 되는 레거시 시뮬레이션 프로그램의 접속을 기다리는 서버접속 단계인 제 1 단계;
연동되는 레거시 시뮬레이션 프로그램은 연동 에이전트를 통해 시뮬레이션 시간 진행을 요청하는 시간진행요청 단계인 제 2 단계;
연동 에이전트는 레거시 시뮬레이션 프로그램의 시간 진행 요청을 시뮬레이션 커널에 전달하는 커널시간진행요청단계인 제 3 단계;
커널로부터 시간 진행 승인이 떨어지는 시간진행허가단계인 제 4 단계;
이를 다시 레거시 시뮬레이션 프로그램에 전달하는 시간진행허가전달단계인 제 5 단계;를 포함하는 것이다.
또한, 상기 시뮬레이션 데이터 교환 과정은, 레거시 시뮬레이션 프로그램에서 AddSIM 플레이어로 전송하고자 하는 데이터는 레거시 시뮬레이션 프로그램에서 연동 에이전트의 데이터 수신기를 통해 접수가 되는 단계인 제 6 단계;
연동에이전트는 이를 커널의 메시지/이벤트 전송 관리기에게 알려 적절한 수신자에게 전달하는 단계인 제 7 단계;
역방향으로의 데이터 전송인 경우에는, 커널로부터 외부 연동 프로그램으로 전달될 데이터가 연동 에이전트로 접수가 되는 단계인 제 8 단계;
연동에이전트의 데이터 송신기를 통해 네트워크를 이용하여 레거시 시뮬레이션 프로그램에 전달되는 단계인 제 9 단계;를 포함하는 것을 특징으로 하는 것이다.
또한, 상기 레거시 시뮬레이션 프로그램과 AddSIM 플레이어들의 연동 과정의 통신 절차에 사용되는 통신 프로토콜은, TCP/IP 프로토콜을 사용하며 AddSIM 이 서버가 되고 레거시 시뮬레이션 프로그램이 클라이언트 역할을 담당하는 것이다.
지금까지 무기체계 연구개발 과정에서 필요한 많은 공학급 시뮬레이션 프로그램들은 전통적인 공학급 시뮬레이션 프로그램 개발 및 실행 환경인 C/C++로 주로 개발되었다. 종래 개발된 각 문제 도메인의 시뮬레이션 프로그램들은 다루고 있는 모델의 복잡도와 시뮬레이션에 참여하는 개체들의 수에 따라 프로그램의 복잡도와 소스코드의 양이 결정된다. 특히 알고리즘의 복잡도가 크고 프로그램 코드의 양이 방대한 시뮬레이션 프로그램의 경우 AddSIM의 플레이어로 변환하는 과정에 시간적, 경제적으로 어려움이 따른다.
C/C++로 종래 개발된 레거시 시뮬레이션 프로그램의 경우 본 발명에서 제안한 AddSIM-레거시 연동 방법에 따라 연동 에이전트를 구성하여 연동을 실행하면 종래 개발된 레거시 시뮬레이션 프로그램의 소스코드 수정을 최소화하고, 연동에 필요한 많은 부분의 작업이 레거시 인터페이스로 자동화되므로 연동 작업에 필요한 소요 비용 및 개발기간을 단축하는데 크게 기여할 수 있을 것으로 판단된다.
도 1은 본 발명에 따른 AddSIM의 플레이어와 연동하기 위한 구성도이다.
도 2는 도 1에서의 레거시 인터페이스의 구성도이다.
도 3은 본 발명에 따른 AddSIM과 C/C++ 레거시 시뮬레이션 프로그램이 연동되기 위한 통신절차도이다.
도 4는 AddSIM 시뮬레이션 커널 내의 이벤트 관리기의 시간진행 절차도이다.
도 5는 AddSIM 시뮬레이션 커널 내의 공간관리기 및 메시지 송수신 관리기 등을 이용하는 데이터 교환도이다.
도 6은 인터페이스 연결 관리기에 의한 송신자/수신자 간 인터페이스 연결 설명도이다.
도 7은 메시지 송수신 관리기에 의한 실제 메시지 전달 과정의 설명도이다.
본 발명은 C/C++ 환경에서 종래 개발된 무기체계 공학급/교전급 시뮬레이션 프로그램(이하 레거시 시뮬레이션 프로그램)들을 AddSIM의 플레이어와 쉽게 연동하기 위한 그 방법과 연동에이전트 구성에 관한 내용이다. 본 발명은 AddSIM-레거시 연동 시뮬레이션 개체들 간의 시간 동기화 방법, 데이터 교환 방법과 레거시 인터페이스 설계 방법을 포함한다.
본 발명에서 제안하는 방법의 전체 구성은 도 1 과 같다. 동적 재구성 가능한 컴포넌트로 구성된 AddSIM 플레이어들은 AddSIM 시뮬레이션 커널의 주관 하에 시뮬레이션을 수행한다. 기존의 C나 C++ 환경에서 개발된 레거시 시뮬레이션 프로그램들은 고유의 시뮬레이션 커널(혹은 엔진)을 보유하며 단독으로 시뮬레이션을 수행한다. AddSIM 플레이어들과 레거시 시뮬레이션 프로그램 간의 연동을 위해서 데이터 교환과 시간 동기화의 주역할(Master)은 AddSIM 시뮬레이션 커널이 담당한다.
레거시 연동에이전트는 AddSIM 시뮬레이션 커널 위에서 실행되며 레거시 시뮬레이션 프로그램과 AddSIM 시뮬레이션 커널간의 시간 동기화 정보와 데이터 정보의 교환 매개체 역할을 담당한다. 레거시 연동에이전트와 레거시 시뮬레이션 프로그램 사이의 데이터 교환은 TCP/IP 통신을 통해 이루어지며, 레거시 인터페이스를 활용하여 구현된다. 레거시 인터페이스는 TCP/IP의 기본 통신을 담당하는 서버/클라이언트 소켓 관리기와 시간 제어를 담당하는 시간진행요청/승인관리기, 데이터 교환을 위한 데이터 송수신 관리기를 제공하여 연동 절차를 간소화 하였다(도 2 참조).
서버/클라이언트 소켓 관리기는 레거시 연동에이전트와 레거시 시뮬레이션 프로그램 간 서버-클라이언트 통신을 위한 기초가 되는 서버 측 소켓 생성관리, 클라이언트 측 소켓 생성관리와 클라이언트의 서버 접속 및 연결 유지를 관리한다. 이는 도 3의 (3-①)을 수행하기 위한 기반 작업과 이후 (3-②) ~ (3-⑨)까지의 작업을 위한 하부 기능을 모두 포함하는 것이다. 시간진행요청/승인관리기는 (3-②) ~(3-⑤), 데이터 송수신 관리기는 (3-⑥) ~ (3-⑨)의 기능을 제공하는 모듈로써 자세한 내용은 다음 단락에서 설명한다.
C/C++로 개발된 레거시 시뮬레이션 프로그램과 AddSIM 플레이어들의 연동 과정은 시뮬레이션 시간 동기화 과정과 시뮬레이션 데이터 교환 과정을 포함한다.
연동을 위한 통신 절차는 도 3 에 도시된 것과 같다. 연동을 위한 통신 프로토콜은 TCP/IP 프로토콜을 사용하며 AddSIM 통합 시뮬레이션 환경이 서버가 되고 레거시 시뮬레이션 프로그램이 클라이언트 역할을 담당한다.
시간 동기화 과정을 살펴보면 우선 서버역할을 하는 레거시 연동 에이전트에서 서버 소켓을 생성하여 소켓에 IP와 Port를 할당한 뒤 클라이언트가 되는 레거시 시뮬레이션 프로그램의 접속을 기다린다(3-①). AddSIM 플레이어 간의 시뮬레이션 시간은 AddSIM 내부에 존재하는 시뮬레이션 커널의 이벤트 관리기와 시간 관리기의 주관 하에 시간적, 논리적 순서에 맞도록 동기화가 이루어진다. 이와 동일하게 레거시 시뮬레이션과의 연동에서도 AddSIM의 시뮬레이션 커널이 시뮬레이션 시간 진행의 주 관리자 역할을 수행하며, 연동되는 레거시 시뮬레이션 프로그램은 연동 에이전트를 통해 시뮬레이션 시간 진행을 요청한다(3-②). 연동 에이전트는 레거시 시뮬레이션 프로그램의 시간 진행 요청을 시뮬레이션 커널에 전달하고(3-③) 커널로부터 시간 진행 승인이 떨어지면(3-④) 이를 다시 레거시 시뮬레이션 프로그램에 전달하여(3-⑤) 전체 시뮬레이션 시간 진행이 시간적 인과관계(time causality)의 위배 없이 진행되도록 하였다.
다음으로 데이터 전송과정을 살펴보면, 시뮬레이션이 진행되는 과정에서 AddSIM 플레이어들 간에 필요한 데이터들은 시뮬레이션 커널의 메시지 전송 관리기와 이벤트 전송 관리기에 의해 정확한 수신자에게 전달된다. 레거시 시뮬레이션 프로그램에서 AddSIM 플레이어로 전송하고자 하는 데이터는 연동 에이전트의 데이터 수신기를 통해 접수가 되며(3-⑥) 연동에이전트는 이를 커널의 메시지/이벤트 전송 관리기에게 알려 적절한 수신자에게 전달한다(3-⑦). 역방향으로의 데이터 전송도 마찬가지로 커널로부터 외부 연동 프로그램으로 전달될 데이터가 연동 에이전트로 접수가 되면(3-⑧) 연동에이전트의 데이터 송신기를 통해 네트워크를 이용하여 레거시 시뮬레이션 프로그램에 전달됨으로써(3-⑨) 전체 시뮬레이션에 참여하는 개체들 사이의 데이터 교환이 원활하게 이루어지게 하였다.
전술한 바와 같이 AddSIM 플레이어와 레거시 시뮬레이션 프로그램 간의 연동에 있어서 시뮬레이션 시간 및 이벤트 관리의 주체는 AddSIM 커널이 담당하며 커널의 시간 진행 절차는 도 4와 같다. 시뮬레이션 진행 간 각 시뮬레이션 개체들은 각자의 다음 이벤트 진행 가부를 AddSIM 시뮬레이션 커널의 이벤트 등록기를 통해 이벤트 관리기에 요청한다. 이벤트 등록기를 통해 요청된 각 시뮬레이션 개체(AddSIM 플레이어들, 레거시 연동 에이전트들)의 다음 이벤트들은 이벤트 관리기 안에 존재하는 이벤트 리스트에서 시간 순으로 관리가 되며, 이벤트 실행기는 이벤트 리스트 상의 가장 빠른 순으로 이벤트를 꺼내 해당 이벤트를 요청한 시뮬레이션 개체들에게 이벤트 실행 명령을 한다. 이 때, 전역 시뮬레이션 시간은 이벤트에 기록된 시간으로 진행하게 된다.
AddSIM 플레이어와 레거시 시뮬레이션 프로그램 간 데이터 교환은 AddSIM 커널의 공간서비스와 메시지 전달 서비스를 통해 이루어진다. 도 5 커널의 공간 관리기는 시뮬레이션에 참여하는 개체들의 시간에 따른 공간 정보를 기록하는 DB를 가진다. 공간 관리기에 공간 정보 등록을 요청한 개체들의 위치 정보와 자세 정보, 추가 확장 정보는 시뮬레이션 진행 간에 DB에 주기적으로 기록되며 이 정보를 수신하고자 하는 개체들은 개체식별자를 사용하여 선택적으로 데이터를 수신한다.
또 다른 데이터 교환 방법으로 AddSIM 커널의 메시지 전달 서비스가 있다. AddSIM 커널의 메시지 전달 서비스는 메시지 송수신 관리기, 인터페이스 연결 관리기, 실행 객체 관리기를 통해 실현되며 시뮬레이션에 참여하는 개체들 간 m 대 n 동기, 비동기 통신을 제공하며 위치, 자세 정보를 포함한 모든 데이터 교환을 지원한다. AddSIM 플레이어와 레거시 시뮬레이션 프로그램 간의 메시지 전달을 위해서는 우선 인터페이스 연결 관리기를 통해 송신자/수신자 간 인터페이스 연결을 맺어야 한다(도 6 참조). 송신자/수신자 간 인터페이스 연결은 우선 인터페이스 연결 관리기가 해당 송신자의 객체 정보를 실행객체 관리기를 통해 객체정보 요청(6-①), 조회(6-②), 반환(6-③) 받은 뒤 해당 송신자 객체에게 송신하고자 하는 변수 정보를 요청(6-④), 반환(6-⑤) 받아 메시지 관리 테이블에 저장한 후 송신자 객체의 수신자 정보를 설정(6-⑥)한다.
송신자/수신자 간 인터페이스 연결 후 실제 메시지 전달 과정은 도 7과 같이 송신 컴포넌트가 소켓을 통해 메시지를 송신(7-①)하면 메시지 송수신 관리기의 MsgSender가 이를 받아 MsgReceiver에 메시지를 전달함과 동시에 실행객체 관리기에 메시지 전달 이벤트가 있음을 알린다.(7-②) 실행객체 관리기는 수신 컴포넌트의 주소를 실행 객체 DB를 통해 조회(7-③)한 뒤 수신 컴포넌트에게 메시지 수신 이벤트가 있음을 알리고(7-④), 이후 수신 컴포넌트는 MsgReceiver를 통해 해당 메시지를 수신하게 된다(7-⑤).
이상에서와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 본 발명이 속하는 분야의 당업자이면 본 발명의 실시예를 다양하게 변형하여 실시할 수 있는 것이다. 그러므로, 본 발명의 특허권리범위는 본 발명에 기재된 실시예에 한정되는 것이 아니며, 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 균등물의 범주 내에서의 실시예들은 본 발명의 특허권리범위에 속하는 것이라 하겠다.

Claims (8)

  1. 컴포넌트기반 통합 시뮬레이션 환경에서 시뮬레이션 커널의 주관 하에 시뮬레이션을 수행하는 컴포넌트기반 통합 시뮬레이션 환경 플레이어들;
    C/C++ 환경에서 개발되어 고유의 시뮬레이션 엔진을 보유하며 단독으로 시뮬레이션을 수행하는 레거시 시뮬레이션 프로그램;
    상기 컴포넌트기반 통합 시뮬레이션 환경 플레이어들과 상기 레거시 시뮬레이션 프로그램 간의 연동을 위해 데이터 교환과 시간 동기화의 주역할을 하는 컴포넌트기반 통합 시뮬레이션 환경 시뮬레이션 커널;
    상기 컴포넌트기반 통합 시뮬레이션 환경 시뮬레이션 커널 위에서 실행되며 레거시 시뮬레이션 프로그램과 컴포넌트기반 통합 시뮬레이션 환경 시뮬레이션 커널 간의 시간 동기화 정보와 데이터 정보의 교환 매개체 역할을 담당하는 레거시 연동에이전트; 및
    상기 레거시 연동에이전트 와 상기 레거시 시뮬레이션 프로그램 사이에 통신, 시간제어, 데이터 교환을 위한 연동 절차를 제공하는 레거시 인터페이스
    를 포함하며,
    상기 레거시 연동에이전트와 상기 레거시 시뮬레이션 프로그램 사이의 데이터 교환은 TCP/IP 통신을 통해 이루어지고, 상기 레거시 인터페이스를 활용하여 구현되는 것이며,
    상기 레거시 인터페이스는, TCP/IP의 기본 통신을 담당하는 서버/클라이언트 소켓 관리기, 시간 제어를 담당하는 시간진행요청/승인관리기 및 데이터 교환을 위한 송수신관리기를 포함하는 것을 특징으로 하는 컴포넌트기반 통합 시뮬레이션 환경과 레거시 시뮬레이션 프로그램 간의 연동 시뮬레이션 장치.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 서버/클라이언트 소켓 관리기는, 상기 레거시 연동에이전트와 상기 레거시 시뮬레이션 프로그램 간 서버-클라이언트 통신을 위한 기초가 되는 서버 측 소켓 생성 관리, 클라이언트 측 소켓 생성 관리와 클라이언트의 서버 접속 및 연결유지를 관리하는 것을 특징으로 하는 컴포넌트기반 통합 시뮬레이션 환경과 레거시 시뮬레이션 프로그램 간의 연동 시뮬레이션 장치.
  5. C/C++로 개발된 레거시 시뮬레이션 프로그램과 시뮬레이션 커널, 컴포넌트기반 통합 시뮬레이션 환경 플레이어들 및 레거시 연동 에이전트를 포함하는 컴포넌트기반 통합 시뮬레이션 환경에서의 상기 레거시 시뮬레이션 프로그램과 컴포넌트기반 통합 시뮬레이션 환경 플레이어들의 연동 방법은,
    시뮬레이션 시간 동기화 과정과 시뮬레이션 데이터 교환 과정을 포함하며, 상기 컴포넌트기반 통합 시뮬레이션 환경 플레이어 간의 시뮬레이션 시간은 컴포넌트기반 통합 시뮬레이션 환경 내부에 존재하는 시뮬레이션 커널의 이벤트 관리기와 시간 관리기의 주관 하에 시간적, 논리적 순서에 맞도록 동기화가 이루어지고, 이와 동일하게 레거시 시뮬레이션과의 연동에서도 컴포넌트기반 통합 시뮬레이션 환경의 시뮬레이션 커널이 시뮬레이션 시간 진행의 주 관리자 역할을 수행하는 것이며,
    상기 시뮬레이션 시간 동기화 과정은,
    서버역할을 하는 레거시 연동 에이전트에서 서버 소켓을 생성하여 소켓에 IP와 Port를 할당한 뒤 클라이언트가 되는 레거시 시뮬레이션 프로그램의 접속을 기다리는 서버접속 단계인 제 1 단계;
    연동되는 레거시 시뮬레이션 프로그램은 연동 에이전트를 통해 시뮬레이션 시간 진행을 요청하는 시간진행요청 단계인 제 2 단계;
    연동 에이전트는 레거시 시뮬레이션 프로그램의 시간 진행 요청을 시뮬레이션 커널에 전달하는 커널시간진행요청단계인 제 3 단계;
    커널로부터 시간 진행 승인이 떨어지는 시간진행허가단계인 제 4 단계;
    이를 다시 레거시 시뮬레이션 프로그램에 전달하는 시간진행허가전달단계인 제 5 단계;를
    포함하는 것을 특징으로 하는 컴포넌트기반 통합 시뮬레이션 환경과 레거시 시뮬레이션 프로그램 간의 연동 시뮬레이션 방법.
  6. 삭제
  7. 제 5 항에 있어서,
    상기 시뮬레이션 데이터 교환 과정은,
    레거시 시뮬레이션 프로그램에서 컴포넌트기반 통합 시뮬레이션 환경 플레이어로 전송하고자 하는 데이터는 레거시 시뮬레이션 프로그램에서 연동 에이전트의 데이터 수신기를 통해 접수가 되는 단계인 제 6 단계;
    연동에이전트는 이를 커널의 메시지/이벤트 전송 관리기에게 알려 수신자에게 전달하는 단계인 제 7 단계;
    역방향으로의 데이터 전송인 경우에는, 커널로부터 외부 연동 프로그램으로 전달될 데이터가 연동 에이전트로 접수가 되는 단계인 제 8 단계;
    연동에이전트의 데이터 송신기를 통해 네트워크를 이용하여 레거시 시뮬레이션 프로그램에 전달되는 단계인 제 9 단계;를
    포함하는 것을 특징으로 하는 컴포넌트기반 통합 시뮬레이션 환경과 레거시 시뮬레이션 프로그램 간의 연동 시뮬레이션 방법.
  8. 제 5 항에 있어서,
    상기 레거시 시뮬레이션 프로그램과 컴포넌트기반 통합 시뮬레이션 환경 플레이어들의 연동 과정의 통신 절차에 사용되는 통신 프로토콜은, TCP/IP 프로토콜을 사용하며 컴포넌트기반 통합 시뮬레이션 환경 통합 시뮬레이션 환경이 서버가 되고 레거시 시뮬레이션 프로그램이 클라이언트 역할을 담당하는 것을 특징으로 하는 컴포넌트기반 통합 시뮬레이션 환경과 레거시 시뮬레이션 프로그램 간의 연동 시뮬레이션 방법.
KR1020120028612A 2012-03-21 2012-03-21 컴포넌트기반 통합 시뮬레이션 환경과 c/c++ 시뮬레이션 프로그램 연동 방법 및 연동 에이전트/인터페이스 설계 방법 KR101194246B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120028612A KR101194246B1 (ko) 2012-03-21 2012-03-21 컴포넌트기반 통합 시뮬레이션 환경과 c/c++ 시뮬레이션 프로그램 연동 방법 및 연동 에이전트/인터페이스 설계 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120028612A KR101194246B1 (ko) 2012-03-21 2012-03-21 컴포넌트기반 통합 시뮬레이션 환경과 c/c++ 시뮬레이션 프로그램 연동 방법 및 연동 에이전트/인터페이스 설계 방법

Publications (1)

Publication Number Publication Date
KR101194246B1 true KR101194246B1 (ko) 2012-10-29

Family

ID=47288638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120028612A KR101194246B1 (ko) 2012-03-21 2012-03-21 컴포넌트기반 통합 시뮬레이션 환경과 c/c++ 시뮬레이션 프로그램 연동 방법 및 연동 에이전트/인터페이스 설계 방법

Country Status (1)

Country Link
KR (1) KR101194246B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101670307B1 (ko) * 2015-09-21 2016-10-31 국방과학연구소 컴포넌트기반 통합 시뮬레이션 환경과 matlab/simulink 레거시 시뮬레이션 프로그램 간 연동방법 및 연동인터페이스 설계방법
KR101902252B1 (ko) * 2018-04-20 2018-09-28 국방과학연구소 개체 단위 교전 시뮬레이션을 위한 공간데이터 기반 개체 데이터 관리 및 공유 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118036B1 (ko) * 2010-03-31 2012-02-24 (주)솔빛시스템 Api 변환 래퍼를 이용하여 리얼 코드와 연동할 수 있는 시뮬레이터 및 시뮬레이션 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118036B1 (ko) * 2010-03-31 2012-02-24 (주)솔빛시스템 Api 변환 래퍼를 이용하여 리얼 코드와 연동할 수 있는 시뮬레이터 및 시뮬레이션 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101670307B1 (ko) * 2015-09-21 2016-10-31 국방과학연구소 컴포넌트기반 통합 시뮬레이션 환경과 matlab/simulink 레거시 시뮬레이션 프로그램 간 연동방법 및 연동인터페이스 설계방법
KR101902252B1 (ko) * 2018-04-20 2018-09-28 국방과학연구소 개체 단위 교전 시뮬레이션을 위한 공간데이터 기반 개체 데이터 관리 및 공유 방법

Similar Documents

Publication Publication Date Title
CN105556496B (zh) 通过快捷外围组件互连高速(Peripheral Component Interconnect-Express,PCIe)进行的可扩展直接节点间通信的方法和装置
KR101670307B1 (ko) 컴포넌트기반 통합 시뮬레이션 환경과 matlab/simulink 레거시 시뮬레이션 프로그램 간 연동방법 및 연동인터페이스 설계방법
CN104753817A (zh) 一种云计算消息队列服务本地模拟方法和系统
CN104243496A (zh) 一种软件定义网跨域安全代理方法和系统
CN102291467A (zh) 一种适应私有云环境的通信平台和通信方法
US5621726A (en) Point-to-point communication network and method and adapter for virtualizing a LAN system
CN105610981A (zh) 快速作战信息流转平台
CN105959347B (zh) 一种基于p2p网络的全数字协同仿真系统通信方法
CN103685535A (zh) 一种大规模分布异构数据处理的云数据库系统接口设计
CN102263698A (zh) 虚拟通道的建立方法、数据传输的方法及线卡
CN104113602A (zh) 一种基于物名的物联网设备访问管理系统及方法
CN105871992A (zh) 基于无线通信模块的云接入系统和方法
KR101194246B1 (ko) 컴포넌트기반 통합 시뮬레이션 환경과 c/c++ 시뮬레이션 프로그램 연동 방법 및 연동 에이전트/인터페이스 설계 방법
CN104219280B (zh) 一种智能应用数据传输通道
JP2010505156A5 (ko)
CN116489170A (zh) 基于云平台的源端数据同步方法、系统及介质
CN1585343A (zh) 网管系统向网元同步配置数据的方法
KR20160114459A (ko) 이종 미들웨어 연동을 위한 게이트웨이 장치 및 시각 동기화 방법
CN106534249A (zh) 一种基于文件直通技术的文件传输系统
CN101834914B (zh) 一种身份与位置映射关系的实现方法
CN103092951A (zh) 一种基于信息展现层的通用数据交换方法及系统
CN102427474B (zh) 云存储中的数据传输系统
CN107480302A (zh) 一种基于企业级应用场景的松耦合数据集成同步实现方法
CN103577424A (zh) 分布式数据库视图的实现方法及系统
KR101109091B1 (ko) 하이브리드 구조의 데이터 분산 처리 방법

Legal Events

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

Payment date: 20160520

Year of fee payment: 4

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20161005

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170904

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181002

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191002

Year of fee payment: 8