• Title/Summary/Keyword: 프로그램 실행

Search Result 1,966, Processing Time 0.026 seconds

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

Design of an Algorithmic Debugging Technique for Java Language (자바 언어를 위한 알고리즈믹 디버깅 기술의 설계)

  • Kouh, Hoon-Joon;Yoo, Weon-Hee
    • The KIPS Transactions:PartA
    • /
    • v.11A no.1
    • /
    • pp.97-108
    • /
    • 2004
  • This paper proposes to use an algorithmic debugging technique for locating logical errors in Java programs. The algorithmic debugging is a semi-automated debugging technique that builds an execution tree from a source program and locates logical errors, if any, included in the program from the execution tree with top-down method. So, it is very important to build a suitable execution tree from the various programming languages. In this paper we propose the method for building an execution tree iron Java programs and walk through an example. This approach could reduce the number of interactions between a user and a debugging system than the traditional step-wise debugging technique.

A Scalability Study for scheduling optimization method based on application characterization (응용 프로그램 특성 분석 기반 스케줄링 최적화 기법의 확장성 연구)

  • Choi, Jieun;Park, Geunchul;Rho, Seungwoo;Park, Chan-Yeol
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2020.05a
    • /
    • pp.28-31
    • /
    • 2020
  • 한정된 고성능 자원을 여러 사용자들에게 제공해야하는 슈퍼컴퓨터와 같은 시스템은 제한된 기간 내에 보다 많은 양의 작업이 실행되도록 시스템 활용률을 높이는 방안이 필요하다. 이를 위해 시스템 관리자가 수행할 응용 프로그램에 대한 사전 정보를 파악하는 것이 유용하다. 대부분의 고성능 컴퓨팅 시스템 운영에 있어 작업을 실행할 때 사용자로부터 실행 기간 자원 요구사항들에 대한 정보를 제공 받거나 시스템 사용 통계 값을 사용하여 필요한 정보를 생성하는 등의 프로파일링 기술을 바탕으로 시스템 활용률을 높이는데 활용하고 있다. 본 논문의 선행연구에서 하드웨어 성능 카운터를 이용하여 응용 특성 분석을 실행하고 이 결과를 바탕으로 작업 스케줄링을 최적화하는 기술을 개발한 바 있다. 본 논문에서는 슈퍼컴퓨터 최적 실행 지원을 위한 프로파일링 테스트베드를 구축하고 단일노드를 기반으로 분석한 응용 프로그램 특성 결과를 활용한 스케줄링 최적화 기법이 확장성 있게 동작함을 보이고자 하였다. 또한 중규모 클러스터에 개발한 스케줄링 최적화 기법을 적용한 결과 전체 응용 프로그램이 실행 시간을 단축함으로써 최대 33%의 성능 향상 효과를 얻었다.

Program Slicing using Abstract Interpretation (요약 해석을 이용한 프로그램 슬라이싱)

  • Jeong, In-Sang;Chang, Byeong-Mo
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.8
    • /
    • pp.551-559
    • /
    • 2001
  • 정적 슬라이싱과 동적 슬라이싱의 차이는 동적 슬라이싱은 프로그램에 주어진 입력을 가정하는 반면에 정정 슬라이싱은 입력에 대한 가정을 하지 않는다는 점이다. 동적 슬라이싱은 실행-시간 정보를 이용할 수 있으므로 정적 슬라이싱보다 적은 슬라이스를 만들 수 있으나 특정 입력 상태에만 적용될 수 있다는 제한을 갖는다. 이 논문은 초기 상태들의 집합에 대해서 프로그래을 슬라이싱하는 요약 프로그램 슬라이싱이라는 새로운 기법을 제시한다. 이 방법은 프로그램으로부터 슬라이스를 구하는데 요약 해석을 이용한다. 요약 해석을 프로그램 실행 없이 프로그램의 실행-시간 동작에 대한 안전한 정보를 제공한다. 따라서 결과적으로 얻은 요약 슬라이스는 주어진 입력 상태들의 집합에 대해서 정적으로 계산되었다는 점에서 동적 슬라이스와는 다르다. 또한 요약 프로그램 슬라이싱은 배열과 같은 자료구조를 정적 슬라이싱보다 정확하게 다룰 수 있으며 슬라이스 크기도 줄일 수 있다.

  • PDF

Visualization of the function execution of C program using Java Applets (Java Applet을 이용한 C 프로그램 함수 실행의 시각화)

  • 오세광;유광호;하상호
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.10a
    • /
    • pp.577-579
    • /
    • 2003
  • 인터넷의 발달로, 사이버 환경을 위한 C 프로그래밍 교육 컨텐츠가 많이 개발되고 있으나 적절한 실습 환경까지 제공되지 않고 있다. 그러나 프로그래밍 언어의 교육은 실습이 수반되지 않으면 그 효과가 상당히 떨어진다. 본 논문에서는 인터넷상에서 효과적으로 사용할 수 있는 C 프로그래밍의 실습환경을 구축한다. 특히, 학생들이 이해하기 어려운 함수 프로그램의 실행과정을 Java Applet을 사용하여 시각화 보여준다. 함수 프로그램 실행 시각화기가 설계되고, Java 환경에서 구현된다.

  • PDF

Dynamic Exception Analysis for Java Program by Program Transformation (프로그램 변환을 이용한 자바 프로그램의 동적 예외 분석)

  • 오희정;창병모
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04b
    • /
    • pp.847-849
    • /
    • 2004
  • 프로그램 내에서 심각하지 않은 에러를 예외라고 한다. 자바에서는 프로그래머가 이러한 예외를 명시적으로 처리할 수 있으며 신뢰성 있는 프로그램 개발을 위해서는 발생 가능한 예외에 대한 적절한 처리가 중요하다. 이러한 예외의 처리 여부에 대한 연구는 주로 정적 분석을 중심으로 이루어져 왔으나 프로그램 실행 중에 예외 발생, 전파 경로에 대한 정확한 정보는 제공해주지 못한다. 본 연구에서는 프로그램 변란을 이용해 실행 중에 발생. 처리, 전파되는 예외 정보를 실시간으로 제공할 수 있는 시스템을 설계 개발한다.

  • PDF

Design and Implementation of the Loader for the EVM (EVM을 위한 로더의 설계 및 구현)

  • 김성진;고광만
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.04b
    • /
    • pp.877-879
    • /
    • 2004
  • 가상기계는 소스 프로그램에 대한 실행 파일 형태를 다양한 종류의 플랫폼에 대한 독립성을 지원하는 프로그램 실행 환경으로서 로더/링커, 인터프리터 및 가상 기계를 특정 시스템에 탑재하기 위한 어댑터로 크게 구성되어 있다. 본 연구팀의 최종 목표는 기존의 가상기계를 기반으로 임베디드 시스템에 적합한 가상기계(EVM)를 개발하고자 한다. 이를 위해 다양한 연구 시도가 진행되고 있으며 본 논문에서는 EVM 개발시에 설계된 실행 파일 형식(*.evm)에 대한 로더를 설계하고 구현하였다. 또한 인터프리터의 실행 효율을 위하여 로더의 출력이 실제 메모리에 저장되는 구조를 개선하였다.

  • PDF

Extending RSCA for Efficient Component Execution Model (효율적인 컴포넌트 실행모델을 위한 RSCA의 확장)

  • Hong Du-Won;Lee Jae-Soo;Kim Sae-Hwa;Hong Seong-Soo
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.06a
    • /
    • pp.313-315
    • /
    • 2006
  • Robot Software Communication Architecture는 URC 로봇을 위해서 제안된 표준 시스템 소프트웨어 구조이다. RSCA용 응용 프로그램은 다수의 컴포넌트의 결합으로 구성되는데 RSCA의 기반이 된 SCA에서는 컴포넌트를 프로세스고 실행할 것인지 쓰레드로 실행할 것인지에 대해서 명확하게 정의하고 있지 않다. 만약 각각의 컴포넌트의 특성을 고려하여 어떻게 실행할 깃인지에 대한 부가적인 정보를 기술하고 이 정보에 따라서 컴포넌트를 실행하게 된다면, 보다 효율적으로 응용 프로그램을 실행할 수 있게 된다. 본 논문에서는 RSCA를 확장하여 컴포넌트의 실행에 대한 정보를 기술하는 방법 및 기술된 정보에 따라서 컴포넌트를 실행하기 위한 방법을 제시한다.

  • PDF

A Java Debugger for Replaying Parallel Programs on a Distributed Environment (분산환경에서 병렬프로그램 재실행을 위한 자바 디버거)

  • 최동순;김남훈;김명호
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.657-659
    • /
    • 2000
  • 네트워크 처리속도의 증가로 네트워크 컴퓨팅 환경에서의 작업이 늘고 있다. 플랫폼 독립성이라는 특성을 내세운 자바는 일반적인 이 기종간의 네트워크에서의 프로그래밍 언어로 많이 이용되고 있다. 그리고 이러한 네트워크 컴퓨팅 환경에서 병렬 프로그램 디버깅의 어려움으로 인해 자바 병렬 프로그램을 위한 디버거의 필요성이 요구되고 있다. 기존의 디버거들은 이런 병렬 환경에서의 디버깅을 각 프로세서에 하나의 순차디버거를 붙인 디버깅 환경을 제공한다. 그러나 병렬 프로그램은 순차프로그램과 다른 재실행시의 비결정적인 특성을 가지고 있음으로 일반적인 순차 디버거를 이용한 디버깅은 의미가 없다. 본 논문에서는 자바로 구현된 네트워크 컴퓨터(JaNeC)에서 병렬프로그램을 디버기하기 위하여 재실행 시 실행 순서를 보장하는 자바 디버거를 소개한다.

  • PDF

Automatic Programming-Error Detection by Plan Matching and Program Execution (플랜정합과 프로그램 실행을 통한 프로그래밍 오류분석에 관한 연구)

  • Song, Jong-Soo;Lim, Soon-Bum
    • Journal of Korea Multimedia Society
    • /
    • v.7 no.7
    • /
    • pp.985-997
    • /
    • 2004
  • In this paper, an automatic programming error-diagnosing system is provided for novice C programmers by plan matching and program execution. Program execution results are used to provide flexibility in describing the relationship between programming plans, to verify the correctness of the plan matching differences, and to detect the influence of a plan's error to the related plan. We can give easy and informative explanations to the students according to a plan's error and the resulting effects to related plans. The students are consulted to check their program's correctness with the given test data. Our error-diagnosing system is tested with student's programs for the 14 various and difficult problems and gives acceptable recognition results.

  • PDF