annotate paper/text/chapter2.tex @ 6:3c9b5f9cff85

...
author matac42 <matac@cr.ie.u-ryukyu.ac.jp>
date Thu, 20 Jan 2022 13:46:45 +0900
parents 47c5e331d020
children 124583e0b372
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \chapter{Continuation based C}
4
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
2 Continuation based C(CbC)\cite{cbcllvm,cbc}とはCの下位言語である.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
3 function callの代わりにgotoによる継続を用いる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
4 CbCのプログラムはCodeGearと呼ばれる処理の単位で記述し,ノーマルレベルとメタレベルの処理を切り分けることが可能である.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
5
1
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 \section{CodeGearとDataGear}
4
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
7 CbCでは関数の代わりにCodeGearという単位でプログラミングを行う.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
8 CodeGearは\emph{\_\_code}という記述で宣言することができる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
9 データの単位にはDataGearと呼ばれる変数データを用いる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
10 DataGearを入力として受け取り,別のDataGearに書き込み出力することができる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
11 特に入力のDataGearをInput DataGear,出力のDataGearをOutput DataGearと呼ぶ.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
12 gotoで次のCodeGearに遷移することができ,その際Output DataGearを次のCodeGearのInput DataGearとして渡すことができる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
13
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
14 \section{継続}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
15 CodeGearから次のCodeGearに遷移していく一連の動作を継続と呼ぶ.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
16 CbCの継続はfunction callをせずにgotoによるjmpで行われる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
17 function callによる継続と異なり,jmpによる継続はstackなどの環境を保存しないことから軽量である.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
18 そのことからCbCにおける継続を特に軽量継続と呼ぶ.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
19
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
20 \section{CbCの記述例}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
21 CbCのプログラム例をソースコード\ref{src:cbc}に示す.まずmain関数においてadd1 CodeGearへgotoを行う.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
22 その際add1へInput DataGearとしてnを渡す.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
23 add1は処理の最後にadd2 CodeGearへgotoを行う.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
24 その際Output DataGear out\_nをadd2のInput DataGearとして渡す.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
25 このようにCbCではCodeGearのOutput DataGearを次のCodeGearのInput DataGearとして渡すことを繰り返すことで処理を進める.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
26
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
27 \lstinputlisting[caption=CbCのプログラム例,label=src:cbc]{src/hello.cbc}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
28
1
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 \chapter{GearsOS}
4
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
31 GearsOS\cite{gears,gearsos,cr}は 信頼性と拡張性の両立を目的として,開発されている.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
32 Gearという概念があり,実行の単位をCodeGear,データの単位をDataGearと呼ぶ.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
33 軽量継続を基本とし,stackを持たない代わりに全てをContext経由で実行する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
34 ノーマルレベルとメタレベルの処理を切り分けることができ,同様にGearの概念を持つCbC(Continuation based C)で記述されている.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
35 GearsOSは現在開発途上であり,OSとして動作するために今後実装しなければならない機能がいくつか残っている.
5
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
36
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
37 \section{stubCodeGear}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
38 図\ref{fig:meta-cgdg}はCodeGearの遷移とMetaCodeGearの関係を表している.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
39 ノーマルレベルで見るとCodeGearがDataGearを受け取り,
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
40 処理後,DataGearを次のCodeGearに渡すという動作をしているように見える.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
41 実際にはデータの整合性の確認や資源管理などのメタレベルの処理が存在し,
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
42 それらの計算はMetaCodeGearで行われる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
43 その際,MetaCodeGearに渡されるDataGearのことは特にMetaDataGearと呼ばれる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
44 CodeGearの前に実行されるMetaCodeGearは特にstubCodeGearと呼ばれ,
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
45 メタレベルを含めるとstubCodeGearとCodeGearを交互に実行する形で遷移していく.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
46 \begin{figure}[h]
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
47 \begin{center}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
48 \includegraphics[width=100mm]{figs/meta-cg-dg.pdf}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
49 \end{center}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
50 \caption{CodeGearとMetaCodeGearの関係}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
51 \label{fig:meta-cgdg}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
52 \end{figure}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
53
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
54 \section{Context}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
55 Contextは全てのCodeGear,DataGearを参照することができるMetaDataGearで,従来OSのプロセスに相当する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
56 OS全体のContextを管理するKernel Contextやユーザープログラムごとに存在するUser Contextなどがある.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
57 ノーマルレベルのCodeGearがContextを直接参照してしまうと,メタレベルを切り分けた意味がなくなってしまう.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
58 そのためContextは必ずMetaDataGearとしてMetaCodeGearから参照される.
1
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 \chapter{Christie}
4
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
61 Christieは当研究室で開発を行っているJavaで記述された分散フレームワークである.
5
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
62 CbCと似ているが別物のGearという概念や,任意のTopologyを形成するためのTopologyManagerがある.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
63
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
64 \section{Gearの概念}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
65 Christieには以下の4つのGearという概念が存在する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
66
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
67 \begin{itemize}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
68 \item CodeGear
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
69 \item DataGear
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
70 \item CodeGearManager(以下CGM)
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
71 \item DataGearManager(以下DGM)
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
72 \end{itemize}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
73
4
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
74 CodeGearはクラスやスレッドに相当する.DataGearは変数データに相当し,Javaのアノテーションを用いて記述される.
5
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
75 CGMはいわゆるノードに相当し,CodeGear,DataGear,DGMを管理する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
76 複数のCGM同士が配線され,DataGearを送信し合うことで分散処理を実現している.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
77 DGMはDataGearを管理しているもので変数プールに相当する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
78
1
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 \section{DataGearManager}
5
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
80 DataGearManagerはkey value storeの構造を持つ.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
81 CGMが利用するCGのkeyとputされたDataGearの組み合わせでDataGearを管理する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
82 DGMはLocalDGMとRemoteDGMに区別することができる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
83 LocalDGMはCGM自身が所持するDataGearのプールである.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
84 ReomoteDGMはCGMが配線されている別のCGMがもつDGのプールである.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
85
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
86 \section{Topology-Manager}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
87 Christieには任意のtopologyを生成し,ノード同士の通信接続を管理ことができるTopology-Managerという機能が存在する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
88 Topology-Managerで生成できるtopologyには静的topologyと動的topologyの2つがある.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
89 静的topologyはプログラマが任意のtopologyとノードの配線を行うことができる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
90 dotファイルにノードの配線を記述し,Topology-Managerに参照させることで生成する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
91 dotファイルに記述したノードの数と参加ノードの数が一致した場合に動作する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
92 動的topologyは参加を表明したノードに対し,自動的に配線を行う.
1
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 \chapter{UnixのFileSystem}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 \section{inode}
6
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
96 主にUnix系のファイルシステムで用いられる,ファイルの属性情報が書かれたデータである.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
97 inodeにおけるファイルの属性情報は表\ref{table:inode}のようなものがある.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
98 またinodeは識別番号としてinode numberを持つ.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
99 inode numberは一つのファイルシステム内で一意の番号であり,\emph{ls -l}コマンドで確認可能である.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
100 inodeはファイルシステム始動時にinode領域をディスク上に確保する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
101 そのためinode numberには上限があり,それに伴いファイルシステム上で扱えるファイル数の上限も決まる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
102 inode numberの最大値は\emph{df -i}コマンドで確認可能である.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
103
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
104 \begin{table}[htpb]
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
105 \begin{center}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
106 \small
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
107 \begin{tabular}[htpb]{|c||c|}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
108 \hline
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
109 File Types & directoryやregular fileなど,ファイルの種類 \\
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
110 \hline
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
111 Permissions & read write executeの実行可否\\
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
112 \hline
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
113 UID & ファイル所有者のID \\
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
114 \hline
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
115 GID & ファイル所有グループのID \\
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
116 \hline
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
117 File Size & ファイルのサイズ \\
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
118 \hline
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
119 Time Stamps & ファイル作成,編集日時 \\
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
120 \hline
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
121 Number of link & ハードリンクの数 \\
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
122 \hline
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
123 Location on hard disk & データのアドレス\\
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
124 \hline
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
125 \end{tabular}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
126 \caption{inodeでのファイル属性情報}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
127 \label{table:inode}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
128 \end{center}
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
129 \end{table}
1
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 \chapter{GearsFileSystemのdirectory}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 \section{Treeによるdirectory構造}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 \section{Unix Like な interface}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 \subsection{mkdir}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 \subsection{ls}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 \subsection{cd}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 \section{inodeを用いたdirectory entry}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 \section{非破壊的編集によるBackup}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 \chapter{File構造}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 \section{I/O Stream}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 \section{logによるバージョン管理}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 \chapter{WordCount}
4
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
145 WordCount例題\cite{file}はGearsOSのファイルシステムを構築する際に用いてる例題である.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
146 指定したファイルの文字数や行数,ファイルの内の文字列を出力する.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
147 図\ref{fig:WCStates}はWordCount例題の処理の流れを示している.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
148 大きく分けて,指定したファイルをFile構造体としてopenするFileOpenスレッド,
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
149 File構造体を受け取り文字数と行数をcountUpするWordCountスレッドの二つのCodeGearで記述することができる.
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
150 ファイル内の文字列を行ごとにCountUpに送信し,EOFを受け取ったらループを抜けfinishに移行する.
1
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 \section{API}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 \section{GearBox的な処理}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 \chapter{今後の課題}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 \section{分散ファイルシステム}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 \section{GearsAgda}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 \section{shell}
905f551ddf59 add: table of contents
matac42 <matac@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 \section{モデル検査}