diff presen/slide.html @ 26:8644cade9765

update
author mir3636
date Thu, 16 Feb 2017 09:19:18 +0900
parents 327435666caa
children fecc23286565
line wrap: on
line diff
--- a/presen/slide.html	Thu Feb 16 08:14:21 2017 +0900
+++ b/presen/slide.html	Thu Feb 16 09:19:18 2017 +0900
@@ -87,7 +87,7 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.2.0 (2014-12-25) [x86_64-darwin13]
-                on 2017-02-16 08:10:32 +0900 with Markdown engine kramdown (1.9.0)
+                on 2017-02-16 09:18:39 +0900 with Markdown engine kramdown (1.9.0)
                   using options {}
   -->
 
@@ -106,6 +106,7 @@
 <!-- _S9SLIDE_ -->
 <h1 id="code-gear--data-gear">Code Gear と Data Gear</h1>
 <ul>
+  <li>Code Gear とはプログラムの処理の単位である。</li>
   <li>Code Gear は関数に比べて細かく分割されているので Meta Computation をより柔軟に記述できる。</li>
   <li>Data Gear はデータの単位であり、Code Gear は 任意の数の Input Data Gear を参照して処理を行い、Output Data Gear を出力し処理を終える。</li>
 </ul>
@@ -150,7 +151,7 @@
 <!-- _S9SLIDE_ -->
 <h1 id="context">Context</h1>
 <ul>
-  <li>Gears OS では Context と呼ばれる接続可能な Code/Data Gear のリスト、Temporal Data Gear のためのメモリ空間等を持っている Meta Data Gear がある。</li>
+  <li>Gears OS には Context と呼ばれる接続可能な Code/Data Gear のリスト、Temporal Data Gear のためのメモリ空間等を持っている Meta Data Gear がある。</li>
   <li>Gears OSは必要なCode/DataGearに参照したい場合、このContext を通す必要がある。</li>
 </ul>
 
@@ -213,7 +214,7 @@
 <ul lang="impl">
   <li>interface を記述することで Context を通して Code Gear が参照できるようになった。</li>
   <li>create は関数呼び出しで呼び出され、interface と impliment の初期化と Code Gear のポインタの設定を行う。</li>
-  <li>return で interface を返し、その先で指定した Code Gear へ継続できるようになる。</li>
+  <li>return で interface を返し、その先で inter face の持つ Code Gear へと継続できるようになる。</li>
 </ul>
 <pre><code>Stack* createSingleLinkedStack(struct Context* context) {
     struct Stack* stack = new Stack();
@@ -235,7 +236,7 @@
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="contextstub-code-segment-">Context、stub Code Segment の自動生成</h1>
+<h1 id="contextstub-code-gear-">Context、stub Code Gear の自動生成</h1>
 <ul>
   <li>Gears OS では通常の計算の他に Context や stub などの meta computation を記述する必要がある。</li>
   <li>現在の CbC で Gears OS を記述すると、この meta computation の記述も行わなくてはならず、これには多くの労力を要する。</li>
@@ -246,10 +247,26 @@
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="generate-context">generate context</h1>
+<h1 id="stub-code-gear-">stub Code Gear の生成</h1>
 <ul>
-  <li>generate_stub は指定された cbc ファイルの __code型である Code Gear を取得</li>
-  <li>generate_context は context.h から Data Gear、c ファイルから Code Gear の取得
+  <li>stub Code Gear は Code Gear 間の継続に挟まれ、Code Gear が必要な Data Gear を Context から取り出す処理を行うものである。</li>
+  <li>stub Code Gear は Code Gear 毎に記述する必要があり、そのCode Gear の引数を見て取り出す Data Gear を選択する。</li>
+  <li>generate_stub は指定された cbc ファイルの __code型である Code Gear を取得。</li>
+  <li>引数と interface を照らし合わせ、Gearef または GearImpl を決定する。</li>
+  <li>cbc ファイルのから、生成した stub Code Gear を加えて、c ファイルを生成する。</li>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="context-">Context の生成</h1>
+<ul>
+  <li>Context は Meta Data Gear に相当し、Code Gear や Data Gear を管理している。</li>
+  <li>generate_context は context.h から Data Gear、c ファイルから Code Gear を取得。</li>
+  <li>取得した Code/Data Gear の enum の定義は enumCode.h、enumData.h に生成される。</li>
+  <li>generate_context は取得した Code/Data Gear から Context の生成を行うコードを生成する。</li>
+  <li>これらを自動生成することで Gears OS の記述量を約半分にすることができます。
 <img src="./fig/generate_context.svg" alt="message" width="800" /></li>
 </ul>