Online Diagnosis of Discrete Events Systems based on Petri Nets and Integer Linear Programming

The fault diagnosis in Petri net systems is usually performed by using a compiled diagnoser, which is a system built offline but usually having a big state space. In this paper it is shown that under certain assumptions two vectors, whose value is updated online after each observed event, can be used to develop an interpreted diagnoser, which is an algorithm based on mathematical programming to be executed online. In particular the first vector records the observations, while the second stores observations not enabled under the actual net marking. The proposed algorithm is able to distinguish between “a fault has occurred for sure” and “a fault has not occurred”.