탑재운영절차서 실행환경을 위한 Lua 인터프리터 기반의 가상머신 설계

Design of a Virtual Machine based on the Lua interpreter for the On-Board Control Procedure Execution Environment

  • 강수연 (한국항공우주연구원 위성비행소프트웨어팀) ;
  • 구철회 (한국항공우주연구원 달탐사기술팀) ;
  • 주광혁 (한국항공우주연구원 달탐사연구실) ;
  • 박시형 (충남대학교 컴퓨터공학과 임베디드 시스템연구실) ;
  • 김형신 (충남대학교 컴퓨터공학과 임베디드 시스템연구실)
  • 투고 : 2014.12.11
  • 심사 : 2014.12.22
  • 발행 : 2014.12.31

초록

본 논문에서는 탑재운영절차서 실행환경을 위한 Lua 인터프리터 기반의 가상머신 설계와 기능 및 성능분석 결과를 나타낸다. 한국항공우주연구원에서 계획 중인 달 탐사 임무를 온보드상에서 자율적으로 운영하기 위해 탑재운영절차서 실행환경의 개발이 요구되어졌다. 탑재운영절차서는 위성에 탑재되어 지상 간섭없이 자율적으로 임무 수행을 가능케 함으로써 전파 지연과 제한된 데이터 통신용량을 갖는 심우주 임무들에서 이미 적용되고 있다. 가상머신의 실행엔진인 인터프리터는 고급언어로 작성된 원시코드를 한줄씩 번역하고 실행하므로 컴파일러에 의해 생성된 코드가 실행되는 것에 비해서 실행 속도가 현저하게 느리다. 이를 극복하기위해 레지스터 기반의 Lua 인터프리터를 적용하여 탑재운영절차서 실행환경 설계 및 구현하였으며 실험을 통해 여러 요소들에 따른 성능분석을 수행하였다. 성능분석 결과는 탑재운영절차서 스케줄링 방안 뿐 아니라 Lua 인터프리터를 적용하는 시스템에 적용될 수 있을 것으로 기대된다.

In this paper, we present the design, functions and performance analysis of the virtual machine (VM) based on the Lua interpreter for On-Board Control Procedure Execution Environment (OEE). The development of the OEE has been required in order to operate the lunar explorer mission autonomously which is planned by Korea Aerospace Research Institute (KARI) autonomously. The concept of On-Board Control Procedure (OBCP) is already being applied to the deep space missions with a long propagation delay and a limited data transmission capacity since it ensure he autonomy of the mission without the ground intervention. The interpreter is the execution engine in the VM and it interpreters high-level programming codes line by line and executes the VM instructions. So the execution speed is very more slower than that of natively compiled codes. In order to overcome it, we design and implement OEE using register-based Lua interpreter for execution engine in OEE. We present experimental results on a range of additional hardware configurations such as usages of cache and floating point unit. We expect those to utilized to the OBCP scheduling policy and the system with Lua interpreter.

키워드

참고문헌

  1. C. Steiger, R. Furnell, and J. Morales, "OBSM Operations Automation through the use of On-board Control Procedures," SpaceOps, May 2004.
  2. ECSS-E-ST-70-01C, "Spacecraft on-board procedures", ESA-ESTEC, April 2010.
  3. G.M. Lautenschläger, A. Hefler, R. Eilenberger, and J. Schandl, "The OBCP Concept used by ROSETTA", Proceedings of DASIA 2004, ESA SP-570, August 2004.
  4. C. Steiger, R. Furnell, and J. Morales, "On-Board Control Procedures for ESA's Deep Space Missions Rosetta and Venus Express", Proceedings of DASIA 2005, August 2005.
  5. F. Trifin, C. Steiger, A. Rudolph, and W.Heinen, "Simplying On-Board Control Procedure Development: A Generic Tool Based on ESOC Experience", AIAA 2008-3543, June 2008.
  6. M. Ferraguto, T. Wittrock, M. Barrenscheen, M. Paakko, V. Sipinen, "The On-Board Control Procedures Subsystem for the Herschel and Planck Satellites", Annual IEEE International Computer Software and Application Conference, COMPSAC.2008.218, pp.136-1371, 2008.
  7. S.Y Kang, K.H Yang and S.B Choi, "IP function development in COMS Flight Software", International Symposium on Remote Sensing, Jeju Korea, pp.171-174, November 2007.
  8. S.Y Kang, B.G Park and K.H Yang, "The On-Board Software Function for Meteo-Imager Images Planning Management in COMS", International Symposium on Remote Sensing, Jeju Korea, October 2010.
  9. R. Ierusalimschy, L.H. de Figueiredo, W. Celes, "The Implementation of Lua 5.0," Journal of Universal Computer Science 11 No.7, pp. 1159-1176, 2005
  10. D. Bagley. "The great computer language shootout. http://www.bagley.org/-doug/shootout/
  11. Yunhe Shi, Kevin Casey, M.Anton Ertl, David Gregg "Virtual Machine showdown: Stack versus registers" ACM transactions on Architecture and Code Optimization (TACO), Vol. 4, No. 4, Article 21, January 2008
  12. http://www.mrtc.mdh.se/projects/wcet/benchmarks.html