• Title/Summary/Keyword: 프로그램 변환

Search Result 1,088, Processing Time 0.029 seconds

A DNA Sequence Search Algorithm Using Integer Type Transformation (정수형 변환을 이용한 DNA 서열 검색 알고리즘)

  • Yoon, Kyong-Oh;Cho, Sung-Bae
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06b
    • /
    • pp.357-359
    • /
    • 2012
  • 초 고성능 바이오 서열 분석 장비 기술의 발달로 대량의 바이오 정보가 쏟아져 나오고 있으며, 바이오산업의 발달로 개인별 유전체 정보에 의한 맞춤의학의 시대가 도래되고 있다. 수많은 서열에 대한 분석에는 많은 저장장치 및 주기억장치가 필요하므로 슈퍼컴퓨터 급의 서버와 대량의 데이터를 빠르게 처리할 수 있는 프로그램이 필요하다. 이러한 분석에는 염기서열 일치 검색과 이를 기반으로 하는 Alignment와 Assembly 분석이 있으며, 이를 수행하는 기존의 알고리즘 및 대부분의 프로그램들은 염기서열을 문자열로 취급하고, 해쉬 인덱스 테이블, Brujin 그래프의 사용, 버러우즈 휠러 변환(BWT) 등의 기법을 활용하여 효율적인 분석을 도모하였다. 본 논문에서는 염기서열을 문자열이 아닌 k-mer 묶음의 정수형 하나로 변환하여 검색함으로써 저장 공간의 크기를 약 28% 이상으로 줄이고 형 변환 상태에서의 검색을 수행할 수 있는 알고리즘을 제안한다. Assembly 분석 프로그램인 CalcGen 프로그램을 개발하여 본 알고리즘의 효용성 및 효율성을 실험을 통해 검증하였다. 이 연구의 결과는 향후 대량의 유전체 염기서열의 효율적 분석과 저장 및 처리에 또 하나의 새로운 접근 방법을 제안하는데에 그 의미를 둘 수 있다.

Proof Transformation for Source-level Optimization (최적화 컴파일러에 맞춘 프로그램 오류 검증의 변환)

  • 양홍석;이광근
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04b
    • /
    • pp.850-852
    • /
    • 2004
  • 고급 언어 (high-level language)로 프로그램을 쓰고 그것이 맞다고 증명 했을때, 프로그램과 증명을 동시에 "컴파일"해주는 방법을 찾으려고 한다. 이러한 방법은 "증명 보내기"(Proof Carrying Code)라는 제안을 실용화할 때 요긴하게 사용할 수 있는 기술이다. 지면관계상 "반복문에서 명령어 끄집어내기"(Loop Invariant Code Motion)라는 최적화 과정에 맞게 Hoare 증명을 변환하는 방법에 대해서만 알아보겠다.

  • PDF

Design and Implementation of Intermediate Code Translator for Native Code Generation from Bytecode (바이트코드로부터 네이티브 코드 생성을 위한 중간 코드 변환기의 설계 및 구현)

  • 고광만
    • Journal of Korea Multimedia Society
    • /
    • v.5 no.3
    • /
    • pp.342-350
    • /
    • 2002
  • The execution speed is not an important factor for Java programming language when implementing small size application program which is executed on the web browser, but it becomes a serious limitation when the huge-size programs are implemented. To overcome this problem, the various research is conducted for translating the Bytecode into the target code which can be implemented in the specific processor by using classical compiling methods. In this research, we have designed and realized an intermediate code translator for the native code generation system with which we can directly generate i386 code from Bytecode to improve the execution speed of Java application programs. The intermediate code translator generates the register-based intermediate code from *.class files which are the intermediate code of Java.

  • PDF

Design and Implementation of a Dynamic Instrumentation Framework based on Light-weight Dynamic Binary Translation (경량 동적 코드 변환 기법을 이용한 동적 인스트루멘테이션 기법 설계 및 구현)

  • Kim, Jeehong;Lee, Dongwoo;Kim, Inhyeok;Eom, Young Ik
    • Journal of KIISE
    • /
    • v.41 no.11
    • /
    • pp.892-899
    • /
    • 2014
  • Dynamic binary instrumentation is a code insertion technique for debugging a program without scattering its execution flow, while the program is running. Most dynamic instrumentations are implemented using dynamic binary translation techniques. Existing studies translated program codes dynamically by parsing the machine code stream to intermediate representation (IR) and then applying compilation techniques for IRs. However, they have high overhead during translation, which is a major cause of difficulty in applying the dynamic binary translation technique to the program which requires high responsiveness. In this paper, we introduce a light-weight dynamic binary instrumentation framework based on a novel dynamic binary translation technique which has low overhead while translating the program code. In order to reduce the translation overhead, our approach adopts a tabular-based address translation and exploits a translation bypassing scheme, which stores the translated address of a frequently called library function in advance. It then accesses the translated address and executes function codes without code translation when calling the function. Our experiment results demonstrated that the proposed approach outperforms the prior dynamic binary translation techniques from 2% up to 65%.

C2JNI: An Embedded C to JNI Translator (C2JNI: 내장 C 언어에서 JNI 코드를 생성하는 변환기)

  • 유재우;최종명;김영철
    • Journal of KIISE:Software and Applications
    • /
    • v.31 no.11
    • /
    • pp.1551-1559
    • /
    • 2004
  • Java, a platform independent object-oriented programming language, is widely used, however it should be integrated with JNI to use system services or to reuse legacy systems. Though JNI provides the standard APIs which allow Java to be combined with C/$C^{++}$, it is very hard and cumbersome for developers to use JNI APIs. In order to address this problem, we introduce a translator named C2JNI, which converts the embedded C program into a JNI compatible C program. With C2JNI, developers can Integrate Java and C programs without JNI APIs, and it will reduce the complexity caused by JNI APIs.

Compiling Haskell to Java via an Intermediate Code L (중간언어 L-코드를 이용한 Haskell-Java 언어 번역기 구현)

  • Choi, Kwang-Hoon;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.12
    • /
    • pp.955-965
    • /
    • 2001
  • We propose a systematic method of compiling Haskell based on the spineless Tagless G-machine (STGM) for the Java, Virtual Machine (JVM) We introduce an intermediate language called L-code to identify each micro-operation of the machine by its instruction, Each macro operation of the machine is identified by a binding Each instruction of the L-code can be easily translated into Java statements. After our determination on representation and L-code program from a STG program is translated into Java program according to out compilation rules. Our experiment shows that the execution times of translated benchmarks are competitive compared with those in Haskell interpreter Hugs, particularly when Glasgow Haskell compiler's STG -level optimizations are applied.

  • PDF

Development of Structure Analysis Program for Jointed Concrete Pavement Applying Load Discretization Algorithm (하중변환 알고리듬을 적용한 줄눈 콘크리트 포장해석 프로그램 개발)

  • Yun, Tae-Young;Kim, Ji-Won;Cho, Yoon-Ho
    • International Journal of Highway Engineering
    • /
    • v.5 no.4 s.18
    • /
    • pp.1-11
    • /
    • 2003
  • Recently, the new pavement design method considering Korean environment and the specification for improving performance of pavement are being developed in Korea. The Jointed Concrete Pavement Program Applying Load Discretization Algorithm (called HEART-JCP) is one of the results of Korea Pavement Research Project in Korea. HEART-JCP program is developed to analyze various loading condition using the load discretization algorithm without mesh refinement. In addition, it can be modified easily into multi-purpose concrete pavement nidyses program because of the modularized structure characteristic of HEART-JCP. The program consists of basic program part and load discretization part. In basic program part, the displacement and stress are computed in the concrete slab, sub-layer, and dowel bar, which are modeled with plate/shell element, spring element and beam element. In load discretization program part, load discretization algorithm that was used for the continuum solid element is modified to analyze the model with plate and shell element. The program can analyze the distributed load, concentrated load, thermal load and body load using load discretization algorithm. From the result of verification and sensitivity study, it was known that the loading position, the magnitude of load, and the thickness of slab were the major factors of concrete pavement behavior as expected. Since the result of the model developed is similar to the results of Westergaard solution and ILLISLAB, the program can be used to estimate the behavior of jointed concrete pavement reasonably.

  • PDF

The Method of Transformation from Procedural Program into Object Based Program (절차적 프로그램으로부터 객체기반 프로그램으로의 변환 방법)

  • 이정화;김현수
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10a
    • /
    • pp.487-489
    • /
    • 1999
  • 기존의 절차 중심적으로 개발되어진 시스템들은 일반적으로 오래 전에 개발되었으며 규모가 크고 구조화되어 있지 않아서 이해하기 어렵고 분석에 드는 비용이 크다. 그러나 그런 시스템들은 이미 운영환경에 관한 많은 비용과 중요한 정보들을 포함하고 있어서 시스템을 폐기하기 곤란하며 새로 개발하는 데에도 많은 비용과 시간이 요구된다. 이러한 절차 중심적 소프트웨어들이 제공하는 서비스를 계속 유지해가면서 그 시스템을 현대화하기 위한 방안으로 객체 지향 구조로의 소프트웨어 재공학이 요구되고 있다. 본 논문에서는 기존의 절차 중시적 소프트웨어 시스템을 객체 지향 소프트웨어 시스템으로 변환하는 방법에 관하여 논의한다. 이를 위해 프로그램에 내재되어 있는 타입 가시성 정보와 자료 가시성 정보를 그래프로 표현하고 이 그래프를 이용하여 객체를 추출하는 방법을 제시한다. 또한, 추출된 객체들을 클래스로 표현하고 클래스들 간의 관계를 파악하며, 클래스들을 기반으로 기존의 코드를 객체 지향 중심의 코드로 변환하기 위한 방법들을 연구한다.

  • PDF

Development of a User-friendly Continuous-system Simulation Language (사용자 편의성을 고려한 연속체계 모의실험 언어의 개발)

  • 민경하;임창관;박찬모
    • Proceedings of the Korea Society for Simulation Conference
    • /
    • 1993.10a
    • /
    • pp.12-13
    • /
    • 1993
  • 컴퓨터를 이용한 모의 실험 방법은 과학 및 공학 분야뿐만 아니라 경제,사회 현상등에도 널리 적용될 수 있는 유용한 도구이다. 그 중에서도 연속체계 모의 실험은 미분 방정식으로 모델링되는 시스템을 대상으로 하는 경우가 맡으며, 이를 위하여 그동안 맡은 연속체계 모의 실험 언어들이 개발되었다. 그러나 그들은 대부분 사용하기가 복잡하여 사용자 편의성을 고려한 모의 실험 언어에 대한 필요성이 증대되었다. 본 연구에서는 사용자에개 최대한 편의성을 제공하는 연속체계 모의 실험 언어인 PCSL (Postech Continuous-system Simulation language)을 개발하였다. PCSL 프로그램은 프로그램 헤더, 상수 정의부, 함수 정의부, 매개 변수 정의부, 초기화 선언부, 모델 정의부, 종료 조건 선언부, 출력 선언부 등으로 나누어 진다. 그리고 출력으로는 계산 결과를 파일에 저장, 흑은 수치로 인쇄하거나 그래프로 그려서 보여준다. PCSL 처리 시스템은 모델 정의부에서 주어진 미분방정식을 해석해서 digital-analog simulation 기법으로 풀 수 있는 형태로 변환하는 번역기와 이렇게 변환된 형태의 미분방정식과 여러 가지 조건들을 고려해서 C 프로그램을 생성해주는 생성기, 생성된 C 프로그램을 실행시켜서 그 결과를 얻는 실행기,그리고 사용자에게 편리한 입출력 방법을 제공하는 사용자 인터페이스로 구성된다. 번역기에서는 모델로 주어진 미분방정식의 종류를 결정한 후에 이들을 digital-analog simulation 기법으로 풀 수 있는 형태로 변환한다. 생성기에서는 번역기의 결과를 받고,프로그램 상의 여러 가지 조건들을 고려해서 C 프로그램을 생성한다. 여기서 생성된 C프로그램은 미분방정식을 포함하는 ‘f.c'와 조건들을 포함하는'main.h', 그리고 digital-analog simulation 기법을 이용하는 모의 실험 알고리즘을 구현한 'main.c'로 구성된다. 그리고 실행기에서는 생성기에서 생성한 C 프로그램을 실행시켜서 결과를 얻는다. 여기에서 필요로 하는 PCSL 프로그램의 내응은 종료 조건 선언부, 출력 선언부 등이다. 마지막으로 사용자 인터페이스는 사용자가 간편하게 PCSL 프로그램을 입력할 수 있게 도와주며 모의 실험 결과를 쉽게 화면상에 보여주기 위한 것이다. 이 때에 사용자가 원하면 계산 결과를 그래프로 그려서 보여주는 기능과 화면에 보이는 결과를 프린터로 출력할 수 있는 기능을 제공한다. 실형 결과로는 먼저 선형 상미분방정식의 예로 mass-damper-spring system, 비선형 상미분방정식의 예로는 van der Pol 방정식, 연립 상미분방정식의 예로는 mixing tank problem 등을 보였으며, 그의 공학에서 일어나는 여러 가지 문제들도 다루었다.

  • PDF

A Transformation of XML Documents with Semantic Constraints using XML Schema (XML 스키마의 의미 구조 분석을 이용한 XML문서의 변환)

  • Kawk Dong-Guy;Park Ho-Byung;Yoo Chae-Woo
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11a
    • /
    • pp.592-594
    • /
    • 2005
  • XML은 현재 어플리케이션에서 데이터를 저장하는 W3C 표준으로 많은 응용 분야에서 사용되고 있다. 어떤 응용 프로그램에서 사용하던 기존의 XML문서를 다른 응용 프로그램에서 재사용하기 위해서는 변환 XML 문서가 가지고 있는 정보와 구조의 손실 없이 피 변환 XML의 구조에 합당하게 변환해야 한다. XML 문서 정보의 의미는 엘리먼트를 통해 표현되는데 자동으로 분석하여 변환에 적용하기 어렵다. 그러나 XML 문서는 DTD나 XML 스키마와 같은 구조적 정보를 가지고 있고 XML의 구조 정보는 엘리먼트에 속성을 표현한다. 이에 착안하여 DTD의 의미정보를 분석하여 XML 문서의 변환에 적용하는 방법이 제안되었다. 하지만 DTD는 지원하는 데이터 형식이 한정되어 있고 엘리먼트의 반복 속성도 제안되어 있다. 본 논문은 XML의 엘리먼트 정보를 분석하기 위해서 XML 스키마를 사용한다. XML 스키마는 기존에 DTD보다 다수의 데이터 타일과 엘리먼트의 반복적 속성을 다양하게 제공하고 있다. 그러므로 기존 방법보다 더 많은 정보를 변환에 적용할 수 있는 장점을 가지고 있다. 제안하는 시스템은 한번 작성한 XML 문서를 다른 XML 어플리케이션에서 재사용함으로써 XML 문서 제작성에 따른 비용을 절감할 것으로 기대된다.

  • PDF