1. A system for diagnosing a machine from waveform data generated therefrom, comprising: a diagnostic knowledge base containing a plurality of rules for diagnosing faults in a machine and a plurality of corrective actions for repairing the faults; a diagnostic parser for removing extraneous data from the waveform data; a diagnostic fault detector for categorizing the waveform data as normal and faulty data; a diagnostic feature extractor for extracting a plurality of features from the waveform data categorized as faulty data; and a diagnostic fault isolator coupled to the diagnostic feature extractor and the diagnostic knowledge base for isolating a candidate set of faults for the extracted features and identifying root causes most likely responsible for the candidate set of faults.