UniVista: Graphical Interfaces for Scientific Modeling Codes

Russell Hulse
Daren Stotler
Ed Peterlin
Remik Ziemlinski
Bryan Clark
Princeton Plasma Physics Laboratory

As budgets in the field of magnetic confinement fusion have grown tighter, the need for researchers to share simulation codes has grown. The increasing complexity of these codes further motivates collaborative code usage and development.

However, the human investment in such legacy FORTRAN code is too great to permit them to be rewritten in a way that better facilitates code sharing. There is a need, then, for a tool that allows a research scientist to quickly build an easy-to-use, graphical front end to an existing code. UniVista is that tool. A more detailed introduction and description of UniVista's status as of June 1999 is described in a document prepared for internal PPPL purposes.

The documents listed below describe in more detail the purpose and current status of UniVista. What is not spelled out there are the opportunities for extending UniVista to track output, as well as input, data. From there, one can imagine a tool for doing automated generation of code runs and optimization studies.

The UniVista "engine" was written by Ed Peterlin (now working for Green Hills Software). The resulting 12,000 lines of Java code proved that the UniVista design could be implemented with Java 1.1 and existing database software. Ed's report to the Princeton University Computer Science Department provides an overall description of UniVista, including motivation and design. These slides present much of the same information in "bullet" form.

The first thing we did in planning UniVista was to write down in detail what the package should do. The resulting document is a bit more technical than the others, but is still readily accessible.

In the fall of 1999, Remik Ziemlinski (Steven's Institute of Technology student) implemented missing functionality in some of UniVista's screens. He also generated a Programmer's Guide with some nice diagrams illustrating the structure of UniVista. Interested readers should also see the Javadoc documentation.

During the summer of 2000, Bryan Clark (Carnegie Mellon University student; working at PPPL under the ERULF program) developed the first application of UniVista. Since this particular application required the GUI to be run from a Macintosh, the final system was accessing three different architectures: 1. the GUI on the Mac, 2. the UniVista database on a Windows NT server, 3. the FORTRAN code running on a Unix workstation. Bryan's end-of-summer presentation provides some more details. This application demonstrated that UniVista's startup screen and Run Engine were working as designed.

At this point, UniVista is ready for a more demanding application that will motivate the elimination of all remaining snags in the Code Editor and Screen Editor. We anticipate making UniVista available for wide distribution once this has been done.