- HelloWorld: A simple demo showcasing simple message passing between two peers. The first peer sends a greeting to the second one (e.g. "Hello"), and the second one sends back a reply with the word "world!" appended to the original greeting (e.g. "Hello, world!").
- WebSearch: A simple but practical application demonstrating how web service queries can be incorporated into an interaction. The user selects a category and enters a keyword for a product. The first peer then looks it up on Amazon, and sends the results to the second peer, which looks up similar products on eBay. A list showing all matching pairs is displayed on the screen.
- DiningPhilosophers: This application demoonstrates the "Dining Philosophers" concurrency problem (for more info on this, see here). Five philosophers sitting around a table take action in turn. During each round, a philosopher can choose to either eat using two of the five (shared) forks placed between their plates, or think (thus releasing the forks for the neighbouring philosphers to use). Whenever a philosophers requests the forks in order to eat, he first waits for the left fork, then the right one. In this way, a deadlock situation can be demonstrated by having all five philosophers request a left fork during the same round.
Note: Each demo can be executed very simply by running a single script file (runXXX.sh for Linux and runXXX.bat for Windows, where XXX is the name of the demo to run). The script file takes care of everything - determining the IP of the local host, running the discovery service, publishing the IM and launching the peers.