Mercurial > hg > Papers > 2017 > mitsuki-thesis
diff final_pre/finalPre.tex @ 19:aed360eb1146
update
author | mir3636 |
---|---|
date | Thu, 16 Feb 2017 02:14:33 +0900 |
parents | 11058e51adb7 |
children | 876ee5de1088 |
line wrap: on
line diff
--- a/final_pre/finalPre.tex Wed Feb 15 23:24:05 2017 +0900 +++ b/final_pre/finalPre.tex Thu Feb 16 02:14:33 2017 +0900 @@ -29,26 +29,26 @@ \twocolumn [ \maketitle \begin{onecolabstract} -We are developping Gears OS using Continuation based C (CbC). -Gears OS provids highly reliable computation using meta computation. +We are developing Gears OS using Continuation based C (CbC). +Gears OS provides highly reliable computation using meta computation. CbC gives Code Gear and Data Gear as programing units. -A transfar from a Code Gear to another Code Gear is implemented using a CbC's goto statement, -which is compiled as a jump instraction in CbC. -Meta computations are key components of Gears OS, which provids memory managements, thread managements, +A transfer from a Code Gear to another Code Gear is implemented using a CbC's goto statement, +which is compiled as a jump instruction in CbC. +Meta computations are key components of Gears OS, which provides memory managements, thread managements, managements of Data/Code Gear themselves. -CbC's goto statments provids a ways of implementing meta computations. +CbC's goto statements provides a ways of implementing meta computations. From a view point of meta computation, Data Gear or Code Gear are uniform data units, which are implemented as union Data in CbC. -In the meta level, a transfar from a Code Gear is a goto statement to meta Code Gear with next Code Gear number and -a Context which coresponds thread structure or an enviroments in a functional programing. +In the meta level, a transfer from a Code Gear is a goto statement to meta Code Gear with next Code Gear number and +a Context which corresponds thread structure or an environments in a functional programing. A meta Code Gear handles meta computations such as meta computations. -From a nomal level, meta structures are not visible directly and a Code Gear looks like a function using continuations. -A stub Code Gear is used as a bridge between meta level and nomal level. -In this paper we create scripts which generate meta Code Gear and stub Code Gear from nomal level Code Gear and Data Gear. +From a normal level, meta structures are not visible directly and a Code Gear looks like a function using continuations. +A stub Code Gear is used as a bridge between meta level and normal level. +In this paper we create scripts which generate meta Code Gear and stub Code Gear from normal level Code Gear and Data Gear. Using these scripts, we can provide a interface mechanisms which are packages of Code Gears and Data Gears. -A simple TaskManager is constracted using the interfaces which is a simple operating systems. -We will constracts various compornents of Gears OS and meta computations which provids reliabilty. -For an example, generating agda program from nomal level Code Gear provids proof suports of the Code Gear. +A simple task manager is constructed using the interfaces which is a simple operating systems. +We will constructs various components of Gears OS and meta computations which provides reliability. +For an example, generating agda program from normal level Code Gear provides proof supports of the Code Gear. %CbC で OS を記述する。 %CbCはLLVMで実装されている。 %codeとcode のあいだをcall ではなくjmpで結ぶことができる(goto) @@ -80,11 +80,11 @@ Code Gear は関数に比べて細かく分割されているので Meta Computation をより柔軟に記述できる。 Code Gear、Data Gear にはそれぞれメタレベルの単位である Meta Code Gear、Meta Data Gear が存在し、これらを用いて Meta Computation を実現する。 -Continuation based C (CbC) はこの Code Gear 単位を用いたプログラミング言語として開発している。 +Continuation based C (CbC)\cite{kaito:2015} はこの Code Gear 単位を用いたプログラミング言語として開発している。 CbCは軽量継続による遷移を行うので、継続前の Code Gear に戻ることはなく、状態遷移ベースのプログラミングに適している。 -また、当研究室で開発している Gears OS は Code Gear、 Data Gear の単位を用いて開発されており、CbC で記述されている。 +また、当研究室で開発している Gears OS\cite{gears} は Code Gear、 Data Gear の単位を用いて開発されており、CbC で記述されている。 本研究では CbC を用いての Gears OS の実装と CbC における ユーザーの関知しない Meta Computationの自動生成を行なう。 @@ -97,7 +97,7 @@ %\end{figure} \section{Continuation based C (CbC)} -CbC は 処理を Code Gear とした単位を用いて記述するプログラミング言語である。 +CbC は 処理を Code Gear とした単位を用いて記述するプログラミング言語\cite{kaito:2015}である。 Code Gear は入力と出力を持ち、CbC では引数が入出力となっている。 Code Gear から次の Code Gear へと goto による継続で遷移で処理を行い、引数として出力を与える。 図\ref{fig:cs}は Code Gear 間の処理の流れを表している。 @@ -165,9 +165,11 @@ Gears OS を現在の CbC の機能のみを用いて記述すると Context や stub Code Gear の記述を行わなくてはならず、これには多くの労力を要する。 そのため、この記述を助けるために Context を生成する generate\_context と stub Code Gear を生成する generate\_stub を perl スクリプトで作成した。 -\section{まとめ} - - +\section{今後の課題} +本研究では interface の記述、CbC ファイルから Gears OS の記述に必要な Context と stub の生成を行う perlスクリプトの生成を行なった。 +これにより Gears OS のコードの煩雑さは改善され、ユーザーは Context への接続を意識する必要がなくなった。 +今後の課題は Code Gear から meta computation を行う meta Code Gear を生成できるようにし、ユーザーがメタレベルの処理を意識せずにコードを記述できるようにする。 +また、今回 perl スクリプトによって Context や stub の生成を行なったが、LLVM/clang\cite{llvm} 上で実装しコンパイラで直接 CbC を実行できるようにすることも優先する。 \nocite{*} \bibliographystyle{junsrt}