Overview

The GMAT project will spend a significant amount of time during our R2017 release development on code cleanup, developer documentation, quality improvements, and refactoring for improved long-term positioning.

Goals

Ensure that GMAT can continue to respond to customer needs as the team grows and evolves

(DJC) Warnings are being ignored. This is VERY dangerous – let’s clean them up now, and fix them as they occur.

Architectural Refactoring

(DJC) Remove special case code from the Interpreter subsystem and Moderator(SPH)

(DJC) Modularize libGmatBase into several libraries. The goal here is to fix the circular dependencies in the code, and as a side benefit to make some core components available as libraries. Having GMAT build with one library is okay, IMO, but the cross-dependencies make code maintenance more difficult.

Component Refactoring

Expansion to the Parameter Subsystem (DSC)

Add an option that does not require multiple inheritance

Add a registration method so that a class can register, rather than needing to create an object