• 제목/요약/키워드: 자바 프로그래밍 언어

검색결과 109건 처리시간 0.022초

Eval-Apply 모델의 STGM에 기반하여 지연 계산 함수형 프로그램을 자바로 컴파일하는 기법 (Compiling Lazy Functional Programs to Java on the basis of Spineless Taxless G-Machine with Eval-Apply Model)

  • 남병규;최광훈;한태숙
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제29권5호
    • /
    • pp.326-335
    • /
    • 2002
  • 최근에 지연 계산 함수형 언어를 자바 프로그램으로 변환함으로써 지연 계산 함수형 언어 프로그램에 대해 코드 이동성을 제공하려는 연구가 있었다. 이러한 연구들은 자바와 지연 계산형 함수형 언어의 추상 기계가 가지는 구조적 유사성에 바탕을 두고 있다. 지연 계산 함수형 언어에 대한 추상 기계인 STGM(Spineless Tagless G-machine)과 자바 언어에 대한 추상 기계인 JVM(Java Virtual Machine)은 기억장소 재활용 체계와 스택 기계 구조를 가진다는 점에서 공통된 특징을 가지고 있다. 그러나 현재가지의 지연 계산 함수형 언어로부터 자바로의 변환 구조는 이와 같은 추상 기계 구조상의 공통점을 충분히 이용하지 못하였다. 본 논문에서는 STGM의 계산 모델을 eval-apply 모델로 새로이 정의함으로써 STGM과 JVM의 공통점을 충분히 이용하는 새로운 변환 구도를 제안한다. 새로이 제안된 변환 구도에서는 자바 스택(Java Virtual Machine Stack)을 사용하여 함수 계산을 수행하도록 함으로써 스택 시뮬레이션으로 인해 나타나는 자바에서의 배열 접근 부담을 제거하였다. 본 논문의 변환 구도에 의해 자바로 변환된 벤치마크 프로그램들은 기존의 변환 구도에 의해 변환된 경우보다 JDK 1.3에서 빠르게 동작한다.

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

  • 고훈준;유원희
    • 정보처리학회논문지A
    • /
    • 제11A권1호
    • /
    • pp.97-108
    • /
    • 2004
  • 본 논문은 자바 프로그램에서 논리적인 오류를 발견하기 위해 알고리즈믹 디버깅 기술의 이용을 제안한다. 알고리즈믹 디버깅 기술은 원시프로그램으로부터 실행 트리를 생성하고, 실행 트리로부터 프로그램 내에 포함된 논리적인 오류를 하향식 방법으로 발견하는 반자동화 디버깅기술이다. 따라서 알고리즈믹 디버깅 기술은 다양한 프로그래밍 언어에 알맞은 실행 트리를 생성하는 것이 중요하다. 주 논문에서는 자바 프로그램으로부터 실행 트리를 생성하는 방법을 제안하고 예제론 통해서 자바 프로그램을 위한 알고리즈믹 디버깅 기술을 확인한다. 이 접근은 전통적인 순차적 디버깅 기술보다 사용자와 디버깅 시스템 사이에서 상호작용의 수를 줄일 수 있다.

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

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

  • PDF

자바 클래스 파일에 대한 시각화 실행 분석기 (Visualized Execution Analyzer for the Java Class File)

  • 고광만
    • 정보처리학회논문지A
    • /
    • 제11A권5호
    • /
    • pp.319-324
    • /
    • 2004
  • 자바 언어는 빠른 속도로 인터넷 및 분산 응용 분야 등에서 활용되고 있으며 단순히 응용 소프트웨어를 개발할 수 있는 프로그래밍 언어이상으로 활용 범위가 확대되고 있다. 특히, 실행 환경인 자바 가상 기계에 연관되어 다양한 연구가 진행되고 있으며 자바 클래스 파일에 대한 분석 및 응용 분야에 적합한 형태로 정보를 활용할 수 있는 다양한 시도가 진행되고 있다. 자바 언어에 대한 클래스 파일은 소스 프로그램의 의미를 자바 가상 기계에서 실행 가능한 형식으로 변환된 형태이다. 이러한 클래스 파일의 구조 및 실질적인 실행 과정에 대한 분석은 디컴파일러 구성, 소스 프로그램의 디버깅 등에 편리성을 지원할 수 있다. 본 논문에서는 이러한 클래스 파일에 대한 분석을 비롯하여 실제로 실행되는 과정을 보다 시각적으로 표현하기 위한 실행 분석기 개발에 관한 연구이다 이를 위해 클래스 파일의 내용을 GUI 환경에서와 같이 접근 및 표현이 용이하도록 구현하였다. 클래스 파일이 포함하고 있는 정보들을 Constant_Pool 부분, Class_file 부분, Interface 부분, Field 부분, Method 부분, Attribute 부분으로 나뉘어서 나타내도록 해주었다. 또한 클래스 파일의 실행 과정에서 핵심 정보를 저장하고 있는 메소드 영역 정보, 오퍼란드 스택 정보, 지역 변수의 정보를 시각적으로 표현하였다.

자바 실행시간 환경에서 명시적인 동적 메모리 관리 기법 (An Explicit Dynamic Memory Management Scheme in Java Run-Time Environment)

  • 배수강;이승룡;전태웅
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제30권1_2호
    • /
    • pp.58-72
    • /
    • 2003
  • 자바 언어에서 new라는 키워드로 생성된 객체들은 C나 C++언어에서의 free 또는 delete와 같은 키워드를 사용하지 않고 자바가상머신의 쓰레기 수집기에 의하여 자동적으로 관리 (유지 또는 제거) 되어진다. 따라서. 응용프로그래머는 메모리 관리에 대한 부담을 전혀 가지지 않고 프로그래밍을 할 수 있다는 장점이 있다. 그러나, 쓰레기 수집기는 자체 실행시간 오버헤드로 인하여 자바가상머신의 성능을 저하시킨다. 이러한 점을 개선하기 위하여, 본 논문에서는 쓰레기 수집기를 사용하는 자바환경에서 프로그래머가 최소한의 프로그래밍 오버헤드를 가지고 명시적으로 객체를 수거함으로 쓰레기 수집기의 실행시간 오버헤드를 줄일 수 있는 방안을 제시한다. 이를 위하여, 제안된 기법에서는 자바 어플리케이션이 순수 자바로 자성된 API를 호출하고, 이것이 다시 가상머신의 종속적인 루틴을 호출함으로써 자바가 가지는 이식성을 그대로 유지하도록 하였다. 다시 말하면 어플리케이션 수행의 안정성은 유지하면서 프로그래머가 단순히 API만을 호출함으로 자바가상머신의 성능향상을 이룰 수 있게 하였다. 마크-수거(Mark-and-Sweep) 알고리즘에 제안한 방법을 적용한 결과 쓰레기 수집기만으로 작동되는 경우의 객체수거 시간에 비해 최저 10%에서 최고 52% 이상의 수행시간 향상을 보였다.

능동네트워크 상의 능동센서 언어 설계 및 인터프리터 구현 (The Design of Active Sensor Language on Active Network and Implementation of Its Interpreter)

  • 양윤심;배철성;정민수;이영석
    • 한국멀티미디어학회논문지
    • /
    • 제6권7호
    • /
    • pp.1245-1255
    • /
    • 2003
  • 네트워크에 대한 요구는 점차적으로 복잡해지고 그 수가 증가하고 있는 상태이다. 이를 극복하기 위해 현존하는 네트워크 노드의 구조를 프로그래밍이 가능하도록 하는 능동 네트워크 기술이 등장하게 되었다. 이것은 사용자 요구 기능을 수행할 수 있는 프로그램 코드를 전송 및 실행함으로써 통신망에 새로운 서비스를 신속하고 경제적으로 도입하여 망 자원들을 보다 적절하게 활용할 수 있도록 하는 기술 분야이다. 본 논문에서는 능동 네트워크 상에서 능동센서의 기능 및 동작 방식을 기술하기 위한 프로그래밍 언어를 제안하고 이러한 언어를 기반으로 능동센서를 용이하게 다룰 수 있는 능동센서 인터프리터를 설계 및 구현한다.

  • PDF

컴퓨터 언어를 기반으로 한 컴퓨터기술의 발전방향 예측 (A Method to Forecast the Computer Technology Trends based on Computer Languages)

  • 최세일
    • 스마트미디어저널
    • /
    • 제5권3호
    • /
    • pp.88-92
    • /
    • 2016
  • 본 논문에서는 컴퓨터 기술 발전에 있어서 발전 방향을 예측하는 방법을 제안한다. 현재 국내 컴퓨터 기술 연구에 있어서 연구 방법은 시대적 핫이슈에 따라 연구 주제가 결정되는 연구방법을 취하고 있는데 이러한 연구 방법은 단편적 연구 성과밖에 얻을 수 없다. 본 연구는 컴퓨터 기술 연구자들이 연구 주제를 결정할 때 사화적 영향력이 큰 연구 주제를 선정하기 위해서는 컴퓨터 기술 발전의 줄기를 따라가는 연구가 필요하다고 보고, 컴퓨터 기술 발전의 줄기를 잡는 방법을 제안한다. 방법으로는 프로그래밍 언어의 발전 역사 속에 내재된 궤적을 찾아 그 궤적의 연장선에 근거한 발전 방향성을 제시한다.

패턴 매칭 기법을 이용한 자바 바이트코드 변환기의 설계 및 구현 (Design and Implementation of Java Bytecode Translator usin Pattern Matching Technique)

  • 고광만
    • 전자공학회논문지CI
    • /
    • 제39권4호
    • /
    • pp.1-9
    • /
    • 2002
  • 자바 언어의 실행 속도를 개선하기 위해 전통적인 컴파일 방법을 사용하여 바이트코드를 특정 프로세서에서 수행될 수 있는 목적기계 코드로 변환하는 다양한 연구가 진행중이다. 패턴 매칭 이용한 코드 생성 기법은 코드 확장 기법에 비해 양질의 코드를 생성할 수 있는 장점을 가지고 있다. 본 연구에서는 바이트코드로부터 효과적으로 네이티브 코드를 생성하기 위해 레지스터 기반의 중간 언어를 효율적으로 생성할 수 있는 정형화된 패턴 기술 방법과 패턴 매칭 기법에 대해 제시한다. 또한 기술된 정형화 패턴을 활용하여 양질의 레지스터 기반 중간 코드를 생성하는 중간 코드 변환기를 설계하고 구현하였다.

임베디드 자바 가상머신을 위한 가비지 컬렉터 개발 (Development of a Garbage Collector for an Embedded Java Virtual Machine)

  • 차창일;김형준;황규정;김상욱;이상윤;원희선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2006년도 춘계학술발표대회
    • /
    • pp.1321-1324
    • /
    • 2006
  • 자바 언어는 그 객체지향성, 안전성, 유연성으로 인하여 현재 가장 널리 쓰이는 프로그래밍 언어의 하나가 되었으며, 자바 가상머신이 제공해주는 가비지 컬렉터로 인하여 프로그래머는 메모리 관리에 관한 많은 고민이 줄어들었다. 임베디드 환경에서 역시 자바는 강세를 나타내고 있으며 임베디드 환경의 특성을 반영한 가상 머신과 가비지 컬렉션 기법이 요구되고 있다. 본 논문에서는 힙이라고 불리는 메모리 영역을 크게 젊은 세대와 늙은 세대의 두 부분으로 나누어서 관리하며 각 세대는 그 특성과 요구사항에 적합하도록 각기 다른 기법을 적용한 가비지 컬렉터를 제안한다. 더불어 효과적인 가비지의 식별을 위한 쓰기 장벽과 2중 필터링 기법을 제안하고 있으며, 일반적인 방법으로 회수가 불가능한 순환적 구조의 가비지를 검출하여 회수하기 위한 이중 검사 기법을 제안한다. 제안하는 기법은 임베디드 환경의 요구사항인 객체의 빠른 할당, 동작의 실시간성, 모든 가비지의 회수, 단편화 제거, 높은 지역성 등을 모두 만족한다.

  • PDF

재설계된 자바 클래스 파일을 위한 가상기계의 설계 및 구현 (Design and Implementation of the Virtual Machine for the Redesigned Java Class File)

  • 고광만
    • 정보처리학회논문지A
    • /
    • 제12A권3호
    • /
    • pp.229-234
    • /
    • 2005
  • 가상 기계(Virtual Machine; VM)는 언어에 대한 장치 독립성 및 플랫폼 독립성을 지원하는 프로그래밍 실행 환경이다. 현재까지 자바 언어를 위해 JVM, KVM 등이 다양한 환경에서 사용되고 있으며 유사한 가상 기계가 개발되어 활용되고 있다. 본 논문에서는 자바 클래스 파일(*.class)에서 PDA와 같은 소규모 장치에서 반드시 필요한 요소를 추출하고 실행 효율성을 위해 클래스 파일의 포맷을 재구성한 클래스 파일(*.rclass)을 설계하고 변환기를 개발하였다. 또한 재설계된 클래스 파일을 입력으로 받아 실행 결과를 생성하는 가상기계를 구현하였다.