A method of diagnosing a turbine system, comprising: receiving sensor data of a first component of the turbine system using a sensor connected with the first component; identifying a functioning mode of the first component; inputting the sensor data and the mode of the first component into a first model-based diagnostic engine, the first model-based diagnostic engine being a single-component model specific to the first component and being formalized as a set of logic rules describing how the turbine system should perform and identifying that a first fault occurred and diagnosing the first fault by identifying component(s)s that could have produced it, and into a first data-driven diagnostic engine learned from sensor data annotated as either faulty or normal to produce as output such faulty or normal findings to generate a first component diagnosis; receiving sensor data of a second component of the turbine system using a sensor connected with the second component; identifying a functioning mode of the second component; inputting the sensor data and the mode of the second component into a second model-based diagnostic engine, the second model-based diagnostic engine being a single-component model specific to the second component and being formalized as a set of logic rules describing how the turbine system should perform and identifying that a second fault occurred and diagnosing the second fault by identifying component(s)s that could have produced it and into a second data-driven diagnostic engine learned from sensor data annotated as either faulty or normal to produce as output such faulty or normal findings to generate a second component diagnosis; generating a component abstraction for the first component diagnosis and the second component diagnosis; wherein the component abstraction improves diagnostics by abstracting away from individual components and their behaviour by removing distinctions of the respective component that are not important for the considered turbine system; and inputting the component abstraction to a system model-based diagnostic engine to generate a first diagnosis of the turbine system. receiving sensor data of a first component of the turbine system using a sensor connected with the first component; identifying a functioning mode of the first component; inputting the sensor data and the mode of the first component into a first model-based diagnostic engine, the first model-based diagnostic engine being a single-component model specific to the first component and being formalized as a set of logic rules describing how the turbine system should perform and identifying that a first fault occurred and diagnosing the first fault by identifying component(s)s that could have produced it, and into a first data-driven diagnostic engine learned from sensor data annotated as either faulty or normal to produce as output such faulty or normal findings to generate a first component diagnosis; receiving sensor data of a second component of the turbine system using a sensor connected with the second component; identifying a functioning mode of the second component; inputting the sensor data and the mode of the second component into a second model-based diagnostic engine, the second model-based diagnostic engine being a single-component model specific to the second component and being formalized as a set of logic rules describing how the turbine system should perform and identifying that a second fault occurred and diagnosing the second fault by identifying component(s)s that could have produced it and into a second data-driven diagnostic engine learned from sensor data annotated as either faulty or normal to produce as output such faulty or normal findings to generate a second component diagnosis; generating a component abstraction for the first component diagnosis and the second component diagnosis; wherein the component abstraction improves diagnostics by abstracting away from individual components and their behaviour by removing distinctions of the respective component that are not important for the considered turbine system; and inputting the component abstraction to a system model-based diagnostic engine to generate a first diagnosis of the turbine system.