One of our favorite science fiction writers was Arthur C Clake. In the 1950's Clarke wrote a short story called the nine billion names of gods, Computers were quite new back then, as the story goes a well known computer company was approached by an obscue group of monks and tasked with developing a computing machine which could list all the 9 billion names of the old testement God. It is believed when that task is completed the end of the world will be upon us.
FastForward, it is sometimes in the arbitrary future , the Apple/Microsoft consortium has been approached by an equally obscured monestary and presented with the task of using there new Quantum computer to produce a listing of all the names of gods in realtime. It is assumed the processing time for a computer using all 32 quantum states would accomplsh the task quicker than a common binary based computer. (ed note: If I actually new a way to build a quantum computer this effiecent my first use case would be more like Clean out Vegas, Alas no Quantum computer exists like this yet ).
Environment for the usecase
-
The quantum machine is located in Cupitino , the operating enviroment is a new lisp like language developed by MIT for massive pararell systems with a slower java based bridge to pass the problems to the optical processing systems.
-
Tasks are passed to the quantum machines from a lab located on the same campus. java RMI is used to remotely pass the tasks quip processor.
-
On the same subnet are an artbitrary number of conference areas with the monks awaiting the outcomes. These guys are used to long time frames.
You have been tasked with putting together a small more conventual proof of Concept to satisfy the Request for Proposal.
Numerical Functional Test Case.
The test case is a recursive version of the classic Tower of Hanoi problem, Some tibitan monks are said to believe that when the solution is reached the world will end.The calculation even for a computer takes an artbitrarily long time period.
Wikipedia on Tower of Hanoi
As always the projects are available in our SVN, the projects you want are
ActiveTestSuite
TagAlongRmiBridge
The setup you choose for your POC environment is as follows:
-
Sever
-
As mentioned previously the server is a simple console or spring MVC application , with limited Ui for initiating the remote process and getting back a result.
-
Both the server address and the server output is published via bonjour.
-
Lab Client
-
Workstations
-
Full spring jsf and icefaces.
-
The example is a simple jsf form based on the icefaces Auction sample, a more complete example is in the works.
-
A solution has been found to eliminate the jni requirement , this is forthcomming.
-
A solution for Linux/
-
Unix is being explored, currently example runs on windows or Mac Leporad.
ActiveMq 5+ has a jmdms jar, its looks like an older version than the most current and only supports the listeners not registration, its there apparently for zero-config discovery of brokers and is not well documented.
The two pure java solutions jmDms and Ahavi both have licenses that are flexible enough , so we could use them as a starting point to build on.
The techniques used here are similar to techniques to be included in the tagalong technology preview we are devleoping.
This use case was partially based on a really good article on lingo here.
If you really want to keep intouch with the future of knowledged based systems then the place to look is here MIT Media Lab, especially look at the scratch and netlogo projects which are based on squeak smalltalk.