A fault identification system consisting of multiple reasoning engines and the blackboard analyzes alarm information and the associated contextual information to identify faults. The contextual information associated with an alarm is derived by analyzing the alarm along four spaces, namely, transaction-space, function-space, execution-space, and signal-space. The reasoning engines associated with these spaces infer and/or validate the occurrences of faults. Transaction reasoning engine, using the associated knowledge repository, processes the generated alarms to infer and validate faults. Monitor reasoning engine, using the associated knowledge repository, processes domain specific monitor variables to infer faults. Execution reasoning engine, using the associated knowledge repository, processes execution specific monitor variables to infer and validate faults. Function reasoning engine, using the associated knowledge repository, reasons to infer and validate faults. Signal reasoning engine, using the associated knowledge repository, processes hardware specific and environment variables to infer and validate faults. Global reasoning engine moderates the inferences and validations by other reasoning engines to provide consolidated fault inference. The invention also provides a process, "design for diagnosis," for designing electronic systems with maximum emphasis on fault diagnosis.