• Title/Summary/Keyword: JNI(Java native Interface)

Search Result 22, Processing Time 0.028 seconds

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

  • Yi, Chang-Hwan;Oh, Se-Man
    • Journal of Korea Multimedia Society
    • /
    • v.10 no.4
    • /
    • pp.537-547
    • /
    • 2007
  • According evolution of computer technology, computers execute complex and several tasks. Because of the complexity of program and restriction of programming language, applications are implemented using one more programming language. But it is no general methodology for using several languages and implementing it. This paper classified usages of programming language integration and methodology for implements programming languages integration through HLID(Heterogeneous Language Integration Degree) for solving above problem. And using HLID, it designed and implemented Java Preprocessor that improvement JNI-current implementation for integration between object-oriented language Java and procedural language C.

  • PDF

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

  • Ko, Bongsuk;Lee, Byeongcheol
    • KIISE Transactions on Computing Practices
    • /
    • v.23 no.5
    • /
    • pp.304-309
    • /
    • 2017
  • Programmers use multiple languages to reuse legacy code best suited to their problems. However, it is quite challenging to develop error-free multilingual programs because new types of bugs occur since misunderstanding about language interfaces such as Java Native Interface (JNI) and Python/C. There is a considerable amount of research to overcome multilingual program bugs and errors but these researches have less consideration about substantiality of programming languages, language interfaces, and bugs to evaluate their analyses and tools. In this paper, we have identified and establish substantiality of multilingual programming research with empirical study about diversity and interoperability of programming languages in Ubuntu software ecosystem based on real-world statistical data.

Development of Smart Fingerprint Recognition System with Android Platform (안드로이드 플랫폼을 탑재한 스마트 지문인식장치 개발)

  • Lee, Kap Rai
    • Journal of Institute of Control, Robotics and Systems
    • /
    • v.18 no.11
    • /
    • pp.1018-1026
    • /
    • 2012
  • This paper presents a developing method of smart fingerprint recognition system. First, we design a hardware configuration circuit using a 32bit Risc CPU, a fingerprint sensor, a LCD, and a WiFi communication chip to realize the smart fingerprint recognition systems. It is necessary to develop a JNI (Java Native Interface) library and a device drive program of fingerprint sense to develop application program of fingerprint recognition system with Android platform. Thus second, we develop a device drive and a JNI program. And we also develop an application program of fingerprint recognition systems using developed JNI library. Finally test results are presented to illustrate the performance of the developed smart fingerprint recognition system.

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

  • Kim, Ik-Hyun;Jung, Dong-Heon;Oh, Hyung-Sk;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2007.06c
    • /
    • pp.521-526
    • /
    • 2007
  • 내장형 자바의 성능 향상을 위해 바이트코드를 기계어 코드로 미리 번역하여 내장형 시스템에 설치하는 Ahead-of-Time Compile(AOTC)가 많이 사용되고 있으나 수행 중에 동적으로 다운로드 되는 바이트코드를 수행하기 위해서는 기존의 해석기도 함께 사용되어야 한다. 이 경우 일부 자바 메소드는 AOTC에 의해 처리되고 일부 메소드는 해석기에 의해 수행되는 하이브리드 수행 환경이 된다. 이러한 환경에서 해석기 메소드가 AOTC 메소드를 호출하거나 AOTC 메소드가 해석기 메소드를 호출하는 경우 호출 오버헤드가 커서 성능을 저하시킬 수 가 있다. 본 연구에서는 AOTC에서 사용 가능한 두 가지 호출 인터페이스인 Java Native Interface(JNI)와 Compiled Native Interface(CNI)에 대해 하이브리드 수행 환경에서의 호출 오버헤드와 성능을 평가하고 각각의 장단점에 대해 논의한다.

  • PDF

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

  • Yoo, Dae-Sung;Sim, Min-Suck;Park, Sung-Ghue;Park, Jae-Hee;Kim, Jong-Hwan;Yi, Myoung-Jae
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • 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

Design of Component Wrapper from legacy application using Java Native Interface (JNI를 이용한 레거시 어플리케이션의 컴포넌트 Wrapper 설계)

  • Baek, Su-Jin;Song, Young-Jae
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.253-256
    • /
    • 2004
  • 컴포넌트 기반의 소프트웨어를 개발하는 데 있어서 대부분의 방법론은 앞으로 구축할 새로운 시스템의 재사용성 확보에 치중할 뿐, 기존의 레거시 시스템 자원을 재사용하여 새로운 시스템을 구축하는 실용적인 재공학 방법을 지원하지 못하고 있다. 또한, 기존의 레거시 시스템을 컴포넌트화하는 방법들도 소프트웨어들의 규모가 방대해지고 복잡해짐으로써 시간적, 비용적 측면에서 많은 시간과 노력이 요구된다. 본 논문에서는 레거시 어플리케이션을 재공학 프로세스를 적용하여 컴포넌트화하기 원하는 메소드를 추출하고, WDL 정의 및 JNI를 연계하도록 하는 래퍼를 생성하여 자바빈즈 컴포넌트화함으로써 범위를 최대화하고, 재사용성을 극대화할 수 있는 방안을 제시한다.

  • PDF

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

  • Kim, Ik-Hyun;Jung, Dong-Heon;Oh, Hyung-Sk;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2007.10c
    • /
    • pp.530-535
    • /
    • 2007
  • 내장형 자바의 성능 향상을 위해 바이트코드를 기계어 코드로 미리 번역하여 내장형 시스템에 설치하는 Ahead-of-Time Compile(AOTC)가 많이 사용되고 있으나 수행 중에 동적으로 다운로드 되는 바이트코드를 수행하기 위해서는 기존의 해석기도 함께 사용되어야 한다. 이 경우 일부 자바 메소드는 AOTC에 의해 처리되고 일부 메소드는 해석기에 의해 수행되는 하이브리드 수행 환경이 된다. 이러한 환경에서 해석기 메소드가 AOTC 메소드를 호출하거나 AOTC 메소드가 해석기 메소드를 호출하는 경우 호출 오버헤드가 커서 성능을 저하시킬 수 가 있다. 본 연구에서는 AOTC에서 사용 가능한 두 가지 호출 인터페이스인 Java Native Interface(JNI)와 Compiled Native Interface(CNI)에 대해 하이브리드 수행 환경에서의 호출 오버헤드와 성능을 평가하고 각각의 장단점에 대해 논의한다. 그리고 두 호출 인터페이스의 장점을 살릴 수 있는 새로운 호출 인터페이스를 제안하고자 한다.

  • PDF

A Java-based Dynamic Management Systemfor Heterogeneous Agents (이질적 에이전트를 위한 자바 기반의 동적 관리 시스템)

  • Jang, Ji-Hun;Choe, Jung-Min
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.26 no.7
    • /
    • pp.778-787
    • /
    • 1999
  • 이제까지 대부분의 다중 에이전트 시스템에서는 에이전트 사회에 속한 모든 응용 에이전트를 작업 요청에 관계없이 처음부터 구동시킨다고 가정하였다. 이러한 에이전트 정적 구동 방법은 에이전트 관리를 단순하게 해주는 이점을 제공하지만 워크플로우 관리나 전자상거래와 같이 매우 많은 수의 에이전트로 구성되는 응용 분야에서는 시스템 과부하와 자원의 낭비 등 많은 문제점을 초래한다. 동적 에이전트 관리는 이에 대한 해결책으로 아주 많은 수의 에이전트를 포함하는 다중 에이전트 시스템에서 현재 수행중인 작업에 관련된 에이전트만을 선별하여 구동시키고, 작업이 끝난 에이전트는 종료시킴으로써 자원의 낭비를 막고 에이전트간의 상호작용 시에 요구되는 에이전트 통신의 복잡도 부담을 감소시키는 효과를 낸다. 본 논문에서는 자바로 에이전트 관리 시스템을 구현하고, 이 관리 시스템을 통해 각기 다른 언어로 개발된 응용 에이전트가 분산된 환경에서 상호 협력을 통해 작업을 수행할 수 있는 기법을 제안한다. 사용자나 다른 에이전트의 요청으로 에이전트를 동적으로 수행시키기 위해 다른 언어로의 확장을 가능하게 하는 Java Native Interface(JNI)를 사용한 기술 및 이러한 이질적인 에이전트간의 원활한 통신을 위해서 KQML 언어 인터페이스를 통한 통신 기능을 제안한다. 이질적 에이전트의 동적 관리를 가능하게 함으로써 다중 에이전트 시스템의 자원 이용 효율성과 확장성을 높이고 다양한 환경 변화에 대한 적응성과 개선된 협동능력을 제공한다.Abstract It has been assumed that all application agents in a multi-agent system are pre-invoked and remain active regardless of whether they are actually used. Although this kind of static agent invocation simplifies the management of agents, it causes several problems such as the system overload and a waste of resources, especially in the areas of the workflow management and the electronic commerce that consist of tens and even hundreds of application agents. A solution for these problems is the scheme of dynamic agent management that selectively invokes only agents that are actually requested and terminates them when they are no longer needed. This method prevents a waste of system resources and alleviates the complexity of agent communications.This paper proposes an agent management system implemented in Java that supports interactions between application agents that are developed using different languages. Dynamic agent invocation is accomplished by Java Native Interface(JNI) that links two heterogeneous methods, and by KQML language interface that facilitates the communications between heterogeneous agents. This scheme of dynamic agent management provides efficient resource usage, easy extensibility, dynamic adaptibility to changes in the environment, and improved cooperation.

Adaptable I/O System based I/O Reduction for Improving the Performance of HDFS

  • Park, Jung Kyu;Kim, Jaeho;Koo, Sungmin;Baek, Seungjae
    • JSTS:Journal of Semiconductor Technology and Science
    • /
    • v.16 no.6
    • /
    • pp.880-888
    • /
    • 2016
  • In this paper, we propose a new HDFS-AIO framework to enhance HDFS with Adaptive I/O System (ADIOS), which supports many different I/O methods and enables applications to select optimal I/O routines for a particular platform without source-code modification and re-compilation. First, we customize ADIOS into a chunk-based storage system so its API semantics can fit the requirement of HDFS easily; then, we utilize Java Native Interface (JNI) to bridge HDFS and the tailored ADIOS. We use different I/O patterns to compare HDFS-AIO and the original HDFS, and the experimental results show the design feasibility and benefits. We also examine the performance of HDFS-AIO using various I/O techniques. There have been many studies that use ADIOS, however our research is expected to help in expanding the function of HDFS.

Implementaion of Video Processing Framework using Hadoop-based cloud computing (Hadoop 기반 클라우드 컴퓨팅을 이용한 영상 처리 프레임워크 구현)

  • Ryu, Chungmo;Lee, Daecheol;Jang, Minwook;Kim, Cheolgi
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2013.11a
    • /
    • pp.139-142
    • /
    • 2013
  • 최근 대용량 영상데이터로부터 정보 수집, 영상 처리를 위한 클라우드 관련 연구들이 활발하다. 그러나 공개 소프트웨어를 이용한 클라우드 연구의 대부분은 라이브러리 수준이 아닌 단순히 프로그램 수준의 조합으로 작동한다. 이런 이유로 단순 조합에 따른 비효율성에 의한 성능문제는 크게 다루어지지 않는다. 본 논문에서는 이 비효율성을 해결하는데 중점을 두고 FFmpeg과 Hadoop을 라이브러리 수준으로 결합하여 기존보다 더 나은 성능의 영상클라우드 환경을 구축하였다. C기반의 영상처리 라이브러리인 FFmpeg와 JAVA기반의 클라우드 환경 Hadoop의 결합을 위해 JNI(Java Native Interface)를 이용하였다. 상세구현으로는 HDFS(Hadoop Distributed File System)을 확장하여 Hadoop MapReduce가 직접 FFmpeg을 통한 영상파일 접근이 가능하게 하였다. 이로써 FFmpeg과 Hadoop간 상이한 파일 접근 방식에서 발생하는 불필요한 작업에 의한 시스템의 성능저하를 막았다. 또한 응용의 확장성을 위해 영상작업시 작업영상을 영상처리의 최소단위인 GOP(Group of Pictures)단위로 잘라 클라우드의 노드들에게 분산시켰다. 결과적으로 기존에 존재하는 Hadoop과 FFmpeg을 프로그램적으로 결합한 영상처리 클라우드보다 총 처리시간을 앞당겼고, GOP 단위의 영상 처리는 영상기반 작업에 안정성과 응용의 확장성을 보장해주었다.