Iterative deadlock prevention strategies based on siphons have drawn increasing attention. For iterative strategies, selecting which siphon to control at each iteration has an influence on the final supervisor in structural complexity, computational complexity, and behavioral permissiveness. In this paper, we define two kinds of emptiable siphons and provide two modified mixed-integer programming (MIP) formulations to compute such siphons. On the basis of them, a three-stage iterative deadlock prevention policy that specifies the siphon control order is proposed. The experimental results show that a supervisor with a simpler structure, higher behavioral permissiveness, and lower computational complexity can be obtained by the proposed strategy since neither the exhaustive siphon enumeration nor the reachability analysis is required. INDEX TERMS Deadlock prevention, discrete event systems, mixed integer programming, Petri nets.
Deadlock is an undesired situation in multithreaded software since it can lead to the stoppage of software. This paper studies the problem of deadlock control of multithreaded software based on Gadara nets, which are well studied for modelling concurrent programs. In particular, an iterative deadlock prevention policy based on siphons is proposed for a class of ordinary Gadara nets where the initial marking of each idle place is one. At each iteration, we compute emptiable siphons containing the smallest number of resource places. Then, bad markings are computed based on these siphons. On the basis of the bad markings, a constraint is constructed that forbids not only bad markings that empty one of the siphons but also some other bad markings. The algorithm is carried out until no emptiable siphon exists in the net. Compared with the existing methods, the resultant net derived from the proposed method is live and maximally permissive with a simpler supervisor. Finally, two examples are provided to illustrate the proposed deadlock prevention policy.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.