Mercurial > hg > Papers > 2015 > nozomi-sigos
comparison presen/sigOS/sample.html @ 23:7de82f13512b default tip
last update
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 08 Jul 2015 17:34:13 +0900 |
parents | 1f1b1f962ff1 |
children |
comparison
equal
deleted
inserted
replaced
22:1f1b1f962ff1 | 23:7de82f13512b |
---|---|
128 <!-- _S9SLIDE_ --> | 128 <!-- _S9SLIDE_ --> |
129 | 129 |
130 <ul> | 130 <ul> |
131 <li>DS の集合体であるデータベースを Alice では DS Manager(DSM) と呼ぶ。 </li> | 131 <li>DS の集合体であるデータベースを Alice では DS Manager(DSM) と呼ぶ。 </li> |
132 <li>DSM 内の DS には対になる String型のkey が存在し、 DSM 名と key を指定しすることで DS の保存、取得を行う。</li> | 132 <li>DSM 内の DS には対になる String型のkey が存在し、 DSM 名と key を指定しすることで DS の保存、取得を行う。</li> |
133 <li>DS の追加<br /> | 133 <li>DS の保存<br /> |
134 put(String managerKey, String key, Object val) </li> | 134 put(String managerKey, String key, Object val) </li> |
135 <li>DS の取得<br /> | 135 <li>DS の取得<br /> |
136 take(String managerKey, String key) </li> | 136 take(String managerKey, String key) </li> |
137 </ul> | 137 </ul> |
138 | 138 |
223 <section> | 223 <section> |
224 <header> | 224 <header> |
225 <h1 id="cs--">Code Segment の 例</h1> | 225 <h1 id="cs--">Code Segment の 例</h1> |
226 </header> | 226 </header> |
227 <span>2つのノード間で、RemoteDSMからデータをtakeしインクリメントしてLocalDSMにputを10回繰り返す</span> | 227 <span>2つのノード間で、RemoteDSMからデータをtakeしインクリメントしてLocalDSMにputを10回繰り返す</span> |
228 <img src="./pictures/remoteTest.svg" alt="opt" align="center"/> | 228 <img src="./images/remoteTest.svg" alt="opt" align="center"/> |
229 </div></div> | 229 </div></div> |
230 | 230 |
231 <div class="slide" id="13"><div> | 231 <div class="slide" id="13"><div> |
232 <section> | 232 <section> |
233 <header> | 233 <header> |
334 <pre><code style="font-size:13pt" lang="java"> | 334 <pre><code style="font-size:13pt" lang="java"> |
335 public class Increment extends CodeSegment { | 335 public class Increment extends CodeSegment { |
336 public Receiver receiver = ids.create(CommandType.TAKE); | 336 public Receiver receiver = ids.create(CommandType.TAKE); |
337 @Override | 337 @Override |
338 public void run() { | 338 public void run() { |
339 <span style="color:red;">int num = this.r.asClass(Integer.class);</span> | 339 <span style="color:red;">int num = this.receiver.asClass(Integer.class);</span> |
340 num++; | 340 num++; |
341 if (num == 10) System.exit(0); | 341 if (num == 10) System.exit(0); |
342 ods.put("local", "num", num); | 342 ods.put("local", "num", num); |
343 Increment nextCS = new RemoteIncrement(); | 343 Increment nextCS = new RemoteIncrement(); |
344 nextCS.receiver.setKey("remote", "num"); | 344 nextCS.receiver.setKey("remote", "num"); |
358 <pre><code style="font-size:13pt" lang="java"> | 358 <pre><code style="font-size:13pt" lang="java"> |
359 public class Increment extends CodeSegment { | 359 public class Increment extends CodeSegment { |
360 public Receiver receiver = ids.create(CommandType.TAKE); | 360 public Receiver receiver = ids.create(CommandType.TAKE); |
361 @Override | 361 @Override |
362 public void run() { | 362 public void run() { |
363 int num = this.r.asClass(Integer.class); | 363 int num = this.receiver.asClass(Integer.class); |
364 <span style="color:red;">num++;</span> | 364 <span style="color:red;">num++;</span> |
365 if (num == 10) System.exit(0); | 365 if (num == 10) System.exit(0); |
366 ods.put("local", "num", num); | 366 ods.put("local", "num", num); |
367 Increment nextCS = new RemoteIncrement(); | 367 Increment nextCS = new RemoteIncrement(); |
368 nextCS.receiver.setKey("remote", "num"); | 368 nextCS.receiver.setKey("remote", "num"); |
383 <pre><code style="font-size:13pt" lang="java"> | 383 <pre><code style="font-size:13pt" lang="java"> |
384 public class Increment extends CodeSegment { | 384 public class Increment extends CodeSegment { |
385 public Receiver receiver = ids.create(CommandType.TAKE); | 385 public Receiver receiver = ids.create(CommandType.TAKE); |
386 @Override | 386 @Override |
387 public void run() { | 387 public void run() { |
388 int num = this.r.asClass(Integer.class); | 388 int num = this.receiver.asClass(Integer.class); |
389 num++; | 389 num++; |
390 <span style="color:red;">if (num == 10) System.exit(0);</span> | 390 <span style="color:red;">if (num == 10) System.exit(0);</span> |
391 ods.put("local", "num", num); | 391 ods.put("local", "num", num); |
392 Increment nextCS = new RemoteIncrement(); | 392 Increment nextCS = new RemoteIncrement(); |
393 nextCS.receiver.setKey("remote", "num"); | 393 nextCS.receiver.setKey("remote", "num"); |
406 <pre><code style="font-size:13pt" lang="java"> | 406 <pre><code style="font-size:13pt" lang="java"> |
407 public class Increment extends CodeSegment { | 407 public class Increment extends CodeSegment { |
408 public Receiver receiver = ids.create(CommandType.TAKE); | 408 public Receiver receiver = ids.create(CommandType.TAKE); |
409 @Override | 409 @Override |
410 public void run() { | 410 public void run() { |
411 int num = this.r.asClass(Integer.class); | 411 int num = this.receiver.asClass(Integer.class); |
412 num++; | 412 num++; |
413 if (num == 10) System.exit(0); | 413 if (num == 10) System.exit(0); |
414 <span style="color:red;">ods.put("local", "num", num);</span> | 414 <span style="color:red;">ods.put("local", "num", num);</span> |
415 Increment nextCS = new RemoteIncrement(); | 415 Increment nextCS = new RemoteIncrement(); |
416 nextCS.receiver.setKey("remote", "num"); | 416 nextCS.receiver.setKey("remote", "num"); |
430 <pre><code style="font-size:13pt" lang="java"> | 430 <pre><code style="font-size:13pt" lang="java"> |
431 public class Increment extends CodeSegment { | 431 public class Increment extends CodeSegment { |
432 public Receiver receiver = ids.create(CommandType.TAKE); | 432 public Receiver receiver = ids.create(CommandType.TAKE); |
433 @Override | 433 @Override |
434 public void run() { | 434 public void run() { |
435 int num = this.r.asClass(Integer.class); | 435 int num = this.receiver.asClass(Integer.class); |
436 num++; | 436 num++; |
437 if (num == 10) System.exit(0); | 437 if (num == 10) System.exit(0); |
438 ods.put("local", "num", num); | 438 ods.put("local", "num", num); |
439 <span style="color:red;">Increment nextCS = new RemoteIncrement();</span> | 439 <span style="color:red;">Increment nextCS = new RemoteIncrement();</span> |
440 nextCS.receiver.setKey("remote", "num"); | 440 nextCS.receiver.setKey("remote", "num"); |
453 <pre><code style="font-size:13pt" lang="java"> | 453 <pre><code style="font-size:13pt" lang="java"> |
454 public class Increment extends CodeSegment { | 454 public class Increment extends CodeSegment { |
455 public Receiver receiver = ids.create(CommandType.TAKE); | 455 public Receiver receiver = ids.create(CommandType.TAKE); |
456 @Override | 456 @Override |
457 public void run() { | 457 public void run() { |
458 int num = this.r.asClass(Integer.class); | 458 int num = this.receiver.asClass(Integer.class); |
459 num++; | 459 num++; |
460 if (num == 10) System.exit(0); | 460 if (num == 10) System.exit(0); |
461 ods.put("local", "num", num); | 461 ods.put("local", "num", num); |
462 Increment nextCS = new RemoteIncrement(); | 462 Increment nextCS = new RemoteIncrement(); |
463 <span style="color:red;">nextCS.receiver.setKey("remote", "num");</span> | 463 <span style="color:red;">nextCS.receiver.setKey("remote", "num");</span> |
671 </div></div> | 671 </div></div> |
672 | 672 |
673 <div class="slide" id="35"><div> | 673 <div class="slide" id="35"><div> |
674 <section> | 674 <section> |
675 <header> | 675 <header> |
676 <h1 id="alice1---corba">Aliceと他言語等との比較(3) - Corba</h1> | 676 <h1 id="alice1---corba">Aliceと他言語等との比較(3) - CORBA</h1> |
677 </header> | 677 </header> |
678 <!-- _S9SLIDE_ --> | 678 <!-- _S9SLIDE_ --> |
679 | 679 |
680 <ul> | 680 <ul> |
681 <li> | 681 <li> |
682 <p>オブジェクト間のRPC仕様</p> | 682 <p>オブジェクト間のRPC仕様</p> |
683 </li> | 683 </li> |
684 <li>DSがない。keyという概念がない。</li> | 684 <li>DSがない。keyという概念がない。</li> |
685 <li>同期呼び出し・非同期呼び出しが選択できるが、データの待ち合わせがない</li> | 685 <li>データの待ち合わせがない</li> |
686 </ul> | 686 </ul> |
687 | 687 |
688 | 688 |
689 | 689 |
690 </section> | 690 </section> |
696 <h1 id="alice1---http">Aliceと他言語等との比較(4) - HTTP</h1> | 696 <h1 id="alice1---http">Aliceと他言語等との比較(4) - HTTP</h1> |
697 </header> | 697 </header> |
698 <!-- _S9SLIDE_ --> | 698 <!-- _S9SLIDE_ --> |
699 | 699 |
700 <ul> | 700 <ul> |
701 <li>get/putで通信を行う。get/putをRPC的に扱わず、getで取得しputで保存するRESTfulアーキテクチャ。</li> | 701 <li>get/putで通信を行うRESTfulアーキテクチャ</li> |
702 <li> | 702 <li> |
703 <p>URLがデータベースのkeyとなる</p> | 703 <p>URLがデータベースのkeyとなる</p> |
704 </li> | 704 </li> |
705 <li>MIME形式で送信。複数の表現を持つMeta Computationがない。 </li> | 705 <li>MIME形式で送信。複数の表現を持つMeta Computationがない。 </li> |
706 <li>セッション管理はクライアント自身がやる </li> | 706 <li>セッション管理はクライアント自身がやる </li> |