A control system for a turboprop engine and a propeller coupled to the engine, the control system comprising: at least one processing unit; and a non-transitory computer-readable memory having stored thereon program instructions executable by the at least one processing unit for: receiving a target output power for the engine and a target speed for the propeller, the target output power and the target speed determined from at least one pilot lever; receiving, from at least one sensing device (232, 234), a measurement of at least one engine parameter and a measurement of at least one propeller parameter; characterised in that: the program instructions are further executable by the at least one processing unit for: modeling at least one model of the engine based on the measurement of the at least one engine parameter and modeling at least one model of the propeller based on the measurement of the at least one propeller parameter, the at least one model of the engine representative of dynamics of the engine and the at least one model of the propeller representative of dynamics of the propeller; generating at least one engine control command based on the target output power, the measurement of the at least one engine parameter, and the at least one model of the engine, the at least one engine control command comprising instructions for adjusting the at least one engine parameter to bring an output power of the engine toward the target output power; generating at least one propeller control command based on the target speed, the measurement of the at least one propeller parameter, and the at least one model of the propeller, the at least one propeller control command comprising instructions for adjusting the at least one propeller parameter to bring a rotational speed of the propeller toward the target speed; outputting the at least one engine control command for controlling an operation of the engine accordingly; and outputting the at least one propeller control command for controlling an operation of the propeller accordingly. at least one processing unit; and a non-transitory computer-readable memory having stored thereon program instructions executable by the at least one processing unit for: receiving a target output power for the engine and a target speed for the propeller, the target output power and the target speed determined from at least one pilot lever; receiving, from at least one sensing device (232, 234), a measurement of at least one engine parameter and a measurement of at least one propeller parameter; receiving a target output power for the engine and a target speed for the propeller, the target output power and the target speed determined from at least one pilot lever; receiving, from at least one sensing device (232, 234), a measurement of at least one engine parameter and a measurement of at least one propeller parameter; modeling at least one model of the engine based on the measurement of the at least one engine parameter and modeling at least one model of the propeller based on the measurement of the at least one propeller parameter, the at least one model of the engine representative of dynamics of the engine and the at least one model of the propeller representative of dynamics of the propeller; generating at least one engine control command based on the target output power, the measurement of the at least one engine parameter, and the at least one model of the engine, the at least one engine control command comprising instructions for adjusting the at least one engine parameter to bring an output power of the engine toward the target output power; generating at least one propeller control command based on the target speed, the measurement of the at least one propeller parameter, and the at least one model of the propeller, the at least one propeller control command comprising instructions for adjusting the at least one propeller parameter to bring a rotational speed of the propeller toward the target speed; outputting the at least one engine control command for controlling an operation of the engine accordingly; and outputting the at least one propeller control command for controlling an operation of the propeller accordingly.