A systematic modelling procedure based on qualitative bond graphs is presented. A controller design method is developed to derive control algorithms from qualitative bond graph models. An auto-tuning scheme is proposed to adjust the controllers in order to meet performance criteria and adapt to system changes. A fault diagnosis mechanism is built to localise system faults, and an additional measurement suggestion method is developed for the diagnosis result refinement. An automatic planner is proposed to generate the operation sequences for system start-up, shut-down, and emergency measures to help human operators operate systems safely. All of these applications are combined together via a management mechanism to construct a supervisory control system.