-Demo purpose
The goal of this demo is to visually show consistent communication between nodes in Isis2 System.

-Demo Scenario
In the large 3D cube displayed in the white frames, balls get to bounce wall to wall. As any of these balls collide with a cube, the cube update its state in corresponding to the ball's current state. Here, since these update events are Isis-multicast and accordingly displayed on each node's side, at any point when none of these events is hanging in the current Isis node group, the rendered state scenes on every node window should be equal.

Specifically,
1. In the initial state(when application begins)
All of the buttons except the "Write Log" are disabled, waiting for the "IsisSystem.Start()" returns.
2. When IsisSystem.Start() returns.
Now, the buttons are enabled, and the first step will be to create/join the Isis group, "IsisCubeDemoNodeGroup".
3. When a Isis node creates/joins the Isis group by a human user's will,
Since each small cube represents a Isis group member, all of the current members should see the newly joined node, and the newly joined one should see the current group members(with cube representation).
4. When a Isis node becomes "an updater" by a human user's will,
It starts to either update/multicast any of the balls' state(position, direction, color, number) or create a new ball at a time. Also, as updating the ball's position, if collision detected with any cube, the updater also multicast cube's new state(color, number). When the group members receive these events, each updates and displays them accordingly.
5. When a update halts by a human user's will,
Since every Isis-hanging event is eventually sent to all of the members, soon, the user can see the equal scene on every node window.


-Installation/Execution direction
1. Go to the download page
2. Unzip the recent version of the binary files.
3. Run the LAUNCH.cmd.

-User Interface
Key O : original view.
Key X : X axis view.
Key Y : Y axis view.
Key Z : Z axis view.
Left Mouse, Key(W,A,S,D) : move camera manually.
button "Write Log" : Write Isis State Log at this time.
button "Make/Join Group" : Make / Join to the Isis group, "IsisCubeDemoNodeGroup"
button "Start" : This node becomes "an updater", which starts to create/update balls and update cubes and multicast the new states to the group.
button "Stop" : This "updater" stops creating/updating balls and updating cubes.

Last edited Jan 11, 2013 at 8:33 PM by HeesungSohn, version 1

Comments

No comments yet.