Codiagnosability of discrete event systems revisited: A new necessary and sufficient condition and its applications. (March 2019)