view paper/conclusion.tex @ 10:3d9addf62d0b

organized repository.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Tue, 16 Feb 2010 14:35:36 +0900
parents conclusion.tex@4b2af58b0302
children
line wrap: on
line source

\chapter{結論}
\label{chp:conc}

\section{まとめ}

本研究ではContinuation based C(CbC)のGCCベースコンパイラの改善を行った。

CbCは軽量継続をベースとした言語で、 プログラムの分割による開発効率の向
上や、状態遷移という特徴を元にタブロー法を用いたプログラム検証などを目
的として設計されている。 これまで、CbC言語のコンパイラにはmicro-cをベ
ースとしたものがあり、2008年の研究にてGCCをベースとしたコンパイラが開
発されていた。

本研究ではこのGCCベースコンパイラを実用的なCbCコンパイラにすることを目
標とし、そのために必要な項目のリストアップとその実装を行った。

\ref{chp:cbc}章では目標とする達成項目を洗い出した。この中にはCとの互換
性を向上させる機能や継続制御での制限の除去、また GCCの開発リリースに追
従するためのメンテナンス性の向上などが含まれた。

\ref{chp:impl}章ではこれらの項目の実装を行った。ここでは最初にGCCに移
植した際のコードセグメントや継続制御の実装方法を再確認し、その上で今回
の実装の手法を提案し、実装した。

\ref{chp:eval}章では、\ref{chp:impl}章における改善点の評価とともに、実
用的なプログラムが動作可能になったことで、以前のコンパイラとGCCベース
のコンパイラで性能の比較を行った。さらにメンテナンス性向上のための手法
の評価も行った。

本研究の成果としては、
\begin{inparaenum}[\bfseries a)]
  \item 継続制御での引数の順序による制限を除去した。
  \item 様々なアーキテクチャでのCbCプログラムの実行を可能にした。
  \item fastcall最適化によりx86アーキテクチャでの動作速度が改善された。
  \item micro-cベースコンパイラと比べて、PowerPCでは速度に大きな向上が
    見られた。
  \item リポジトリ管理方法の改善により、メンテナンス性が向上した。
\end{inparaenum}
などが挙げられる。


\section{今後の課題}

実用的なCbCプログラムが実行可能になった事で、CbCを用いた研究もこれまで
にない応用が可能になる。
本研究室の提案するCeriumはこれまではC++を用いて実装されていたが、現在
はCbCへの移植作業が進行中である。その他、CbCを用いた検証や分散プログラ
ミングなどの研究もこれからの研究課題となる。

また、CbC言語自体の仕様拡張も検討されている。
特にオブジェクト指向は現在のプログラミングの主流であり、CbCでもその実
装を行いたい。しかし\ref{chp:intro}章でも述べたようにCbCの開発動機には
オブジェクト指向の問題点も含まれる。オブジェクティブなCbCの導入には、
CbCという言語の特徴を活かしつつ、この問題を回避していく必要がある。