• Title/Summary/Keyword: 코드생성기

Search Result 367, Processing Time 0.034 seconds

A Development of Model Based Automatic Code Generation (모델 기반 자동코드 생성기 개발)

  • Lee, Jeong-Woo;Choi, Kyung-Hee;Jung, Ki-Hyun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.04a
    • /
    • pp.918-921
    • /
    • 2010
  • 본 연구에서는 Simulink Model(이하 Model)을 C Code 로 변환시켜주는 자동 코드 생성기, SimAutoCodeGenerator 를 제안하였다. Model 의 테스트케이스를 생성하기 위한 작업에서 반복적인 프로그램의 실행을 통한 테스터와의 다양한 피드백이 필요하다. 이때, Simulink는 이런 작업을 하는 데 있어서 적절한 정보를 제공하기 어려울 뿐만 아니라 테스트 케이스를 생성하는데 필요한, 실행 시 특정 시점으로 돌아가는 기능을 수행하기 위해서는 프로그램을 정지한 후 다시 실행해야하는 문제점을 가지고 있다. 본 연구에서는 이와같은 단점을 보완하기 위하여 Model 을 C 코드로 변환하였다. 생성된 C 코드는 Model 과의 일치성을 증명한 후 자동 테스트케이스 생성을 위한 프로그램에 쓰이게 될 것이다. 먼저 C 코드의 생성 메커니즘을 알아보고 생성된 C 코드와 Model 의 일치성을 증명하였다.

Translating Java Bytecode to SPARC Code using Retargetable Code Generating Techniques (재목적 코드 생성 기법을 이용한 자바 Bytecode에서 SPARC 코드로의 번역)

  • Oh, Se-Man;Jung, Chan-Sung
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.6 no.3
    • /
    • pp.356-363
    • /
    • 2000
  • Java programming language is designed to run effectively on internet and distributed network environments. However, because it has a deficit to be executed by the interpreter method on each platform, to execute Java programs efficiently the code generation system which transforms Bytecode into SPARC code as target machine code must be developed. In this paper, we implement a code generation system which translates Bytecode into SPARC code using the retargetable code generating techniques. For the sake of code expander, we wrote a Bytecode table describing a rule of SPARC code generation from Bytecode, and implemented the information extractor transforming Bytecode to suitable form during expanding of source code from class file. The information extractor determines constant pool entry of each Bytecode instruction operand and then the code expander translates the Bytecode into SPARC code accoring to the Bytecode table. Also, the retargetable code generation system can be systematically reconfigured to generate code for a variety of distinct target computers.

  • PDF

Modeling of Real-Time System for TMO-Based Automatic Code Generator (TMO기반의 코드 자동 생성기 설계를 위한 실시간 시스템 모델링의 기법)

  • Seok, Mi-Heui;Shin, Young-Sul;Ryu, Ho-Dong;Lee, Woo-Jin
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06b
    • /
    • pp.136-139
    • /
    • 2010
  • 실시간 시스템에서는 계산 결과의 논리적 정확성과 결과가 산출되는 시간의 정확성을 요구한다. 이러한 요구사항을 지원하기 위해 UCI Dream Lab에서 제안한 적시 서비스 능력을 보장하는 실시간 객체인 TMO 객체를 토대로 자동 코드 생성기의 설계를 제시한다. 기존의 모델 기반 개발방법론은 시스템을 추상화하고 그 모델을 상세화 과정을 거쳐 구현에 필요한 정보를 갖게 되고, 이를 바탕으로 자동으로 코드를 생성 할 수 있게 된다. 기존의 도구들은 표준 UML을 사용하고, 표준 UML은 시간 제약 조건을 기술하는 방법을 제공하지 않기 때문에 이에 따라 개발된 실시간 시스템 코드 자동 생성기는 완전한 코드를 생성하지 못한다. 본 논문에서는 실시간 시스템 개발에 모델 기반 개발방법론을 적용하기 위해 TMO객체를 이용하여 기존 UML 모델의 구조 모델과 행위 모델에 실시간 특성을 추가해 확장하고 확장된 모델을 토대로 자동 코드 생성기의 설계를 제안한다.

  • PDF

Java Bytecode-to-.NET MSIL IL Translator (자바 바이트코드의 .NET MSIL 중간언어 번역기)

  • Jung, Ji-Hoon;Park, Jin-Ki;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.11b
    • /
    • pp.663-666
    • /
    • 2003
  • 자바는 썬 마이크로시스템즈사의 제임스 고슬링(James Gosling)에 의해 고안된 언어로 운영체제 및 하드웨어 플랫폼에 독립적인 차세대 언어로 최근에 가장 널리 사용하는 범용 프로그래밍 언어 중 하나이다. 자바 프로그램은 컴파일러에 의해 각 플랫폼에 독립적인 중간 코드 형태의 바이트코드로 변환된 클래스 파일로 생성되면 JVM(Java Virtual Machine)에 의해 실행된다. 마이크로소프트사의 .NET 플랫폼과 C# 언어는 프로그래머들의 요구를 충족시키고 썬사의 JVM 환경과 자바 언어에 대응하기 위해서 개발된 플랫폼과 언어이다. C#과 같은 .NET 언어는 컴파일러에 의해 MSIL(MicroSoft Intermediate Language) 코드로 번역되며 번역된 MSIL 코드는 .NET 플랫폼 환경에서 런타임 엔진인 CLR(Common Language Runtime)에 의해 실행이 된다. 자바로 작성된 프로그램은 JVM 플랫폼에서는 실행이 되지만 .NET 플랫폼에서 실행이 되지 않고, 반대로 C#과 같은 .NET 언어로 작성된 프로그램은 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서 실행이 되지 않는다. 이런 이유로 본 논문에서는 자바소스를 컴파일하여 생성된 클래스 파일에서 Oolong 코드를 생성하고 생성된 Oolong 코드를 .NET의 MSIL 코드로 변환하여 자바로 구현된 프로그램이 .NET 환경에서 실행되도록 하는 Bytecode-to-MSIL 번역기 시스템을 구현하였다. 따라서, 자바 프로그래머는 JVM이나 .NET 플랫폼 환경에 관계없이 프로그램을 작성하여 실행시킬 수 있다. 번역기 시스템의 구현을 정형화하기 위해 Oolong 코드의 명령어들을 문법으로 작성하였으며, PGS를 통해 생성된 어휘 정보를 가지고 스캐너를 구성하였으며, 파싱테이블을 가지고 파서를 설계하였다. 파서의 출력으로 AST가 생성되면 번역기는 AST를 탐색하면서 의미적으로 동등한 MSIL 코드를 생성하도록 시스템을 컴파일러 기법을 이용하여 모듈별로 구성하였다.

  • PDF

Implementation of the CFG generator for the analysis from The stack-based codes (스택-기반 코드로부터 분석을 위한 CFG 생성기의 구현)

  • Kim, Young-Kook;Yoo, Weon-Hee
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11b
    • /
    • pp.433-435
    • /
    • 2005
  • 자바의 문제점은 실행속도의 저하이다. 바이트코드 최적화 방법을 사용하는 CTOC(Class To Optimized Classes)에서 중간코드로 사용하는 3-주소 코드를 스택-기반 코드로 코드 확장 기법으로 변환 시 불필요한 코드가 생성된다. 이러한 불필요한 코드를 제거하기 위한 정보를 필요로 한다. 필요한 정보를 얻기 위한 분석기로 CFG생성기를 설계 및 구현한다.

  • PDF

Design of Translator for generating Java Bytecode in Distributed environment from Thread code of Multithreaded Models (다중스레드 모델의 스레드 코드를 분산환경에서 실행 가능한 자바 바이트 코드로 변환하기 위한 번역기 설계)

  • 김기태;조선문;고훈준;이갑래;유원희
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.04a
    • /
    • pp.49-51
    • /
    • 2001
  • 다중스레드 모델은 데이터플로우 모델의 내부적인 병렬성, 비동기적 자료 가용성과 폰 노이만 모델의 실행 지역성을 결합하여 병렬처리 시스템의 성능을 향상시켰다. 이 모델은 프로그램의 실행을 위하여 컴파일러에 의해 생성된 스레드를 수행하며, 스레드의 생성 방법에 따라 자원 활용 빈도나 동기화 빈도와 같은 스레드의 질이 결정되는 특징이 있다. 하지만 다중스레드 모델은 실행 모델이 특정 플랫폼에 제한되는 단점을 가지고 있다. 이에 반해 자바는 플랫폼에 독립거인 특징을 가지고 있어 다중스레드 모델의 스레드 코드를 실행 단위인 자바 언어로 변환하여 다중스레드 모델의 특징을 여러 플랫폼에서 수정 없이 사용할 수 있게 된다. 자바는 분산된 환경에 적합한 언어이기 때문에 본 논문에서 제안한 번역기에 의해 다중스레드 모델의 스레드 코드를 자바 언어로 변환한 후 자바의 원격 매소드 호출을 이용하여 다중스레드 모델의 스레드 코드를 분산된 환경에서 처리하였다. 본 논문은 다중스레드 코드가 로컬 컴퓨터에서 여러 스레드를 생성하여 처리하던 것을 자바의 원격 메소드 호출을 이용하여 분산된 환경에서 실행 가능하도록 한다. 다중스레드 모델의 스레드 코드를 분산 환경에서 실행 가능한 자바 바이트 코드로 변환하는 번역기를 설계, 구현한다.

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 the VRML Parser and Scene Graph Generator for Authoring of 3D Virtual Space (3차원 가상공간의 저작을 위한 VRML 파서와 Scene Graph 생성기의 설계 및 구현)

  • 전영훈;허도영;이종석;황대훈
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 1998.10a
    • /
    • pp.155-160
    • /
    • 1998
  • VRML 파서는 VRML(.wrl) 파일을 읽기 위하여 반드시 필요한 부분으로서, 이미 공개되어 있는 것으로는 C/C++ 코드의 QvLib1.0과 Yacc & Lex로 개발한 VRML2.0 파서가 있다. 그러나 QvLib1.0의 경우 VRML2.0 파일에 적용할 수 없으며, Yacc & Lex로 개발한 파서는 생성된 소스 코드를 수정하기 어려울 뿐만 아니라 이를 수정하기 위해서는 자동 생성기인 Yacc & Lex의 사용 방법을 잘 알고 있어야 한다. 이에 본 논문에서는 C/C++ 코드의 VRML2.0 파서를 설계 및 구현하고 파싱의 결과로 생성된 parse tree를 이용하여 VRML 파일을 scene graph로 bygus할 수 있도록 하는 Scene Graph 생성기의 구현과정을 소개하였다. 또한 본 연구의 파서와 Scene Graph 생성기를 기 개발된 VRML 저작도구에 적용 및 테스트하였다.

  • PDF

Design of Translator for generating Java Bytecode from Thread code of Multithreaded Models (다중스레드 모델의 스레드 코드를 자바 바이트 코드로 변환하기 위한 번역기 설계)

  • 김기태;이갑래;양창모;유원희
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.68-70
    • /
    • 2000
  • 다중스레드 모델은 데이터플로우 모델의 내부적인 병렬성, 비동기적 자료 가용성과 폰 노이만 모델의 실행 지역성을 결합하여 병렬처리 시스템의 성능을 향상 시켰다. 이 모델은 프로그램의 실행을 위하여 컴파일러에 의해 생성된 스레드를 수행하며, 스레드의 생성 방법에 따라 자원 활용 빈도나 동기화 빈도와 같은 스레드의 질이 결정 되는 특징이 있다. 하지만 다중스레드 모델은 실행 모델이 특정 플랫폼에 제한되는 단점을 가지고 있다. 이에 반해 자바는 플랫폼에 독립적인 특징을 가지고 있어 다중스레드 모델의 스레드 코드를 실행 단위인 자바 언어로 변환하면 다중스레드 모델의 특징을 여러 플랫폼에서 수정 없이 사용할 수 있게 된다. 자바는 원시 언어를 중간 언어 형태의 바이트 코드로 변환하여 각 아키텍처에 맞게 설계된 자바 가상 머신이 설치된 시스템에서 자바 언어를 수행한다. 이러한 자바 언어의 바이트 코드는 번역기의 중간 언어와 같은 역할을 수행하고, 자바 가상 머신은 번역기의 후위부와 같은 역할을 한다. 본 논문은 다중스레드 코드가 플랫폼에 독립적인 특성을 갖출 수 있도록 다중스레드 코드를 자바 가상 머신에서 실행 가능하도록 한다. 즉, 다중스레드 모델의 스레드 코드를 자바 바이트 코드로 변환하는 번역기를 설계, 구현하고, 자바 가상 머신의 실행을 분석한다.

  • PDF

Design and Implementation of an EPCglobal TDT 1.0 Compliant Tag Data Translator (EPCglobal TDT 1.0 표준을 따르는 태그 데이터 변환기의 설계와 구현)

  • Kim, Sung-Jin;Song, Ha-Joo
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.14 no.9
    • /
    • pp.897-900
    • /
    • 2008
  • EPCglobal TDT specifies standards on RFID tag representations and conversion rules among them. According to the rule, more than 200 combinations of code conversions are possible. In this paper, we propose a code generation scheme for developing TDT code conversion program, that imports TDT XML specification and generates conversion codes. The proposed scheme makes it easy to develop and to maintain the conversion codes.