Mercurial > hg > Papers > 2019 > ikki-sigos
changeset 23:8a3b1147329e
Revise 5/29 20:25
author | ichikitakahiro <e165713@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 29 May 2019 20:25:54 +0900 |
parents | e7239fe266f0 |
children | a263efdfdab5 |
files | slide/prosym.html slide/prosym.md slide/prosym.pdf.html |
diffstat | 3 files changed, 115 insertions(+), 91 deletions(-) [+] |
line wrap: on
line diff
--- a/slide/prosym.html Wed May 29 19:55:57 2019 +0900 +++ b/slide/prosym.html Wed May 29 20:25:54 2019 +0900 @@ -157,7 +157,7 @@ public static void main(String[] args){ CodeGearManager cgm = createCGM(10000); #ポート番号を指定してCGMを立ち上げ。 - cgm.setup(new HelloWorldCodeGear()); #立ち上げたCGMへDGを待ちあわせる。 + cgm.setup(new HelloWorldCodeGear()); #立ち上げたCGMへCGを待ちあわせる。 cgm.getLocalDGM().put("helloWorld","hello"); #key "helloWorld"にhelloをput cgm.getLocalDGM().put("helloWorld","world"); } @@ -195,6 +195,7 @@ <!-- _S9SLIDE_ --> <h2 id="dgm">DGM</h2> <ul> + <li>DGMは分散システムの肝となる他のノード間とのデータのやり取りの際に重要となる。</li> <li>DGMにはLocalDGMとRemoteDGMが存在する。 <ul> <li>LocalDGM @@ -226,6 +227,39 @@ <div class='slide'> <!-- _S9SLIDE_ --> +<h2 id="annottation">Annottation</h2> +<ul> + <li>ChristieではInputDGの指定にはアノテーションを使う。</li> + <li>アノテーションとはクラスやメソッド、パッケージに対して、付加情報を記述できるJavaのMeta Computationである。</li> + <li>先頭に@をつけることで記述する。オリジナルのアノテーションを定義することもでき、Input +される型の変数を直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。</li> +</ul> + +<pre><code class="language-cc">package christie.example.HelloWorld; + +import christie.annotation.Take; +import christie.codegear.CodeGear; +import christie.codegear.CodeGearManager; + +public class HelloWorldCodeGear extends CodeGear { + @Take + String helloWorld; + + @Override + protected void run(CodeGearManager cgm) { + System.out.print(helloWorld + " "); + cgm.setup(new HelloWorldCodeGear()); + } +} + +</code></pre> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> <h2 id="dgのアノテーション">DGのアノテーション</h2> <ul> <li>DGを取り出す際にはCG内で宣言した変数にアノテーションをつける。DGアノテーションには @@ -261,39 +295,6 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h2 id="annottation">Annottation</h2> -<ul> - <li>ChristieではInputDGの指定にはアノテーションを使う。</li> - <li>アノテーションとはクラスやメソッド、パッケージに対して、付加情報を記述できるJavaのMeta Computationである。</li> - <li>先頭に@をつけることで記述し、オリジナルのアノテーションを定義することもできるInput -となる型の変するを直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。</li> -</ul> - -<pre><code class="language-cc">package christie.example.HelloWorld; - -import christie.annotation.Take; -import christie.codegear.CodeGear; -import christie.codegear.CodeGearManager; - -public class HelloWorldCodeGear extends CodeGear { - @Take - String helloWorld; - - @Override - protected void run(CodeGearManager cgm) { - System.out.print(helloWorld + " "); - cgm.setup(new HelloWorldCodeGear()); - } -} - -</code></pre> - - - -</div> - -<div class='slide'> - <!-- _S9SLIDE_ --> <h2 id="topologymanager">TopologyManager</h2> <ul> <li>TopologyManagerとはTopologyを形成のために、参加を表明したノード、TopologyNodeに名前を与え、必要があればノード同士の配線を行うノードである。</li> @@ -316,7 +317,18 @@ <img src="../paper/images/ring.svg" alt="MetaGear" width="250" /> </div> -<p>##ブロックチェーン</p> + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="ブロックチェーン">ブロックチェーン</h2> +<ul> + <li>ネットワーク構築方式の一つである。データ情報をまとめたものをブロックと呼び、ブロックが連鎖的につながるっている形となる。</li> + <li>ノード一つにつき一つのブロックを持ち合わせるが、その間でデータの差異が生じた際に他のノードの総意によって選択し、差異の解消を行う。</li> + <li>ブロックチェーンはP2P(Peer to Peer)の形にてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが対等な関係にある。</li> +</ul> @@ -326,7 +338,6 @@ <!-- _S9SLIDE_ --> <h2 id="ブロックチェーンのトランザクション">ブロックチェーンのトランザクション</h2> <ul> - <li>ブロックチェーンはP2Pにてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが対等な関係にある。</li> <li>ブロックチェーンにおけるブロックは複数のトランザクションをまとめたものである。ブロックは基本的に以下の要素によって構成される。 <ul> <li>BlockHeader
--- a/slide/prosym.md Wed May 29 19:55:57 2019 +0900 +++ b/slide/prosym.md Wed May 29 20:25:54 2019 +0900 @@ -45,7 +45,7 @@ public static void main(String[] args){ CodeGearManager cgm = createCGM(10000); #ポート番号を指定してCGMを立ち上げ。 - cgm.setup(new HelloWorldCodeGear()); #立ち上げたCGMへDGを待ちあわせる。 + cgm.setup(new HelloWorldCodeGear()); #立ち上げたCGMへCGを待ちあわせる。 cgm.getLocalDGM().put("helloWorld","hello"); #key "helloWorld"にhelloをput cgm.getLocalDGM().put("helloWorld","world"); } @@ -73,6 +73,7 @@ --> ## DGM +- DGMは分散システムの肝となる他のノード間とのデータのやり取りの際に重要となる。 - DGMにはLocalDGMとRemoteDGMが存在する。 - LocalDGM - LocalなDGMのプールのkeyにデータの書き込みを行う。 @@ -88,25 +89,11 @@ - RocalDGMを立ち上げるにはDataSegmentクラスが提供する、connectメソッドを用い、接続したいポートのipアドレスとport番号、そして任意のManager名を指定することで立ち上げる。 --> - -## DGのアノテーション -- DGを取り出す際にはCG内で宣言した変数にアノテーションをつける。DGアノテーションには -Take、Peek、TakeFrom、PeekFrom、の4つがある。 - - Take - - 先頭のDGを読み込み、そのDGを削除する。 - - Peek - - 先頭のDGを読み込むが、DGが消去されない。そのため特に操作をしない場合、同じデータを参照し続ける。 - - TakeFrom - - Remote DGM nameを指定することで、その接続先のDGM からTake操作をおこえる。 - - PeekFrom - - Remote DGM nameを指定することで、その接続先のDGM からPeek操作をおこえる。 - - ## Annottation - ChristieではInputDGの指定にはアノテーションを使う。 - アノテーションとはクラスやメソッド、パッケージに対して、付加情報を記述できるJavaのMeta Computationである。 -- 先頭に@をつけることで記述し、オリジナルのアノテーションを定義することもできるInput -となる型の変するを直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。 +- 先頭に@をつけることで記述する。オリジナルのアノテーションを定義することもでき、Input +される型の変数を直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。 ```cc package christie.example.HelloWorld; @@ -128,6 +115,19 @@ ``` +## DGのアノテーション +- DGを取り出す際にはCG内で宣言した変数にアノテーションをつける。DGアノテーションには +Take、Peek、TakeFrom、PeekFrom、の4つがある。 + - Take + - 先頭のDGを読み込み、そのDGを削除する。 + - Peek + - 先頭のDGを読み込むが、DGが消去されない。そのため特に操作をしない場合、同じデータを参照し続ける。 + - TakeFrom + - Remote DGM nameを指定することで、その接続先のDGM からTake操作をおこえる。 + - PeekFrom + - Remote DGM nameを指定することで、その接続先のDGM からPeek操作をおこえる。 + + ## TopologyManager - TopologyManagerとはTopologyを形成のために、参加を表明したノード、TopologyNodeに名前を与え、必要があればノード同士の配線を行うノードである。 - TopologyManagerのTopology形成方法として、静的Topologyと動的Topologyがある。 @@ -146,10 +146,12 @@ <img src="../paper/images/ring.svg" alt="MetaGear" width="250"> </div> -##ブロックチェーン +## ブロックチェーン +- ネットワーク構築方式の一つである。データ情報をまとめたものをブロックと呼び、ブロックが連鎖的につながるっている形となる。 +- ノード一つにつき一つのブロックを持ち合わせるが、その間でデータの差異が生じた際に他のノードの総意によって選択し、差異の解消を行う。 +- ブロックチェーンはP2P(Peer to Peer)の形にてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが対等な関係にある。 ## ブロックチェーンのトランザクション -- ブロックチェーンはP2Pにてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが対等な関係にある。 - ブロックチェーンにおけるブロックは複数のトランザクションをまとめたものである。ブロックは基本的に以下の要素によって構成される。 - BlockHeader - previous block
--- a/slide/prosym.pdf.html Wed May 29 19:55:57 2019 +0900 +++ b/slide/prosym.pdf.html Wed May 29 20:25:54 2019 +0900 @@ -141,7 +141,7 @@ public static void main(String[] args){ CodeGearManager cgm = createCGM(10000); #ポート番号を指定してCGMを立ち上げ。 - cgm.setup(new HelloWorldCodeGear()); #立ち上げたCGMへDGを待ちあわせる。 + cgm.setup(new HelloWorldCodeGear()); #立ち上げたCGMへCGを待ちあわせる。 cgm.getLocalDGM().put("helloWorld","hello"); #key "helloWorld"にhelloをput cgm.getLocalDGM().put("helloWorld","world"); } @@ -179,6 +179,7 @@ <!-- _S9SLIDE_ --> <h2 id="dgm">DGM</h2> <ul> + <li>DGMは分散システムの肝となる他のノード間とのデータのやり取りの際に重要となる。</li> <li>DGMにはLocalDGMとRemoteDGMが存在する。 <ul> <li>LocalDGM @@ -210,6 +211,39 @@ <div class='slide'> <!-- _S9SLIDE_ --> +<h2 id="annottation">Annottation</h2> +<ul> + <li>ChristieではInputDGの指定にはアノテーションを使う。</li> + <li>アノテーションとはクラスやメソッド、パッケージに対して、付加情報を記述できるJavaのMeta Computationである。</li> + <li>先頭に@をつけることで記述する。オリジナルのアノテーションを定義することもでき、Input +される型の変数を直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。</li> +</ul> + +<pre><code class="language-cc">package christie.example.HelloWorld; + +import christie.annotation.Take; +import christie.codegear.CodeGear; +import christie.codegear.CodeGearManager; + +public class HelloWorldCodeGear extends CodeGear { + @Take + String helloWorld; + + @Override + protected void run(CodeGearManager cgm) { + System.out.print(helloWorld + " "); + cgm.setup(new HelloWorldCodeGear()); + } +} + +</code></pre> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> <h2 id="dgのアノテーション">DGのアノテーション</h2> <ul> <li>DGを取り出す際にはCG内で宣言した変数にアノテーションをつける。DGアノテーションには @@ -245,39 +279,6 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h2 id="annottation">Annottation</h2> -<ul> - <li>ChristieではInputDGの指定にはアノテーションを使う。</li> - <li>アノテーションとはクラスやメソッド、パッケージに対して、付加情報を記述できるJavaのMeta Computationである。</li> - <li>先頭に@をつけることで記述し、オリジナルのアノテーションを定義することもできるInput -となる型の変するを直接宣言し、変数名としてkeyを記述する。その上にアノテーションでTakeもしくはPeekを指定する。</li> -</ul> - -<pre><code class="language-cc">package christie.example.HelloWorld; - -import christie.annotation.Take; -import christie.codegear.CodeGear; -import christie.codegear.CodeGearManager; - -public class HelloWorldCodeGear extends CodeGear { - @Take - String helloWorld; - - @Override - protected void run(CodeGearManager cgm) { - System.out.print(helloWorld + " "); - cgm.setup(new HelloWorldCodeGear()); - } -} - -</code></pre> - - - -</div> - -<div class='slide'> - <!-- _S9SLIDE_ --> <h2 id="topologymanager">TopologyManager</h2> <ul> <li>TopologyManagerとはTopologyを形成のために、参加を表明したノード、TopologyNodeに名前を与え、必要があればノード同士の配線を行うノードである。</li> @@ -300,7 +301,18 @@ <img src="../paper/images/ring.svg" alt="MetaGear" width="250" /> </div> -<p>##ブロックチェーン</p> + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="ブロックチェーン">ブロックチェーン</h2> +<ul> + <li>ネットワーク構築方式の一つである。データ情報をまとめたものをブロックと呼び、ブロックが連鎖的につながるっている形となる。</li> + <li>ノード一つにつき一つのブロックを持ち合わせるが、その間でデータの差異が生じた際に他のノードの総意によって選択し、差異の解消を行う。</li> + <li>ブロックチェーンはP2P(Peer to Peer)の形にてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが対等な関係にある。</li> +</ul> @@ -310,7 +322,6 @@ <!-- _S9SLIDE_ --> <h2 id="ブロックチェーンのトランザクション">ブロックチェーンのトランザクション</h2> <ul> - <li>ブロックチェーンはP2Pにてネットワーク間が動作している。つまり、ブロックチェーンにはサーバー、クライアントの区別がなく全てのノードが対等な関係にある。</li> <li>ブロックチェーンにおけるブロックは複数のトランザクションをまとめたものである。ブロックは基本的に以下の要素によって構成される。 <ul> <li>BlockHeader