• 제목/요약/키워드: 코드 생성

검색결과 1,496건 처리시간 0.026초

데이터 흐름을 반영하는 임베디드 시스템의 코드 자동 생성기 설계 (A Design of Data Flow based Automatic Code Generator for Embedded System)

  • 이병용;류호동;권진욱;석미희;이우진
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 춘계학술발표대회
    • /
    • pp.56-59
    • /
    • 2010
  • 오늘날 임베디드 환경에서의 하드웨어의 발전에 더불어, 소프트웨어의 복잡도가 점점 증가하고, 유지보수에 대한 비용이 증가함에 따라 UML모델을 이용한 자동코드 생성에 대한 관심이 더욱 커지고 있다. UML을 이용한 코드 생성의 효과적으로 이루어지기 위해서는 설계된 모델의 무결성이 요구되고 이를 위해서는 모델의 논리적 검증이 선행되어야 한다. 아울러 설계자로 하여금 정의하는 모델이 명확하게 이해되고 구현될 있어야 한다. 하지만 코드 생성의 행위적 관점의 기본이 되는 상태머신 다이어그램에서 잘 드러나는 흐름과는 다르게 데이터의 사용은 다이어그램 내부에 숨겨져 있어 설계자로 하여금 모델에 대한 이해를 어렵게 하고 잠재적인 에러의 내포 가능성이 제기되어 왔다. 본 논문은 이러한 문제의 해결을 위해 코드 내포 상태머신 다이어그램의 데이터 시각화기법을 이용하고, 이러한 시각화 기법을 이용하여 데이터 사용관점에서의 모델의 이해를 도움과 동시에 이를 통하여 더욱 정확한 모델링을 수행하고 더불어 이를 통해 최종적으로는 더욱 효율적인 형태의 코드를 생성하는 코드 자동 생성기의 설계를 제안 한다.

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

  • 김영국;유원희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (2)
    • /
    • pp.433-435
    • /
    • 2005
  • 자바의 문제점은 실행속도의 저하이다. 바이트코드 최적화 방법을 사용하는 CTOC(Class To Optimized Classes)에서 중간코드로 사용하는 3-주소 코드를 스택-기반 코드로 코드 확장 기법으로 변환 시 불필요한 코드가 생성된다. 이러한 불필요한 코드를 제거하기 위한 정보를 필요로 한다. 필요한 정보를 얻기 위한 분석기로 CFG생성기를 설계 및 구현한다.

  • PDF

XForms 기반의 UI 코드 자동생성 시스템 개발 (XFormsGen:XForms-Based Automatic UI Code Generator)

  • 이은정;김태훈
    • 정보처리학회논문지D
    • /
    • 제12D권6호
    • /
    • pp.849-856
    • /
    • 2005
  • XML이 데이터를 주고받기 위한 수단으로 활발히 도입되면서 XML 데이터 관리를 위한 사용자 입력 폼 인터페이스의 자동생성 기술이 웹기반 응용의 구축이나 웹 서비스 클라이언트 개발에서 주목받고 있다. 본 연구에서는 DTD의 XML 구조 정의에 기반하여 XForms 언어를 이용한 사용자 인터페이스 코드를 자동 생성하는 방법을 살펴본다. 본 연구에서는 계층적이고 반복적인 XML 데이터의 특징을 고려하여 반복부에 대한 삽입 삭제를 허용하는 반복부 편집 행위 모델을 제안하고 이를 바탕으로 XForms 코드 생성 알고리즘을 기술하였다. 또한 생성된 코드는 새로운 웹 폼 표준 언어인 XForms를 목적 언어로 하여 MVC(Mudel, View, Control) 구조를 가진다. 제안된 방법을 검증하기 위하여 Orbeon 프리젠테이션 서버 플랫폼 상에서 동작하는 코드생성기 XFormsGen 시스템을 개발하였다.

문법-지시적 변환 기법을 이용한 ARM 코드 생성 시스템 (ARM Code Generation System using Syntax-Directed Translation Technique)

  • 고광만
    • 한국콘텐츠학회논문지
    • /
    • 제8권6호
    • /
    • pp.82-88
    • /
    • 2008
  • ARM 프로세서는 다양한 임베디드 시스템에서 활용되고 있다. 또한 대부분의 ARM 프로세서는 C 프로그램을 입력으로 받아 GNU gcc 크로스 컴파일 방식을 사용하여 ARM 어셈블리 코드를 생성한다. 또한 생성된 목적코드의 질을 개선하고 효율적인 목적코드 생성하기 위한 다양한 연구가 진행되고 있다. 본 논문에서는 표준 C 프로그램으로부터 ARM 프로세서에 대한 목적코드를 문법-지시적 변환 기법을 이용하여 생성하며 성능평가 결과를 GNU gcc 크로스 컴파일 방식과 비교하여 제시한다. 본 연구에서 제시한 기법은 생성규칙을 확장하는 방법이 GNU gcc 크로스 컴파일러에 비해 간편하고 편리하다.

컴포넌트 모델구축을 위한 클래스 코드 자동생성 방법 (Class Code Generation method for Component model Construction)

  • 임근;이기영
    • 한국컴퓨터정보학회논문지
    • /
    • 제13권5호
    • /
    • pp.69-76
    • /
    • 2008
  • 본 논문에서는 컴포넌트의 단위인 클래스의 일관된 생성과정 및 정형화된 형식을 기반으로 클래스 코드생성을 위한 프로토타입을 구현하였다. 특히 컴포넌트의 기반이 되는 클래스간 연결관계와 집합관계 등을 객체지향언어로는 표현하기 어려운 문제들을 해결하기 위하여 관련성 규칙을 제안하였으며, 이를 통해서 일관성 있는 코드생성의 정형화가 가능하도록 하였다. 또한 코드 생성기를 이용해서 생성된 소스코드는 컴포넌트 모델 구축에 적용되며, 이후에 어플리케이션 개발 시 재사용 대상인 비즈니스 컴포넌트의 조립과 분배의 기반이 되도록 한다.

  • PDF

스택기반코드에서 효율적인 3-주소 코드로의 변환기 설계 (Design of Translator for Efficient 3-Address Code from Stack Based Code)

  • 김지민;김기태;조선문;유원희
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 추계학술발표논문집(상)
    • /
    • pp.433-436
    • /
    • 2004
  • 자바 언어는 객체지향 언어로써 인터프리터에 의하여 실행되고 구조 중립적이다. 자바 언어는 인터프린트 과정을 거치므로 다른 언어에 비해서 실행이 느리다는 단점을 가지고 있다. 자바 바이트코드의 실행 비용을 줄이기 위한 연구의 일환으로 본 논문에서는 자바 바이트코드 최적화기인 CTOC 중에서 스택기반 코드를 받아 들여 스택을 사용하지 않는 3-주소 코드로 변화시키는 CTOC-TR의 설계에 대하여 논한다. CTOC-TR은 총 3단계를 변환 과정을 수행하는데 첫 단계에서는 타입 없는 3-주소코드를 생성한다. 두 번째 단계에서는 스택변수와 지역변수를 나누는 과정을 수행하는데 이 과정은 타입을 정해주기 위해서 꼭 필요한 과정이다. 마지막으로 타입 추론 함수를 이용하여 나누어진 변수에 타입을 지정한다. 그 후 생성된 3-주소 코드를 분석기와 최적화기에 입력시켜 효율적인 3-주소 코드를 생성한다.

  • PDF

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

  • 고광만
    • 한국멀티미디어학회논문지
    • /
    • 제5권3호
    • /
    • pp.342-350
    • /
    • 2002
  • 자바 프로그래밍 언어는 웹 브라우저에서 실행되는 작은 크기의 응용 프로그램 수행에서는 실행 속도 문제가 중요한 요소가 아니지만 대형 프로그램의 수행에서는 실행 속도가 현저히 저하되는 단점을 지니고 있다. 이러한 문제점을 해결하기 위해 전통적인 컴파일 방법을 사용하여 바이트코드를 특정 프로세서에서 수행될 수 있는 목적기계 코드로 변환하는 다양한 연구가 진행중이다. 본 연구에서도 자바 응용 프로그램의 실행 속도의 개선을 위해 바이트코드로부터 직접 i386코드를 생성하는 네이티브 코드 생성 시스템을 위한 중간 코드 변환기를 설계하고 구현한다. 중간 코드 변환기는 자바 언어 의 중간 코드인 *.class 파일을 입력으로 받아 레지스터 기반의 중간 코드로 변환한다.

  • PDF

MD4 해쉬알고리즘의 형식적 표현과 참조구현 코드 생성 (Formal description and reference implementation generation of MD4 message digest algorithm)

  • 김기수;김영화;염창선;류재철
    • 한국정보보호학회:학술대회논문집
    • /
    • 한국정보보호학회 1995년도 종합학술발표회논문집
    • /
    • pp.126-137
    • /
    • 1995
  • VDM-SL(Vienna Development Method - Specification Language)은 다양한 표준들의 정확한 기술을 위해 제시되고 있는 형식규격어의 하나로서 특히 보안표준의 표현에 적합한 형식규격어이다. 이러한 VDM-SL을 사용하여 보안표준의 표현 및 실행코드 생성의 정확성과 편리성을 제공하기 위한 다양한 도구들이 개발되고 있으며 이들 중 IFAD VDM-SL Toolbox는 가장 많은 기능을 구진 도구이다. 본 논문에서는 IFAD WDM-SL Toolbox를 이용해 해쉬알고리즘의 하나인 MD4 Message Digest Algorithm을 형식적 표현기법으로 나타내고 이를 바탕으로 참조구현 코드를 C++로 생성하는 방법을 설명한다. 또한 형식적 표현기법과 IFAD VDM-SL Toolbox를 이용해 생성된 참조구현코드의 실행 결과를 MD4의 테스트 벡터 (test vector)를 이용하여 RSA사에서 구현한 MD4 알고리즘과 비교 분석하여 형식적 표현기법을 이용하여 생성된 코드의 활용성에 대해 설명하고자 한다.

  • PDF

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

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

JBURG를 이용한 JIT컴파일러 생성에 관한 연구 (A study on the generation of JIT compiler using JBURG)

  • 강경우
    • 정보처리학회논문지A
    • /
    • 제12A권1호
    • /
    • pp.59-64
    • /
    • 2005
  • 본 연구에서는 JBURG를 이용하여 JIT 컴파일러를 생성하는 방법을 제안하였다. JBURG는 Java를 위한 상향식 트리패턴 일치 코드생성기를 생성하는 도구이다. 본 연구에서 제안한 방법은 트리패턴 사이에 관계를 조사함으로 고안되었다. 제안된 방법은 패턴들 사이의 관계를 이용해 분석하고 불필요한 점검을 피할 수 있다는 점에서 기존의 연구결과인 JBURG보다 효율적이다. 필요한 분석들은 코드생성기를 만드는 시간에 수행되기 때문에 실제 코드를 생성해야 하는 컴파일 시간에 효율을 늘일 수 있다.