• 제목/요약/키워드: Java Native Interface

검색결과 31건 처리시간 0.025초

자바 Ahead-of-Time 컴파일러와 해석기 간의 호출 오버헤드 평가 (Evaluation of Call Overheads Between Java Ahead-of-Time Compiler and Interpreter)

  • 김익현;정동헌;오형석;문수묵
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 한국컴퓨터종합학술대회논문집 Vol.34 No.1 (C)
    • /
    • pp.521-526
    • /
    • 2007
  • 내장형 자바의 성능 향상을 위해 바이트코드를 기계어 코드로 미리 번역하여 내장형 시스템에 설치하는 Ahead-of-Time Compile(AOTC)가 많이 사용되고 있으나 수행 중에 동적으로 다운로드 되는 바이트코드를 수행하기 위해서는 기존의 해석기도 함께 사용되어야 한다. 이 경우 일부 자바 메소드는 AOTC에 의해 처리되고 일부 메소드는 해석기에 의해 수행되는 하이브리드 수행 환경이 된다. 이러한 환경에서 해석기 메소드가 AOTC 메소드를 호출하거나 AOTC 메소드가 해석기 메소드를 호출하는 경우 호출 오버헤드가 커서 성능을 저하시킬 수 가 있다. 본 연구에서는 AOTC에서 사용 가능한 두 가지 호출 인터페이스인 Java Native Interface(JNI)와 Compiled Native Interface(CNI)에 대해 하이브리드 수행 환경에서의 호출 오버헤드와 성능을 평가하고 각각의 장단점에 대해 논의한다.

  • PDF

안드로이드 플랫폼 기반의 음향 반향 제거 기술에 대한 연구 (A Study on Acoustic Echo Cancellation Based of Android Platform)

  • 박흥복;서정희
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2012년도 제46차 하계학술발표논문집 20권2호
    • /
    • pp.345-346
    • /
    • 2012
  • 다양한 모바일 디바이스에서는 스피커와 마이크로폰의 자체에서 발생하는 반향(Echo)에 대한 문제점이 제시되어 녹음할 때 생기는 에코를 제거하기 위한 알고리즘 연구의 필요성이 증대되고 있다. 따라서 본 논문은 적응 신호 처리에 기반한 음향 반향 제어 알고리즘을 안드로이드 플랫폼 기반의 JNI를 이용한 설계 방법을 제안한다. 적응 반향 제거 애플리케이션은 일반적인 LMS 적응 필터를 적용하여 사운드에서 반향을 제거하고 FIR 필터를 사용하여 사운드의 웨이브폼에 FIR 필터를 적용한다. 안드로이드 플랫폼 기반의 JNI(Java Native Interface)를 이용한 설계는 기존에 사용되는 소스 코드를 재활용하고 프로그래밍을 쉽게하도록 도와준다.

  • PDF

Java2OPC Gateway: 다양한 플랫폼에서의 OPC 접근 (Java2OPC Gateway: OPC Access in Various Platform)

  • 유대승;심민석;박성규;박재희;김종환;이명재
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 춘계학술발표대회
    • /
    • pp.1323-1326
    • /
    • 2004
  • 본 연구에서는 OPC(OLE for Process Control)가 마이크로소프트의 COM(Component Object Model)과 DCOM(Distributed COM) 기술을 사용함으로써 윈도우즈 플랫폼에서 클라이언트 어플리케이션이 개발되어 져야 하는 제약을 해결하기 위하여 Java2OPC Gateway를 제안한다. Java2OPC Gateway는 프로세스 컨트롤 장비와 연결된 OPC 서버쪽과 통신하는 클라이언트의 기능과 다양한 플랫폼에서 프로세스 데이터에 접근하기 위한 자바 어플리케이션과 통신하는 서버의 기능을 가진다. 클라이언트 모듈은 C로 작성되고 서버 모듈은 Java로 작성되어 클라이언트 모듈과 서버 모듈은 JNI(Java Native Interface)로 연결 된다.

  • PDF

Java 안드로이드 & C 안드로이드 (Java Android & C Android)

  • 이호석
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(D)
    • /
    • pp.32-34
    • /
    • 2012
  • 현재 Android 에서는 대부분 Java 언어로 응용 프로그램을 개발한다. 그러나 C 언어로 응용 프로그램을 개발해야 하는 경우도 많다. Android 에서 C 언어로 응용 프로그램을 개발하기 위해서는 NDK(Native Development Kit) 를 설치해서 사용해야 한다. Android 시스템에서 Linux 커널은 Android Runtime Java 프로세스만을 부팅한다. 그러나 만약 Android 에서 C 프로세스를 부팅한다면 C 언어로 직접 응용 프로그램을 개발할 수 있다. 본 논문은 Android 시스템에서 Android C 프로세스를 부팅시키는 간단한 방법을 제시한다. 그리고 적합한 C/C++ GUI(Graphic User Interface) 라이브러리와 응용 라이브러리를 확보하거나 또는 개발하여 설치한다면, 현재의 Java Android 를 C Android 로 변환시키게 된다.

프로그래밍 언어의 다원성과 상호운영성의 실증적 분석 (An Empirical Study of Diversity and Interoperability of Programming Languages)

  • 고봉석;이병철
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제23권5호
    • /
    • pp.304-309
    • /
    • 2017
  • 둘 이상의 프로그래밍 언어로 상호 작용하는 프로그램을 작성하고 사용하는 경우가 증가하고 있으나 그 무결점성을 확보하기는 어렵다. 프로그램 오류의 원인과 결과가 서로 다른 언어의 코드와 데이터에 존재할 경우 오류 제거의 난이도가 높아지고 Java Native Interface(JNI) 및 Python/C와 같은 프로그램 언어 인터페이스를 잘못 사용하여 새로운 종류의 프로그램 오류가 발생하기 때문이다. 프로그램 언어 상호 작용 오류를 해결하기 위한 프로그램 분석 기법과 도구가 활발히 연구 개발되었으나 이들을 평가하기 위한 프로그램 언어, 프로그램 언어 인터페이스 및 오류들의 실재성에 대한 고찰이 부족한 상황이다. 본 논문에서는 적지 않은 사용자를 가지는 우분투 소프트웨어 생태계 내에서 프로그래밍 언어의 다원성과 상호운영성을 실증적으로 조사하여 다중 언어 프로그래밍 연구의 실재성과 연구의 타당성을 실제 데이터 기반으로 확립하고자 한다.

자바 Ahead-of-Time 컴파일러와 해석기 간의 호출 오버헤드에 관한 연구 (Research of Call Overheads Between Java Ahead-of-Time Compiler and Interpreter)

  • 김익현;정동헌;오형석;문수묵
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 가을 학술발표논문집 Vol.34 No.2 (C)
    • /
    • pp.530-535
    • /
    • 2007
  • 내장형 자바의 성능 향상을 위해 바이트코드를 기계어 코드로 미리 번역하여 내장형 시스템에 설치하는 Ahead-of-Time Compile(AOTC)가 많이 사용되고 있으나 수행 중에 동적으로 다운로드 되는 바이트코드를 수행하기 위해서는 기존의 해석기도 함께 사용되어야 한다. 이 경우 일부 자바 메소드는 AOTC에 의해 처리되고 일부 메소드는 해석기에 의해 수행되는 하이브리드 수행 환경이 된다. 이러한 환경에서 해석기 메소드가 AOTC 메소드를 호출하거나 AOTC 메소드가 해석기 메소드를 호출하는 경우 호출 오버헤드가 커서 성능을 저하시킬 수 가 있다. 본 연구에서는 AOTC에서 사용 가능한 두 가지 호출 인터페이스인 Java Native Interface(JNI)와 Compiled Native Interface(CNI)에 대해 하이브리드 수행 환경에서의 호출 오버헤드와 성능을 평가하고 각각의 장단점에 대해 논의한다. 그리고 두 호출 인터페이스의 장점을 살릴 수 있는 새로운 호출 인터페이스를 제안하고자 한다.

  • PDF

실시간 응용을 위한 안드로이드 플랫폼에서의 안면 검출 시스템 구현 (Implementation of Face Detection System on Android Platform for Real-Time Applications)

  • 한병길;임길택
    • 대한임베디드공학회논문지
    • /
    • 제8권3호
    • /
    • pp.137-143
    • /
    • 2013
  • This paper describes an implementation of face detection technology for a real-time application on the Android platform. Java class of Face-Detection for detection of human face is provided by the Android API. However, this function is not suitable to apply for the real-time applications due to inadequate detection speed and accuracy. In this paper, the AdaBoost based classification method which utilizes Local Binary Pattern (LBP) histogram is employed for face detection. The face detection module has been developed by C/C++ language for high-speed image processing, and this module is included to the Android platform using the Java Native Interface (JNI). The experiments were carried out in the Java-based environment and JNI-based environment. The experimental results have shown that the performance of JNI-based is faster than Java-based method and our system is well enough to apply for real-time applications.

센서 네트워크를 위한 자바 가상 기계 (A Java Virtual Machine for Sensor Networks)

  • 김성우;이종민;이중화;신진호
    • 제어로봇시스템학회논문지
    • /
    • 제14권1호
    • /
    • pp.13-20
    • /
    • 2008
  • Sensor network consists of a large number of sensor node distributed in the environment being sensed and controlled. The resource-constrained sensor nodes tend to have various and heterogeneous architecture. Thus, it is important to make its software environment platform-independent and reprogrammable. In this paper, we present BeeVM, a Java operating system designed for sensor networks. BeeVM offers a platform-independent Java programming environment with its efficiently executable file format and a set of class APIs for basic operating functions, sensing and wireless networking. BeeVM's high-level native interface and layered network subsystem allow complex program for sensor network to be short and readable. Our platform has been ported on two currently popular hardware platforms and we show its effectiveness through the evaluation of a simple application.

자바와 C 언어 결합을 위한 자바 전처리기 (Java Preprocessor for Integration of Java and C)

  • 이창환;오세만
    • 한국멀티미디어학회논문지
    • /
    • 제10권4호
    • /
    • pp.537-547
    • /
    • 2007
  • 컴퓨터 기술 발전에 따라 컴퓨터는 복잡하고 다양한 작업을 실행하고 있다. 또한 프로그램 복잡도 증가와 사용 언어의 한계 때문에 둘 이상의 프로그래밍 언어를 사용하여 응용 프로그램을 구현되고 있다. 그러나 현재 여러 언어를 동시에 사용하여 프로그램을 작성하거나 이를 구현하는 일반적인 방법론은 없는 상태이다. 본 논문에서는 위와 같은 문제점을 해결하기 위하여 여러 언어의 혼합 사용 형태와 구현 방식을 이종 언어 결합도(Heterogeneous Language Integration Degree)를 통해 분류하였다. 또한 이종 언어 결합도를 통해, 현재 구현된 객체지향 언어인 자바와 절차형 언어인 C 언어를 동시에 사용하는 방법인 JNI(Java Native Interface)를 이종 언어 결합도 측면에서 개선한 자바 전처리기를 설계하고 구현하였다.

  • PDF

자바 바이트코드로부터 JNI를 사용한 C 코드의 변환 (Translation of Java Bytecode into C code with the JNI)

  • 권혜은;김상훈
    • 정보학연구
    • /
    • 제4권1호
    • /
    • pp.1-7
    • /
    • 2001
  • 자바 프로그램은 플랫폼 독립적이라는 장점을 갖는 반면에 그의 실행이 가상 기계를 통하여 이루어지기 때문에 실행 시간의 비효율성을 가진다. 이러한 문제를 극복하기 위해 just-in-time(JIT) 컴파일러, 오프라인 바이트코드 컴파일러와 같은 다양한 해결 방법이 제안되어 왔다. 그러나 JIT 컴파일러는 실행시간에 바이트코드로부터 네이티브 코드로의 번역이 일어나므로 실행시간 부담을 가진다. 그리고 순수 오프라인 바이트코드 컴파일러는 동적 클래스 적재(dynamic class loading)의 어려움을 가진다. 본 논문에서는 동적으로 바이트코드를 적재학 수 있는 능력을 유지하면서, JIT 보다 더 효율적 실행이 가능한 방법을 제안한다. 또한 기존의 bytecode-to-C 번역기와는 달리, 우리의 번역기는 자바 네이티브 인터페이스(JNI)를 사용함으로서 JDK 실행 환경과의 완벽한 호환성을 유지한다. 본 연구의 결과로 바이트코드를 JNI를 사용한 C 코드로 변환하기 위한 번역기를 설계하고 구현하였다.

  • PDF