You are viewing content from a past/completed QCon

Presentation: Otherworldly Java: Gateway to the Moon and Beyond

Track: Evolving Java & the JVM

Location: St James, 4th flr.

Duration: 10:35am - 11:25am

Day of week: Monday

Share this on:

This presentation is now available to view on

Watch video with transcript

What You’ll Learn

  • Hear about astrodynamics and the complexity of trajectory computation.
  • Find out about a JavaFX visualization tool that can help with establishing the right trajectory in space.
  • Learn how the tool was developed.


The international space community is entering a new age of space exploration beyond Earth orbit. Human spaceflight plans a return to the Moon while robotic flights explore the outer planets and their moons in a search for signs of life. Complicated mission scenarios involve significant computational challenges and require innovative software solutions to limit a nearly infinite design space.

We’ll discuss the unique approaches we’ve used to tackle this complex problem:

  • JavaFX and custom 3D visualizations integrated into the design process tapping into the user’s intuition: visualizations are an integral part of the design rather than an afterthought
  • Rapid parallel data search and filtration capabilities: by visually selecting datasets, a trajectory designer finds the needle in the haystack of potential spacecraft orbits
  • Partnership between an expert Java developer and a trajectory designer: when a developer understands the user and her domain, a tool emerges that is larger than the sum of its parts

We’ll feature the Duke’s Choice Award-winning Deep Space Trajectory Explorer, a JavaFX-based trajectory design and visualization software package that features a mix of custom 2D and 3D visualizations. The goal of this session is to demonstrate the art of the possible when using modern Java toolkits to build high quality, high performance applications for Science and Aerospace industries.


What does astrodynamics  have to do with Java?


When we’re trying to design spacecraft orbits under the influence of both a planet and a moon at the same time, we find ourselves with an enormous design space. We don't have analytical solutions anymore; we have a few equilibrium points, there are families of orbits around those equilibrium points, but beyond there’s a vast design space that you can't just boil down to an equation. How to manage this design space is a hard problem, and lots of folks in my community have solved this using grid searches and other numerical methods. We're geeks, and lots of folks focus on the numbers, with visualization maybe as an afterthought, as an extra at the end. But that's not my preference. There are a few of us who see the power of visualization itself as a design tool. We want to incorporate the visualization into the design process so that I can use my intuition and my knowledge and my understanding to find families of solutions and understand why the trajectories are behaving the way they are rather than just looking at numerical output, point solutions without context.


What are the main goals for your talk?


There are two points of focus that I'd like to share that are really exciting to me. One is that it’s possible to use JavaFX and Java for a desktop application. We've built an amazing beautiful tool that is incredibly interactive that we're using for spaceflight design. Granted that's a little bit of a niche market. There aren’t a whole lot of us in this field, but as a broader visualization and data management tool, JavaFX has so much potential, so I want to show some of the amazing things that we've managed to put together. And on the other side, it's been a really special project in that we've had a very effective collaboration between an absolute expert Java developer and an expert in astrodynamics.  Neither of us alone could have visualized this tool. It’s based on my PhD research, and Sean Phillips saw it at a presentation I did and knew he could take it to another level. Together we turned it into this piece of software that makes the process effortless.


Is that collaboration part of this talk or is it about JavaFX?


I'd like to focus on both, because the collaboration is most interesting in the context of what we've built.


What do you want them to walk away with?


I'd like to communicate some of the complexity of trajectory design, why it's hard and how Java has helped to solve this problem. Orbits are just circles, some might imagine. But in my field, orbits are a lot more interesting than circles; they can be really complex and quite beautiful. And I'd like to communicate some of that, and then some of the challenges that we've overcome using Java and how it's taken my problem and turned it into something beautiful.

Speaker: Diane Davis

Astrodynamicist and Principal Systems Engineer @NASA and USAF aerospace industry leader a.i. solutions

Dr. Diane Davis is an astrodynamicist and principal systems engineer with NASA and USAF aerospace industry leader a.i. solutions. She designs spacecraft orbits with the Gateway trajectory team at Johnson Space Center in Houston, TX, and previously navigated spacecraft to Mars and comets at the Jet Propulsion Laboratory. She is the lead researcher for the Deep Space Trajectory Explorer, a JavaFX-based design and visualization software for interplanetary orbit analysis.

Find Diane Davis at


  • Architectures You've Always Wondered About

    Hard-earned lessons from the names you know on scalability, reliability, security, and performance.

  • Machine Learning: The Latest Innovations

    AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.

  • Kubernetes and Cloud Architectures

    Learn about cloud native architectural approaches from the leading industry experts who have operated Kubernetes and FaaS at scale, and explore the associated modern DevOps practices.

  • Evolving Java

    JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.

  • Next Generation Microservices: Building Distributed Systems the Right Way

    Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.

  • Chaos and Resilience: Architecting for Success

    Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.

  • The Future of the API: REST, gRPC, GraphQL and More

    The humble web-based API is evolving. This track provides the what, how, and why of future APIs.

  • Streaming Data Architectures

    Today's systems move huge volumes of data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.

  • Modern Compilation Targets

    Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.

  • Leaving the Ivory Tower: Modern CS Research in the Real World

    Thoughts pushing software forward, including consensus, CRDT's, formal methods & probabilistic programming.

  • Bare Knuckle Performance

    Crushing latency and getting the most out of your hardware.

  • Leading Distributed Teams

    Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.

  • Full Cycle Developers: Lead the People, Manage the Process & Systems

    "Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.

  • JavaScript: Pushing the Client Beyond the Browser

    JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem.

  • When Things Go Wrong: GDPR, Ethics, & Politics

    Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences

  • Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups

    Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.

  • Building High Performing Teams

    To have a high-performing team, everybody on it has to feel and act like an owner. Learn about cultivating culture, creating psychological safety, sharing the vision effectively, and more

  • Scaling Security, from Device to Cloud

    Implementing effective security is vitally important, regardless of where you are deploying software applications.