Skip to main content

Visualizing NASA Ground System Data Products using JavaFX and the NetBeans Platform (Part 1)

Posted by sean.mi.phillips on November 10, 2013 at 7:05 AM PST

As I get closer to deploying our 4th Operational Release of the Duke's Choice award winning GEONS Ground System Software I'm combining the NetBeans Platform with custom JavaFX views. This pattern provides some very useful "At-a-Glance" displays associated with daily data product generation. I'm fortunate to have access to quite a bit of complex and timely data much of which is custom to the NASA MMS Mission.

The GGSS is deployed to the MMS Mission Operations Control room, located at the Goddard Space Flight Center in Greenbelt, MD. It supports the overall Flight Dynamics Ground System Software for the MMS mission and is developed by myself as NASA contractor with my company a.i. solutions.  The GGSS is  based on the awesome NetBeans Platform including a.i. solutions internal Ground System and Visualization plugin library 'Polaris'.

image

The above image shows a combination of stacked bar charts and a custom categorized axis scatter plot showing a timeline based PASS or FAIL summary of Telemetry statistics. The visual graphics and layout are all created using JavaFX 2.x.  The entire application layout is within a custom NetBeans Platform.

The actual statistics are generated through daily operational procedure and are collected as file based daily Data Products. (fancy NASA way of saying an ASCII file intended for someone else to consume) The data is generated by leveraging a combination of Java code and a custom Matlab Toolbox written for the mission. It was observed by many that having all this compiled data was not helpful as it was too hard to correlate FAILed overall status times with the individual causation variables.

So as mentioned above integrating JavaFX charts very rapidly provided this needed AoG views.  In the majority of nominal cases a single glance by the user will inform them that everything is a go.  In a failure situation one glance at the custom categories timeline will tell you visually when and why there was a failure:

image

 

This post isn't a discussion of ideal visualization techniques and theory but a practical demonstration using new Java technology.  Combining JavaFX 2.x and the NetBeans Platform has has not only solved these problems but proved to be a very effective pattern to extend.  I will be following this with more similar examples from the same tool.