An on-board diagnostic system for a complex system comprising a computer processor, a non-volatile storage, an interface adapted to receive data including sensor data from a plurality of sources obtained from data buses in the complex system, and a model (202 - 242) adapted to emulate the operation of each of a plurality of subsystems that make up the complex system, said model further comprising a plurality of nodes in a graph, the on-board diagnostic system characterized by; said nodes being adapted to emulate functions, components, and sensors for each of the subsystems of the complex system, at least some of said nodes representing parameterized data, direct analog sensor data and built-in-test data, said model further comprising an XML model configuration file for each subsystem stored in the non-volatile storage; a model development and verification interface adapted to create and verify the model; a model testing manager adapted to evaluate the model; a model based reasoner, MBR, engine executed by the computer processor, said MBR engine adapted to: receive data from the interface, implement the models of each of the subsystems from the corresponding XML model configuration file, compare the BIT data and parameterized data originating from the same subsystem, and produce diagnostic analysis of the BIT data and of the parameterized data, and to determine if an anomaly as indicated by the diagnostic analysis of the BIT data represents a false or a true alarm based on the comparison where the diagnostic analysis of the parameterized data for the same subsystem does or does not indicate a failure; and a maintenance viewer for receiving the diagnostic analysis and data and providing actionable maintenance tasks and reports based on the diagnostics analysis. an interface adapted to receive data including sensor data from a plurality of sources obtained from data buses in the complex system, and a model (202 - 242) adapted to emulate the operation of each of a plurality of subsystems that make up the complex system, said model further comprising a plurality of nodes in a graph, the on-board diagnostic system characterized by; said nodes being adapted to emulate functions, components, and sensors for each of the subsystems of the complex system, at least some of said nodes representing parameterized data, direct analog sensor data and built-in-test data, said model further comprising an XML model configuration file for each subsystem stored in the non-volatile storage; a model development and verification interface adapted to create and verify the model; a model testing manager adapted to evaluate the model; a model based reasoner, MBR, engine executed by the computer processor, said MBR engine adapted to: receive data from the interface, implement the models of each of the subsystems from the corresponding XML model configuration file, compare the BIT data and parameterized data originating from the same subsystem, and produce diagnostic analysis of the BIT data and of the parameterized data, and to determine if an anomaly as indicated by the diagnostic analysis of the BIT data represents a false or a true alarm based on the comparison where the diagnostic analysis of the parameterized data for the same subsystem does or does not indicate a failure; and a maintenance viewer for receiving the diagnostic analysis and data and providing actionable maintenance tasks and reports based on the diagnostics analysis.