The Goddard Mission Services Evolution Center (GMSEC) program was established in 2001 to coordinate ground and flight data systems development and services at GSFC with the ultimate goal to efficiently support current and future GSFC mission services. The GMSEC architecture is a ground systems architecture that spans the full mission lifecycle from development through operations. The architecture provides a secure, scalable and extensible communications and data system that supports all aspects of a mission from onboard processing through the Mission Operations Center (MOC) to public access on the Internet. The architecture includes an Application Programming Interface (API) and message bus to provide a publish and subscribe communication mechanism. The GMSEC architecture and source code are based on an enterprise architecture approach with a message-oriented cross-platform enterprise middleware (information software bus).
Goddard Mission Services Evolution Center (GMSEC) API Goals
The keys to the GMSEC architecture are standard messages and message formats defined by the GMSEC team with industry involvement to ensure wide support and flexibility. By using standard messages, the event driven architecture enables quick and easy integration of functional components, in a "plug and play" concept for current and future missions. The system components are selected to meet the unique needs of a mission or user. Messages are passed between applications by an information software bus using the publish/subscribe paradigm. Application components maintain an interconnection to the information software bus that isolates most of the components’ complexity from other components. Since applications communicate using known, defined messages, the architecture also enables the addition, deletion, and exchange of components to meet the changing requirements of missions as they progress through their lifecycles. The GMSEC API provides a multi-language, cross-platform, standard communications interface, which is easily integrated to any application.
The goal of GMSEC is to provide a rapid, flexible, and cost-effective means to fulfill a variety of mission concepts, including concepts not yet fully developed.
From the beginning, the goals of the GMSEC architecture have been to simplify integration and development, facilitate technology infusion over time, support evolving operational concepts, avoid vendor lock-in and allow for mix of heritage, COTS, GOTS and new components. Based on those goals, the following concepts were established: Standardize interfaces – not components; Provide a middleware infrastructure; Allow users to choose - GMSEC doesn't decide which components are best or dictate which components a mission must use.
GMSEC is an integrated effort across multiple GSFC organizations providing mission enabling, cost and risk reducing data system solutions applicable to current and future NASA missions. The goals of the GMSEC architecture and API from the very beginning include supporting a plug and play capability that allows the system to evolve and to be upgraded over time. This prevents obsolesce and avoids the significant cost of trying to maintain outdated equipment or software. It also allows users to keep up with the latest operating systems and patches, critical in today’s virus and worm infested computing environments.
The GMSEC architecture and API were designed with usability in mind. The API provides a standard interface and normalizes behavior for multiple COTS and GOTS middleware products. The GMSEC Team maintains a website (http://gmsec.gsfc.nasa.gov) with all the key documentations for the GMSEC system architecture and components. The open source download contains the GMSEC API source, a no-cost GOTS middleware package (GMSEC Message Bus), sample codes, makefiles to build the API and install the middleware, an Installation Guide, a Users Guide and a Read Me file. The samples include enough examples that can be cut and pasted into development code for generating the entire list of GMSEC complaint messages.