Skip Navigation
Center Independent Research & Development: GSFC IRAD

GMAT-Based Mission Analysis and Design API

Completed Technology Project

Project Introduction

Engineers in the fields of mission design, navigation, and operations often require the availability of mission design tools via a low-level application programming interfaces (API) that can be incorporated into client tools, rather than as a monolithic desktop application. There currently exists no system that offers the necessary combination of availability, platform compatibility, power, and ease-of-use, requiring users to compromise in one or more area. We will build a solution that meets each of these requirements by leveraging and improving the internal API of GMAT, GSFC’s class-B, in-house, open-source mission analysis and design system, enabling significant cost savings and capability improvements for flight projects, in-house developers, and external partners.

This project will build an open-source, cross-platform mission analysis and design application programming interface (API) that leverages the existing low-level internal API of GSFC’s General Mission Analysis Tool (GMAT), demonstrate its real-world use, and improve it to meet customer needs. The three primary objectives are:

  1. Expose the internal GMAT API as-is, via the use of an automated interface generator.
  2. Use the resulting API in at least three prototype client implementations covering a range of use cases.
  3. Incorporate lessons learned and feedback to make targeted, high-impact improvements and enhancements.

There are multiple use cases for this API with differing levels of complexity:

  • Automation: In this highest-level case, an external tool is used to automate a repeatable, parameterized process, such as batch execution of a trajectory design across a series of launch opportunities. This is currently accomplished with GMAT by writing a template script and an automation driver that fills the template via “search and replace” text processing, then runs the GMAT executable, a process that is cumbersome and error-prone. This effort will enable direct loading, manipulation and execution of a pre-configured script, without the current overhead.
  • Interface Development: In this case, an external tool seeks to interface with GMAT, either to supply data or retrieve it. An example is a system that performs low-fidelity initial design, then seeks to load the resulting design into GMAT for high-fidelity modeling. Currently, such a system must implement the syntax of GMAT script language internally, a task that requires significant effort to implement robustly. With this development, such a tool can build the appropriate mission within the API, then use GMAT’s own tools to either export a script that is guaranteed to be correct, or run the mission directly.
  • Integration: In this lowest-level case, an external tool encapsulates some or all of GMAT as an integral component to perform a specialized function for which GMAT itself was not designed. This could include using GMAT’s built-in utilities (e.g. time conversion) as part of a mission-specific tool, or using the API as a low-level propagation engine integrating custom models. This type of use case is currently only possible if the client tool is also written in C++. This effort will make it available to a much larger set of environments, and will also enhance its ease-of-use.

This project is a collaboration between the GMAT development team at NASA Goddard Space Flight Center and multiple partners that have greed to develop prototype client tools against the API.

More »

Anticipated Benefits

Primary U.S. Work Locations and Key Partners

Share this Project

Organizational Responsibility

Project Management

Project Duration

Technology Maturity (TRL)

Technology Areas