A Semi-Dynamic Diagnostic Engine uses a diagnostic reasoner to calculate diagnostic conclusions on-the-fly, using either a predetermined or Analyst-defined test order. Like a static diagnostic engine, a semi-dynamic engine may base the order of testing on a predetermined fault tree. Unlike static diagnostics, however, semi-dynamic diagnostics allows tests to be skipped, postponed or inserted without compromising the validity of the diagnostic conclusions. Although tests can be performed in any order, a semi-dynamic diagnostic engine does not calculate test recommendations on-the-fly (this can only be done by a fully dynamic diagnostic engine). When asked, a semi-dynamic diagnostic engine can only base test recommendations on its predetermined test order.
A semi-dynamic diagnostic engine can only be partially verified using a deductive approach. The predetermined test order can be used to examine the diagnosis of any fault or combination of faults in the system. The diagnostic reasoner will only be verified to the extent that it supports the predetermined test order. The ability of the diagnostic reasoner to correctly diagnose other detection and isolation paths is best verified inductively (using a few representative examples) since the possible number of paths could be quite high.
Deployed semi-dynamic diagnostics consists of the predetermined test order and a diagnostic reasoning algorithm.