The Old World Meets the New: Utilizing Java Technology to Revitalize and Enhance NASA Scientific Legacy Code Michael D. Elder Furman University Hayden S. Porter, Advisor
Purpose of Research Analyze the first of several NASA Scientific Legacy applications designed to support the TIMED satellite mission Design an architecture to allow these applications to utilize modern graphical methods of data representation, including animations Implement and test architecture for Proof of Concept
Legacy Applications Background Model global atmospheric circulation for several gas species Support data analysis for NASA’s upcoming TIMED Satellite Mission Written in FORTRAN Require proprietary graphic visualization software
Limitations of the existing TIMED Legacy Applications Platform dependent User interface confined to a console window or VAX compatible menu display No network access –TIMED and other network data sources will be required No Graphical Virtual Machine (GVM) – Precludes development of interactive, platform- independent, three-dimensional visualizations or animations
Options for Modernization Rewrite the original application and its graphical visualizations in a modern language Design platform-independent application wrapper abstraction –“preserves legacy code by encapsulating application elements in an object oriented shell that can be used in client-server systems” [Lyons95] –Allows original legacy application to interact with modern environments with little or no modification –Use of existing FORTRAN code as an efficient compute server
Summarized object design
XML Encapsulation of Legacy Data XML tags define content of legacy system output Clients define the visualization mechanism of the tagged data Multiple clients could be plugged in without modification of server
Why use Java for implementation? Distributed Application Wrapper Architecture through Remote Method Invocation (RMI) Java-based control of original application by executing native processes –Full access to STDIN, STDOUT, and STDERR Powerful standard library Platform Independent by nature
Graphical Wizards Are triggered by XML tags from server Example wizards allow users to define source- intensity functions for the global circulation model found in the NASA legacy application Demonstrate a hierarchy of interactivity which can be seamlessly integrated with original application –From drawing two dimensional time and latitude dependencies to full three dimensional creation of source inputs
Architecture Advantages Runs locally for high-speed communication of graphical visualization or animation data or remotely for application functions which do not require a high bandwidth Permits legacy applications that cannot be ported to other platforms to run on their original platform using a Distributed Application Wrapper
Architecture Advantages Tagged Content –Pre-processing and preparation of legacy output by Server component –Client watches for tags and reacts accordingly –Seamless extension of program functionality Interactive, three-dimensional, data visualizations and animation can be defined by the client for the tagged content relayed from the server
Conclusion This architecture can be readily applied to a variety of legacy systems in different application domains Implementation of this architecture for the NASA global circulation model application has proven very effective Extensions –Examine Context-sensitive Intelligent Agents as clients to further enhance the adaptability of this architecture for legacy systems
Acknowledgments Dr. Hayden S. Porter, Professor of Computer Science, Furman University Dr. Hans Mayr and Dr. John Mengel, Goddard Space Flight Center Supported, in part, by the Furman Advantage Summer Research Program and a grant from NASA.
More Information Presentations and papers on this research can be found at the following web address: Contact the author of this presentation for more information:
Michael D. Elder Furman University Dr. Hayden S. Porter, Advisor