• 제목/요약/키워드: Compiler Development

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

PC-KIMMO-based Description of Mongolian Morphology

  • Jaimai, Purev;Zundui, Tsolmon;Chagnaa, Altangerel;Ock, Cheol-Young
    • Journal of Information Processing Systems
    • /
    • 제1권1호
    • /
    • pp.41-48
    • /
    • 2005
  • This paper presents the development of a morphological processor for the Mongolian language, based on the two-level morphological model which was introduced by Koskenniemi. The aim of the study is to provide Mongolian syntactic parsers with more effective information on word structure of Mongolian words. First hand written rules that are the core of this model are compiled into finite-state transducers by a rule tool. Output of the compiler was edited to clarity by hand whenever necessary. The rules file and lexicon presented in the paper describe the morphology of Mongolian nouns, adjectives and verbs. Although the rules illustrated are not sufficient for accounting all the processes of Mongolian lexical phonology, other necessary rules can be easily added when new words are supplemented to the lexicon file. The theoretical consideration of the paper is concluded in representation of the morphological phenomena of Mongolian by the general, language-independent framework of the two-level morphological model.

Heterogeneous Computation on Mobile Processor for Real-time Signal Processing and Visualization of Optical Coherence Tomography Images

  • Aum, Jaehong;Kim, Ji-hyun;Dong, Sunghee;Jeong, Jichai
    • Current Optics and Photonics
    • /
    • 제2권5호
    • /
    • pp.453-459
    • /
    • 2018
  • We have developed a high-performance signal-processing and image-rendering heterogeneous computation system for optical coherence tomography (OCT) on mobile processor. In this paper, we reveal it by demonstrating real-time OCT image processing using a Snapdragon 800 mobile processor, with the introduction of a heterogeneous image visualization architecture (HIVA) to accelerate the signal-processing and image-visualization procedures. HIVA has been designed to maximize the computational performances of a mobile processor by using a native language compiler, which targets mobile processor, to directly access mobile-processor computing resources and the open computing language (OpenCL) for heterogeneous computation. The developed mobile image processing platform requires only 25 ms to produce an OCT image from $512{\times}1024$ OCT data. This is 617 times faster than the naïve approach without HIVA, which requires more than 15 s. The developed platform can produce 40 OCT images per second, to facilitate real-time mobile OCT image visualization. We believe this study would facilitate the development of portable diagnostic image visualization with medical imaging modality, which requires computationally expensive procedures, using a mobile processor.

UniPy: A Unified Programming Language for MGC-based IoT Systems

  • Kim, Gayoung;Choi, Kwanghoon;Chang, Byeong-Mo
    • 한국컴퓨터정보학회논문지
    • /
    • 제24권3호
    • /
    • pp.77-86
    • /
    • 2019
  • The advent of Internet of Things (IoT) makes common nowadays computing environments involving programming not a single computer but several heterogeneous distributed computers together. Developing programs separately, one for each computer, increases programmer burden and testing all the programs become more complex. To address the challenge, this paper proposes an RPC-based unified programming language, UniPy, for development of MGC (eMbedded, Gateway, and Cloud) applications in IoT systems configured with popular computers such as Arduino, Raspberry Pi, and Web-based DB server. UniPy offers programmers a view of classes as locations and a very simple form of remote procedure call mechanism. Our UniPy compiler automatically splits a UniPy program into small pieces of the program at different locations supporting the necessary RPC mechanism. An advantage of UniPy programs is to permit programmers to write local codes the same as for a single computer requiring no extra knowledge due to having unified programming models, which is very different from the existing research works such as Fabryq and Ravel. Also, the structure of UniPy programs allows programmers to test them by directly executing them before splitting, which is a feature that has never been emphasized yet.

무선 캡슐내시경 조종을 위한 머리부착형 디스플레이 인터페이스 시스템의 개발 (Development of Head Mounted Display Interface System for Controlling Wireless Capsule Endoscope)

  • 황영은;손영돈
    • 대한의용생체공학회:의공학회지
    • /
    • 제43권6호
    • /
    • pp.417-423
    • /
    • 2022
  • The present study proposed a new interface system for capsule endoscopy by using head mounted display (HMD) device, which can control the orientation of the capsule endoscope with electromagnetic actuator (EMA) system. The orientation information of the HMD user was detected by the gyroscope sensor built into the device and then calculated to as an angle increment using Unity Engine compiler. The measured angle changes from the HMD were converted to the current values of the corresponding coils to be changed in the EMA system. Two experiments were designed to measure the accuracy and the intuitiveness of the HMD interface system. In the angle accuracy measurement, the capsule endoscope driven by HMD interface system showed the averaged errors of 0.68 degrees horizontally and 1.001 degrees vertically for given test angles. In the intuitiveness measurement, HMD interface system showed 1.33 times faster manipulation speed rather than the joystick interface system. In this respect, the HMD interface system for capsule endoscopy was expected to improve the overall diagnostic environment while maintaining comfort of patients and clinicians.

Stereolithography를 위한 STL파일로부터 단면정보 변환시스템의 개발 (Development of Cross-sectional Information Conversion System from STL file for Stereolithography)

  • 최홍태;김준안;이석희;백인환
    • 한국정밀공학회지
    • /
    • 제12권11호
    • /
    • pp.140-147
    • /
    • 1995
  • This paper deals with conversion from the STL file to the Slice to the Slice cross-sectional information for Stereolithography. The STL file is widely used for Stereolithography, but it is very difficult to convert STL file into Slice file directly. Because it consists of an ordered list of triangular net without any topological information other than the orientation of each facet. So, The system is accomplished by data flow through several intermediate stages such as Reference. SL1. .SL2L. .SL3. and .SLC file. The data processing is performed in 5 steps: 1) Create a Reference file including common information. 2) Modify STL file within the effective range of SL machine. 3) Calculate a point of intersection between plane equation and line equation. 4) Sort z values in ascending order using quick sort algorithm. 5) Search the adjacent points and formulate a closed loop usingsingly linked linear list. The system is developed by using Borland C++ 3.1 compiler in the environment of Pentium PC, and verified to be satisfactory by making some prototypes of electric household appliances.

  • PDF

정적 오염 분석을 활용한 타입스크립트 코드의 보안 취약점 탐지 (Detecting Security Vulnerabilities in TypeScript Code with Static Taint Analysis)

  • 문태근;김형식
    • 정보보호학회논문지
    • /
    • 제31권2호
    • /
    • pp.263-277
    • /
    • 2021
  • 자바스크립트로 작성된 웹 어플리케이션에서 Cross-Site Scripting (XSS), SQL Injection과 같은 검증되지 않은 사용자 입력 데이터로 인해 발생하는 취약점을 탐지하기 위해 오염 분석 기법이 널리 사용되고 있다. 이러한 취약점을 탐지하기 위해서는 사용자 입력 데이터에 영향을 받는 변수들을 추적하는 것이 중요하지만, 자바스크립트의 동적인 특성으로 인해 웹 어플리케이션을 실행해 보지 않고 그러한 변수들을 식별하는 것은 매우 어렵다. 때문에, 기존의 오염 분석 도구들은 대상 어플리케이션을 실행하는 오버헤드가 존재하는 동적 오염 분석을 사용하도록 개발되었다. 본 논문에서는 타입스크립트(자바스크립트의 상위집합) 컴파일러를 활용해 얻은 심볼 정보를 기반으로 데이터의 흐름을 정확히 추적하고, 타입스크립트 코드에서 보안 취약점을 발견하는 새로운 정적 오염 분석 기법을 제안하였다. 제안한 기법은 개발자가 검증되지 않은 사용자 입력 데이터를 포함할 수 있는 변수에 표시를 할 수 있도록 하며, 이를 활용해 사용자 입력 값에 영향을 받는 변수와 데이터를 추적한다. 제안한 기법은 TypeScript 컴파일러에 원활히 통합될 수 있기 때문에, 별도의 도구로 작동하는 기존 분석 도구와 달리 개발자가 개발 과정에서 취약점을 발견할 수 있게 한다. 제안한 기법의 유효성을 확인하기 위해 프로토타입을 구현하였으며, 취약점이 보고된 8개의 웹 어플리케이션을 선정하여 분석을 수행하여 성능을 평가한 결과 기존의 취약점을 모두 탐지할 수 있음을 확인하였다.

EPC global Network 표준을 따르는 RFID 교육용 시스템의 구현 (Implementation of a System for RFID Education to be based on an EPC global Network Standard)

  • 김대희;정중수;김휴찬;정광욱;김석규
    • 한국콘텐츠학회논문지
    • /
    • 제9권11호
    • /
    • pp.90-99
    • /
    • 2009
  • 본 논문에서는 RFID 기술 중 리더와 능동형 태그간 900MHz 대역을 사용하여 RFID EPC global network 교육용 시스템을 구현하였다. 능동형 태그와 리더의 설계를 임베디드 환경에서 제시하였으며 리더와 접속 가능한 서버의 소프트웨어 개발은 PC 윈도우 운영체제 환경에서 실현하였다. 개발 환경으로는 리더와 태그의 프로세서로 ATmega128를 사용하였고, 개발 언어는 C 언어로, 이를 제어하기 위하여 AVR 컴파일러가 사용되었다. 서버인 PC에서는 비주얼 스튜디오상의 비주얼 C++ 언어가 사용되었다. 시스템은 PC에서는 리더를 통해 EPC global 데이터가 포함되어 있는 태그를 붙여 관리하고, 인터넷을 통해 태그에 대한 정보 획득, 태그 메모리에 데이터를 읽기/쓰기 기능을 가지고 있다. 마지막으로 태그 메모리에 기록된 데이터를 리더를 통해 PC에 전송하고 읽기 명령으로 수신된 데이터와 태그로 전송하고 읽기 명령으로 수신된 데이터와 태그로 전송한 데이터를 비교한다. 이러한 기능을 가진 900MHz 대역의 EPC global Network RFID 교육용 시스템을 구현하였다.

Bytecode로부터 재목적 코드 생성 기법을 이용한 Pentium 코드 생성에 관한 연구 (A Study on the Pentium Code Generation using Retargetable Code Generation Technique from Bytecode)

  • 정성옥;고광만;이성주
    • 전자공학회논문지CI
    • /
    • 제37권4호
    • /
    • pp.1-8
    • /
    • 2000
  • 인터넷 및 WWW의 급속한 성장은 이 기종 기계 및 분산 네트워크 환경에서 수행될 수 있는 응용 소프트웨어를 위한 프로그래밍 언어에 대한 연구를 부각시키고 있다. 이러한 이기종 기계 및 분산 네트웍 환경에서 응용 소프트웨어 개발을 위해 개발된 Java 언어는 객체지향 특성을 지원하는 언어이며 Java 프로그래밍 언어 환경에서는 이식성, 번역성, 고성능, 및 단순성 등을 지원하고 있다. Bytecode는 Java 언어의 중간 코드로서 이 기종 기계 및 분산 네트웍 환경의 다중 플랫폼 환경에서 다양한 응용 소프트웨어의 개발을 가능하게 하고 있다. 하지만 Bytecode는 인터프리터 기법으로 실행되는 특성 때문에 많은 실행 시간을 소비하는 단점을 가지고 있다. 본 연구에서는 Bytecode로부터 정형화된 방법으로 다양한 목적기계에 대한 코드를 생성하기 위해 재목적 코드 생성 시스템을 설계하고 구현하고자 한다. 특히, Java 컴파일러로부터 생성된 Bytecode로부터 실질적으로 Pentium 코드를 생성하는 시스템을 구현한다. 본 연구의 원활한 수행을 위해 컴파일러 자동화 도구인 ACK의 코드 생성 시스템을 기반으로 한다.

  • PDF

유비쿼터스 응용 개발을 위한 센서 네트워크 시뮬레이터 (Sensor Network Simulator for Ubiquitous Application Development)

  • 김방현;김종현
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제13권6호
    • /
    • pp.358-370
    • /
    • 2007
  • 유비쿼터스 컴퓨팅의 인프라가 되는 무선 센서 네트워크의 설계 및 응용 개발을 위하여 소프트웨어 시뮬레이션이 널리 사용되고 있다. 본 연구에서는 센서 네트워크 응용프로그램의 동작을 확인할 수 있고, 실행시간 및 전력소모량을 예측할 수 있으며, 많은 수의 센서노드들을 시뮬레이션 할 수 있는 센서 네트워크 시뮬레이터를 개발하였다. 시뮬레이터는 명령어 수준의 병렬 이산 사건 시뮬레이션 방법을 이용하여 구현되었다. 명령어 수준의 시뮬레이션은 실제 센서보드에 적재되는 실행이미지를 시뮬레이션 작업부하로 사용하기 때문에 시뮬레이션 정밀도가 높다. 병렬 시뮬레이션은 여러 대의 컴퓨터를 사용하여 작업부하를 분산 처리하므로 대규모의 센서 네트워크를 시뮬레이션 할 수 있게 해준다. 구현된 시뮬레이터는 센서보드 내의 모듈 별 동작시간 및 실행된 명령어 수를 근거로 하여 전력소모량을 예측할 수 있다. 또한 다양한 시나리오의 유비쿼터스 응용프로그램의 수행 과정을 시뮬레이션 할 수 있으며, 디버깅도 가능하다. 이 연구에서 시뮬레이션의 작업부하인 명령어 트레이스로는 ATmega128L 마이크로컨트롤러용 크로스컴파일러에 의해 생성된 실행이미지를 사용하였다.

바이트코드 최적화기 (The Bytecode Optimizer)

  • 이야리;홍경표;오세만
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제30권1_2호
    • /
    • pp.73-80
    • /
    • 2003
  • 자바언어는 인터넷 및 분산 환경 시스템에서 효과적으로 응용 프로그램을 개발할 수 있도록 설계된 프로그래밍 언어로써 객제지향 패러다임 특성 및 다양한 개발 환경을 지원하고 있다. 그러나, 자바는 클래스 파일이 이동하여 JVM 환경에서 인터프리팅 되는 시스템이므로, 성능의 저하 없이 실행되기 위해서는 효율적인 최적화와 실행 시스템이 요구된다. 본 논문은 네트워크 상에서 동적으로 다운로드 되는 클래스 파일을 바이트코드 수준에서 최적화하였다. 최적화된 바이트코드들이 인터프리팅 되는 시스템에서 적은 네트워크 로드를 가지고 실행할 수 있도록 하며, 효율적인 실행 속도를 보이도록 하는 것이다. 본 논문에서 구현된 바이트코드 최적화기에서는 내부적으로 바이트코드 최적화기와 클래스 파일 생성기를 이용하여 실행시간을 개선하고 전체 클래스 파일의 크기를 줄이게 된다. 바이트코드 최적화기는 바이트코드를 클래스사이의 계층 분석과 제어 흐름의 분석을 통하여 클래스들간의 연관 관계를 분석한 후 그래프를 구성하고, 패턴 탐색 결과 기본 블록 분리를 통하여 전역 최적화를 이루고, 기본 블록 안에서의 연산강도 경감, 그리고 도달할 수 없는 코드 블록의 제거를 수행한다. 바이트코드 최적화 단계를 수행한 클래스 파일은 부분적으로 클래스 파일의 최적화를 가져와 전체 클래스 파일의 크기를 줄이고, 인터프리터를 통하여 실행될 때 수행 속도 면에서 좀더 빠른 실행속도를 가지게 된다.