Here in my university they have developed a java based application for visualizing graphs and manipulating them, something similar to GUESS but somehow with different capabilities. the website hosting the project is graphlab.sharif.edu but the server is down at the moment. anyway, we have now decided to split the program into pieces and make them publicly available so that they can be used in other applictions. more precisely, we want to make use of these parts in developing a general purpose simulation software, or at least use them in different simulation programs.
The application has a powerful core which is based on the blackboard design pattern. this is the first part to be extracted. other parts include an xml-based ui platform, a basic shell console (using beanshell), and other plugins which enhance its functionalities in different ways like integration with MATLAB and animating algorithms.
What I'm looking for is some suggestions and comments before we start applying the necessary modifications and extraction of the core. since the development of this application goes back to around 5 or 6 years ago, they haven't used some well-known technologies which are widely used today like JSON for example. also there's been no unit testing. so, if you have experience in the development of such an application, what do you suggest we should do? what technologies we'd better use and what for? is blackboard really a good solution for such an application platform? how do you think we should use JSON to enable developers from different languages extend the capabilities of our program?
If there's any further info you wish to know about the project please let me know,
thanks in advance