• 제목/요약/키워드: EVM(Embedded Virtual Machine)

검색결과 21건 처리시간 0.039초

Translation Java Bytecode to EVM SIL Code for Embedded Virtual Machines

  • Lee, Yang-Sun;Park, Jin-Ki
    • 한국멀티미디어학회논문지
    • /
    • 제8권12호
    • /
    • pp.1658-1668
    • /
    • 2005
  • This paper presents the bytecode-to-SIL translator which enables the execution of the java program in EVM(Embedded Virtual Machine) environment without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into SIL(Standard Intermediate Language) codes. EVM, what we are now developing, is a virtual machine solution that can download and execute dynamic application programs written in sequential languages like C language as well as object oriented languages such as C#, Java, etc. EVM is a virtual machine mounted on embedded systems such as mobile device, set-top box, or digital TV, and converts the application program into SIL, an assembly language symbolic form, and execute it. SIL is a virtual machine code for embedded systems, based on the analysis of existing virtual machine codes such as bytecode, MSIL, etc. SIL has such features as to accommodate various programming languages, and in particularly has an operation code set to accept both object-oriented languages and sequential languages. After compiling, a program written in java language is converted to bytecode, and also executed by JVM platform but not in other platform such as .NET, EVM platform. For this reason, we designed and implemented the bytecode-to-SIL translator system for programs written in java language to be executed in the EVM platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides an environment for programmers to execute application programs at various platforms.

  • PDF

임베디드 시스템을 위한 가상기계의 설계 및 구현 (Design and Implementation of a Virtual Machine for Embedded Systems)

  • 오세만;고광만;이양선
    • 한국멀티미디어학회논문지
    • /
    • 제8권9호
    • /
    • pp.1282-1291
    • /
    • 2005
  • 본 논문에서는 모바일 디바이스(휴대폰, 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, 셋톱박스 등과 같은 임베디드 시스템에 내장되어 응용프로그램을 효율적으로 실행시켜 줄 수 있다.

  • PDF

임베디드 가상 기계를 위한 실행파일포맷 (An Executable File formal for Embedded Virtual Machine)

  • 정한종;오세만
    • 한국멀티미디어학회논문지
    • /
    • 제8권5호
    • /
    • pp.721-728
    • /
    • 2005
  • 가상 기계란 하드웨어로 이루어진 물리적 시스템과는 달리 소프트웨어로 제작되어 논리적인 시스템 구성을 갖는 개념적인 컴퓨터이다 임베디드 시스템을 위한 가상 기계 기술은 모바일 디바이스나 디지털 TV 등의 다운로드 솔루션에 꼭 필요한 소프트웨어 기술이다 현재 EVM(Embedded Virtual Machine)이라 명명된 임베디드 시스템을 위한 가상 기계에 대한 연구가 진행 중이다 이러한 연구의 일환으로 본 논문에서는 임베디드 시스템을 위한 파일 포맷인 EFF(Executable File Form기)로 정의한다. 또한 기존에 널리 사용되고 있는 클래스 파일을 EFF에 매핑 시킴으로써 EFF의 완전성을 구조적으로 증명한다.

  • PDF

가상기계 실행파일을 위한 보호 기법 (Protecting Technique for the Executable File of Virtual Machines)

  • 박지우;이창환;오세만
    • 한국멀티미디어학회논문지
    • /
    • 제10권5호
    • /
    • pp.668-678
    • /
    • 2007
  • 유 무선 통신 기술의 발전은 다양한 정보에 쉽게 접근할 수 있도록 한다. 정보 접근의 용이성은 의도하지 않은 정보 유출이라는 문제점을 발생시킨다. 소프트웨어의 주요 알고리즘과 정보, 자원을 가지고 있는 실행파일은 보안에 매우 취약하다. 임베디드 시스템이나 가상기계의 실행파일은 알고리즘과 정보, 자원을 모두 가지고 있기 때문에, 정보 유출 문제는 더욱 심각하다. 본 논문에서는 정보 유출 문제를 해결하기 위해 암호화를 통한 실행파일 내용 보호 기법을 제안한다. 제안된 기법은 실험적으로 임베디드를 위한 가상기계인 EVM(Embedded Virtual Machine)에 적용하고 검증하였다. 또한, 실험을 통해 성능 오버헤드가 감내할 수 있는 수준이라는 것을 확인하였다.

  • PDF

프로파일링 데이터를 이용한 가상기계 코드 최적화 (Virtual Machine Code Optimization using Profiling Data)

  • 신양훈;이창환;오세만
    • 정보처리학회논문지A
    • /
    • 제14A권3호
    • /
    • pp.167-172
    • /
    • 2007
  • 가상기계(Virtual Machine)는 소프트웨어로 제작되어 논리적인 시스템 구성을 갖는 컴퓨터이기 때문에 그 수행 속도와 필요 저장 공간 측면에서 성능이 떨어질 수밖에 없다. 이러한 환경에서의 가상기계 코드 최적화는 실행 성능을 향상시킬 수 있기에 중요하다. 특별히 임베디드 장치(Embedded Device)에서 작동하는 가상기계 환경에서의 최적화는 기존의 최적화에 비해 수행 비용 대비 효과에서 높은 효율을 요구한다. 이에 따라 프로파일링을 통하여 성능에 크게 영향을 주는 함수 또는 기본 블록(Basic Block)을 찾아 최적화하는 것이 효과적이다. 본 논문에서는 프로파일링을 이용한 가상기계 코드 최적화기를 설계하고 구현하였다. 먼저, 가상기계 코드 최적화를 위해 코드를 실행하여 얻을 수 있는 동적 정보인 프로파일링 데이터(Profiling Data)를 정의하였고, 프로파일링 정보를 이용한 가상기계 코드 최적기를 구현하였다. 또한, 구현과 실험에 있어서 가상기계 코드는 EVM(Embedded Virtual Machine)의 중간 언어인 SIL(Standard Intermediate Language)를 사용하였고, 구현된 최적화기에 대한 실험을 통해 최적화기의 효과를 확인하였다.

가상 기계 코드를 위한 패턴 매칭 최적화기 (Pattern Matching Optimizer for Virtual Machine Codes)

  • 이창환;오세만
    • 한국멀티미디어학회논문지
    • /
    • 제9권9호
    • /
    • pp.1247-1256
    • /
    • 2006
  • 가상 기계란 하드웨어로 이루어진 물리적 시스템과는 달리 소프트웨어로 제작되어 논리적인 시스템 구성을 갖는 개념적인 컴퓨터이다. 그러나 가상 기계는 실제 프로세서로 처리하는 것보다 실행 속도가 매우 느리기 때문에 실행되는 코드의 최적화가 매우 중요하다. 본 논문은 가상 기계 코드 최적화기의 실험대상으로 EVM(Embedded Virtual Machine)의 중간 코드인 SIL(Standard Intermediate Language)을 이용하였다. 현존하는 최적화 방법론에 관한 연구를 통하여 가상 기계 코드 특성을 고려한 최적화 방법론을 제시하고, 최적화된 코드를 생성하기 위한 코드 최적화기를 설계하고 구현하였다. 가상 기계 코드 최적화기는 주어진 패턴을 찾아서 패턴에 해당하는 부분을 최적화 코드로 바꾸어, 전체 코드의 크기를 줄이고 실행 속도의 개선효과를 가진다. 또한, 구현된 최적화기의 실험 결과를 도출하였다.

  • PDF

가상기계 코드의 커버링 문제 (Covering Problem for Virtual Machine Code)

  • 남동근;오세만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 가을 학술발표논문집 Vol.30 No.2 (1)
    • /
    • pp.247-249
    • /
    • 2003
  • 임베디드 시스템을 위한 가상기계 기술은 모바일 디바이스와 디지털 TV등의 다운로드 솔루션에 꼭 필요한 소프트웨어 기술이다. 현재 EVM(Embedded Virtual Machine)이라 명명되어진 임베디드 시스템을 위한 가상기계에 대한 연구가 진행 중이며, EVM의 중간 언어로 SIL(Standard Intermediate Language)이 설계되었다. 본 논문에서는 임베디드 시스템을 위한 가상기계의 표준 중간 언어로서 SIL의 완벽성을 증명한다. 기존에 이미 널리 사용되고 있는 가상기계 코드를 SIL 카테고리에 매핑시킴으로써 구조적으로 SIL의 완벽성을 증명한다. SIL은 표준 중간 언어로서의 요구 사항을 갖추고 있으며 6개의 메인 카테고리와 16개의 서브 카테고리로 나누어진다. Oolong과 .NET IL등 기존의 가상기계 코드들의 카테고리는 SIL카테고리에 매핑된다.

  • PDF

가상기계 코드 실행을 위한 역컴파일러 (Decompiler for Executing Virtual Machine Code)

  • 안덕기;오세만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2006년도 춘계학술발표대회
    • /
    • pp.383-386
    • /
    • 2006
  • 최근 가상기계 시스템은 임베디드 유비쿼터스 컴퓨팅의 필수적인 기술로서, 그 중요성이 더욱 강조되고 있으며, 컴파일러, 어셈블러 그리고 가상기계의 구현으로 구축된다. 이러한 시스템의 구축 과정에서 각 컴포넌트의 신뢰성을 위하여 정확한 검증 방법이 요구되며, 검증의 효율성을 위해서 순차적으로 진행되어야 한다. 본 논문에서는 가상기계 시스템의 컴파일러를 검증하기 위해서, 컴파일 된 가상기계 코드를 역컴파일하여 실행하는 기법을 제안하고, 그러한 기법에 따라 EVM(Embedded Virtual Machine) SIL(Standard Intermediate Language) 역컴파일러를 구현하였다. 구현된 역컴파일러는 EVM이 개발되기 전에 효율적인 실행 시스템으로 이용됨은 물론 EVM ANSI C 컴파일러의 검증 도구로서 이용될 수 있으며, EVM 시스템을 체계적으로 개발할 수 있도록 할 것이다.

  • PDF

역컴파일링 기법을 이용한 가상기계 코드 실행 시스템 (Executing System of Virtual Machine Code using Decompiling Method)

  • 안덕기;이창환;오세만
    • 정보처리학회논문지A
    • /
    • 제14A권2호
    • /
    • pp.91-98
    • /
    • 2007
  • 일반적으로 가상기계 플랫폼은 컴파일러와 어셈블리, 가상기계로 구성되어 있다. 가상기계 코드의 설계는 가상기계 플랫폼을 만드는데 필수적이며, 설계 결과물인 가상기계 코드의 검증은 매우 중요하다. 가상기계 코드의 검증과 코드의 실행을 위해서는 가상기계 코드의 실행 시스템을 구현하는 것이 필요하고, 컴파일링 기법과 인터프린팅 기법, 역컴파일링 기법으로 실행 시스템을 만들 수 있다. 본 논문에서는 가상기계 코드 실행을 위한 3가지 방법 중에서 역컴파일링 기법을 이용한 가상기계 코드 실행 시스템을 제안 및 구현한다. 제안하는 실행 시스템을 가상기계 코드로 EVM(Embedded Virtual Machine)의 중간언어인 SIL(Standard Intermediate Language)을 사용하였고, 이를 통해 역컴파일의 유용성을 확인하였다. 또한 제안한 역컴파일링 기법은 가상기계 플랫폼을 구현할 때 발생할 수 있는 오류의 최소화에 사용할 수 있다.

구문 트리를 이용한 자바 바이트코드에서 SIL로의 번역기 (Java Bytecode-to-SIL Translator using an Abstract Syntax Tree)

  • 김영근;권혁주;이양선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 춘계학술발표대회
    • /
    • pp.519-522
    • /
    • 2004
  • 자바는 현재 가장 널리 사용되는 범용 프로그래밍 언어중 하나로 컴파일러에 의해 중간언어인 바이트코드로 변환되며 JVM(Java Virtual Machine)에 의해 실행되는 플랫폼 독립적인 언어이다. SIL(Standard Intermediate Language)은 Microsoft사의 .NET 언어와 SUN사의 Java 언어 등을 모두 수용할 수 있는 임베디드 시스템을 위한 중간언어로 가상기계인 EVM(Embedded Virtual Machine)에서 실행된다. 본 논문에서는 자바 프로그램을 컴파일하여 생성된 클래스 파일에서 Oolong 코드를 추출하고 추출된 Oolong 코드를 EVM의 SIL 코드로 변환하여 자바로 구현된 프로그램이 EVM에서 실행되도록 하는 Bytecode-to-SIL 번역기 시스템을 구현하였다. 그리고 본 번역기 시스템을 다른 플랫폼에 용이하게 설치하기 위한 재목적성(retargetability)을 위해 단일패스(one-pass)을 사용하는 기존의 번역기들과 달리 AST를 이용한 컴파일러 기법을 사용하여 AST가 가지고 있는 정보에 대해 최적화 작업을 수행하여 보다 효과적인 코드 변환을 할 수 있도록 설계하였다.

  • PDF