Skip to Main Content
In this paper, we analyze the diagnosability properties of labeled Petri nets. We consider the standard notion of diagnosability of languages, requiring that every occurrence of an unobservable fault event be eventually detected, as well as the stronger notion of diagnosability in K steps, where the detection must occur within a fixed bound of K event occurrences after the fault. We give necessary and sufficient conditions for these two notions of diagnosability for both bounded and unbounded Petri nets and then present an algorithmic technique for testing the conditions based on linear programming. Our approach is novel and based on the analysis of the reachability/coverability graph of a special Petri net, called Verifier Net, that is built from the Petri net model of the given system. In the case of systems that are diagnosable in K steps, we give a procedure to compute the bound K. To the best of our knowledge, this is the first time that necessary and sufficient conditions for diagnosability and diagnosability in K steps of labeled unbounded Petri nets are presented.