Skip to Main Content
Deadlocks are a rather undesirable situation in a highly automated flexible manufacturing system. Their occurrences often deteriorate the utilization of resources and may lead to catastrophic results in safety-critical systems. Graph theory, automata, and Petri nets are three important mathematical tools to handle deadlock problems in resource allocation systems. Particularly, Petri nets are considered as a popular formalism because of their inherent characteristics. They received much attention over the past decades to deal with deadlock problems, leading to a variety of deadlock-control policies. This study surveys the state-of-the-art deadlock-control strategies for automated manufacturing systems by reviewing the principles and techniques that are involved in preventing, avoiding, and detecting deadlocks. The focus is deadlock prevention due to its large and continuing stream of efforts. A control strategy is evaluated in terms of computational complexity, behavioral permissiveness, and structural complexity of its deadlock-free supervisor. This study provides readers with a conglomeration of the updated results in this area and facilitates engineers in finding a suitable approach for their industrial scenarios. Future research directions are finally discussed.