프로그래밍언어논문지 제15권 제2호 (2001년)
권두언:
[.PDF 165KB]
논문
- 공간 조정을 이용한 복사 메모리 재사용 알고리즘의 성능 평가
김성청, 우균
- 자바 바이트 코드의 최적화기
이야리, 오세만
- 다중 뷰를 지원하는 구조적 XML 에디터 생성
신경희, 유재우
- Jini기반의 이동 에이전트 지원 시스템
김진홍, 구형서, 안건태, 이명준
- SMV를 이용한 정보 흐름 안정성의 모델 검사
조영갑, 도경구, 신승철
- 계층형 크립키 구조에서 HiCTL 해석
박사천, 권기현
- 디지털 신호 처리기를 위한 Retargetable 컴파일러 연구
정성준, 조정훈, 백윤흥
본문
공간 조정을 이용한 복사 메모리 재사용 알고리즘의 성능 평가 [.PDF 2419KB]
- 저자: 김성청, 우균
- 요약:
복사 메모리 재사용 시스템은 그 알고리즘이 간단하고 메모리
압축(compaction)을 지원하는 장점으로 인해 널리 사용되는 메모리 재사용
시스템이지만, 공간 오버헤드가 100%에 달한다는 단점이 있다. 복사 메모리
재사용 시스템의 공간 오버헤드를 100% 이하로 줄이는 방법 중 하나로 공간
조정에 의한 복사 메모리 재사용 시스템이 제안된 바 있다. 이 방법은,
메모리 재사용 시스템이 호출될 때 유효 그래프의 실제 크기가 현재
사용하는 공간보다 작으므로, 힙의 절반을 복사를 위한 공간으로 확보할
필요가 없다는 것에 착안한 방법이다. 이 논문은 공간 조정에 의한 복사
메모리 재사용 시스템의 구현과 실험결과를 기술하고, 세 가지 경계처리
알고리즘의 수행 성능을 비교한다. 실험결과에 따르면, 경계처리 알고리즘
3을 사용하였을 때의 수행 성능이 가장 좋은 것으로 나타났다.
자바 바이트 코드의 최적화기 [.PDF 2733KB]
- 저자: 이야리, 오세만
- 요약:
자바언어는 인터넷 및 분산 환경 시스템에서 효과적으로 응용 프로그램을
개발할 수 있도록 설계된 프로그래밍 언어로써 객체지향 패러다임 특성 및
다양한 개발 환경을 지원하고 있다. 그러나, 인터프리티브 방식으로
실행되기 때문에 성능상 많은 제약이 따르게 된다. 즉 자바는 클래스 파일이
이동하여 JVM 환경에서 인터프리팅 되는 시스템이므로, 성능의 저하 없이
실행되기 위해서는 효율적인 최적화와 실행 시스템이 요구된다. 본 논문의
목적은 네트워크 상에서 동적으로 다운로드 되는 클래스 파일의 최적화에
있다. 클래스 파일이 인터프리팅 되는 시스템에서 보다 적은 네트워크
로드를 가지고 실행할 수 있도록 하며, 효율적인 실행 속도를 보이도록 하는
것이다. 본 논문에서 구현된 자바 바이트코드 최적화기에서는 내부적으로
바이트코드 최적화기와 클래스 파일 생성기를 이용하여 실행시간을 개선하고
전체 클래스 파일의 크기를 줄이게 된다. 바이트코드 최적화기는 핍홀
최적화를 수행하고, 바이트코드 의존적 최적화, 그리고 전역 최적화를
행하게 된다. 클래스 파일 생성기는 클래스 파일의 포맷에 따라
바이트코드를 분석하고 본래의 클래스 파일보다 작은 크기의 클래스 파일을
생성하게 된다. 최적화된 클래스 파일은 부분적으로 클래스 파일의 최적화를
가져와 전체 클래스 파일의 크기를 줄이고, 인터프리터를 통하여 실행될 때
수행 속도 면에서 좀더 빠른 실행속도를 가지게 된다
다중 뷰를 지원하는 구조적 XML 에디터 생성 [.PDF 2789KB]
- 저자: 신경희, 유재우
- 요약:
XML은 구조를 포함하는 웹 문서 작성언어로서, 올바른 XML 문서를 작성하기
위하여 DTD를 이용한 구문기반의 에디터가 필요하다. 본 연구에서는 DTD에
독립적이고 다양한 편집화면이 지원되는 에디터를 동적으로 생성하는 XML
에디터 생성기를 제시한다. 이 생성기는 구조적 개발환경과 다중 뷰 특징을
갖는 문서작성환경으로, 문서의 구문은 추상문법으로, 편집 문서의 화면
출력 정보는 유형문법으로 각각 정형화 시켜 문서구조와 표현에 있어
유연성과 효율성이 있는 XML 문서작성 환경을 제시한다.
Jini기반의 이동 에이전트 지원 시스템 [.PDF 3191KB]
- 저자: 김진홍, 구형서, 안건태, 이명준
- 요약:
이동에이전트 시스템은 에이전트를 대상 시스템으로 이동시켜 실행함으로써
네트워크 트래픽을 줄이고, 서버의 기본 기능을 변경하지 않고 사용자의
다양한 요구사항을 처리하는 프로그래밍 기법을 제공한다. Jini 기반 구조는
분산 응용을 위하여 간단하면서도 유연한 프로그래밍 기법과 네트워크
환경을 제공하고 있으며, 이를 통하여 이동에이전트 시스템의 동적인 등록
및 소재 파악의 기능과 에이전트의 활동에 유용한 서비스들의 동적 제공이
용이하게 지원될 수 있다. 본 논문에서는 Jini 기반 이동에이전트 지원
시스템인 JMAS 시스템에 관하여 기술하고 있다. JMAS 시스템은 이동에이전트
시스템의 기본 기능인 에이전트 생성, 관리, 전송, 위치 파악 및
에이전트간의 통신 기능을 제공하고 있으며, 나아가 이동에이전트 시스템의
신뢰성을 위하여 예외 상황 처리 및 이동에이전트 시스템의 영속성 지원
기능을 제공하고 있다.
SMV를 이용한 정보 흐름 안정성의 모델 검사 [.PDF 2519KB]
- 저자: 조영갑, 도경구, 신승철
- 요약:
비밀변수에 저장되어 있는 데이터가 배정문을 통해 공개변수에 저장되어
외부로 알려지는 현상을 정보 누출이라고 하고, 정보 누출이 없는
프로그램을 "정보흐름이 안전한 프로그램"이라고 한다. 이 논문에서는
모델검사 기법을 사용하여 정보흐름의 안전성 검사할 수 있는 CTL 논리식을
정의하고, SMV 도구를 사용하여 모델 검사하는 방법을 제시한다.
계층형 크립키 구조에서 HiCTL 해석 [.PDF 2477KB]
- 저자: 박사천, 권기현
- 요약:
모형 검사기는 시스템을 기술한 모형과 시스템에서 만족되어야 할 속성을
받아들여, 모형이 속성을 만족하는지 검사한다. 시스템은 대부분 상태도와
같은 계층형 유한 상태 기계들로 기술되고, 속성을 기술하는 명세 언어로는
CTL 혹은 LTL과 같은 시제 논리를 많이 사용한다. 그런데 현재 사용되는
대부분의 시제 논리는 크립키 구조와 같은 평면 구조에서 정의된다. 따라서
계층 구조를 갖는 시스템을 모형 검사하기 위해서는 평탄화 과정이
필요하다. 평탄화를 하게 되면 상태수의 증가로 인한 상태 폭발이 가중되고
본래 기술된 계층성을 온전히 지킬 수 없다. 평탄화로 인해서 야기되는
문제점을 해결하기 위한 기본 연구로서, 본 논문에서는 계층형 크립키
구조를 정의하고 계층형 구조에서 해석되는 계층형 CTL인 HiCTL을
정의한다.
디지털 신호 처리기를 위한 Retargetable 컴파일러 연구 [.PDF 3345KB]
- 저자: 정성준, 조정훈, 백윤흥
- 요약:
Retargetability는 많은 컴파일러에 있어서 중요한 설계 관심사이며, 특히
범용 프로세서(GPP)에 비해서 훨씬 변종이 많은 디지털 신호
프로세서(DSP)에 있어서 더욱 중요한 관심사이다. 이 논문에서 우리는 Very
Portable Optimizer(VPO)라고 불리는 retargetable 코드 생성기를 최근
DSP를 target 하도록 개선한 우리의 초기 연구를 나타내고자 한다. VPO는
원래 GPP를 목표로 개발되었으나, retargetability를 만족시키기 위해
개발된 새로운 중간 표현(intermediate representation)에 의해, 비교적
짧은 시간에 일반 상용 DSP에도 성공적으로 retarget될 수 있었다. 본
retargetable 컴파일러에 관한 연구는 아직 초기단계이며, 그렇기 때문에
코드 성능에는 아직도 향상의 여지가 있다. 그럼에도 지금까지의 VPO의
개선으로 말미암아, 생산 현장에서 쓰일 수 있을 정도의 성능을 지니는 주문
생산된 컴파일러와 비교해서도 충분히 자극적인 결과를 얻을 수 있었다.
프로그래밍언어 연구회