• 제목/요약/키워드: Virtual Machine Codes

검색결과 20건 처리시간 0.028초

모바일 환경을 위한 Java-to-C 컴파일러 구조 (The Structure of Java-to-C Compiler for Mobile Computing Environment)

  • 한영선;박인호;황석중;김선욱
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (3)
    • /
    • pp.82-84
    • /
    • 2004
  • Java's performance is sometimes not acceptable due to interpretation overhead by the Java Virtual Machine (JVM). In this paper, we present a compiler structure of Java-to-C translator for high performance on resource limited environment like mobile devices. Our compiler framework translates Java into C codes to preserve Java's programming semantics such as inheritance, method overloading, virtual method invocation, and so on. Also our compiler fully supports Connected Limited Device Configuration (CLDC) 1.0 API's. We show that our compiler improves the speedup by up to eleven times more than JVM-only execution in measured benchmarks.

  • PDF

코드삽입을 이용한 자바프로그램의 힙 사용정보 분석기법 (A Technique to Analyze Heap Usage of Java Programs Using Code Inserting)

  • 주성용;조장우
    • 한국컴퓨터정보학회논문지
    • /
    • 제12권2호
    • /
    • pp.29-36
    • /
    • 2007
  • 자바에서는 가상기계와 프로파일러의 통신을 목적으로 JVM TI 같은 프로파일러 인터페이스를 제공한다. 그러나 자바 가상기계 구현명세는 프로파일러 인터페이스 구현을 요구하지 않는다. 따라서 프로파일러 인터페이스를 제공하지 않는 자바 가상기계에서는 JVM TI를 사용하는 프로파일러는 이용할 수 없다. 이러한 문제를 해결하기 위해서 코드 삽입 기법을 이용해서 프로파일러 인터페이스를 사용하지 않고 힙 사용정보를 분석하는 기법을 제안한다. 제안한 방법을 검증하기 위해서 코드 삽입기를 구현하였다. 실험은 공개되고 자주 사용되는 자바 응용 프로그램을 대상으로 하였고, 실험결과는 대상 프로그램에서 생성된 객체의 수와 최대 할당된 객체의 수 그리고 객체의 사용형태를 보여준다.

  • PDF

자유곡선 기어의 창성 알고리즘에 관한 연구 (A Study of Algorithm on the Freefrom Curve Gear)

  • 최종근
    • 한국생산제조학회지
    • /
    • 제8권5호
    • /
    • pp.96-101
    • /
    • 1999
  • This study suggests an algorithm for tooth profile generation of free from curve involute gear, a special gear of which the pitch line is a free curve instead of a circular one. For the first, a methodology for calculation of the tooth curve is developed and formulated Then the formulated algorithm, is programmed for manufacturing and verified by computer graphics. Next the calculated results as changed in to NC codes to apply to wire electric discharge machine(WEDM). Finally, the machined gear is examined in engagement with a standard involute gear.

  • PDF

자바 애플릿을 이용한 블록 다이어그램식 GUI 개발 (Development of a Block-diagram type GUI in JAVA Applet)

  • 황성환;한형석;이재경;김동성
    • 한국정밀공학회:학술대회논문집
    • /
    • 한국정밀공학회 2003년도 춘계학술대회 논문집
    • /
    • pp.1751-1754
    • /
    • 2003
  • Due to advances in information technology, even Engineering Simulations can now be performed in web-based JAVA through an integrated operating system called Virtual Machine and the use of byte code, which guarantees the compatibility of identical codes in every computing system and makes it suitable for web-based simulation system development. This paper introduces an implementation embodied in JAVA Applet that allows a block-diagram type GUI that runs in a web browser for use in the dynamics simulation modeling of powertrains of vehicles and multi-body systems. This system is not restrained by any of the H/W and S/W in the user's computer, so that it has the advantage of providing a GUI that allows web-based block-diagram type modeling.

  • PDF

자바 프로그램을 위한 복합 디버깅 시스템의 설계 (Design of Hybrid Debugging System for Java Programs)

  • 고훈준
    • 한국콘텐츠학회논문지
    • /
    • 제9권1호
    • /
    • pp.81-88
    • /
    • 2009
  • 기존 연구에서는 자바 프로그램에서 논리적인 오류를 찾기 위한 기술로 HDTS를 제안했었다. HDTS는 알고리즈믹 프로그램 디버깅 기술을 이용하여 실행트리에서 오류를 포함하고 있는 메소드를 찾고, 단계적 프로그램 디버깅 기술을 이용하여 오류를 포함하고 있는 메소드에서 오류가 있는 문장을 찾아낸다. 그리고 분할 기술을 이용하여 오류를 포함하고 있는 메소드 내의 문장 중에서 디버깅에 관련이 없는 문장과 실행트리에서 불필요한 노드를 제거하여 노드의 수를 줄임으로서 사용자가 디버깅하는 횟수를 최소화할 수 있는 프로그램 디버깅 기술이다. 본 논문은 자바 프로그램을 디버깅할 수 있는 HDTS 시스템을 구현하기 위한 설계를 한다. 먼저, 자바의 부분언어를 정의하고 자바 원시 코드를 번역할 수 있는 번역기와 실행할 수 있는 가상머신을 설계한다. 그리고 사용자가 디버깅하기 위한 사용자 그래픽 인터페이스를 설계한다.

Insert Tip용 End Mill 공구의 형상정의와 5-축 가공에 관한 연구 (A Study on Geometric Definition and 5-Axis Machining of End Mill with Insert Tip)

  • 조현덕;박영원
    • 한국공작기계학회논문집
    • /
    • 제11권6호
    • /
    • pp.1-9
    • /
    • 2002
  • This study describes the geometric characteristics and the 5-axis machining method in order to make end mill cutter coming with insert tips. End mill geometry is consisted of flute part and insert tip part. Flute part modeled by using ruled surfaces with constant helix angle, and insert tip part modeled by rectangular planes containing tapped hole of specified direction in its center. In this study, the modeled insert tip part considered both of a radial rake angle and a axial rake angle, because they were important cutting conditions. In order to machining the virtual end mill defined from geometric characteristics, we programmed a special software to machining the end mill considered in this study. This software can generate NC-codes about following processes, end milling or ball end milling of flute part end milling of rectangular plane, centering of hole, drilling of hole, and tapping of hole. Ant sampled end mills were modeled and machined on 5-axis CNC machining center with two index tables. Since machined end mills were very agreeable to designed end mills, we saw that the method proposed in this study can be very useful for manufacturing of end mill body with insert tip.

Intermediate Language Translator for Execution of Java Programs in .NET Platform

  • Lee, Yang-Sun;Na, Seung-Won;Hwang, Dae-Hoon
    • 한국멀티미디어학회논문지
    • /
    • 제7권6호
    • /
    • pp.824-831
    • /
    • 2004
  • This paper presents the java bytecode-to-.NET MSIL intermediate language translator which enables the execution of the java program in .NET environments without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into MSIL codes. Java, one of the most widely used programming languages recently, is the language invented by James Gosling at Sun Microsystems, which is the next generation language independent of operating systems and hardware platforms. Java source code is compiled into bytecode as intermediate code independent of each platform by compiler, and also executed by JVM. .NET language such as C# and .NET platform in Microsoft Corp. has been developed to meet the needs of programmers, and cope with Java and JVM platform of Sun Microsystems. After compiling, a program written in .NET language is converted to MSIL code, and also executed by .NET platform but not in JVM platform. For this reason, we designed and implemented the java bytecode-to-.NET MSIL translator system for programs written in java language to be executed in the. NET platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides a environment for programmers to develop application programs without limitations of programming languages.

  • PDF

스미싱 공격 방지를 위한 클라우드 메시징 서비스 (Cloud Messaging Service for Preventing Smishing Attack)

  • 박효민;김완석;강소정;신상욱
    • 디지털융복합연구
    • /
    • 제15권4호
    • /
    • pp.285-293
    • /
    • 2017
  • 스마트 디바이스에 대한 악의적인 공격들이 빠르게 진화하고 있고, 이들 공격에 대해 스마트 디바이스를 적절하게 보호하는 것은 매우 중요한 이슈로 부각되고 있다. 특히, 스미싱 공격은 스마트 폰에서 가장 중요한 위협들 중의 하나로 주목되고 있다. 이 논문에서는 스미싱 공격의 위험으로부터 사용자를 근본적으로 보호할 수 있는 클라우드 서비스를 제안한다. 제안된 클라우드 메시징 서비스는 사용자 스마트 디바이스에서 URL을 포함한 텍스트 메시지들을 필터링하여 클라우드 서버에 의해 제공되는 가상 머신을 통해 필터링된 메시지들을 확인하고 관리할 수 있는 클라우드 서비스를 제공한다. 기존의 스미싱 방지 기법들이 이미 알려진 패턴의 악성코드에 대해서만 보호하거나, 오탐(FP) 또는 미탐(FN) 등의 오류 가능성을 내포하고 있지만, 제안 기법은 URL을 포함하고 있는 모든 문자 메시지들을 자동적으로 필터링하여 클라우드 서버 상의 저장공간에 저장하고 확인 및 관리하기 때문에 스마트 디바이스에서 스미싱 공격에 의한 멀웨어(악성코드)의 설치를 완벽하게 차단할 수 있다.

경량 동적 코드 변환을 이용한 커널 수준 소프트웨어 계측에 관한 연구 (Kernel-level Software instrumentation via Light-weight Dynamic Binary Translation)

  • 이동우;김지홍;엄영익
    • 인터넷정보학회논문지
    • /
    • 제12권5호
    • /
    • pp.63-72
    • /
    • 2011
  • 코드변환 기법은 특정 명령어 집합 구조에서 작성된 프로그램 코드를 다른 구조에서 실행할 수 있도록 변환하는 일종의 에뮬레이션 기법이다. 이 기법은 주로 구형 시스템에서 동작하는 응용프로그램을 새로운 시스템에서 동작시키기 위해 사용되었다. 코드를 변환하는 과정에서 동적으로 코드를 삽입하는 것이 가능하기 때문에 소스코드의 수정 없이 기존 응용프로그램을 계측할 수 있다. 이미 응용프로그램 분야에서는 동적코드분석과 가상머신에서 이러한 기법이 널리 활용되고 있다. 반면에 운영체제의 커널은 일반적인 유저 수준의 응용프로그램과는 다른 특성을 지니기 때문에 커널 수준에서 이러한 코드변환 기법을 사용하려면 시스템 성능, 메모리 관리, 특권 명령어 처리 및 동기화와 관련된 문제가 다루어져야 한다. 본 논문에서는 커널 수준의 동적코드변환 기법을 설계하고 코드삽입을 통한 소프트웨어 계측을 제안한다. 제안기법을 리눅스 커널에 적용하여 실험을 수행하고 그 결과를 통해 본 제안기법이 커널수준에서 소프트웨어 계측에 적은 성능 부하만을 야기함을 확인하였다.

대소관계 그래프를 이용한 Just-in-Time 컴파일 환경에서의 배열 경계 검사 제거 (Array Bounds Check Elimination using Ineguality Graph in Java Just-in-Time Compiler)

  • 최선일;문수묵
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권12호
    • /
    • pp.1283-1291
    • /
    • 2005
  • Just-in-Time 컴파일러를 이용하여 자바의 성능을 향상시키려면 여러 문제들을 극복하여야 한다. 이 문제 중 중요한 부분을 차지하는 것이 배열경계 검사(Array bounds check) 명령어를 어떻게 최적화하느냐는 것이다 정적인 컴파일 환경의 경우에는 이미 많은 연구가 진행되어 매우 강력한 성능을 가지는 알고리즘이 알려져 있으나 컴파일 시간이 수행시간의 일부인 Just-in-Time 컴파일 환경에 이를 적용하기에는 컴파일에 시간을 너무 많이들이는 결과를 낳아 적절하지 않다. 현재 Just-in-Time 컴파일러들은 가볍고 단순한 반면에 중복된 배열 경계 검사를 찾아내는 능력이 다소 부족한 알고리즘을 사용하거나 아니면 강력하지만 정적 단일 배정(Static Single Assignment) 형태로 명령어 표현 방식을 변환해 주어야만 하는 알고리즘을 사용하고 있다. 정적 단일 배정 형태로의 변환 및 되돌림은 가볍고 빠른 컴파일러를 지향하는 Just-in-Time 컴파일러에 부합되지 않는다. 본 논문은 변수 간의 대소관계를 표현하는 그래프를 배열 경계 검사 알고리즘에 적용하는 것을 통해 충분한 성능을 내면서도 정적 단일 배정 형태로의 변환을 필요로 하지 않는 알고리즘을 제안한다. Java에서의 모든 최적화는 Java 언어 명세에서 강제하고 있는 정확한 예외 처리(precise exception) 규칙을 따라야 한다. 명령어의 위치를 바꿈으로써 성능 향상을 꾀하는 최적화의 경우 이것으로 인해 많은 제약을 받게 되는데, 배열 경계 검사 최적화(Array bounds check elimination optimization) 또한 이 규칙에 의해 많은 최적화 기회를 잃는다. 우리는 이 제약을 극복하여 배열 경계 검사최적화의 적용 범위를 넓힐 수 있는 새로운 방법도 아울러 제안하고자 한다.