| 1 | [[PageOutline]] |
| 2 | |
| 3 | = Ping-Pong Example = |
| 4 | |
| 5 | == Description == |
| 6 | In this experiment, you will establish a communication protocol within a community. We use a middleware called '''LGI''' (Law-governed interaction) to implement and enforce the protocol. '''LGI''' is developed by [http://www.cs.rutgers.edu/~minsky/ Naftaly Minsky] of Rutgers University. For more information about '''LGI''', please refer to [http://www.moses.rutgers.edu/ here]. |
| 7 | |
| 8 | The protocol we want to establish is a message exchange protocol, at '''application level''', somewhat analogous to the '''flow control''' discipline of TCP/IP. We allow the exchange of two types of messages: '''ping''' messages, which might represent such things as a question, or a request; and '''pong''' messages, used as a reply to a previously received ping messages. The ping-pong policy regulates the flow of messages between any two actors x, y as follows: x cannot send any pong message to y unless y has previously sent a ping message to x; and x cannot send a second ping message to y unless y answers with a pong message to x following the initial ping. |
| 9 | |
| 10 | == Work Flow == |
| 11 | [[Image(acontroller-animate.gif, 30%, nolink)]] |
| 12 | == Topology == |
| 13 | [[Image(ping-pong-topology.png, 35%, nolink)]] |
| 14 | |
| 15 | == Tutorial Instructions == |
| 16 | {{{ |
| 17 | #!html |
| 18 | |
| 19 | |
| 20 | <table id="Table_01" height="409" border="0" cellpadding="0" cellspacing="0"> |
| 21 | <tr> |
| 22 | <td> |
| 23 | <a href="http://groups.geni.net/geni/wiki/JoeSandbox/PingPongExample/DesignSetup"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/design.png?format=raw" width="152" height="152" alt="Design/Setup"></a> |
| 24 | </td> |
| 25 | <td> |
| 26 | <ul> |
| 27 | <li><a href="http://groups.geni.net/geni/wiki/JoeSandbox/PingPongExample/DesignSetup">Part I: Design/Setup</a></li> |
| 28 | <ul> |
| 29 | <li> Lists of steps for setting up the example </li> |
| 30 | </ul></ul> |
| 31 | </td> |
| 32 | </tr> |
| 33 | <tr> |
| 34 | <td> |
| 35 | <a href="http://groups.geni.net/geni/wiki/JoeSandbox/PingPongExample/Execute"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/execute.png?format=raw" width="152" height="143" alt="Execute"></a> |
| 36 | </td> |
| 37 | <td> |
| 38 | <ul> |
| 39 | <li><a href="http://groups.geni.net/geni/wiki/JoeSandbox/PingPongExample/Execute">Part II: Execute</a></li> |
| 40 | <ul> |
| 41 | <li> Lists of steps for executing the example</li> |
| 42 | </ul></ul> |
| 43 | </td> |
| 44 | </tr> |
| 45 | <tr> |
| 46 | <td> |
| 47 | <a href="http://groups.geni.net/geni/wiki/JoeSandbox/PingPongExample/Finish"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/finish.png?format=raw" width="152" height="114" alt="Finish"></a> |
| 48 | </td> |
| 49 | |
| 50 | <td> |
| 51 | <ul> |
| 52 | <li><a href="http://groups.geni.net/geni/wiki/JoeSandbox/PingPongExample/Finish">Part III: Finish</a></li> |
| 53 | <ul> |
| 54 | <li> Lists of steps for tearing down the example</li> |
| 55 | </ul></ul> |
| 56 | </td> |
| 57 | |
| 58 | </tr> |
| 59 | </table> |
| 60 | |
| 61 | }}} |