A Generic Software Architecture for Prognostics (GSAP)



Published Nov 16, 2020
Christopher Teubert Matthew J. Daigle Shankar Sankararaman Kai Goebel Jason Watkins


Prognostics is a systems engineering discipline focused on predicting end-of-life of components and systems. As a relatively new and emerging technology, there are few fielded implementations of prognostics, due in part to practitioners perceiving a large hurdle in developing the models, algorithms, architecture, and integration pieces. Similarly, no open software frameworks for applying prognostics currently exist. This paper introduces the Generic Software Architecture for Prognostics (GSAP), an open-source, cross-platform, object-oriented software framework and support library for creating prognostics applications. GSAP was designed to make prognostics more accessible and enable faster adoption and implementation by industry, by reducing the effort and investment required to develop, test, and deploy prognostics. This paper describes the requirements, design, and testing of GSAP. Additionally, a detailed case study involving battery prognostics demonstrates its use.

Abstract 161 | PDF Downloads 148



software, Battery discharge prognostics, architecture, Generic prognostics methodology, software architecture

Arulampalam, M. S., Maskell, S., Gordon, N., & Clapp, T. (2002). A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking. IEEE Transactions on Signal Processing, 50(2), 174–188.
Chen, C., & Pecht, M. (2012). Prognostics of lithium-ion batteries using model-based and data-driven methods. In Ieee conference on prognostics and system health management.
CMMI Product Team. (2010). CMMI for development, version 1.3. Retrieved from http://www.sei.cmu.edu/reports/10tr033.pdf
Daigle, M. (2016a, October). Prognostics algorithm library. Retrieved from https://github.com/nasa/PrognosticsAlgorithmLibrary
Daigle, M. (2016b, October). Prognostics model library. Retrieved from https://github.com/nasa/PrognosticsModelLibrary
Daigle, M., & Goebel, K. (2013, May). Model-based prognostics with concurrent damage progression processes. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 43(4), 535-546.
Daigle, M., & Kulkarni, C. (2013, October). Electrochemistry-based battery modeling for prognostics. In Annual conference of the prognostics and health management society 2013 (p. 249-261).
Daigle, M., Saha, B., & Goebel, K. (2012, March). A comparison of filter-based approaches for model-based prognostics. In 2012 ieee aerospace conference.
Daigle, M., & Sankararaman, S. (2013, October). Advanced methods for determining prediction uncertainty in model-based prognostics with application to planetary rovers. In (p. 262-274).
Daigle, M., & Sankararaman, S. (2016, December). Predicting remaining driving time and distance of a planetary rover under uncertainty. ASCE-ASME Journal of Risk and Uncertainty in Engineering Systems, Part B: Mechanical Engineering, 2(4).
Deal, Ryan and Kessler, Seth. (2011). Architecture (S. Johnson et al., Eds.). Wiley.
Doucet, A., Godsill, S., & Andrieu, C. (2000). On sequential Monte Carlo sampling methods for Bayesian filtering. Statistics and Computing, 10, 197–208.
General Electric. (2017). Predix platform. Retrieved from http://predix.io
Goebel, K., Daigle, M. J., Saxena, A., Sankararaman, S., Roychoudhury, I., & Celaya, J. (2017). Prognostics: The Science of Making Predictions. CreateSpace Independent Publishing Platform.
IEEE. (2015, June). Standard for artificial intelligence exchange and service tie to all test environments (standard No. 1232-2010).
IEEE RS/SC Reliability. (2016, June). Draft standard framework for prognostics and health management of electronic systems (standard No. P 1856).
ISO/TC 108/SC 5 Condition monitoring and diagnostics of machine systems. (2015, September). Condition monitoring and diagnostics of machines prognostics part 1 (standard No. 13381-1:2015).
Julier, S. J., & Uhlmann, J. K. (2004, March). Unscented filtering and nonlinear estimation. Proceedings of the IEEE, 92(3), 401–422.
Keller, K., Wiegand, D., Swearingen, K., Reisig, C., Black, S., Gillis, A., & Vandernoot, M. (2001). An architecture to implement integrated vehicle health management systems. In Autotestcon proceedings, 2001. ieee systems readiness technology conference (pp. 2–15).
Kulkarni, C. S., Teubert, C., Gorospe, G., Quach, C. C., Hogge, E., & Darafsheh, K. (2017a). Application of prognostics methodology to virtual laboratory for future aviation and airspace research. In Aiaa aviation conference.
Kulkarni, C. S., Teubert, C., Gorospe, G., Quach, C. C., Hogge, E., & Darafsheh, K. (2017b). A virtual laboratory for aviation and airspace prognostics research. In Aiaa modeling and simulation technologies conference (p. 1767).
Leao, B. P., Yoneyama, T., Rocha, G. C., & Fitzgibbon, K. T. (2008). Prognostics performance metrics and their relation to requirements, design, verification and costbenefit. In International conference on prognostics and health management.
MIMOSA. (2006). Open system architecture for conditionbased maintenance (standard No. 1232-2010).
Murphy, J., Jovic, S., & Otto, N. (2015). Message latency characterization of a distributed live, virtual, constructive simulation environment. In Aiaa infotech at aerospace conference.
NASA. (2015). Live virtual constructive distributed environment (lvc) lvc gateway, gateway toolbox.
NASA. (2017). Core flight software. Retrieved from http://cfs.gsfc.nasa.gov
National Aeronautics and Space Administration. (2014). Nasa software engineering requirements. Retrieved from http://specs4.ihserc.com/Document/Document/ViewDoc?docid=JUYNJFAAAAAAAAAA
National Aeronautics and Space Administration. (2017). Nasa software engineering handbook. Retrieved from https://swehb.nasa.gov/display/7150/ Book+A.+Introduction
Orchard, M., & Vachtsevanos, G. (2009, June). A particle filtering approach for on-line fault diagnosis and failure prognosis. Transactions of the Institute of Measurement and Control, 31(3-4), 221-246.
Robot operating system. (2017). Retrieved from http://www.ros.org
RTCA. (1992). Software considerations in airborne systems and equipment certification (standard No. DO-178B). SAE Aerospace. (2017, February). Guidelines for writing ivhm requirements for aerospace systems-draft (ARP No. 6883).
Saha, B., & Goebel, K. (2009, September). Modeling Li-ion battery capacity depletion in a particle filtering framework. In Proceedings of the annual conference of the prognostics and health management society 2009.
Sankararaman, S. (2015). Significance, interpretation, and quantification of uncertainty in prognostics and remaining useful life prediction. Mechanical Systems and Signal Processing, 52, 228–247.
Sankararaman, S., Daigle, M., & Goebel, K. (2014, June). Uncertainty quantification in remaining useful life prediction using first-order reliability methods. IEEE Transactions on Reliability, 63(2), 603-619.
Saxena, A., Roychoudhury, I., Celaya, J., Saha, S., Saha, B., & Goebel, K. (2010). Requirements specification for prognostics performance-an overview. In Aiaa infotech@ aerospace 2010.
Saxena, A., Roychoudhury, I., Celaya, J. R., Saha, B., Saha, S.,&Goebel, K. (2012, June). Requirements flowdown for prognostics and health management. The American institute of Aeronautics and Astronautics (AIAA) Infotech 2012 Conference.
Schwabacher, M. (2005). A survey of data-driven prognostics. In Proceedings of the aiaa infotech@aerospace conference.
Schwabacher, M., & Goebel, K. (2007). A survey of artificial intelligence for prognostics. In Proceedings of aaai fall symposium.
Srinivasan, S. (1999). Design patterns in object-oriented frameworks. Computer, 32(2), 24–32.
Teubert, C., Daigle, M., Sankararaman, S., Watkins, J., & Goebel, K. (2016, December). Generic software architecture for prognostics (gsap). Retrieved from https://github.com/nasa/GSAP
Usynin, A., Hines, J.W., & Urmanov, A. (2007). Formulation of prognostics requirements. In Aerospace conference, 2007 ieee.
Technical Papers