changeset 9:71f4897e70eb

add
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 02 Dec 2014 03:36:17 +0900
parents 5172ca8b437a
children 4ebf515b51da
files s6/2014_12_02.html
diffstat 1 files changed, 147 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s6/2014_12_02.html	Tue Dec 02 03:36:17 2014 +0900
@@ -0,0 +1,147 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset='utf-8'>
+    <title>Presen</title>
+
+
+    <!-- style sheet links -->
+    <link rel="stylesheet/less" href="themes/blank/projection.css.less"  media="screen,projection">
+    <link rel="stylesheet/less" href="themes/blank/screen.css.less"      media="screen">
+    <link rel="stylesheet/less" href="themes/blank/print.css.less"       media="print">
+
+    <link rel="stylesheet/less" href="blank.css.less"    media="screen,projection">
+
+    <!-- add js libs (less, jquery) -->
+    <script src="js/less-1.1.4.min.js"></script>
+    <script src="js/jquery-1.7.min.js"></script>
+
+    <!-- S6 JS -->
+    <script src="js/jquery.slideshow.js"></script>
+    <script src="js/jquery.slideshow.counter.js"></script>
+    <script src="js/jquery.slideshow.controls.js"></script>
+    <script src="js/jquery.slideshow.footer.js"></script>
+    <script src="js/jquery.slideshow.autoplay.js"></script>
+    <script>
+      $(document).ready( function() {
+      Slideshow.init();
+      
+      // Example 2: Start Off in Outline Mode
+      // Slideshow.init( { mode: 'outline' } );
+      
+      // Example 3: Use Custom Transition
+      // Slideshow.transition = transitionScrollUp;
+      // Slideshow.init();
+
+      // Example 4: Start Off in Autoplay Mode with Custom Transition
+      // Slideshow.transition = transitionScrollUp;
+      // Slideshow.init( { mode: 'autoplay' } );
+      } );
+    </script>
+
+  </head>
+  <body>
+
+    <div class="layout">
+      <div id="header"></div>
+      <div id="footer">
+        <div align="right">
+          <img src="images/concurrency.png" width="200">
+        </div>
+      </div>
+    </div>
+
+    <div class="presentation">
+
+      <!-- add slides here; example -->
+      
+      <div class='slide cover'>
+        <table width="90%" height="90%" border="0" align="center">
+          <tr>
+            <td><div align="center">
+                <h1><font color="#808db5">CbCにおけるデータセグメントの設計</font></h1>
+            </div></td>
+          </tr>
+          <tr>
+            <td><div align="left">
+                Kaito Tokumori
+                <script>
+                  var date = new Date();
+                  var year = date.getFullYear();
+                  var month = date.getMonth();
+                  var day = date.getDate();
+                  
+                  var monthList = new Array("January","February","March","April","May","June",
+                  "July","August","September","October","November","December");
+                  
+                  document.write(monthList[month]+" "+day+", "+year);
+                  
+                </script>
+                <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:300%;height:0.2em;">
+            </div></td>
+          </tr>
+        </table>
+      </div>
+      
+      <div class='slide'>
+        <h3>研究目的</h3>
+        <p>当研究室ではプログラムをコードセグメント、データセグメントという単位を用いて書くという手法を提案しており、その手法を用いてプログラミングを行う言語として"CbC"の開発を行っている。</p>
+        <p>CbCにおいてコードセグメントは処理の単位に相当し、データセグメントはその対象となるデータの単位となる。</p>
+        <p>データセグメントは C の構造体のように複数のデータ型の値を持つことができ、後から拡張することが可能である。また、構造を示すシグネチャを持ち、それを参照することで異なるバージョンのプログラム間でも正しく動作することが可能になる。</p>
+      </div>
+
+      <div class='slide'>
+        <h3>今週やったこと</h3>
+        <ul>
+          <li>data segmnet の実装について考える
+        </ul>
+      </div>
+
+      <div class='slide'>
+        <h3>data segmentの宣言, アクセス</h3>
+        <pre class='code'>
+int main() {
+  __data ds; // declaration
+  goto code1(ds);
+}
+
+// deta segment definition should be generated automatically.
+__code code1(input inds, output outds){
+        :
+  inds.intdata = 1; // access
+  inds.string = "data segment";
+        :
+}
+        </pre>
+        <ul>
+          <li>宣言したいときは型として __data を使う。 
+          <li>data segmentの定義は自動的に生成する。
+            <ul>
+              <li>__data を目印に、そこからアクセスされている値の型を推定する。
+              <li>__data 用に型を用意しておいてLLVM IRにコンパイルするときに型を決めてあげればいける?
+            </ul>
+          <li>accessの仕方は構造体に倣う。
+        </ul>
+      </div>
+
+      <div class='slide'>
+        <h3>data segmentの実装</h3>
+        <ul>
+          <li>message pack
+          <li>localではmessage packの一つ手前の状態にしておきたい。
+            <ul>
+              <li>javaのライブラリがもってるValueクラスのような。
+              <li>c用のmessage packライブラリでは値を渡されたらすぐにバイト列に変換される。
+            </ul>
+          <li>message packのフォーマットでは各要素の先頭に型情報を持っているから位置と名前を持っておけば特定のデータだけデシリアライズできる。型の照合もこれでできるはず。
+            <ul>
+              <li>meta data segmentとして持つことになるはず。
+              <li>型、位置、名前の三つを持たせてこれだけ見て照合できるようにするほうが良い?
+              <li>message packのtype format
+            </ul>
+        </ul>
+      </div>
+
+    </div> <!-- presentation -->
+  </body>
+</html>