Livingstone is a model-based diagnosis system that uses a qualitative model of the different components of a physical plant and their interactions, both under nominal and faulty conditions. It tracks the commands issued to the physical system, then compares the state predicted by the model against observations received from physical sensors.
If a discrepancy is detected, Livingstone performs a diagnosis by searching for combinations of faults that are consistent with the observations. Each combination is called a candidate and has an associated rank estimating its probability, higher ranked candidates being less likely. Livingstone's best-first search algorithm returns more likely, lower ranked candidates first. In particular, when the nominal case is consistent with Livingstone's observations, the empty candidate (of rank 0) is generated.
The Livingstone fault diagnosis and recovery kernel has successfully been applied to the Remote Agent Experiment (RAX) demonstration on Deep Sapce 1 (DS-1) in 1999. A new generation of Livingstone, called L2, includes temporal trajectory tracking. Further extensions supporting more general constraint types (hybrid discrete/continuous models) are under investigation.
Livingstone PathFinder (LPF) is a simulation-based tool for analyzing and verifying Livingstone-based diagnosis applications. LPF executes a Livingstone diagnosis engine, embedded into a simulated environment, and runs that assembly through all executions described by a user-provided scenario file, while checking for various selectable error conditions after each step.