Diagnosis of Discrete-Event Systems Integrating Synchronous and Asynchronous Behavior