Disturbance Decoupling Problem for Discrete-Event Systems with Applications