Phillip Hebert, Sr. - NASA John C. Stennis Space Center
Alex C. Elliot - NASA John C. Stennis Space Center
NASA and Stennis Space Center
Stennis Space Center (SSC) in Mississippi is one of 10 NASA field centers in the United States. Because of its important role in engine testing for five decades, Stennis is NASA's largest center for rocket propulsion testing. SSC tests chemical rocket engines and components for NASA, the Department of Defense, and commercial space companies. NASA Rocket Propulsion Test (RPT) facilities include SSC, Marshall Space Flight Center (MSFC) in Alabama, Plum Brook Station (PBS) in Ohio, and White Sands Test Facility (WSTF) in New Mexico. Accurate, safe, reliable, cost-effective data acquisition for customers is paramount. These facilities have a diverse set of data acquisition systems, each with different hardware and software platforms, to perform different types of tests. However, the specialized data systems typically require specialized software.
The Need for NDAS
The data acquisition systems (DASs) on SSC’s A-Complex and B-Complex test facilities use hardware that does not have commercial off-the-shelf software support. Therefore, for each new test hardware configuration, SSC must write or extensively modify custom data system software. Porting previously developed software to different data system platforms requires extensive software development and testing. Consequently, SSC required a custom software suite to perform the functions necessary for the system to operate as a DAS. To address this challenge, SSC created the NASA Data Acquisition System (NDAS) software suite. NDAS combines real-time data visualization, data recording in a variety of formats, short-term and long-term acquisition system calibration capabilities, test stand configuration control, and a variety of data post-processing capabilities.
The growth of the commercial space launch industry created a potentially significant market for SSC. However, a competitor of the new businesses in this market operated SSC test facilities. To address this potential conflict and future obstacles in operation, SSC completely transformed its business model to eliminate this barrier to securing new business. However, because of that decision, SSC no longer had access to the DAS software that it had previously used since the space shuttle program. A bold, new alternative was conceived—NDAS.
Development of NDAS is part of a long-term strategy to improve overall consistency across NASA RPT facilities agency-wide. The unique software that had evolved at each test facility made it difficult to share and incorporate best practices across the agency. Additionally, individuals assigned to different facilities or projects would require additional associated training. This adversely affected the agency’s ability to manage the workforce and quickly respond to priorities and testing initiatives. NDAS provides a consistent framework that reduces these issues.
NDAS is a flexible, extensible, modular framework for creating DAS software for testing rocket engines, propulsion systems, and related components. To meet the needs of specific test facilities or test programs, NDAS software can be configured accordingly. Additionally, NDAS provides a common user interface across hardware platforms to improve consistency and reduce errors during test operations.
Figure 1 shows the high-level NDAS architecture. NDAS incorporates a hardware abstraction layer called the NDAS Translation Layer (NXLT) and NDAS Calibration Translation Layer (NCXLT) that enables the software to adapt to different hardware platforms. The architecture groups the software into modules based on function. The NDAS modules include the main operation and control module (NOPS), the engineering unit processing module (NPRO), the display module (NDIS), the calibration module (NCAL), the data logging module (NLOG), the data stream gateway (NGATE), and the instrumentation and roadmap database (NIRD). The one-stop shop (NOSS) serves as the front end for all user interaction with NIRD.
Software in this field is typically custom built for a specific vendor’s hardware platform. This fragmentation creates interoperability and workforce management issues that adversely affect cost, schedule, budget, and risk.
SSC used LabVIEW software, a graphical data-flow driven program, to write most of the NDAS code. Although LabVIEW is a general- purpose programming language, using it for large-scale software development is relatively rare. The NDAS software suite also integrates the new, advanced development Actor Framework that delivers a level of code reuse and extensibility that has previously been difficult to achieve using LabVIEW. The NCAL application uses the LabVIEW Object-Oriented Programming (LVOOP) feature to improve scalability and maintainability. The NDIS application communicates among multiple parallel processes using a combination of producer consumer loops, queued state machines, and a factory pattern, using LabVIEW objects. The team has implemented an innovative and large-scale software development effort, maximizing the amount of reuse of software source code, by using LabVIEW and advanced technologies, such as the Actor Framework and LVOOP.
SSC selected LabVIEW as the primary development language for these key reasons:
- Expertise of the development team
- Inherent flexibility
- Proficiency with hardware/software interfaces
- Extensive libraries of hardware drivers for lab equipment and data acquisition systems
- Powers rapid development of a rich user experience (UX) with theme-able user-interface (UI) controls and indicators
- Large and enthusiastic user/developer community
- Successful history using LabVIEW for SSC’s E-Complex DAS software used in rocket propulsion testing
NDAS leverages some advances in the LabVIEW language and available application frameworks to build a mature, flexible, and extensible suite of applications. All LabVIEW developers on the project extend the same actor class delivered with the LabVIEW development environment, allowing code sharing within a team and within the global LabVIEW community. The Actor Framework is the primary framework for each application in the NDAS suite. This framework implements a model-view-controller (MVC) architecture, which makes model and controller use across multiple applications possible and only requires changes to the presentation layer. Prior to using the Actor Framework, doing something as simple as MVC architecture required a custom-developed solution that was time consuming to implement and maintain.
NDAS had challenges that required the flexibility to support a variety of different engine types, different test stand configurations, and different customer configurations. Although many of these concepts are consistent from one facility or test article to another, the legacy software in place to account for the differences has become been extremely inconsistent and varied over time. This variability added additional challenges. From a technical perspective, the main challenge continues to be achieving the system utility design goal independent of hardware. NDAS must operate legacy acquisition systems over 30 years old and the newest system hardware available today. NDAS must also be compatible with different transducer types. Thermocouples, resistance temperature detectors, absolute pressure sensors, gauge pressure sensors, barometers, strain gages, and flow meters are just some of the transducer types that NDAS supports. Each of these has different calibration methods, different engineering units scaling equations, different ranges, and different sensitivities. Therefore, the NDAS software must be flexible enough to account for this wide range of inputs. NDAS has successfully overcome these challenges to provide a software package that is highly valuable to NASA propulsion testing programs.
Solutions to the challenges include, but are not limited to: a translation layer making software portable, new calibration software developed to fulfill NDAS requirements for the software to be able to communicate with the signal conditioners and calibration, support hardware, create calibration reports and coefficients, perform measurement system analyses (MSAs), and linearity and hysteresis calculations.
Quantifiable benefits of the tool include cost and schedule savings. These benefits are observed and translated on SSC’s B2 Test Stand, where code already built for SSC’s A1 and A2 Test Stands is being reused, rather than starting code from scratch. The use of modules such as NDIS and NLOG are mostly unchanged from A-Complex test stands, saving duplicate development time. The B2 Test Complex application can use established and vetted NDAS file logging and conversion tools. Software users already experienced with NDAS from prior use on A-Complex require less training for B2 operations, reducing the training time and cost.
The NDAS architecture readily supports technological advances in data acquisition hardware. Its flexible nature provides a foundation for integrating new data acquisition hardware thereby creating a reusable, hardware-neutral software environment. The NDAS architecture brings together common data acquisition software concepts in a unified way by means of layering to create a reusable, hardware-neutral software environment. The current state of the art in data acquisition software is a software suite that is custom built for each selected hardware platform, which does not support reuse for multiple aerospace test articles, projects, or facilities. This type of data acquisition software development can be costly, schedule intensive, and risk prone.
The NDAS software development effort has already enabled a level of software collaboration unprecedented among NASA’s RPT facilities. For example, SSC, MSFC, PBS, WSTF, as well as NASA’s Independent Verification and Validation (IV&V) facility participated in the development of the NDAS requirements. The NDAS architecture can potentially become the standard rocket propulsion data acquisition software across NASA.
The NDAS software design is modular and can accommodate test facility and test program variability. For example, one test program may require real-time displays and data recording; others may require more complex data stream conversion, measurement filtering, or test stand configuration management. Test facility users can choose which components to incorporate based on their specific needs.
NDAS introduces a paradigm shift in the way NASA performs data acquisition software development. NDAS enables testing projects at any NASA facility to share and exchange data acquisition software applications and artifacts eliminating redundant efforts. The NDAS software development effort was cultivated in the spirit of NASA’s new way of doing business in software—to create applications that can be used everywhere.
NDAS is significant within the propulsion sector. It represents a fundamentally different way of operating, breaking with 30 years of tradition within NASA. It is the first application of its kind at NASA and uses recently developed NI tools to create a software framework that can span the diverse systems that comprise the propulsion system test facilities across multiple centers and many test facilities. The modular and flexible design minimizes the software development effort for future data systems. To enable this adaptability, the system design incorporates the necessary functions to operate a rocket propulsion test facility DAS and its flexibility permits independence from DAS hardware. Furthermore, this application is significant because it reduces barriers to support the growth of the commercial space launch industry. In this way, using a NASA-developed suite of tools alleviates issues regarding exposure of customer proprietary data to potential competitors.
An additional benefit of the software’s architecture is its ease of migration to other facilities, which provides commonality across NASA. The software is portable without being specific to underlying hardware and facility configuration. NDAS combines a hardware abstraction layer, an innovative database structure, and post-acquisition processing capability, so the software is portable to multiple facilities with no design modifications and minimal code modifications. Adapting the software to other RPT centers provides commonality and reduces testing costs for NASA.
This software suite is the only known cross-platform DAS software available for rocket propulsion testing. Far from traditional and developing technology sectors in the United States, NDAS has made significant progress driving the maturity of large-scale software engineering efforts at NASA and SSC.
Overall, using LabVIEW and advanced technologies, such as the Actor Framework and Object-Oriented programming, helped us with an innovative and large-scale software development effort and maximized the reusability of the software source code. These technologies aided in the development of an integrated software suite that combines the functionality of various applications into a common platform.
The NDAS SSC developed replaces the current outdated systems. Its flexibility and modularity enables its usability with any hardware at any test facility. NDAS provides a solid and consistent foundation for performing aerospace propulsion testing, so the agency can perform space exploration missions, including missions to Mars, asteroids, and beyond.
The original intention for the NDAS software was to develop a common data acquisition software suite for NASA propulsion test centers. However, the software could one day be transferred to commercial organizations involved in any data acquisition endeavor, and transferable to universities and other government agencies.
The NDAS software suite is best suited for large-scale, multiuser data acquisition systems with lower-speed (250 samples per second or below) acquisition requirements, but has the potential for use with any generalized data acquisition system. The design of the NDAS software suite is not exclusive for the rocket engine testing domain. The data visualization and recording components have the potential for use in any applications using scientific measurement data.
NDAS is currently under modification for use as the primary DAS software suite for the Space Launch System Core Stage at SSC’s B-2 Test Stand. The primary modifications for this effort are due to the use of different DAS hardware. Once modifications are complete for use at SSC’s B-2 Test Stand, SSC plans to migrate it to WSTF and SSC’s E-Complex test facilities, which use the same DAS hardware as SSC’s B-2 test facility.
Another feature in development is for transducer calibration data management after National Institute of Standards and Technology traceable calibration occurs. This includes an automated data import capability so manually entering transducer calibration information into the database will not be required. This functionality will be valuable for large-scale acquisition systems with hundreds of transducers.
Phillip Hebert, Sr.
NASA John C. Stennis Space Center