KR102095863B1 - 범용api와 gui기반의 통합개발환경(ide)을 제공하는 실시간 시뮬레이션 시스템 및 그 제어방법 - Google Patents
범용api와 gui기반의 통합개발환경(ide)을 제공하는 실시간 시뮬레이션 시스템 및 그 제어방법 Download PDFInfo
- Publication number
- KR102095863B1 KR102095863B1 KR1020180132580A KR20180132580A KR102095863B1 KR 102095863 B1 KR102095863 B1 KR 102095863B1 KR 1020180132580 A KR1020180132580 A KR 1020180132580A KR 20180132580 A KR20180132580 A KR 20180132580A KR 102095863 B1 KR102095863 B1 KR 102095863B1
- Authority
- KR
- South Korea
- Prior art keywords
- simulation
- real
- execution device
- simulation execution
- project
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 실시간 시뮬레이션 시스템 및 그 제어방법에 관한 것으로, 더욱 상세하게는 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 입출력 제어를 통한 시뮬레이션 시스템과 그 제어방법 및 그 제어방법에 대한 컴퓨터 프로그램 소스를 저장한 기록 매체에 관한 것이다.
본 발명의 일실시예에 따른 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템은 시뮬레이션수행장치용 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일을 생성하는 GUI 기반의 통합개발환경부, 및 원격에서 시뮬레이션수행장치의 동작 상태를 제어하고 입출력 제어와 입출력 결과를 확인 할 수 있는 범용 API를 포함하는 프록시부를 포함하여 구성되는 SDK부; 및 상기 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일과 그 실행 파일이 동작하는 시뮬레이션수행장치;를 포함하여 구성되는 것을 특징으로 한다.
본 발명의 일실시예에 따른 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템은 시뮬레이션수행장치용 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일을 생성하는 GUI 기반의 통합개발환경부, 및 원격에서 시뮬레이션수행장치의 동작 상태를 제어하고 입출력 제어와 입출력 결과를 확인 할 수 있는 범용 API를 포함하는 프록시부를 포함하여 구성되는 SDK부; 및 상기 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일과 그 실행 파일이 동작하는 시뮬레이션수행장치;를 포함하여 구성되는 것을 특징으로 한다.
Description
본 발명은 실시간 시뮬레이션 시스템 및 그 제어방법에 관한 것으로, 더욱 상세하게는 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 입출력 제어를 통한 시뮬레이션 시스템과 그 제어방법 및 그 제어방법에 대한 컴퓨터 프로그램 소스를 저장한 기록 매체에 관한 것이다.
실시간 시스템(Real-time System)이란 자원이 한정되어 있는 상황에서 작업 수행의 요청에서 수행 결과를 얻기까지의 시간 제약이 존재하는 시스템으로서 항공기 제어, 무기 제어, 발전소 제어 시스템 등의 컴퓨팅 시간의 정확성, 예측성과 신뢰성 및 가용성이 보장되어야 하는 시스템을 말한다.
항공전자 장비분야에서 실시간 시스템(Real-time System)은 예를 들어, 자동비행 조종장치(Automatic Flight Control System; AFCS), 위성/관성 항법장치(Global Positioning System/Inertial Navigation System; GPS/INS), 레이더 고도계(Radar altimeter; RALT), 전방관측 적외선장비(Forward Looking Infrared; FLIR), 다기능 시현기(Multi-Function Display; MFD), 통합전자지도 컴퓨터(Integrated Digital Map Computer, IDMC), 임무 컴퓨터(Mission Computer, MC), 극/초단파 (Ultra/Very High Frequency; UVHF) AM, 생존장비 관리컴퓨터(Electronic Warfare Computer; EWC), 레이더 경보수신기(Radar Warning Receiver; RWR), 미사일 경보 수신기(Missile Warning Receiver; MWR), 통제시현 장치(Control Display Unit, CDU), 피아식별 장비(Identification Friend or Foe; IFF), 비행자료 기록장치(Flight Data Recorder; FDR) 및 초단파 전방향 거리탐지기 / 계기착륙장치(VHF Omni-directional Range/Instrument Landing System; VOR/ILS) 중 하나 이상을 포함하도록 구성될 수 있다.
상기 실시간 시스템의 요구 사항을 정확하게 검증하기 위하여 실시간 시스템의 시뮬레이션이 필요하며 이에 따른 실시간 시뮬레이션 시스템을 개발하는데 있어 실시간 시스템과 마찬가지로 실시간 운영체제(Real-time OS)에 대한 개발자의 전문적인 지식이 필요하며 그 복잡도에 따라 상당한 개발 기간이 필요하게 된다.
또한, 실시간 시뮬레이션 시스템의 경우 원격 컴퓨터로부터 입출력 (I/O)제어 및 실시간 시뮬레이션 시스템의 출력 변수 값을 업데이트하고 입력 변수 값을 모니터링 할 수 있는 기능을 개발하여야 하며 이에 따라 입출력 장치에 따른 전문지식이 필요하게 된다.
본 발명은 상기한 문제점을 해결하기 위해 안출된 것으로서, 실시간 시뮬레이션 시스템을 단기간에 효과적으로 개발할 수 있는 GUI기반의 통합개발환경을 통하여 실시간 시뮬레이션 시스템을 제어하고 모니터링 할 수 있는 실시간 시뮬레이션 시스템 및 그 방법과 그 방법에 대한 컴퓨터 프로그램을 저장한 기록매체를 제공하는 것을 그 목적으로 한다.
또한 실시간 시뮬레이션 시스템을 원격에서 제어, 모니터링 할 수 있는 범용 API를 제공하는 실시간 시뮬레이션 시스템 및 그 방법을 제공하는 것을 그 목적으로 한다.
그러나 본 발명의 목적은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일실시예에 따른 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템은 시뮬레이션수행장치용 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일을 생성하는 GUI 기반의 통합개발환경부, 및 원격에서 시뮬레이션수행장치의 동작 상태를 제어하고 입출력 제어와 입출력 결과를 확인 할 수 있는 범용 API를 포함하는 프록시부를 포함하여 구성되는 SDK부; 및 상기 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일과 그 실행 파일이 동작하는 시뮬레이션수행장치;를 포함하여 구성되는 것을 특징으로 한다.
상기 시뮬레이션수행장치는 상기 실행파일 동작을 통해, 시험 대상 장비와 연동하는 다른 전자 장비들의 신호를 모사하여 시험 대상 장비에게 입력 신호를 제공하고, 이에 대한 시험 대상 장비의 반응 출력 신호를 확인하는 기능을 수행하며, 다수의 시험 대상 장비를 동시에 연동하여 통합시험이 가능한 것을 특징으로 한다.
상기 통합개발환경부는 시뮬레이션수행장치에 사용될 실시간 시뮬레이션 시스템 소프트웨어 프로젝트를 생성하고, 시뮬레이션수행장치의 디바이스 설정을 수행하고, 시뮬레이션수행장치 소프트웨어의 시스템 변수에 사용될 사용자 정의 구조를 정의하고, 시뮬레이션수행장치 소프트웨어의 입출력에 사용될 변수를 정의하기 위하여 실시간 운영체제에서 제공되는 Native Type의 변수와 사용자 변수로 정의된 Type을 사용하고, 시뮬레이션수행장치의 입출력에 사용될 변수를 매핑하고, 원격제어 소프트웨어에서 처리할 수 없는 사용자 정의 함수를 작성하고 컴파일하여 Core Image(Kernel Image)와 링크되도록 하며, 시뮬레이션수행장치 소프트웨어의 작업 스케줄을 정의하고, 프로젝트 생성을 종료하는 것을 특징으로 한다.
상기 통합개발환경부는 생성된 프로젝트를 빌딩하여 메모리에 저장하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하는 것을 특징으로 한다.
상기 프록시부는 상기 실행 가능한 기계어 이미지를 시뮬레이션수행장치에 업로드하고, 상기 통합개발환경부로부터 실행(Run) 제어 명령을 수신하여 시뮬레이션수행장치로 전송하는 것을 특징으로 한다.
상기 시뮬레이션수행장치는 상기 프록시부로부터 업로드된 실행 가능한 기계어 이미지를 이용하여 기존의 실행 가능한 기계어 이미지를 업데이트하고, 상기 프록시부로부터 실행 제어 명령을 수신하면, 실행 가능한 기계어 이미지를 이용하여 시뮬레이션의 모든 시나리오들이 모두 수행될 때까지 실시간 시뮬레이션을 수행하는 것을 특징으로 한다.
상기 통합개발환경부는 생성하는 프로젝트가 기존의 프로젝트인 경우 기존 프로젝트를 로딩하고, 로딩된 프로젝트의 디바이스 설정, 사용자 변수 정의, 시스템 변수 정의, I/O 메시지 정의 및 시스템 변수 매핑 중 어느 하나 이상에 수정이 필요한 경우에 편집을 수행하고, 수정이 필요 없는 경우에는 로딩된 프로젝트를 빌딩하여 메모리에 저장하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하는 것을 특징으로 한다.
상기 통합개발환경부는 새로이 생성되거나 기존의 프로젝트의 디바이스 설정, 사용자 변수 정의, 시스템 변수 설정, I/O 메시지 정의 및 시스템 변수 매핑, 작업 스케쥴 정의를 수행하고, 사용자 모듈 개발 및 빌딩을 수행하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위해 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하여 프록시부로 전달하며, 시뮬레이션수행장치에 대한 수행/종료 제어 명령을 생성하여 프록시부로 전달하며, 시뮬레이션수행장치의 I/O 실행 결과를 프록시부로부터 수신하고, 시뮬레이션수행장치의 오류 보고(Error reporting)를 프록시부로부터 수신하고, 디버거의 모니터링 화면을 통해 I/O 결과, 및 오류 보고를 표시하는 것을 특징으로 한다.
상기 프록시부는 통합개발환경부와 시뮬레이션수행장치 사이에 위치하여 두 장치간을 연결하며, 통합개발환경부로부터 실행 가능한 기계어 이미지(Core Image)를 수신하여 시뮬레이션수행장치로 전달하며, 시뮬레이션수행장치에 대한 수행/종료 제어 명령을 수신하여 시뮬레이션수행장치로 전달하며, 시뮬레이션수행장치의 I/O 실행 결과를 수신하여 통합개발환경부로 전달하고, 시뮬레이션수행장치의 오류 보고(Error reporting)를 수신하여 통합개발환경부로 전달하는 것을 특징으로 한다.
상기 시뮬레이션수행장치는 상기 프록시부와 접속하여 실행 가능한 기계어 이미지(Core Image)를 수신하여 시뮬레이션수행장치의 실행 가능한 기계어 이미지(Core Image)를 업데이트하며, 상기 프록시부로부터 수행/종료 제어 명령을 수신하며, 시뮬레이션수행장치의 I/O 실행 결과를 프록시부로 전달하는 것을 특징으로 한다.
상기 프록시부는 시뮬레이션수행장치를 제어하기 위한 명령을 수행하고, 상기 제어 명령에는 시작 명령(Start), 실행 명령(Run), 및 중단 명령(Stop)을 포함하고, 상기 시작 명령(Start)은 시뮬레이션수행장치의 실행을 준비하기 위한 명령이고, 상기 실행 명령(Run)은 시뮬레이션수행장치의 시뮬레이션을 실행하기 위한 명령으로 주어진 실행명령의 주기 정보에 의해 시뮬레이션수행장치는 시뮬레이션이 실행되는 동안 입력 주기마다 시뮬레이션수행장치의 동작상태를 전달하며, 상기 중단 명령(Stop)은 시뮬레이션수행장치의 시뮬레이션을 중단하기 위한 명령인 것을 특징으로 한다.
상기 프록시부는 시뮬레이션수행장치의 출력(Output) 변수를 업데이트하고 입력(Input) 변수를 모니터링 하는 I/O 명령을 수행하고, 상기 I/O 명령에는 출력 명령(Write), 입력 명령(Read), 입력 취소 명령(Cancel), 작업 등록 명령(Register Job), 작업 취소 명령(Cancel Job)을 포함하고, 상기 출력 명령(Write)은 시뮬레이션수행장치의 입출력 장치에 출력 값을 업데이트하기 위한 명령으로 시뮬레이션수행장치의 시스템 변수의 Offset과 업데이트할 값의 크기로 요청되며 그 처리에 대한 응답을 전달하며, 상기 입력 명령(Read)은 시뮬레이션수행장치의 입출력 장치에 입력값을 모니터링 하기 위한 명령으로 시뮬레이션수행장치의 시스템 변수의 Offset과 모니터링 할 값의 크기와 주기로 요청되며 요청된 주기가 0일 경우 한번의 응답이 이루어지며 그렇지 않을 경우 요청된 주기마다 요청된 응답을 전달하며, 상기 입력 취소 명령(Cancel)은 시뮬레이션수행장치에 요청된 입력 명령을 취소하는 명령으로 그 처리에 대한 응답을 전달하며, 상기 작업 등록 명령(Register Job)은 시뮬레이션수행장치에 사용자 정의 작업을 요청된 주기마다 처리하도록 등록 요청하기 위한 명령으로 그 처리에 대한 응답을 전달하며, 상기 작업 취소 명령(Cancel Job)은 시뮬레이션수행장치에 등록된 사용자 정의 작업을 취소하기 위한 명령으로 그 처리에 대한 응답을 전달하는 것을 특징으로 한다.
상기 프록시부는 시뮬레이션수행장치를 관리하기 위한 명령을 수행하고, 상기 관리 명령에는 진단 명령(Diagnose), 장치 정보 명령(Device Info), 버전 정보 명령(Version), 설정 명령(Config), 업데이트 명령(Update), 및 재시작 명령(Reboot)을 포함하고, 상기 진단 명령(Diagnose은 시뮬레이션수행장치의 진단 정보를 요청하고 시뮬레이션수행장치의 진단정보에 대한 응답을 전달하며, 상기 장치 정보 명령(Device Info)은 시뮬레이션수행장치의 정보를 요청하고 그 처리에 대한 응답을 전달하며, 상기 버전 정보 명령(Version)은 시뮬레이션수행장치와 그 장치의 정보를 요청하고 그 처리에 대한 응답을 전달하며, 상기 설정 명령(Config)은 시뮬레이션수행장치의 환경 정보를 업데이트 요청하고 그 처리에 대한 응답을 전달하며, 상기 업데이트 명령(Update)은 시뮬레이션수행장치를 업데이트 하기 위한 이미지 파일을 업로드하고 업데이트 처리 과정에 대한 응답을 전달하며, 상기 재시작 명령(Reboot)은 시뮬레이션수행장치를 재시작 하기 위한 명령인 것을 특징으로 한다.
본 발명의 다른 일실시예에 따른 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템의 제어방법은 SDK부에 시뮬레이션수행장치용 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일을 생성하는 GUI 기반의 통합개발환경부, 및 원격에서 시뮬레이션수행장치의 동작 상태를 제어하고 입출력 제어와 입출력 결과를 확인 할 수 있는 범용 API를 포함하는 프록시부를 포함하여 구성하는 SDK구성단계; 및 상기 시뮬레이션수행장치가 상기 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일과 그 실행 파일을 동작하는 실시간시뮬레이션단계;를 포함하여 구성되는 것을 특징으로 한다.
상기 실시간시뮬레이션단계는 상기 시뮬레이션수행장치가 상기 실행파일 동작을 통해, 시험 대상 장비와 연동하는 다른 전자 장비들의 신호를 모사하여 시험 대상 장비에게 입력 신호를 제공하고, 이에 대한 시험 대상 장비의 반응 출력 신호를 확인하는 기능을 수행하며, 다수의 시험 대상 장비를 동시에 연동하여 통합시험을 수행하는 과정을 포함하는 것을 특징으로 한다.
상기 SDK구성단계는 상기 통합개발환경부가 시뮬레이션수행장치에 사용될 실시간 시뮬레이션 시스템 소프트웨어 프로젝트를 생성하고, 시뮬레이션수행장치의 디바이스 설정을 수행하고, 시뮬레이션수행장치 소프트웨어의 시스템 변수에 사용될 사용자 정의 구조를 정의하고, 시뮬레이션수행장치 소프트웨어의 입출력에 사용될 변수를 정의하기 위하여 실시간 운영체제에서 제공되는 Native Type의 변수와 사용자 변수로 정의된 Type을 사용하고, 시뮬레이션수행장치의 입출력에 사용될 변수를 매핑하고, 원격제어 소프트웨어에서 처리할 수 없는 사용자 정의 함수를 작성하고 컴파일하여 Core Image(Kernel Image)와 링크되도록 하며, 시뮬레이션수행장치 소프트웨어의 작업 스케줄을 정의하고, 프로젝트 생성을 종료하는 과정을 포함하는 것을 특징으로 한다.
상기 SDK구성단계는 상기 통합개발환경부가 생성된 프로젝트를 빌딩하여 메모리에 저장하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하는 과정을 포함하는 것을 특징으로 한다.
상기 SDK구성단계는 상기 프록시부가 상기 실행 가능한 기계어 이미지를 시뮬레이션수행장치에 업로드하고, 상기 통합개발환경부로부터 실행(Run) 제어 명령을 수신하여 시뮬레이션수행장치로 전송하는 과정을 포함하는 것을 특징으로 한다.
상기 실시간시뮬레이션단계는 상기 시뮬레이션수행장치가 상기 프록시부로부터 업로드된 실행 가능한 기계어 이미지를 이용하여 기존의 실행 가능한 기계어 이미지를 업데이트하고, 상기 프록시부로부터 실행 제어 명령을 수신하면, 실행 가능한 기계어 이미지를 이용하여 시뮬레이션의 모든 시나리오들이 모두 수행될 때까지 실시간 시뮬레이션을 수행하는 과정을 포함하는 것을 특징으로 한다.
상기 SDK구성단계는 상기 통합개발환경부가 생성하는 프로젝트가 기존의 프로젝트인 경우 기존 프로젝트를 로딩하고, 로딩된 프로젝트의 디바이스 설정, 사용자 변수 정의, 시스템 변수 정의, I/O 메시지 정의 및 시스템 변수 매핑 중 어느 하나 이상에 수정이 필요한 경우에 편집을 수행하고, 수정이 필요 없는 경우에는 로딩된 프로젝트를 빌딩하여 메모리에 저장하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하는 과정을 포함하는 것을 특징으로 한다.
상기 SDK구성단계는 상기 통합개발환경부가 새로이 생성되거나 기존의 프로젝트의 디바이스 설정, 사용자 변수 정의, 시스템 변수 설정, I/O 메시지 정의 및 시스템 변수 매핑, 작업 스케쥴 정의를 수행하고, 사용자 모듈 개발 및 빌딩을 수행하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위해 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하여 프록시부로 전달하며, 시뮬레이션수행장치에 대한 수행/종료 제어 명령을 생성하여 프록시부로 전달하며, 시뮬레이션수행장치의 I/O 실행 결과를 프록시부로부터 수신하고, 시뮬레이션수행장치의 오류 보고(Error reporting)를 프록시부로부터 수신하고, 디버거의 모니터링 화면을 통해 I/O 결과, 및 오류 보고를 표시하는 과정을 포함하는 것을 특징으로 한다.
상기 SDK구성단계는 상기 프록시부가 통합개발환경부와 시뮬레이션수행장치 사이에 위치하여 두 장치간을 연결하며, 통합개발환경부로부터 실행 가능한 기계어 이미지(Core Image)를 수신하여 시뮬레이션수행장치로 전달하며, 시뮬레이션수행장치에 대한 수행/종료 제어 명령을 수신하여 시뮬레이션수행장치로 전달하며, 시뮬레이션수행장치의 I/O 실행 결과를 수신하여 통합개발환경부로 전달하고, 시뮬레이션수행장치의 오류 보고(Error reporting)를 수신하여 통합개발환경부로 전달하는 과정을 포함하는 것을 특징으로 한다.
상기 실시간시뮬레이션단계는 상기 시뮬레이션수행장치가 상기 프록시부와 접속하여 실행 가능한 기계어 이미지(Core Image)를 수신하여 시뮬레이션수행장치의 실행 가능한 기계어 이미지(Core Image)를 업데이트하며, 상기 프록시부로부터 수행/종료 제어 명령을 수신하며, 시뮬레이션수행장치의 I/O 실행 결과를 프록시부로 전달하는 과정을 포함하는 것을 특징으로 한다.
상기 SDK구성단계는 상기 프록시부가 시뮬레이션수행장치를 제어하기 위한 명령을 수행하는 과정을 포함하고, 상기 제어 명령에는 시작 명령(Start), 실행 명령(Run), 및 중단 명령(Stop)을 포함하고, 상기 시작 명령(Start)은 시뮬레이션수행장치의 실행을 준비하기 위한 명령이고, 상기 실행 명령(Run)은 시뮬레이션수행장치의 시뮬레이션을 실행하기 위한 명령으로 주어진 실행명령의 주기 정보에 의해 시뮬레이션수행장치는 시뮬레이션이 실행되는 동안 입력 주기마다 시뮬레이션수행장치의 동작상태를 전달하며, 상기 중단 명령(Stop)은 시뮬레이션수행장치의 시뮬레이션을 중단하기 위한 명령인 것을 특징으로 한다.
상기 SDK구성단계는 상기 프록시부가 시뮬레이션수행장치의 출력(Output) 변수를 업데이트하고 입력(Input) 변수를 모니터링 하는 I/O 명령을 수행하는 과정을 포함하고, 상기 I/O 명령에는 출력 명령(Write), 입력 명령(Read), 입력 취소 명령(Cancel), 작업 등록 명령(Register Job), 작업 취소 명령(Cancel Job)을 포함하고, 상기 출력 명령(Write)은 시뮬레이션수행장치의 입출력 장치에 출력 값을 업데이트하기 위한 명령으로 시뮬레이션수행장치의 시스템 변수의 Offset과 업데이트할 값의 크기로 요청되며 그 처리에 대한 응답을 전달하며, 상기 입력 명령(Read)은 시뮬레이션수행장치의 입출력 장치에 입력값을 모니터링 하기 위한 명령으로 시뮬레이션수행장치의 시스템 변수의 Offset과 모니터링 할 값의 크기와 주기로 요청되며 요청된 주기가 0일 경우 한번의 응답이 이루어지며 그렇지 않을 경우 요청된 주기마다 요청된 응답을 전달하며, 상기 입력 취소 명령(Cancel)은 시뮬레이션수행장치에 요청된 입력 명령을 취소하는 명령으로 그 처리에 대한 응답을 전달하며, 상기 작업 등록 명령(Register Job)은 시뮬레이션수행장치에 사용자 정의 작업을 요청된 주기마다 처리하도록 등록 요청하기 위한 명령으로 그 처리에 대한 응답을 전달하며, 상기 작업 취소 명령(Cancel Job)은 시뮬레이션수행장치에 등록된 사용자 정의 작업을 취소하기 위한 명령으로 그 처리에 대한 응답을 전달하는 것을 특징으로 한다.
상기 SDK구성단계는 상기 프록시부가 시뮬레이션수행장치를 관리하기 위한 명령을 수행하는 과정을 포함하고, 상기 관리 명령에는 진단 명령(Diagnose), 장치 정보 명령(Device Info), 버전 정보 명령(Version), 설정 명령(Config), 업데이트 명령(Update), 및 재시작 명령(Reboot)을 포함하고, 상기 진단 명령(Diagnose은 시뮬레이션수행장치의 진단 정보를 요청하고 시뮬레이션수행장치의 진단정보에 대한 응답을 전달하며, 상기 장치 정보 명령(Device Info)은 시뮬레이션수행장치의 정보를 요청하고 그 처리에 대한 응답을 전달하며, 상기 버전 정보 명령(Version)은 시뮬레이션수행장치와 그 장치의 정보를 요청하고 그 처리에 대한 응답을 전달하며,
상기 설정 명령(Config)은 시뮬레이션수행장치의 환경 정보를 업데이트 요청하고 그 처리에 대한 응답을 전달하며, 상기 업데이트 명령(Update)은 시뮬레이션수행장치를 업데이트 하기 위한 이미지 파일을 업로드하고 업데이트 처리 과정에 대한 응답을 전달하며, 상기 재시작 명령(Reboot)은 시뮬레이션수행장치를 재시작 하기 위한 명령인 것을 특징으로 한다.
본 발명의 다른 일실시예에 따른 컴퓨터로 판독 가능한 기록매체는 상기 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템의 제어방법을 실행하는 프로그램을 기록한 것을 특징으로 한다.
이상에서 설명한 바와 같이, 본 발명의 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 입출력 제어를 통한 시뮬레이션 시스템과 그 방법 및 그 방법에 대한 컴퓨터 프로그램 소스를 저장한 기록 매체는 범용 API와 GUI 기반의 통합개발환경을 통하여 특정 실시간 시뮬레이션 시험 시스템과 시험용 소프트웨어를 제작하는데 있어서 개발 편의성과 개발 기간 단축 및 비용 절감의 효과가 있다.
또한 기존의 실시간 시뮬레이션 시스템 개발에 있어서 특정 실시간 운영체제에 대한 전문지식의 요구 없이 통합개발환경을 통하여 쉽게 개발 및 테스트 할 수 있는 장점이 있다.
또한 본 발명은 실시간 시뮬레이션 시스템을 제어하기 위한 범용 API를 제공함으로써 별도의 제어를 위한 개발에 들어가는 개발비용 및 개발기간이 필요 없는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 GUI 기반의 통합 개발 환경을 제공하는 실시간 시뮬레이션 시스템의 구성도를 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 프로젝트 생성을 위한 GUI 기반의 통합 개발 환경 처리 절차를 도시한 것이다.
도 3은 본 발명의 다른 실시예에 따른 프로젝트 생성 및 실행을 위한 GUI 기반의 통합 개발 환경의 처리 절차를 도시한 것이다.
도 4는 통합개발환경과 실시간 시뮬레이션 시험 시스템 흐름도를 도시한 것이다.
도 5는 실시간 시뮬레이션 시스템 시험 및 운영 환경을 도시한 것이다.
도 6은 실시간 시뮬레이션 시스템 통신 흐름을 도시한 것이다.
도 7은 제어 명령 통신 흐름을 도시한 것이다.
도 8은 I/O 명령 통신 흐름을 도시한 것이다.
도 9는 관리 명령 통신 흐름을 도시한 것이다.
도 10은 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템의 제어방법을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 프로젝트 생성을 위한 GUI 기반의 통합 개발 환경 처리 절차를 도시한 것이다.
도 3은 본 발명의 다른 실시예에 따른 프로젝트 생성 및 실행을 위한 GUI 기반의 통합 개발 환경의 처리 절차를 도시한 것이다.
도 4는 통합개발환경과 실시간 시뮬레이션 시험 시스템 흐름도를 도시한 것이다.
도 5는 실시간 시뮬레이션 시스템 시험 및 운영 환경을 도시한 것이다.
도 6은 실시간 시뮬레이션 시스템 통신 흐름을 도시한 것이다.
도 7은 제어 명령 통신 흐름을 도시한 것이다.
도 8은 I/O 명령 통신 흐름을 도시한 것이다.
도 9는 관리 명령 통신 흐름을 도시한 것이다.
도 10은 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템의 제어방법을 도시한 것이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성된다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른 GUI 기반의 통합 개발 환경을 제공하는 실시간 시뮬레이션 시스템의 구성도를 도시한 것이다.
도 1에서 보듯이, 본 발명에 의한 GUI 기반의 통합 개발 환경을 제공하는 실시간 시뮬레이션 시스템은 SDK부(100)와 시뮬레이션수행장치(200)를 포함하여 구성된다. UUT(300)는 본 발명의 대상에서 제외된다.
SDK부(100)는 GUI 기반의 통합개발환경과 범용 API(application programming interface)를 포함하는 SDK(Software Development Kit)으로서, 실시간 시뮬레이션 시스템 소프트웨어를 개발하기 위한 통합개발환경부(IDE)(110) 및 실시간 시뮬레이션 시스템 원격제어 및 모니터링 응용 어플리케이션 개발을 위한 범용 API를 DLL, LIB 등의 형태로 포함하는 프록시부(120)를 포함하여 구성된다.
시뮬레이션수행장치(200)는 SDK부에서 개발된 실시간 시뮬레이션 시스템 소프트웨어가 동작하는 시스템 장치로 SBC(Single Board Computer)와 MIL-1553B/C, Discrete 및 UART등의 Analog 입출력 디바이스를 포함하여 구성될 수 있다.
UUT(300)는 시뮬레이션수행장치(200)와 연동하여 동작하는 시험 대상 장비(Unit Under Test)이다.
일반적으로 항공기의 항공전자장비들에 내장된 소프트웨어 성능 시험은 시험 대상 장비(UUT, Unit under Test)가 다른 장비들과 연동하기 위해 주고받는 입출력 신호를 통해 내장된 SW의 기능 검증이 이루어진다. 이를 위해 시뮬레이션수행장치(200)는 시험 대상 장비와 연동하는 다른 전자 장비들의 신호를 모사하여 시험 대상 장비에게 입력 신호를 제공하고, 이에 대한 시험 대상 장비의 반응 출력 신호를 확인하는 기능을 수행한다. 이러한 시뮬레이션수행장치(200)는 항공기나 자동차를 구성하는 다수의 시험 대상 장비를 동시에 연동하여 통합시험이 가능한 통합 시험 장치로 확장될 수 있다.
본 발명은 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 입출력 제어를 통한 시뮬레이션 시스템으로, 범용 API와 GUI 기반의 통합개발환경을 통하여 특정 실시간 시뮬레이션 시험 시스템과 시험용 소프트웨어를 제작하는데 있어서 개발 편의성과 개발 기간 단축 및 비용 절감을 제공하는 것이다. 이를 위한 본 발명에 의한 실시간 시뮬레이션시스템(1000)은 GUI기반의 통합개발환경(110)을 통하여 생성된 실시간 시뮬레이션 시험 시스템 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일과 그 실행 파일이 동작하는 시뮬레이션수행장치(200)와 원격에서 시뮬레이션수행장치(200)의 동작 상태를 제어하고 입출력 제어와 입출력 결과를 확인 할 수 있는 범용 API를 포함하는 프록시부(120)를 포함한다.
도 2는 본 발명의 일 실시예에 따른 프로젝트 생성을 위한 GUI 기반의 통합 개발 환경 처리 절차를 도시한 것이다.
도 2를 참고하여, GUI 기반의 통합개발환경(IDE)의 처리 절차에 대해 이하에서 설명한다.
도 2에서 보듯이, 실시간 시뮬레이션 시스템 개발을 위해 먼저 프로젝트를 생성하는 절차를 수행하는데, GUI 기반의 통합개발환경에서는 프로젝트 생성 단계(21), 디바이스 설정단계((22), 사용자 변수 정의단계((23), 시스템 변수 정의단계((24), I/O 메시지 정의 및 시스템 변수 Mapping단계(25), 및 Job Schedule 작성단계((26)들을 거친다. Job Schedule 작성 단계 전에 사용자 정의 함수 작성(27) 단계(미도시)를 포함할 수 있다.
프로젝트 생성 단계(S21)에서는 시뮬레이션수행장치에 사용될 실시간 시뮬레이션 시스템 소프트웨어 프로젝트를 생성한다.
디바이스 설정 단계(S22)에서는 실시간 시뮬레이션 시스템 장치의 디바이스 설정을 수행한다.
사용자 변수 정의 단계(S23)에서는 실시간 시뮬레이션 시스템 소프트웨어의 시스템 변수에 사용될 사용자 정의 Structure를 정의한다.
시스템 변수 정의 단계(S24)에서는 실시간 시뮬레이션 시스템 소프트웨어의 입출력에 사용될 변수를 정의하는데, 실시간 운영체제에서 제공되는 Native Type의 변수와 사용자 변수로 정의된 Type을 사용하여 정의한다.
I/O 메시지 정의 및 시스템 변수 Mapping 단계(S25)에서는 실시간 시뮬레이션 시스템의 입출력에 사용될 변수를 Mapping한다.
사용자 정의 함수(User defined Function) 작성 단계(27)에서는 해당 실시간 시뮬레이션 시스템 요구사항에서 원격제어 소프트웨어에서 처리할 수 없는 실시간 처리 기능이 필요한 경우 해당 기능을 구현하기 위한 프로그램이 C 또는 C++을 통하여 컴파일 되어 Core Image(Kernel Image)와 링크(Link)될 수 있도록 함수를 작성한다. 예) Sign Wave 생성 함수.
Job Schedule 작성 단계(S26)에서는 실시간 시뮬레이션 시스템 소프트웨어의 작업 Schedule를 정의한다. 작업 Schedule이 정의된 후에 프로젝트 생성이 종료된다.
도 3은 본 발명의 다른 실시예에 따른 프로젝트 생성 및 실행을 위한 GUI 기반의 통합 개발 환경의 처리 절차를 도시한 것이다.
도 3의 GUI 기반의 통합 개발 환경의 처리 절차는 도 2의 프로젝트 생성 단계들을 포함하고, 추가로 컴파일과 기계어 이미지 업로드 단계들도 포함하여 구성된다.
이하에서 도 3을 참고하여 각 단계들에 대해 설명한다.
프로젝트판단단계(S31)에서는 시뮬레이션수행장치에 사용될 실시간 시뮬레이션 시스템 소프트웨어 프로젝트를 신규 생성하는지 기존의 프로젝트를 로딩하려고 하는 것인지를 판단하여, 프로젝트생성단계(S32) 또는 프로젝트로딩단계(S44)로 이동한다.
프로젝트생성단계(S32)에서는 시뮬레이션수행장치에 사용될 실시간 시뮬레이션 시스템 소프트웨어 프로젝트를 생성한다.
디바이스 설정 단계(S33)에서는 실시간 시뮬레이션 시스템 장치의 디바이스 설정을 수행한다.
사용자 변수 정의 단계(S34)에서는 실시간 시뮬레이션 시스템 소프트웨어의 시스템 변수에 사용될 사용자 정의 Structure(구조)를 정의한다.
시스템 변수 정의 단계(S35)에서는 실시간 시뮬레이션 시스템 소프트웨어의 입출력에 사용될 변수를 정의하며 실시간 운영체제에서 제공되는 Native Type의 변수와 사용자 변수로 정의된 Type을 사용하여 정의한다.
I/O 메시지 정의 및 시스템 변수 Mapping 단계(S36)에서는 실시간 시뮬레이션 시스템의 입출력에 사용될 변수를 Mapping한다.
사용자 정의 함수판단단계(S37)에서는 사용자 정의 함수(User defined Function)가 필요한지 여부를 판단하고, 판단결과 필요하면 사용자 정의 함수 작성 단계(S38)로, 필요 없으면 Job Schedule 작성 단계(S39)로 바로 이동한다.
사용자 정의 함수 작성 단계(S38)에서는 해당 실시간 시뮬레이션 시스템 요구사항에서 원격제어 소프트웨어에서 처리할 수 없는 실시간 처리 기능이 필요한 경우 해당 기능을 구현하기 위한 C 또는 C++를 통하여 컴파일 되어 Core Image(Kernel Image)와 링크(Link)될 수 있도록 함수를 작성한다. 예) Sign Wave 생성 함수.
Job Schedule 작성 단계(S39)에서는 실시간 시뮬레이션 시스템 소프트웨어의 작업 Schedule를 정의한다.
Build 및 저장단계(S40)에서는 생성된 프로젝트를 빌딩(Building)하고 메모리에 저장하게 된다.
컴파일 단계(S41)에서는 프로젝트를 생성하는 단계를 거친 후 빌딩된 프로젝트를 실시간 시뮬레이션 시스템 장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지가 생성된다.
Core image update 단계(S42)에서는 시뮬레이션수행장치에서 실행 가능한 기계어 이미지는 상기 프록시부가 시뮬레이션수행장치에 업로드를 수행하고, 시뮬레이션수행장치는 업로드된 실행 가능한 기계어 이미지를 이용하여 기존의 실행 가능한 기계어 이미지를 업데이트하게 된다.
RTS 실행종료단계(S43)에서는 상기 프록시부가 상기 통합개발환경부로부터 실행(Run) 제어 명령을 수신하여 시뮬레이션수행장치로 전송하면, 실행(Run) 제어 명령을 수신한 시뮬레이션수행장치가 실시간 시뮬레이션을 수행한다. 시뮬레이션의 시나리오들이 모두 수행되면 종료를 수행한다.
프로젝트로딩단계(S44)에서는 생성하는 프로젝트가 기존의 프로젝트인 경우 기존 프로젝트를 로딩한다.
편집단계(S45)에서는 로딩된 프로젝트의 디바이스 설정, 사용자 변수 정의, 시스템 변수 정의, I/O 메시지 정의 및 시사용자 정의 함수판단단계(S37)부터 수행하게 된다. 편집이 필요 없는 경우에는 Build 및 저장단계(S40)로 이동한다.
도 4는 통합개발환경과 실시간 시뮬레이션 시험 시스템 흐름도를 도시한 것이다. 도 4에서 보듯이, GUI 기반의 통합개발환경 또는 실시간 시뮬레이션 시스템 원격제어 및 모니터링 응용 어플리케이션 개발을 통해 실시간 시뮬레이션 시스템을 운영한다.
도 4에서 보듯이, 통합개발환경(IDE)(110)은 실시간 시뮬레이션 시스템 소프트웨어를 개발하기 위한 통합개발환경으로서, 편집기/설계기(Editor/Designer)(111), 디버거(Debugger)(112), 컴파일러(113)를 포함하여 구성되거나, 사용자 응용 어플리케이션(User Application)(114)을 포함하여 구성된다. 본 발명에서는 통합개발환경(IDE)(110)을 foony RTS IDE로 명명한다.
통합개발환경(IDE)(110)은 1) 새로이 생성되거나 기존의 프로젝트의 디바이스 설정, 사용자 변수 정의, 시스템 변수 설정, I/O 메시지 정의 및 시스템 변수 Mapping, Job Scheduling(작업 스케쥴) 정의 등을 수행하고, 2) 사용자 모듈 개발 및 빌드업(Build)을 수행하고, 빌딩된 프로젝트를 시뮬레이션수행장치(200)에서 동작될 기계어로 번역하기 위해 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하여 프록시부(120)로 전달하며, 3) 시뮬레이션수행장치(200)에 대한 Run/Stop 명령을 생성하여 프록시부(120)로 전달하며, 4) 시뮬레이션수행장치(200)의 I/O 실행 결과를 프록시부(120)로부터 수신하여 출력한다.
프록시부(120)는 통합개발환경(IDE)(110)과 시뮬레이션수행장치(200) 사이에 위치하여 두 장치간을 연결해 주는 역할을 수행한다. 본 발명에서는 프록시부(120)를 foony RTS Proxy라고 명명한다. 프록시부(120)는 1) 실행 가능한 기계어 이미지(Core Image)를 수신하여 시뮬레이션수행장치(200)로 전달하며, 2) 시뮬레이션수행장치(200)에 대한 Run/Stop 명령을 수신하여 시뮬레이션수행장치(200)로 전달하며, 3) 시뮬레이션수행장치(200)의 I/O 실행 결과를 수신하여 통합개발환경(IDE)(110)로 전달한다.
시뮬레이션수행장치(200)는 Command Handler(210), Job Scheduler(220), User Defined Function(230), I/O Handler & Dispatcher(240), User Level Device Driver(250), TI-RTOS Kernel(260), Kernel Level Device Driver(270)를 포함하여 구성될 수 있다.
Command Handler(210)는 프록시부(120)와 접속하여 실행 가능한 기계어 이미지(Core Image)를 수신하여 시뮬레이션수행장치(200)의 실행 가능한 기계어 이미지(Core Image)를 업데이트하며, 프록시부(120)로부터 Run/Stop 명령을 수신하며, 시뮬레이션수행장치(200)의 I/O 실행 결과를 프록시부(120)로 전달한다.
Job Scheduler(220)는 실행 가능한 기계어 이미지(Core Image)를 수신하여 리부팅되는 경우에 Job를 새로이 할당하게 된다.
User Defined Function(230)은 사용자가 정의한 함수를 실행한다.
I/O Handler & Dispatcher(240)는 UUT와의 I/O 실행을 위하여 I/O Mapping을 수행하는 I/O Handler, Command Handler(210)로부터 수신한 명령(Run, Stop)에 따라 Job Scheduler(220), I/O Handler, User Level Device Driver(250)를 제어하고, 그 실행결과에 대한 응답을 Command Handler(210)로 전달하는 Dispatcher를 포함하여 구성된다.
User Level Device Driver(250)는 사용자 레벨의 디바이스 드라이버로서, Dispatcher로부터 I/O Device를 준비하라는 명령을 수신하여 I/O Device들을 구동한다.
TI-RTOS Kernel(260)은 실시간 운영체제 커널의 기능을 수행한다.
Kernel Level Device Driver(270)은 실시간 운영체제 커널 레벨의 디바이스 드라이버 기능을 수행한다.
도 5는 실시간 시뮬레이션 시스템 시험 및 운영 환경을 도시한 것이다. 도 5에서 보듯이, SDK부(100)와 시뮬레이션수행장치(200)는 UUT(300)와 연동하여 실시간 시뮬레이션을 수행하게 된다. 본 발명에서는 SDK부(100)를 foony RTS SDK로 명명한다.
도 5에서 보듯이, SDK부(100)는 새로이 프로젝트가 Build되면 이를 수신하고, 컴파일러(113)를 통해 프로젝트를 컴파일하여 기계어 이미지를 생성하고, 이를 프록시부(120)를 통해 시뮬레이션수행장치(200)의 Command Handler(210)로 업로드한다. 또한 실행(Run) 명령을 프록시부(120)가 수신하면 그 제어명령을 시뮬레이션수행장치(200)의 Command Handler(210)로 전달하고, Command Handler(210)로부터 I/O 결과, Error reporting 등을 수신한다. 디버거(Debugger)(112)를 프로젝트를 디버깅하기 위한 모니터링 화면을 통해 I/O 결과, 오류 보고(Error reporting) 등을 표시한다.
시뮬레이션수행장치(200)는 Command Handler(210)를 통해 SDK부(100)와 연결되며, 수신한 기계어 이미지를 업데이터 하며, 새로이 생성된 프로젝트의 환경 설정, 시스템 변수 할당, 사용자 정의 함수, I/O Function 매칭, Job 할당 등을 수행한다. 또한 Job 할당에 따라 UUT의 I/O 제어 명령을 전달하고, 그 응답을 수신하고, 사용자 정의 함수를 실행하고, I/O 실행결과를 SDK부(100)로 전달한다. UUT는 실제 실시간 시스템(310)일 수 있으나, 시뮬레이션 SW(320)일수도 있다.
도 6은 실시간 시뮬레이션 시스템 통신 흐름을 도시한 것이다. 도 6에서 보듯이, 본 발명에 의한 실시간 시뮬레이션 시스템을 원격에서 제어, 모니터링 할 수 있는 범용 API 방법 요청 명령과 요청 명령에 대한 응답으로 SDK부(100)의 프록시부(120)와 시뮬레이션수행장치(200)간 통신을 수행한다. 프록시부(120)(일명 foony RTS Proxy API)에서 Upload RTS Kernel Image 명령을 시뮬레이션수행장치(200)(일명 foony RTS)로 전송하면, Command Handler(210)가 상기 명령을 수신하여 시뮬레이션수행장치(200)는 새로운 Kernel 이미지로 리부팅하게 되고, I/O 디바이스 준비, I/O 매핑, Job scheduling 등을 수행한다. 모든 준비가 완료되면, 프록시부(120)가 보내는 제어명령(시작 명령, 실행 명령, 중단 명령)을 Command Handler(210)가 수신하여 처리하게 된다. 구체적인 내용은 도 7에서 도 9를 참조하여 설명한다.
도 7은 제어 명령 통신 흐름을 도시한 것이다. 도 7에서 보듯이, 실시간 시뮬레이션 시스템을 제어하기 위한 명령으로, 시작 명령(Start)(71), 실행 명령(Run)(72), 및 중단 명령(Stop)(73)으로 구성된다.
시작 명령(Start)(71)은 실시간 시뮬레이션 시스템의 실행을 준비하기 위한 명령이다.
실행 명령(Run)(72)은 실시간 시뮬레이션 시스템의 시뮬레이션을 실행하기 위한 명령으로 주어진 실행명령의 주기 정보에 의해 실시간 시뮬레이션 시스템은 시뮬레이션이 실행되는 동안 입력 주기마다 실시간 시뮬레이션 시스템의 동작상태를 전달하게 된다.
중단 명령(Stop)(73)은 실시간 시뮬레이션 시스템의 시뮬레이션을 중단하기 위한 명령이다.
도 8은 I/O 명령 통신 흐름을 도시한 것이다. 도 8에서 보듯이, 실시간 시뮬레이션 시스템의 출력(Output) 변수를 업데이트하고 입력(Input) 변수를 모니터링 하는 I/O 명령으로, 출력 명령(Write)(81), 입력 명령(Read)(82), 입력 취소 명령(Cancel)(83), 작업 등록 명령(Register Job)(84), 작업 취소 명령(Cancel Job)(85)으로 구성된다.
출력 명령(Write)(81)은 실시간 시뮬레이션 시스템의 입출력 장치에 출력 값을 업데이트하기 위한 명령으로 실시간 시뮬레이션 시스템의 시스템 변수의 Offset과 업데이트할 값의 크기로 요청되며 그 처리에 대한 응답을 전달한다.
입력 명령(Read)(82)은 실시간 시뮬레이션 시스템의 입출력 장치에 입력값을 모니터링 하기 위한 명령으로 실시간 시뮬레이션 시스템의 시스템 변수의 Offset과 모니터링 할 값의 크기와 주기로 요청되며 요청된 주기가 0일 경우 한번의 응답이 이루어지며 그렇지 않을 경우 요청된 주기마다 요청된 응답을 전달한다.
입력 취소 명령(Cancel)(83)은 실시간 시뮬레이션 시스템에 요청된 입력 명령을 취소하는 명령으로 그 처리에 대한 응답을 전달한다.
작업 등록 명령(Register Job)(84)은 실시간 시뮬레이션 시스템에 사용자 정의 작업을 요청된 주기마다 처리하도록 등록 요청하기 위한 명령으로 그 처리에 대한 응답을 전달한다.
작업 취소 명령(Cancel Job)(85)은 실시간 시뮬레이션 시스템에 등록된 사용자 정의 작업을 취소하기 위한 명령으로 그 처리에 대한 응답을 전달한다.
도 9는 관리 명령 통신 흐름을 도시한 것이다. 도 9에서 보듯이, 실시간 시뮬레이션 시스템을 관리하기 위한 명령으로, 진단 명령(Diagnose)(91), 장치 정보 명령(Device Info)(92), 버전 정보 명령(Version)(93), 설정 명령(Config)(94), 업데이트 명령(Update)(95), 및 재시작 명령(Reboot)(96)으로 구성된다.
진단 명령(Diagnose)(91)은 실시간 시뮬레이션 시스템의 진단 정보를 요청하고 실시간 시뮬레이션 시스템의 진단정보에 대한 응답을 전달한다.
장치 정보 명령(Device Info)(92)은 실시간 시뮬레이션 시스템 장치의 정보를 요청하고 그 처리에 대한 응답을 전달한다.
버전 정보 명령(Version)(93)은 실시간 시뮬레이션 시스템과 그 시스템 장치의 정보를 요청하고 그 처리에 대한 응답을 전달한다.
설정 명령(Config)(94)은 실시간 시뮬레이션 시스템의 환경 정보를 업데이트 요청하고 그 처리에 대한 응답을 전달(예, IP 주소)한다.
업데이트 명령(Update)(95)은 실시간 시뮬레이션 시스템을 업데이트 하기 위한 이미지 파일을 업로드하고 업데이트 처리 과정에 대한 응답을 전달한다.
재시작 명령(Reboot)(96)은 실시간 시뮬레이션 시스템을 재시작 하기 위한 명령이다.
도 10은 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템의 제어방법을 도시한 것이다. 도 10에서 보듯이, 본 발명의 다른 일실시예에 따른 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템의 제어방법은 SDK구성단계(S1100)와 실시간시뮬레이션단계(S1200)를 포함하여 구성된다.
상기 SDK구성단계(S1100)에서는 SDK부에 시뮬레이션수행장치용 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일을 생성하는 GUI 기반의 통합개발환경부, 및 원격에서 시뮬레이션수행장치의 동작 상태를 제어하고 입출력 제어와 입출력 결과를 확인 할 수 있는 범용 API를 포함하는 프록시부를 포함하여 구성하는 단계이다.
상기 실시간시뮬레이션단계(S1200)에서는 상기 시뮬레이션수행장치가 상기 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일과 그 실행 파일을 동작시키는 실시간 시뮬레이션을 수행하는 단계이다. 상기 실시간시뮬레이션단계(S1200)는 상기 시뮬레이션수행장치가 상기 실행파일 동작을 통해, 시험 대상 장비와 연동하는 다른 전자 장비들의 신호를 모사하여 시험 대상 장비에게 입력 신호를 제공하고, 이에 대한 시험 대상 장비의 반응 출력 신호를 확인하는 기능을 수행하며, 다수의 시험 대상 장비를 동시에 연동하여 통합시험을 수행하는 과정을 포함한다.
상기 SDK구성단계(S1100)는 상기 통합개발환경부가 시뮬레이션수행장치에 사용될 실시간 시뮬레이션 시스템 소프트웨어 프로젝트를 생성하고, 시뮬레이션수행장치의 디바이스 설정을 수행하고, 시뮬레이션수행장치 소프트웨어의 시스템 변수에 사용될 사용자 정의 구조를 정의하고, 시뮬레이션수행장치 소프트웨어의 입출력에 사용될 변수를 정의하기 위하여 실시간 운영체제에서 제공되는 Native Type의 변수와 사용자 변수로 정의된 Type을 사용하고, 시뮬레이션수행장치의 입출력에 사용될 변수를 매핑하고, 원격제어 소프트웨어에서 처리할 수 없는 사용자 정의 함수를 작성하고 컴파일하여 Core Image(Kernel Image)와 링크되도록 하며, 시뮬레이션수행장치 소프트웨어의 작업 스케줄을 정의하고, 프로젝트 생성을 종료하는 과정을 포함한다.
상기 SDK구성단계(S1100)는 상기 통합개발환경부가 생성된 프로젝트를 빌딩하여 메모리에 저장하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하는 과정을 포함한다. 상기 SDK구성단계(S1100)는 상기 프록시부가 상기 실행 가능한 기계어 이미지를 시뮬레이션수행장치에 업로드하고, 상기 통합개발환경부로부터 실행(Run) 제어 명령을 수신하여 시뮬레이션수행장치로 전송하는 과정을 포함한다.
상기 실시간시뮬레이션단계(S1200)는 상기 시뮬레이션수행장치가 상기 프록시부로부터 업로드된 실행 가능한 기계어 이미지를 이용하여 기존의 실행 가능한 기계어 이미지를 업데이트하고, 상기 프록시부로부터 실행 제어 명령을 수신하면, 실행 가능한 기계어 이미지를 이용하여 시뮬레이션의 모든 시나리오들이 모두 수행될 때까지 실시간 시뮬레이션을 수행하는 과정을 포함한다.
상기 SDK구성단계(S1100)는 상기 통합개발환경부가 생성하는 프로젝트가 기존의 프로젝트인 경우 기존 프로젝트를 로딩하고, 로딩된 프로젝트의 디바이스 설정, 사용자 변수 정의, 시스템 변수 정의, I/O 메시지 정의 및 시스템 변수 매핑 중 어느 하나 이상에 수정이 필요한 경우에 편집을 수행하고, 수정이 필요 없는 경우에는 로딩된 프로젝트를 빌딩하여 메모리에 저장하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하는 과정을 포함한다.
상기 SDK구성단계(S1100)는 상기 통합개발환경부가 새로이 생성되거나 기존의 프로젝트의 디바이스 설정, 사용자 변수 정의, 시스템 변수 설정, I/O 메시지 정의 및 시스템 변수 매핑, 작업 스케쥴 정의를 수행하고, 사용자 모듈 개발 및 빌딩을 수행하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위해 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하여 프록시부로 전달하며, 시뮬레이션수행장치에 대한 수행/종료 제어 명령을 생성하여 프록시부로 전달하며, 시뮬레이션수행장치의 I/O 실행 결과를 프록시부로부터 수신하고, 시뮬레이션수행장치의 오류 보고(Error reporting)를 프록시부로부터 수신하고, 디버거의 모니터링 화면을 통해 I/O 결과, 및 오류 보고를 표시하는 과정을 포함한다.
상기 SDK구성단계(S1100)는 상기 프록시부가 통합개발환경부와 시뮬레이션수행장치 사이에 위치하여 두 장치간을 연결하며, 통합개발환경부로부터 실행 가능한 기계어 이미지(Core Image)를 수신하여 시뮬레이션수행장치로 전달하며, 시뮬레이션수행장치에 대한 수행/종료 제어 명령을 수신하여 시뮬레이션수행장치로 전달하며, 시뮬레이션수행장치의 I/O 실행 결과를 수신하여 통합개발환경부로 전달하고, 시뮬레이션수행장치의 오류 보고(Error reporting)를 수신하여 통합개발환경부로 전달하는 과정을 포함한다.
상기 실시간시뮬레이션단계(S1200)는 상기 시뮬레이션수행장치가 상기 프록시부와 접속하여 실행 가능한 기계어 이미지(Core Image)를 수신하여 시뮬레이션수행장치의 실행 가능한 기계어 이미지(Core Image)를 업데이트하며, 상기 프록시부로부터 수행/종료 제어 명령을 수신하며, 시뮬레이션수행장치의 I/O 실행 결과를 프록시부로 전달하는 과정을 포함한다.
상기 SDK구성단계(S1100)는 상기 프록시부가 시뮬레이션수행장치를 제어하기 위한 명령을 수행하는 과정을 포함하고, 상기 제어 명령에는 시작 명령(Start), 실행 명령(Run), 및 중단 명령(Stop)을 포함하고, 상기 시작 명령(Start)은 시뮬레이션수행장치의 실행을 준비하기 위한 명령이고, 상기 실행 명령(Run)은 시뮬레이션수행장치의 시뮬레이션을 실행하기 위한 명령으로 주어진 실행명령의 주기 정보에 의해 시뮬레이션수행장치는 시뮬레이션이 실행되는 동안 입력 주기마다 시뮬레이션수행장치의 동작상태를 전달하며, 상기 중단 명령(Stop)은 시뮬레이션수행장치의 시뮬레이션을 중단하기 위한 명령이다.
상기 SDK구성단계(S1100)는 상기 프록시부가 시뮬레이션수행장치의 출력(Output) 변수를 업데이트하고 입력(Input) 변수를 모니터링 하는 I/O 명령을 수행하는 과정을 포함하고, 상기 I/O 명령에는 출력 명령(Write), 입력 명령(Read), 입력 취소 명령(Cancel), 작업 등록 명령(Register Job), 작업 취소 명령(Cancel Job)을 포함하고, 상기 출력 명령(Write)은 시뮬레이션수행장치의 입출력 장치에 출력 값을 업데이트하기 위한 명령으로 시뮬레이션수행장치의 시스템 변수의 Offset과 업데이트할 값의 크기로 요청되며 그 처리에 대한 응답을 전달하며, 상기 입력 명령(Read)은 시뮬레이션수행장치의 입출력 장치에 입력값을 모니터링 하기 위한 명령으로 시뮬레이션수행장치의 시스템 변수의 Offset과 모니터링 할 값의 크기와 주기로 요청되며 요청된 주기가 0일 경우 한번의 응답이 이루어지며 그렇지 않을 경우 요청된 주기마다 요청된 응답을 전달하며, 상기 입력 취소 명령(Cancel)은 시뮬레이션수행장치에 요청된 입력 명령을 취소하는 명령으로 그 처리에 대한 응답을 전달하며, 상기 작업 등록 명령(Register Job)은 시뮬레이션수행장치에 사용자 정의 작업을 요청된 주기마다 처리하도록 등록 요청하기 위한 명령으로 그 처리에 대한 응답을 전달하며, 상기 작업 취소 명령(Cancel Job)은 시뮬레이션수행장치에 등록된 사용자 정의 작업을 취소하기 위한 명령으로 그 처리에 대한 응답을 전달한다.
상기 SDK구성단계(S1100)는 상기 프록시부가 시뮬레이션수행장치를 관리하기 위한 명령을 수행하는 과정을 포함하고, 상기 관리 명령에는 진단 명령(Diagnose), 장치 정보 명령(Device Info), 버전 정보 명령(Version), 설정 명령(Config), 업데이트 명령(Update), 및 재시작 명령(Reboot)을 포함하고, 상기 진단 명령(Diagnose은 시뮬레이션수행장치의 진단 정보를 요청하고 시뮬레이션수행장치의 진단정보에 대한 응답을 전달하며, 상기 장치 정보 명령(Device Info)은 시뮬레이션수행장치의 정보를 요청하고 그 처리에 대한 응답을 전달하며, 상기 버전 정보 명령(Version)은 시뮬레이션수행장치와 그 장치의 정보를 요청하고 그 처리에 대한 응답을 전달하며, 상기 설정 명령(Config)은 시뮬레이션수행장치의 환경 정보를 업데이트 요청하고 그 처리에 대한 응답을 전달하며, 상기 업데이트 명령(Update)은 시뮬레이션수행장치를 업데이트 하기 위한 이미지 파일을 업로드하고 업데이트 처리 과정에 대한 응답을 전달하며, 상기 재시작 명령(Reboot)은 시뮬레이션수행장치를 재시작 하기 위한 명령이다.
한편, 본 발명의 실시예에 따른 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템의 제어방법은 다양한 전자적으로 정보를 처리하는 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 저장 매체에 기록될 수 있다. 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (14)
- 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템에 있어서,
시뮬레이션수행장치용 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일을 생성하는 GUI 기반의 통합개발환경부, 및 원격에서 시뮬레이션수행장치의 동작 상태를 제어하고 입출력 제어와 입출력 결과를 확인 할 수 있는 범용 API를 포함하는 프록시부를 포함하여 구성되는 SDK부; 및
상기 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일과 그 실행 파일이 동작하는 시뮬레이션수행장치;를 포함하여 구성되며,
상기 통합개발환경부는
시뮬레이션수행장치에 사용될 실시간 시뮬레이션 시스템 소프트웨어 프로젝트를 생성하고, 시뮬레이션수행장치의 디바이스 설정을 수행하고, 시뮬레이션수행장치 소프트웨어의 시스템 변수에 사용될 사용자 정의 구조를 정의하고, 시뮬레이션수행장치 소프트웨어의 입출력에 사용될 변수를 정의하기 위하여 실시간 운영체제에서 제공되는 Native Type의 변수와 사용자 변수로 정의된 Type을 사용하고, 시뮬레이션수행장치의 입출력에 사용될 변수를 매핑하고, 원격제어 소프트웨어에서 처리할 수 없는 사용자 정의 함수를 작성하고 컴파일하여 Core Image(Kernel Image)와 링크되도록 하며, 시뮬레이션수행장치 소프트웨어의 작업 스케줄을 정의하고, 프로젝트 생성을 종료하는 것을 특징으로 하는 실시간 시뮬레이션 시스템.
- 제 1 항에 있어서, 상기 시뮬레이션수행장치는
상기 실행파일 동작을 통해, 시험 대상 장비와 연동하는 다른 전자 장비들의 신호를 모사하여 시험 대상 장비에게 입력 신호를 제공하고, 이에 대한 시험 대상 장비의 반응 출력 신호를 확인하는 기능을 수행하며, 다수의 시험 대상 장비를 동시에 연동하여 통합시험이 가능한 것을 특징으로 하는 실시간 시뮬레이션 시스템.
- 삭제
- 제 1 항에 있어서, 상기 통합개발환경부는
생성된 프로젝트를 빌딩하여 메모리에 저장하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하는 것을 특징으로 하는 실시간 시뮬레이션 시스템.
- 제 4 항에 있어서, 상기 프록시부는
상기 실행 가능한 기계어 이미지를 시뮬레이션수행장치에 업로드하고,
상기 통합개발환경부로부터 실행(Run) 제어 명령을 수신하여 시뮬레이션수행장치로 전송하는 것을 특징으로 하는 실시간 시뮬레이션 시스템.
- 제 4 항에 있어서, 상기 시뮬레이션수행장치는
상기 프록시부로부터 업로드된 실행 가능한 기계어 이미지를 이용하여 기존의 실행 가능한 기계어 이미지를 업데이트하고,
상기 프록시부로부터 실행 제어 명령을 수신하면, 실행 가능한 기계어 이미지를 이용하여 시뮬레이션의 모든 시나리오들이 모두 수행될 때까지 실시간 시뮬레이션을 수행하는 것을 특징으로 하는 실시간 시뮬레이션 시스템.
- 제 1 항에 있어서, 상기 통합개발환경부는
생성하는 프로젝트가 기존의 프로젝트인 경우 기존 프로젝트를 로딩하고,
로딩된 프로젝트의 디바이스 설정, 사용자 변수 정의, 시스템 변수 정의, I/O 메시지 정의 및 시스템 변수 매핑 중 어느 하나 이상에 수정이 필요한 경우에 편집을 수행하고,
수정이 필요 없는 경우에는 로딩된 프로젝트를 빌딩하여 메모리에 저장하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하는 것을 특징으로 하는 실시간 시뮬레이션 시스템.
- 시뮬레이션수행장치에 의해 수행되는 범용 API와 GUI 기반의 통합개발환경(IDE)을 제공하는 실시간 시뮬레이션 시스템의 제어방법에 있어서,
SDK부에 시뮬레이션수행장치용 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일을 생성하는 GUI 기반의 통합개발환경부, 및 원격에서 시뮬레이션수행장치의 동작 상태를 제어하고 입출력 제어와 입출력 결과를 확인 할 수 있는 범용 API를 포함하는 프록시부를 포함하여 구성하는 SDK구성단계; 및
상기 시뮬레이션수행장치가 상기 컴퓨터 프로그램 소스와 그 소스를 통해 생성된 실행 파일과 그 실행 파일을 동작하는 실시간시뮬레이션단계;를 포함하여 구성되며,
상기 SDK구성단계는
상기 통합개발환경부가 시뮬레이션수행장치에 사용될 실시간 시뮬레이션 시스템 소프트웨어 프로젝트를 생성하고, 시뮬레이션수행장치의 디바이스 설정을 수행하고, 시뮬레이션수행장치 소프트웨어의 시스템 변수에 사용될 사용자 정의 구조를 정의하고, 시뮬레이션수행장치 소프트웨어의 입출력에 사용될 변수를 정의하기 위하여 실시간 운영체제에서 제공되는 Native Type의 변수와 사용자 변수로 정의된 Type을 사용하고, 시뮬레이션수행장치의 입출력에 사용될 변수를 매핑하고, 원격제어 소프트웨어에서 처리할 수 없는 사용자 정의 함수를 작성하고 컴파일하여 Core Image(Kernel Image)와 링크되도록 하며, 시뮬레이션수행장치 소프트웨어의 작업 스케줄을 정의하고, 프로젝트 생성을 종료하는 과정을 포함하는 것을 특징으로 하는 실시간 시뮬레이션 시스템의 제어방법.
- 제 8 항에 있어서, 상기 실시간시뮬레이션단계는
상기 시뮬레이션수행장치가 상기 실행파일 동작을 통해, 시험 대상 장비와 연동하는 다른 전자 장비들의 신호를 모사하여 시험 대상 장비에게 입력 신호를 제공하고, 이에 대한 시험 대상 장비의 반응 출력 신호를 확인하는 기능을 수행하며, 다수의 시험 대상 장비를 동시에 연동하여 통합시험을 수행하는 과정을 포함하는 것을 특징으로 하는 실시간 시뮬레이션 시스템의 제어방법.
- 삭제
- 제 8 항에 있어서, 상기 SDK구성단계는
상기 통합개발환경부가 생성된 프로젝트를 빌딩하여 메모리에 저장하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하는 과정을 포함하는 것을 특징으로 하는 실시간 시뮬레이션 시스템의 제어방법.
- 제 11 항에 있어서, 상기 SDK구성단계는
상기 프록시부가 상기 실행 가능한 기계어 이미지를 시뮬레이션수행장치에 업로드하고, 상기 통합개발환경부로부터 실행(Run) 제어 명령을 수신하여 시뮬레이션수행장치로 전송하는 과정을 포함하는 것을 특징으로 하는 실시간 시뮬레이션 시스템의 제어방법.
- 제 11 항에 있어서, 상기 실시간시뮬레이션단계는
상기 시뮬레이션수행장치가 상기 프록시부로부터 업로드된 실행 가능한 기계어 이미지를 이용하여 기존의 실행 가능한 기계어 이미지를 업데이트하고, 상기 프록시부로부터 실행 제어 명령을 수신하면, 실행 가능한 기계어 이미지를 이용하여 시뮬레이션의 모든 시나리오들이 모두 수행될 때까지 실시간 시뮬레이션을 수행하는 과정을 포함하는 것을 특징으로 하는 실시간 시뮬레이션 시스템의 제어방법.
- 제 8 항에 있어서, 상기 SDK구성단계는
상기 통합개발환경부가 생성하는 프로젝트가 기존의 프로젝트인 경우 기존 프로젝트를 로딩하고, 로딩된 프로젝트의 디바이스 설정, 사용자 변수 정의, 시스템 변수 정의, I/O 메시지 정의 및 시스템 변수 매핑 중 어느 하나 이상에 수정이 필요한 경우에 편집을 수행하고, 수정이 필요 없는 경우에는 로딩된 프로젝트를 빌딩하여 메모리에 저장하고, 빌딩된 프로젝트를 시뮬레이션수행장치에서 동작될 기계어로 번역하기 위한 컴파일을 수행하고, 실행 가능한 기계어 이미지를 생성하는 과정을 포함하는 것을 특징으로 하는 실시간 시뮬레이션 시스템의 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180132580A KR102095863B1 (ko) | 2018-10-31 | 2018-10-31 | 범용api와 gui기반의 통합개발환경(ide)을 제공하는 실시간 시뮬레이션 시스템 및 그 제어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180132580A KR102095863B1 (ko) | 2018-10-31 | 2018-10-31 | 범용api와 gui기반의 통합개발환경(ide)을 제공하는 실시간 시뮬레이션 시스템 및 그 제어방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102095863B1 true KR102095863B1 (ko) | 2020-04-02 |
Family
ID=70281605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180132580A KR102095863B1 (ko) | 2018-10-31 | 2018-10-31 | 범용api와 gui기반의 통합개발환경(ide)을 제공하는 실시간 시뮬레이션 시스템 및 그 제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102095863B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210152309A (ko) * | 2020-06-08 | 2021-12-15 | 국방과학연구소 | 시뮬레이션 모델의 분산환경에서 제어 및 전시를 위한 연동 방법 |
US20220405062A1 (en) * | 2021-06-21 | 2022-12-22 | International Business Machines Corporation | Software code integration from a media file |
KR20230029384A (ko) * | 2021-08-24 | 2023-03-03 | 씽스케어주식회사 | 실시간 프로그래밍이 가능한 IoT 장치 제어 시스템 및 그 제어 방법 |
CN118363586A (zh) * | 2024-04-16 | 2024-07-19 | 上海数禾信息科技有限公司 | 强实时特征取数方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130041696A (ko) | 2011-10-17 | 2013-04-25 | 국방과학연구소 | 휴대형 항공전자 시스템 개발 장치 및 그 운용 방법 |
KR20130058348A (ko) * | 2011-11-25 | 2013-06-04 | 서강대학교산학협력단 | 자산 기반의 요구사항 시뮬레이터 및 요구사항 관리 방법 |
KR20140051015A (ko) * | 2012-10-22 | 2014-04-30 | 주식회사 비디 | 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체 |
KR20160089747A (ko) * | 2015-01-20 | 2016-07-28 | 주식회사 크레스프리 | IoT 디바이스의 임베디드 소프트웨어 개발 환경 시스템 및 이를 이용한 임베디드 소프트웨어 개발 환경 제공 방법 |
US20170168777A1 (en) * | 2015-12-14 | 2017-06-15 | Afero, Inc. | Integrated development tool for an internet of things (iot) system |
KR20180060675A (ko) | 2016-11-29 | 2018-06-07 | 국방과학연구소 | 전자장비 입출력신호 및 sw 성능 시험 장치 및 방법 |
-
2018
- 2018-10-31 KR KR1020180132580A patent/KR102095863B1/ko active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130041696A (ko) | 2011-10-17 | 2013-04-25 | 국방과학연구소 | 휴대형 항공전자 시스템 개발 장치 및 그 운용 방법 |
KR20130058348A (ko) * | 2011-11-25 | 2013-06-04 | 서강대학교산학협력단 | 자산 기반의 요구사항 시뮬레이터 및 요구사항 관리 방법 |
KR20140051015A (ko) * | 2012-10-22 | 2014-04-30 | 주식회사 비디 | 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체 |
KR20160089747A (ko) * | 2015-01-20 | 2016-07-28 | 주식회사 크레스프리 | IoT 디바이스의 임베디드 소프트웨어 개발 환경 시스템 및 이를 이용한 임베디드 소프트웨어 개발 환경 제공 방법 |
US20170168777A1 (en) * | 2015-12-14 | 2017-06-15 | Afero, Inc. | Integrated development tool for an internet of things (iot) system |
KR20180060675A (ko) | 2016-11-29 | 2018-06-07 | 국방과학연구소 | 전자장비 입출력신호 및 sw 성능 시험 장치 및 방법 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210152309A (ko) * | 2020-06-08 | 2021-12-15 | 국방과학연구소 | 시뮬레이션 모델의 분산환경에서 제어 및 전시를 위한 연동 방법 |
KR102367709B1 (ko) * | 2020-06-08 | 2022-02-25 | 국방과학연구소 | 시뮬레이션 모델의 분산환경에서 제어 및 전시를 위한 연동 방법 |
US20220405062A1 (en) * | 2021-06-21 | 2022-12-22 | International Business Machines Corporation | Software code integration from a media file |
US11714610B2 (en) * | 2021-06-21 | 2023-08-01 | International Business Machines Corporation | Software code integration from a media file |
KR20230029384A (ko) * | 2021-08-24 | 2023-03-03 | 씽스케어주식회사 | 실시간 프로그래밍이 가능한 IoT 장치 제어 시스템 및 그 제어 방법 |
KR102631082B1 (ko) * | 2021-08-24 | 2024-01-30 | 씽스케어주식회사 | 실시간 프로그래밍이 가능한 IoT 장치 제어 시스템 및 그 제어 방법 |
CN118363586A (zh) * | 2024-04-16 | 2024-07-19 | 上海数禾信息科技有限公司 | 强实时特征取数方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102095863B1 (ko) | 범용api와 gui기반의 통합개발환경(ide)을 제공하는 실시간 시뮬레이션 시스템 및 그 제어방법 | |
US9910941B2 (en) | Test case generation | |
US10841185B2 (en) | Platform-integrated IDE | |
US10114637B1 (en) | Automatically updating a shared project build platform | |
US10579966B1 (en) | Adapting a shared project build platform to a developer plugin | |
CN110083543B (zh) | 回归测试方法、装置、电子设备及存储介质 | |
CN101802792B (zh) | 用于测试航空器上的系统的操作软件的有效性的自动脚本生成方法及用于实现该方法的设备 | |
US8266578B2 (en) | Virtual validation of software systems | |
JP2022537620A (ja) | 人工知能チップ検証 | |
CN109902005B (zh) | 一种自动化测试的方法和系统 | |
US20170322870A1 (en) | Transferring Application Software from a Physical to a Virtual Computer System | |
EP3040864A1 (en) | Aircraft simulation system | |
CN106557878B (zh) | 开发项目管理方法及装置 | |
US9996450B2 (en) | Transferring application software between virtual machines | |
US20170322868A1 (en) | Testing Application Programs Using a Virtual Machine | |
CN109710247A (zh) | 一种基于模型的飞控软件快速实现平台 | |
US11385923B2 (en) | Container-based virtualization system extending kernel functionality using kernel modules compiled by a compiling container and loaded by an application container | |
KR101618872B1 (ko) | 로봇용 소프트웨어 컴포넌트 테스트를 위한 웹 기반 계층적 테스트 시스템 및 그 방법 | |
CN111611157A (zh) | Gms持续集成构建自动化测试方法及系统 | |
KR101550926B1 (ko) | 테스트 케이스 생성 장치와 테스트 드라이버 생성 장치가 독립적으로 구성된 로봇 소프트웨어 테스트 시스템 및 그 동작 방법 | |
CN110879786B (zh) | 一种星载软件的测试系统 | |
KR101308022B1 (ko) | 휴대형 항공전자 시스템 개발 장치 및 그 운용 방법 | |
US9646118B1 (en) | Linking of simulators into a circuit design tool | |
US10488835B2 (en) | Method for configuring a tester equipped for testing an electronic control unit | |
KR102528697B1 (ko) | 위성 서브시스템의 지상시험장비 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |