406032017-09-16GMAT-Based Mission Analysis and Design APICompletedOct 2015Sep 2016<p>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&rsquo;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.</p> <p>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&rsquo;s General Mission Analysis Tool (GMAT), demonstrate its real-world use, and improve it to meet customer needs. The three primary objectives are:</p><ol><li>Expose the internal GMAT API as-is, via the use of an automated interface generator.</li><li>Use the resulting API in at least three prototype client implementations covering a range of use cases.</li><li>Incorporate lessons learned and feedback to make targeted, high-impact improvements and enhancements.</li></ol><p>There are multiple use cases for this API with differing levels of complexity:</p><ul><li><strong>Automation</strong>: 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 &ldquo;search and replace&rdquo; 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.</li><li><strong>Interface Development</strong>: 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&rsquo;s own tools to either export a script that is guaranteed to be correct, or run the mission directly.</li><li><strong>Integration</strong>: 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&rsquo;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.</li></ul><p>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.</p><p>Existing users of GMAT will see significant cost savings via increased reuse of existing code (made available via the core GMAT API), and by eliminating the need to write custom text-processing code to work with the GMAT script-based interface. The user base of GMAT continues to grow among flight and institutional projects, so this cost savings is multiplied by the number of applications of the current methods.</p>336324911Modeling, Simulation, Information Technology and Processing341111.2Modeling394411.2.6Analysis Tools for Mission Design324911Modeling, Simulation, Information Technology and Processing341011.1Computing387211.1.2Ground Computing341111.2Modeling394311.2.5Frameworks, Languages, Tools, and StandardsCenter Independent Research & Development: GSFC IRADMission Support DirectorateGoddard Space Flight CenterGSFCNASA CenterGreenbeltMDApplied Defense Solutions Inc.IndustryMarylandDennis WoodforkJoel ParkerSteven P Hugheshttp://aetd.gsfc.nasa.gov/27757GMATImageGeneral Mission Analysis Tool19093https://techport.nasa.gov/file/190932298005