comparison final_main/chapter3.tex @ 30:876ee5de1088 default tip

add graffle
author mir3636
date Sun, 14 May 2017 18:47:56 +0900 (2017-05-14)
parents 37f6991465b0
children
comparison
equal deleted inserted replaced
29:77e8dfb995b3 30:876ee5de1088
4 Data Gear はデータの単位であり、int や文字列などの Primitive Type を持っている。 4 Data Gear はデータの単位であり、int や文字列などの Primitive Type を持っている。
5 Code Gear は 任意の数の Input Data Gear を参照して処理を行い、Output Data Gear を出力し処理を終える。 5 Code Gear は 任意の数の Input Data Gear を参照して処理を行い、Output Data Gear を出力し処理を終える。
6 また、接続された Data Gear 以外には参照を行わない。 6 また、接続された Data Gear 以外には参照を行わない。
7 処理やデータの構造が Code Gear、Data Gear に閉じているため、これにより実行時間、メモリ使用量などを予測可能なものにすることが可能になる。 7 処理やデータの構造が Code Gear、Data Gear に閉じているため、これにより実行時間、メモリ使用量などを予測可能なものにすることが可能になる。
8 8
9 Gears OS では Meta Computation を Meta Code Gear、Meta Data Gear で表現する。 9 Gears OS ではメタ計算を、Meta Code Gear、Meta Data Gear で表現する。
10 Meta Code Gear は通常のCode Gear の直後に遷移され、Meta Computation を実行する。 10 Meta Code Gear は通常のCode Gear の直後に遷移され、メタ計算を実行する。
11 11
12 CbC は Code Gear を処理の単位として用いたプログラミング言語であるため、Gears OS の Code Gear を記述するのに適している。 12 CbC は Code Gear を処理の単位として用いたプログラミング言語であるため、Gears OS の Code Gear を記述するのに適している。
13 13
14 図\ref{fig:gearsos} に Gears OS の構成図を示す。 14 図\ref{fig:gearsos} に Gears OS の構成図を示す。
15 15
37 %Context や stub は Meta Computation であるため。 37 %Context や stub は Meta Computation であるため。
38 38
39 39
40 \section{interface の記述} 40 \section{interface の記述}
41 41
42 interface を記述することで Context を通して Code Gear が参照できるようになった。 42 interface を記述することでデータ構造のapiと Data Gear を結びつけることが出来、呼び出しが容易になった。
43 create は関数呼び出しで呼び出され、interface と impliment の初期化と Code Gear のポインタの設定を行う。 43 create は関数呼び出しで呼び出され、interface と impliment の初期化と Code Gear のポインタの設定を行う。
44 return で interface を返し、その先で指定した Code Gear へ継続できるようになる。 44 return で interface を返し、その先で Code Gear や Data Gear へ継続できるようになる。
45 45
46 \begin{lstlisting}[frame=lrbt,label=interface,caption={interface}] 46 \begin{lstlisting}[frame=lrbt,label=interface,caption={interface}]
47 typedef struct Stack<Impl>{ 47 typedef struct Stack<Impl>{
48 union Data* stack; 48 union Data* stack;
49 union Data* data; 49 union Data* data;