Search Ames


Ames Technology Capabilities and Facilities

Text Size

Automatic Program Synthesis for Data Monitors and Classifiers

The AutoBayes and AutoFilter program synthesis systems can automatically generate efficient, certified code for data monitors from compact specifications. The tools enable advanced on-board statistical data analysis algorithms and highly flexible ISHM.

Using high-level models instead of low-level monitoring and classification code enables ISHM developers to create powerful data monitors quickly, reliably, and cost-effectively. When families of subsequent missions require sensor upgrades or changes in sensor configuration, the AutoBayes and AutoFilter tools re-generate all required artifacts— code, documentation, and certification— with minimal effort.

Code, documentation and certification are easily generated.

Research Overview
Data monitoring problems for engineering data can usually be specified in terms of statistical models or differential equations. The AutoBayes and AutoFilter program synthesis tools take such specifications and automatically produce compact and efficient code implementing the corresponding data monitor. Code reliability and quality are ensured by standardized software design documents and code safety certificates that are synthesized in parallel with the code. The tools can currently handle Bayesian statistical models suitable for expressing many monitoring and clustering tasks (e.g., mixture models, step or trend detection), and estimators (based on Kalman filters and particle filters).

Right: Code, documentation and certification are easily generated.

Background The health management system of a space vehicle needs to analyze and interpret the data from sensors in order to obtain information about the status of the system. First-generation health management systems often only used discrete values (“pressure too low/too high”), but modern sensors and missions require much more elaborate data monitors.

Health management systems for future exploration missions need to provide higher-level operations ranging from the detection of trends and steps over the clustering and classification engineering data to the estimation of the underlying system state. Manual implementation and maintenance of such complex data monitors is error-prone and expensive, particularly for sustained missions that include frequent sensor upgrades or configuration changes.

Provided Capabilities:

  • Fast and easy specification of complex data monitors
  • Mathematical and engineering notations
  • Powerful statistical algorithms for:
    • Bayesian analysis
    • Maximum likelihood estimation
    • Clustering and change-point detection
  • No knowledge about analysis algorithms required
  • Automatic handling of non-Gaussian distributions
  • Incorporation of Simulink models and Matlab functions
  • Easy adaptation of code generator to specific target
  • languages, APIs, and platforms (e.g., VxWorks)
  • Generation of software design document according to NASA standards
  • Generation of test data for simulation and evaluation purposes
  • Automatic certification support to ensure high reliability of synthesized code