• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to previous page

自己反映計算による発展可能コンパイラ

Research Project

Project/Area Number 10139204
Research Category

Grant-in-Aid for Scientific Research on Priority Areas (A)

Allocation TypeSingle-year Grants
Research InstitutionUniversity of Tsukuba

Principal Investigator

千葉 滋  筑波大学, 電子・情報工学系, 講師 (80282713)

Project Period (FY) 1998
Project Status Completed (Fiscal Year 1998)
Budget Amount *help
¥1,500,000 (Direct Cost: ¥1,500,000)
Fiscal Year 1998: ¥1,500,000 (Direct Cost: ¥1,500,000)
Keywordsソフトウェア発展 / プログラミング
Research Abstract

我々が既に開発していたC++言語用の発展可能コンパイラOpenC++の設計を元にJava言語用の発展可能コンパイラOpenJavaを開発した。またOpenJavaを実際にいくつかの有名なデザイン・パターンに対応するよう発展させ、その発展可能性を検証した。Java言語はC++言語に比べ、設計が精錬されているため、発展させるためのAPIは、OpenC++より簡潔で理解しやすいものとすることができた。
本研究は当初、我々がこれまで研究してきた拡張機構を備えたコンパイラの技術をもとに、これをソフトウェアの発展機構として応用することを目標として始まった。しかしながら、ソフトウェアの改良過程の支援という応用システムの研究は、「発展機構を備えたソフトウェアの構成原理の研究」に直接的に貢献しているとはいいがたい。このような考えは、研究を進めていくうちに次第に強くなり、徐々に、ソフトウェアを発展させる上で実際に問題となっていることを解決する方向に、研究の目的を変化させていった。この結果、我々は発展可能コンパイラの技術の応用として、schema evolutionを見いだし、現在までに、「メタ」プログラムに従ってプログラムを自動編集するソフトウェアJavassistをJava言語用に開発した。このソフトウェアはschem evolutionに関する応用に十分な程度の発展機能を備えている。Javassistの特徴は、ソースコードを必要とせず、実行時(正確にはロード時)にバイナリコード(バイトコード)を直接編集できる機能を提供している点である。また、実行時にプログラムを編集しても、全体の実行速度が大きく影響をうけないよう、効率のよい処理を実現している。

Report

(1 results)
  • 1998 Annual Research Report
  • Research Products

    (3 results)

All Other

All Publications (3 results)

  • [Publications] Chiba, Tatsubori: "Yet Another java, lang, Class" Proc.of Ecoop '98 Workshop on Reflective Object-Oriented Programming and Systems. (1998)

    • Related Report
      1998 Annual Research Report
  • [Publications] Shigeru Chiba: "Javassist-A Reflection-based Programming Wizard for Java" Proc.of OOPSLA'98 Workshop on Reflective Programming in Ctt and Java. 51-55 (1998)

    • Related Report
      1998 Annual Research Report
  • [Publications] Tatsubori, Chiba: "Programming Support of Design Patterns with Compile time Reflection" Proc.of OOPSLA'98 Workshop on Reflective Programming in Ctt and Java. 56-60 (1998)

    • Related Report
      1998 Annual Research Report

URL: 

Published: 1998-04-01   Modified: 2016-04-21  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi