Title :
Using XML configuration-driven development to create a customizable ground data system
Author :
Nash, Brent ; DeMore, Martha
Author_Institution :
Jet Propulsion Lab., California Inst. of Technol., Pasadena, CA
Abstract :
The Mission data Processing and Control Subsystem (MPCS) is being developed as a multi-mission Ground Data System with the Mars Science Laboratory (MSL) as the first fully supported mission. The MPCS team started development for MSL in 2005 and will continue to support MSL through its 2011 launch and beyond, until the end of life of the mission (approximately two years after landing on the surface of Mars). In addition, MPCS currently provides varying degrees of support to other projects including the Mars Exploration Rovers (MER), the Diviner instrument on the Lunar Reconnaissance Orbiter (LRO), the DAWN mission, and has future plans to support the Soil Moisture Active Passive (SMAP) earth mission in the 2010-2013 timeframe. The MSL mission will be the first operational usage of MPCS. MPCS is a Java-based Ground Data System (GDS) for telecommanding and telemetry processing that has been developed using a Configuration-Driven Development (CDD) strategy centered around configuration files written in the extensible Markup Language (XML). XML is the ideal language for CDD because it is human-readable, easily editable, and backed by a World Wide Web Consortium (W3C) standard. The CDD approach adopted by MPCS minimizes changes to compiled code by using XML to create a series of configuration files that provide total control over all aspects of GDS operation. The MPCS development team has implemented a generic, hierarchical architecture for specification of and access to configuration information that allows configuration parameters to be specified at the system, mission, and user levels. In addition, MPCS has implemented an internal software architecture based on well-known software design patterns that utilizes configuration files to provide a great deal of flexibility in adapting MPCS to different missions and mission phases. The resulting implementation is an XML-based design that is useful not only for MPCS or ground data systems in particular, but for any applicatio- n. While using XML-based CDD allows MPCS to have an exoteric functional interface that can be easily reconfigured at runtime instead of compile time, the challenges of developing a sufficiently flexible configuration and software architecture are significant. In order to create are usable multi-mission GDS, it is necessary to balance the added complexity of developing configuration-driven code with the ability to create an overall configuration strategy that both developers and users can understand and utilize effectively. This paper will discuss the configuration and development strategies employed by the MPCS development team, the general MPCS software architecture as influenced by CDD, and the associated lessons learned in developing an XML configuration-driven GDS to be used for the life of the MSL mission and future missions.
Keywords :
XML; aerospace computing; ground support systems; software architecture; Mars Science Laboratory; XML configuration-driven development; control subsystem; customizable ground data system; eXtensible Markup Language; mission data processing; multi-mission ground data system w; software architecture; Control systems; Data processing; Data systems; Instruments; Laboratories; Mars; Moon; Process control; Software architecture; XML;
Conference_Titel :
Aerospace conference, 2009 IEEE
Conference_Location :
Big Sky, MT
Print_ISBN :
978-1-4244-2621-8
Electronic_ISBN :
978-1-4244-2622-5
DOI :
10.1109/AERO.2009.4839708