Saturday Apr 13, 2013

NASA Mission Operations on the NetBeans Platform (Part 3 of 4)

The GEONS Ground System Software (GGSS) is an extensible ground system software tool designed to support any space mission that uses GEONS as its onboard navigation system. The GGSS has been deployed into mission operations and is proceeding through a multiple phase feature release schedule and acceptance testing in preparation for mission support. The first mission slated to use this operational tool is the Magnetospheric Multiscale mission, which is scheduled to launch in October 2014 on an ATLAS V.

The ground system software continues to be developed alongside mission planning and other ground system software components at the Goddard Space Flight Center (GSFC), Greenbelt, MD, USA. The software will be deployed to the Mission Operations Center at the GSFC. Development of the GGSS and other MMS ground system components are led by Aerospace Industry contractor ai Solutions.

GGSS Ephemeris Visualization:

GGSS Uplink Command Differencing:

GGSS Matlab Data Product Automation:

GGSS Operational Testing and Product Generation Wizards:

What Does the Software Do?

The GGSS has been designed to not only support the MMS mission but be extended to support any mission using GEONS for onboard navigation. The GGSS provides a platform for leveraging existing Matlab and Python analysis scripts to QA daily data product generation. An assortment of wizards guarantees simple and easy workflows. Plugins have been developed that provide 3D rendering of orbital ephemeris data using NASA’s GOTS product WorldWind. Day-in-the-life operational workflows are captured as single projects which are committed to repositories for storage and retrieval for offline scientific analysis.

How Does the NetBeans Platform Help?

The NetBeans Platform module system allows for clean encapsulation of disparate features. This makes acceptance and regression testing much simpler and efficient. The wizard framework reduces risk of failure of daily operations. The NetBeans Platform support for custom projects and file types makes organization of data simple. Coupling that with seamless integration of version control systems allows analysts to access and exchange operational data in a manner with which software developers are familiar.

The on-mission development costs for these components were significantly reduced from projections by using the NetBeans Platform module system. Using the NetBeans Platform as a base allowed developers to leverage an existing collection of NetBeans plugins developed internally by ai Solutions, called the Polaris Platform. Reusing Polaris plugins saved an estimated 35% development time through the first two years of development.

For the most recent release (March 2013) the GGSS performs a significant amount of data generation using a custom Matlab toolbox developed explicitly for the mission. The GGSS makes strong use of the built-in asynchronous processing support that is provided by the NetBeans Platform, especially the RequestProcessor support. This allows Matlab-based data operations to be requested by the user in parallel with other GUI actions. When complete, data vectors can be extracted from the Matlab runtime via a custom proxy directly into the JavaFX charts. The next release will see an expansion of the JavaFX chart components for historical trending using the ai Solutions developed Matlab Dashboard plugins, which are all part of the Polaris Platform.

All the info and text above was provided by Sean Phillips (@SeanMiPhillips), who is a Software Engineer and NASA contractor with aerospace experts ai Solutions.


Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« April 2013 »