Contents
Hello
This program is available in ARE distribution at demo/Hello.kap
Echo
This program is available in ARE distribution at demo/Echo.kap
Chat
This program is available in ARE distribution at demo/Chat.kap.
PingPong
In the following demo, agents are distributed between 4 nodes. Each agent selects another one in random and sends a number to it. The number will be incremented by one and sent to the next random agent. This program is available in ARE distribution at demo/PingPong.kap
Slow:
Fast:
Phased
Phaser protocol is used in the following demo to synchronize 4 agents distributed across 4 nodes. Each agent sleeps for a random amount of time before calling the Phaser protocol for synchronization:
System::sleep(WAIT/2 + rand()%WAIT/2);
_pPhaser.synchronize();
_pConsole.print(_lyrics->at(i, rec)->getString());
This demo is available in ARE distribution as demo/Phased.kap.
In the following, the SingInSyncAgent which is producing the text output above is connected to TextUiAgent rather than Kernel's ConsoleAgent. TextUiAgent also comforms to ConsoleProtocol, therefore no change in the code for SingInSyncAgent was necessary.
CellAutomata
The following demo shows a number of important KnoRBA features, including the usage of KGrid and region arithmatics for dsitributed numerical computing; also how agents with different specialties are used to make a prorgam. Here, instances of CellAutomataAgent work together to do the computation, while instanced of GridUiOutputAgent or GridFileOutputAgent or both handle the output on each node.
On Mac:
On Tiled Display Cluster (Linux)
Tiled Display Slide Show
The following is a client/server program. The entire cluster acts as a decentralized server i.e. each node can process the client requests.