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

add graffle
author mir3636
date Sun, 14 May 2017 18:47:56 +0900
parents aed360eb1146
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
30a433a94a9a first commit
mir3636
parents:
diff changeset
1 \chapter{メタ計算の重要性}
30a433a94a9a first commit
mir3636
parents:
diff changeset
2 \label{chap:introduction}
30a433a94a9a first commit
mir3636
parents:
diff changeset
3 \pagenumbering{arabic}
30a433a94a9a first commit
mir3636
parents:
diff changeset
4
30a433a94a9a first commit
mir3636
parents:
diff changeset
5 % 序論の目安としては1枚半ぐらい.
30a433a94a9a first commit
mir3636
parents:
diff changeset
6 % 英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも.
30a433a94a9a first commit
mir3636
parents:
diff changeset
7
30a433a94a9a first commit
mir3636
parents:
diff changeset
8 %\section{メタ計算の重要性}
30a433a94a9a first commit
mir3636
parents:
diff changeset
9
30
876ee5de1088 add graffle
mir3636
parents: 19
diff changeset
10 プログラムを記述する際、ノーマルレベルの処理の他に、メモリ管理、スレッド管理、CPU や GPU の資源管理等、記述しなければならない処理が存在する。
876ee5de1088 add graffle
mir3636
parents: 19
diff changeset
11 これらの計算をメタ計算と呼ぶ。
0
30a433a94a9a first commit
mir3636
parents:
diff changeset
12
30
876ee5de1088 add graffle
mir3636
parents: 19
diff changeset
13 メタ計算を通常の計算から切り離して記述するためには処理を細かく分割する必要がある。しかし、関数やクラスなどの単位は容易に分割できない。
0
30a433a94a9a first commit
mir3636
parents:
diff changeset
14
30
876ee5de1088 add graffle
mir3636
parents: 19
diff changeset
15 そこで当研究室ではメタ計算を柔軟に記述するためのプログラミング言語の単位として Code Gear、Data Gear という単位を提案している。
0
30a433a94a9a first commit
mir3636
parents:
diff changeset
16
30
876ee5de1088 add graffle
mir3636
parents: 19
diff changeset
17 Code Gear は処理の単位である。
876ee5de1088 add graffle
mir3636
parents: 19
diff changeset
18 関数に比べて細かく分割されているのでメタ計算をより柔軟に記述できる。
876ee5de1088 add graffle
mir3636
parents: 19
diff changeset
19 Code Gear、Data Gear にはそれぞれメタレベルの単位である Meta Code Gear、Meta Data Gear が存在し、これらを用いてメタ計算を実現する。
0
30a433a94a9a first commit
mir3636
parents:
diff changeset
20
19
mir3636
parents: 10
diff changeset
21 Continuation based C (CbC)\cite{cbc} はこの Code Gear 単位を用いたプログラミング言語として開発している。
0
30a433a94a9a first commit
mir3636
parents:
diff changeset
22
30a433a94a9a first commit
mir3636
parents:
diff changeset
23 CbCは軽量継続による遷移を行うので、継続前の Code Gear に戻ることはなく、状態遷移ベースのプログラミングに適している。
30a433a94a9a first commit
mir3636
parents:
diff changeset
24
19
mir3636
parents: 10
diff changeset
25 また、当研究室で開発している Gears OS\cite{gears} は Code Gear、 Data Gear の単位を用いて開発されており、CbC で記述されている。
0
30a433a94a9a first commit
mir3636
parents:
diff changeset
26
30
876ee5de1088 add graffle
mir3636
parents: 19
diff changeset
27 本研究では CbC を用いての Gears OS の実装と Gears OS におけるメタ計算の自動生成を行なう。
0
30a433a94a9a first commit
mir3636
parents:
diff changeset
28
30a433a94a9a first commit
mir3636
parents:
diff changeset
29 %\section{論文の構成}
30a433a94a9a first commit
mir3636
parents:
diff changeset
30
30a433a94a9a first commit
mir3636
parents:
diff changeset
31 %\section{Introduction}