Suite101

Using Java to Enhance Your Legacy


© Adam Hughes

The term "legacy code" probably evokes some romantic thought of a beloved and ubiquitous piece of software passed from generation to generation of programmers and users like a treasured family keepsake. In the real world, however, legacy codes and systems are often thought of as something we're stuck with rather than something bestowed upon us. In the case of scientific codes, we're going to use the term to mean a code that may not necessarily be state-of-the art in terms of the computer technology it employs, but is still seen as a vital research tool by many scientists.

This definition is particularly well-suited for some of the computational chemistry software that is heavily used at research institutions across the country and around the globe. These codes are generally well-written (though sometimes that's not the case), but their main focus has been on performance and the meat of the scientific applications they address. This, of course, is as it should be to allow researchers to get the most bang for their buck, but the pervasiveness of computing power is bringing other people into the simulation fold. In particular, many scientists who have never before performed a simulation in their research (experimentalists, in other words) are now becoming interested in taking advantage of the full suite of tools available to them. Thus, the old favorites are being tested like never before.

While the performance and functionality of the legacy codes generally holds up well, ease of use is another matter entirely. A great many of the computational chemistry programs in wide-spread use handle input and output in the form of flat text files. This means that to run a simulation, the scientist must work out what his beginning configuration should be, type it in, and then type in all of the simulation parameters. While this not may seem to be so bad at first blush, imagine creating an input file for a large biomolecular system with a few thousand atoms. To call this task tedious is a sizable understatement.

Well, luckily for the new breed of simulation software users out there, there appears to be a major move toward integrating the existing codes with newer technology. This approach allows a user to interface with a much more friendly environment on the front end while still accessing the power of the original applications on the back end. One of the developing methods of accomplishing this feat is to fold the existing code inside of Java-based wrappers, and then use the extensive Java GUI classes (AWT or Swing) to build a sophisticated user interface.

But beyond presenting a simple point and click program interface,

Go To Page: 1 2


Post this Article to facebook Add this Article to del.icio.us! Digg this Article furl this Article Add this Article to Reddit Add this Article to Technorati Add this Article to Newsvine Add this Article to Windows Live Add this Article to Yahoo Add this Article to StumbleUpon Add this Article to BlinkLists Add this Article to Spurl Add this Article to Google Add this Article to Ask Add this Article to Squidoo