view final_main/chapter1.tex @ 30:876ee5de1088 default tip

add graffle
author mir3636
date Sun, 14 May 2017 18:47:56 +0900
parents aed360eb1146
children
line wrap: on
line source

\chapter{メタ計算の重要性}
\label{chap:introduction}
\pagenumbering{arabic}

% 序論の目安としては1枚半ぐらい.
% 英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも.
 
%\section{メタ計算の重要性}

プログラムを記述する際、ノーマルレベルの処理の他に、メモリ管理、スレッド管理、CPU や GPU の資源管理等、記述しなければならない処理が存在する。
これらの計算をメタ計算と呼ぶ。

メタ計算を通常の計算から切り離して記述するためには処理を細かく分割する必要がある。しかし、関数やクラスなどの単位は容易に分割できない。

そこで当研究室ではメタ計算を柔軟に記述するためのプログラミング言語の単位として Code Gear、Data Gear という単位を提案している。

Code Gear は処理の単位である。
関数に比べて細かく分割されているのでメタ計算をより柔軟に記述できる。
Code Gear、Data Gear にはそれぞれメタレベルの単位である Meta Code Gear、Meta Data Gear が存在し、これらを用いてメタ計算を実現する。

Continuation based C (CbC)\cite{cbc} はこの Code Gear 単位を用いたプログラミング言語として開発している。

CbCは軽量継続による遷移を行うので、継続前の Code Gear に戻ることはなく、状態遷移ベースのプログラミングに適している。

また、当研究室で開発している Gears OS\cite{gears} は Code Gear、 Data Gear の単位を用いて開発されており、CbC で記述されている。

本研究では CbC を用いての Gears OS の実装と Gears OS におけるメタ計算の自動生成を行なう。

%\section{論文の構成}

%\section{Introduction}