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

Light bulb

Suggest an Edit

Recommend changes and additions to this project record.