autofilter is a tool that generates implementations that solve state estimation problems using Kalman filters. From a high-level, mathematics-based description of a state estimation problem, autofilter automatically generates code that computes a statistically optimal estimate using one or more of a number of well-known variants of the Kalman filter algorithm. The problem description may be given in terms of continuous or discrete, linear or nonlinear process and measurement dynamics. From this description, autofilter automates many common solution methods (e.g., linearization, discretization) and generates C or Matlab code fully automatically. autofilter surpasses toolkit-based programming approaches for Kalman filters because it requires no low-level programming skills (e.g., to "glue" together library function calls). autofilter raises the level of discourse to the mathematics of the problem at hand rather than the details of what algorithms, data structures, optimizations and so on are required to implement it. An overview of autofilter is given along with an example of its practical application to deep space attitude estimation.
The paper describes novel techniques for designing intelligent code generators for domain-specific modeling languages and presents a specific instantiation of the ideas for the Autofilter system. Autofilter was piloted on two case studies at NASA ' one for an automated spacecraft docking research project, one for satellite navigation code. Experiments showed that Autofilter could produce equivalent code to that flown on NASA's Deep Space I, but could do it faster. Autofilter is still in use at NASA as a research vehicle for work on trusted code generators. 24 citations on Google Scholar. RAE_import_type : Journal article RAE_uoa_type : Computer Science and Informatics