An open source computer program has been developed to satisfy a need for simplified organization of structured input data for scientific simulation programs. Typically, such input data are parsed in from a flat American Standard Code for Information Interchange (ASCII) text file into computational data structures. Also typically, when a graphical user interface (GUI) is used, there is a need to completely duplicate the input information while providing it to a user in a more structured form. Heretofore, the duplication of the input information has entailed duplication of software efforts and increases in susceptibility to software errors because of the concomitant need to maintain two independent input-handling mechanisms. The present program implements a method in which the input data for a simulation program are completely specified in an Extensible Markup Language (XML)-based text file. The key benefit for XML is storing input data in a structured manner. More importantly, XML allows not just storing of data but also describing what each of the data items are. That XML file contains information useful for rendering the data by other applications. It also then generates data structures in the C++ language that are to be used in the simulation program.

In this method, all input data are specified in one place only, and it is easy to integrate the data structures into both the simulation program and the GUI. XML-to-C is useful in two ways:

  1. As an executable, it generates the corresponding C++ classes and
  2. As a library, it automatically fills the objects with the input data values.

This program was written by Hook Hua, Fabiano Oyafuso, and Gerhard Klimeck of Caltech for NASA's Jet Propulsion Laboratory.

This software is available for commercial licensing. Please contact Don Hart of the California Institute of Technology at (818) 393- 3425. Refer to NPO-30844.



This Brief includes a Technical Support Package (TSP).
Document cover
XML-Based Generator of C++ Code for Integration with GUIs

(reference NPO-30844) is currently available for download from the TSP library.

Don't have an account? Sign up here.