view conclusion.tex @ 7:8ef81ff8cb52

emended.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 13:10:57 +0900
parents dfb89e32eea1
children 4b2af58b0302
line wrap: on
line source

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

\section{まとめ}

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

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

そこで、本研究では\ref{chp:cbc}章においてこのCbCの紹介とともに、問題点
の洗い出しをおこなった。洗い出した問題点の中には、実用的なプログラムは
動作不能ともなりえるものも存在した。

\ref{chp:impl}章ではこれらの問題に対処するため、GCCベースコンパイラの
改善を行った。ここでは最初にGCCに移植した際の実装方法を再確認し、その
上で問題点の解決方法の提案し、実装した。

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

本研究の成果としては、
\begin{inparaenum}[\bfseries a)]
  \item 引数の順番でエラーが出ていた問題を改善し、実用的なCbCプログラ
    ミングが可能になった。
  \item 上の理由により、CbCプログラムをこれまで対応していなかった様々
    なアーキテクチャで実行可能になった。
  \item fastcall最適化によりx86アーキテクチャでの動作速度が改善された。
  \item 以前のコンパイラとの比較ではx86ではあまり差が出なかったものの
    、 PowerPCでは大きな向上が見られた。
  \item リポジトリ管理方法の改善により、メンテナンス性が向上した。
\end{inparaenum}
などが挙げられる。


\section{今後の課題}

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

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