changeset 16:ed9bace4039e

add slide
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Sat, 05 Feb 2022 06:07:28 +0900
parents 689b16feab3f
children f4a719e93ded
files Paper/images/newGearsFile.graffle.graffle Paper/images/newGearsFile.pdf slide/images/meta-cg-dg.pdf slide/thesis.html slide/thesis.md slide/thesis.pdf.html
diffstat 6 files changed, 137 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
Binary file Paper/images/newGearsFile.graffle.graffle has changed
Binary file Paper/images/newGearsFile.pdf has changed
Binary file slide/images/meta-cg-dg.pdf has changed
--- a/slide/thesis.html	Sat Feb 05 04:55:21 2022 +0900
+++ b/slide/thesis.html	Sat Feb 05 06:07:28 2022 +0900
@@ -197,12 +197,67 @@
 <ul>
   <li>CodeGearとDataGearにはメタレベルのものが存在する
     <ul>
-      <li>それぞれstubCodeGearとstubDataGearと呼ぶ</li>
+      <li>MetaCodeGear
+        <ul>
+          <li>CodeGearの処理前と処理後に参照される</li>
+          <li>Input/OutputDataGearを引き渡す</li>
+          <li>CodeGear処理前に呼ばれるものを特にstubCodeGearと呼ぶ</li>
+        </ul>
+      </li>
+      <li>MetaDataGear
+        <ul>
+          <li>MetaCodeGearにて参照されるDataGear</li>
+        </ul>
+      </li>
     </ul>
   </li>
   <li>ユーザーが記述する上では普段は意識しない</li>
 </ul>
 
+<div style="text-align: center;">
+ <img src="images/meta-cg-dg.pdf" alt="ノーマルレベルとメタレベルの視点からのGearの関係" width="800" />
+</div>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="gearsosのinterface">GearsOSのInterface</h2>
+<ul>
+  <li>定義ファイル(.h)に記述を行う</li>
+  <li>APIとなるCodeGearとその参照するDataGearを宣言する</li>
+  <li>コンパイル時にContext(後述)に取り込まれる
+    <ul>
+      <li>CodeGear/DataGearの一時的な置き場でもある</li>
+      <li>DataGearは全て共用型(Union Data型)で管理される
+        <pre><code>typedef struct Queue&lt;&gt;{
+union Data* queue;
+union Data* data;
+
+__code whenEmpty(...);
+__code clear(Impl* queue, __code next(...));
+__code put(Impl* queue, union Data* data, __code next(...));
+__code take(Impl* queue, __code next(union Data* data, ...));
+__code isEmpty(Impl* queue, __code next(...), __code whenEmpty(...));
+__code next(...);
+} Queue;
+</code></pre>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="gearsosのimplementation">GearsOSのImplementation</h2>
+<p>-</p>
+
 
 
 </div>
--- a/slide/thesis.md	Sat Feb 05 04:55:21 2022 +0900
+++ b/slide/thesis.md	Sat Feb 05 06:07:28 2022 +0900
@@ -72,6 +72,31 @@
  <img src="images/meta-cg-dg.pdf" alt="ノーマルレベルとメタレベルの視点からのGearの関係" width="800">
 </div>
 
+## GearsOSのInterface
+- 定義ファイル(.h)に記述を行う
+- APIとなるCodeGearとその参照するDataGearを宣言する
+- コンパイル時にContext(後述)に取り込まれる
+  - CodeGear/DataGearの一時的な置き場でもある
+  - DataGearは全て共用型(Union Data型)で管理される
+```
+typedef struct Queue<>{
+    union Data* queue;
+    union Data* data;
+
+    __code whenEmpty(...);
+    __code clear(Impl* queue, __code next(...));
+    __code put(Impl* queue, union Data* data, __code next(...));
+    __code take(Impl* queue, __code next(union Data* data, ...));
+    __code isEmpty(Impl* queue, __code next(...), __code whenEmpty(...));
+    __code next(...);
+} Queue;
+```
+
+
+
+## GearsOSのImplementation
+- Impl
+
 ## テスト用テキストエディタ
 
 ```
--- a/slide/thesis.pdf.html	Sat Feb 05 04:55:21 2022 +0900
+++ b/slide/thesis.pdf.html	Sat Feb 05 06:07:28 2022 +0900
@@ -181,12 +181,67 @@
 <ul>
   <li>CodeGearとDataGearにはメタレベルのものが存在する
     <ul>
-      <li>それぞれstubCodeGearとstubDataGearと呼ぶ</li>
+      <li>MetaCodeGear
+        <ul>
+          <li>CodeGearの処理前と処理後に参照される</li>
+          <li>Input/OutputDataGearを引き渡す</li>
+          <li>CodeGear処理前に呼ばれるものを特にstubCodeGearと呼ぶ</li>
+        </ul>
+      </li>
+      <li>MetaDataGear
+        <ul>
+          <li>MetaCodeGearにて参照されるDataGear</li>
+        </ul>
+      </li>
     </ul>
   </li>
   <li>ユーザーが記述する上では普段は意識しない</li>
 </ul>
 
+<div style="text-align: center;">
+ <img src="images/meta-cg-dg.pdf" alt="ノーマルレベルとメタレベルの視点からのGearの関係" width="800" />
+</div>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="gearsosのinterface">GearsOSのInterface</h2>
+<ul>
+  <li>定義ファイル(.h)に記述を行う</li>
+  <li>APIとなるCodeGearとその参照するDataGearを宣言する</li>
+  <li>コンパイル時にContext(後述)に取り込まれる
+    <ul>
+      <li>CodeGear/DataGearの一時的な置き場でもある</li>
+      <li>DataGearは全て共用型(Union Data型)で管理される
+        <pre><code>typedef struct Queue&lt;&gt;{
+union Data* queue;
+union Data* data;
+
+__code whenEmpty(...);
+__code clear(Impl* queue, __code next(...));
+__code put(Impl* queue, union Data* data, __code next(...));
+__code take(Impl* queue, __code next(union Data* data, ...));
+__code isEmpty(Impl* queue, __code next(...), __code whenEmpty(...));
+__code next(...);
+} Queue;
+</code></pre>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="gearsosのimplementation">GearsOSのImplementation</h2>
+<p>-</p>
+
 
 
 </div>