My favorites | Sign in
Project Logo
                
Search
for
Updated Aug 15, 2008 by mdukielska
Labels: Featured
extensions  
Future plans: what's next after Netbeans Innovators Grant

Last update of this page: 13-08-2008

Possible extensions of the project

Plans for the next milestone

I've had many problems with Blitz server that has been used so far. To make the server more usable, I'd like to implement better configuration for the server (directly setting the JDK to be used, the same for IP addresses, ports or the location of TEMP directory where data of running JavaSpaces should be stored).

  • Wizards and more complex help for users
A good idea would be to provide a more complex help to users learning JavaSpaces. At the moment the assumption is that a user knows what JavaSpaces is and how it works - the project helps with running and testing programs. I'd like to provide additional help though, incorporate JavaSpaces javadocs into the project, provide different kinds of wizards letting the user create Entry classes or basic applications. For example a wizard for creating a new process using a given JavaSpace would be useful - the source code skeleton could be created together with all necessary annotations from the project. Another wizard could create a starter process - a process that initializes the JavaSpace before other processes start their work. Yet another wizard could create a skeleton aplication using Master-Workers and Command design patterns. It would be nice to have actions which take care of the different steps of development for the developer such as adding logic to pull information from a JavaSpaces service e.g. some statistics (a Blitz dashboard sort of thing).
  • Extended BRC format
Quite a different possibility is to extend the current BRC file format used for recording and replaying Debugger sessions. The format as it is now is extremely simple - each session is represented just as a sequence of continue operations. The way recording works is very limited too (these limitations are caused by the requirements of BRC format) - all breakpoints need to be inserted first, then all sessions have to be started and only then execution of selected processes is continued. However, sometimes it would be nice to record/replay something a bit more complicated, e.g. you put one breakpoint, start one process and continue it, then put another 2 breakpoints and start another process. In the future I'd like to let the user interleave these 3 operations: inserting breakpoints, starting sessions, continuing processes. This would require a better BRC format, so that any Debugger session can be recorded and replayed correctly.
  • Easier starvation modelling
Now, you cannot model starvation directly using BRC files. It can be fixed easily by extending the BRC format - I could provide additional tags meaning that some sequence of operations should be repeated either a given number of times or forever.
  • Support for alternative JavaSpaces implementations (Gigaspaces/OpenSpaces)
I'd like to learn more about alternative JavaSpaces implementations, mainly GigaSpaces/OpenSpaces and possibly add support for this technology in the project. OpenSpaces uses Spring and is very different and more 'enterprise' than Blitz. I'd like to provide at least basic support for it (e.g. running OpenSpaces services, sample projects, etc.). Currently, I'm not an OpenSpaces expert so I don't have deep knowledge about pros and cons of this implementation, but it seems to be an interesting distributed technology that can extend possible use cases of JavaSpaces Netbeans project.

Other

Paper

I'd like to write a paper for some conference about the JavaSpaces Netbeans project. In fact, an abstract for such paper was already accepted for SIGITE, but it turned out that I'm too busy to complete the paper. Still, I'd like to write it and find another conference to send it to.

Some loose ideas

Extensions mentioned below either require lots of work or the idea itself is not precise enough at the moment. Therefore, these extensions shouldn't be taken very seriously until more details are provided ;) and they won't be incorporated in the next milestone.

Another idea is to expand the project into a fully blown Jini module which not only supports JavaSpaces, but everything else with wizards and editors etc. In fact, a substantial amount of code, e.g. used for Blitz server support could be reused to provide this, although this would still require huge amount of work. Besides that, there already exists a plugin for Jini as such (IncaX)

  • Petri nets
A BRC format can be extended in another way too. The way Debugger sessions work closely resembles Petri nets. It seems that one could try to model a Debugger session as a directed graph and try to use some tools and theory designed for Petri nets. This can be a rather tricky thing to do though.


Comment by dan.creswell, Mar 02, 2009

Blitz does work on JDK 6.0, one just needs the correct classpath incantation. The latest Beta installer does much of this work for you.

As the author of Blitz I can provide you with access to the necessary APIs to improve installation, and reckon I can probably help you with "Better Blitz configuration" in general.

If this is of interest, you can find me at an obvious gmail.com email address constructed from my name: dan creswell


Sign in to add a comment
Hosted by Google Code