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

2008 Fiscal Year Annual Research Report

機能の着脱が可能なスクリプト言語処理系の構成法に関する研究

Research Project

Project/Area Number 19800007
Research InstitutionThe University of Tokyo

Principal Investigator

笹田 耕一  The University of Tokyo, 大学院・情報理工学系研究科, 講師 (10436561)

Keywords言語処理系 / 構成法 / Ruby / ソフトウェア
Research Abstract

本研究は,最近広く利用されているスクリプト言語処理系を処理系の構築時,もしくは実行時に柔軟に着脱できるようにすることを目指す.平成20年度では、次に示す課題に取り組んだ。なお,本研究はスクリプト言語Rubyの処理系(以降,Ruby処理系)を用いて研究を進めた.
(1)言語処理系構築システムの提案と開発
Ruby処理系は豊富な機能を有しているが,目的によっては,メモリ消費量,移植性などの問題が生じる.そのため,必要な機能のみでRuby処理系を構築するためのシステムを開発し,atomic-Rubyという名前を付けた.現在は,Rubyの組込クラス単位で必要,不要を選択可能である.実行トレースを元にしたレシピファイルの自動生成と,より粒度の細かい機能選択の実現が今後の課題である.
(2)ガーべージコレクションのためのライトバリアの自動挿入
Ruby処理系はGCを備えているが,対象とする用途によってはGCアルゴリズム(例えばインクリメンタルGC,世代別GC,並行GC)を変更したい.つまり,GC実装を着脱可能としたい,これらのGCはライトバリアを必要とするが,この追加を手作業で行うのは信頼性と開発効率の点で問題である.そこで,メモリ保護機能を利用してライトバリアが必要な箇所を自動的に検出するためのシステムを開発し,実際にインクリメンタルGCを実装した.
(3)機能を手軽に追加するためのフレームワークの提案と開発
環境や用途によってRuby処理系をCで拡張する必要があるが,現状では拡張ライブラリを作成する必要があり,開発が難しい.これを容易にするためのシステムであるRicsinを提案し,開発した.RicsinはRubyスクリプトに自然な文法でCを埋め込むことを可能にし,Rubyだけでは困難な機能拡張,および性能改善を行う方法を提供する.

  • Research Products

    (4 results)

All 2009 2008

All Journal Article (1 results) (of which Peer Reviewed: 1 results) Presentation (3 results)

  • [Journal Article] Ricsin:RubyにCを埋め込むシステム2009

    • Author(s)
      笹田耕一
    • Journal Title

      情報処理学会論文誌(PRO) 2

      Pages: 13,26

    • Peer Reviewed
  • [Presentation] Ruby処理系へのスナップショットGCの実装2008

    • Author(s)
      相川光
    • Organizer
      第71回情報処理学会プログラミング研究発表会
    • Place of Presentation
      島根県松江市
    • Year and Date
      2008-10-28
  • [Presentation] Ricsn:RubyにCを埋め込むシステム2008

    • Author(s)
      笹田耕一
    • Organizer
      第71回情報処理学会プログラミング研究発表会
    • Place of Presentation
      島根県松江市
    • Year and Date
      2008-10-28
  • [Presentation] atomic-Ruby:世界でたった1つだけのRuby2008

    • Author(s)
      奈須翔太
    • Organizer
      第71回情報処理学会プログラミング研究発表会
    • Place of Presentation
      島根県松江市
    • Year and Date
      2008-10-28

URL: 

Published: 2010-06-11   Modified: 2016-04-21  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi