Journal of Korea Multimedia Society (한국멀티미디어학회논문지)
- Volume 8 Issue 9
- /
- Pages.1282-1291
- /
- 2005
- /
- 1229-7771(pISSN)
- /
- 2384-0102(eISSN)
Design and Implementation of a Virtual Machine for Embedded Systems
임베디드 시스템을 위한 가상기계의 설계 및 구현
- Published : 2005.09.01
Abstract
This paper presents the EVM(Embedded Virtual Machine) which enables the execution of dynamic applications loaded in the embedded systems such as Mobile Devices(mobile phone, PDA), Set-Top Box, and Digital TV using downloading techniques. To accomplish this goal, we defined a SIL-(Standard Intermediate Language) code, and implemented a Bytecode-to-SIL translator which enables the execution of programs written in java language in the EVM platform without JVM, and a MSIL--to-SIL- translator which enables for programs written in .NET language to be executed in the EVM platform without .NET platform. Also, we developed a EFF(Executable File Format) builder as an assembler which translates SIL codes into an executable file, *.evm, and implemented the EVM which reads the *.evm file and executes it. The virtual machine for embedded systems developed in this paper is the software technologies that enable the execution of applications or contents without changes to when the platforms change. In fact, the virtual machine suggested here is not only usable as a standard model for existing virtual machines but also aid in more efficient execution of applications loaded in the embedded systems such as Mobile Devices, Digital TV, and Set-Top Box.
본 논문에서는 모바일 디바이스(휴대폰, PDA), 셋톱박스, 디지털 TV 등의 임베디드 시스템에 탑재되어 수많은 동적 애플리케이션을 다운로드하여 실행할 수 있는 임베디드 가상기계(Embedded Virtual Machine)를 설계하고 구현하였다. 이를 위해 표준 중간 언어인 SIL(Standard Intermediate Language)을 정의하고, 자바와 .NET 언어로 구현된 프로그램이 EVM에서 실행될 수 있도록 SIL-코드로 번역해 주는 MSIL-to-SIL 번역기와 Bytecode-to-SIL 번역기를 구현하였다. 또한, SIL 코드를 EVM의 실행파일인 *.evm으로 변환해주는 어셈블러인 EFF 빌더를 개발하였으며, EFF 빌더가 생성한 *.evm 파일을 입력으로 받아 실행하는 가상기계(EVM)를 구현하였다. 본 연구에서 구현한 가상기계는 플랫폼이 변경되더라도 컨텐츠의 수정없이 실행할 수 있는 소프트웨어 기술이다. 실제로, 제안된 가상기계는 기존에 존재하는 가상기계들의 표준화 모델로 사용될 수 있을 뿐만 아니라 모바일 디바이스, 디지털 TV, 셋톱박스 등과 같은 임베디드 시스템에 내장되어 응용프로그램을 효율적으로 실행시켜 줄 수 있다.