Optimal Liveness-Enforcing Control for a Class of Petri Nets Arising in Multithreaded Software

We investigate the synthesis of optimal liveness-enforcing control policies for Gadara nets, a special class of Petri nets that arises in the modeling of the execution of multithreaded computer programs for the purpose of deadlock avoidance. We consider maximal permissiveness as the notion of optimality. Deadlock-freeness of a multithreaded program corresponds to liveness of its Gadara net model. We present a new control synthesis algorithm for liveness enforcement of Gadara nets that need not be ordinary. The algorithm employs structural analysis of the net and synthesizes monitor places to prevent the formation of a special class of siphons, termed resource-induced deadly-marked siphons. The algorithm also accounts for uncontrollable transitions in the net in a minimally restrictive manner. The algorithm is generally an iterative process and converges in a finite number of iterations. It exploits a covering of the unsafe states that is updated at each iteration. The proposed algorithm is shown to be correct and maximally permissive with respect to the goal of liveness enforcement.

[1]  Panos J. Antsaklis,et al.  Supervisory Control of Discrete Event Systems Using Petri Nets , 1998, The International Series on Discrete Event Dynamic Systems.

[2]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[3]  Jana Kosecka,et al.  Control of Discrete Event Systems , 1992 .

[4]  Scott A. Mahlke,et al.  Deadlock-avoidance control of multithreaded software: An efficient siphon-based algorithm for Gadara petri nets , 2011, IEEE Conference on Decision and Control and European Control Conference.

[5]  Zhiwu Li,et al.  Deadlock Resolution in Automated Manufacturing Systems: A Novel Petri Net Approach , 2009 .

[6]  Spyros A. Reveliotis,et al.  Deadlock avoidance policies for automated manufacturing cells , 1996, IEEE Trans. Robotics Autom..

[7]  Scott A. Mahlke,et al.  The theory of deadlock avoidance via discrete control , 2009, POPL '09.

[8]  Scott A. Mahlke,et al.  Synthesis of maximally-permissive liveness-enforcing control policies for Gadara petri nets , 2010, 49th IEEE Conference on Decision and Control (CDC).

[9]  Panos J. Antsaklis,et al.  Supervisory Control of Concurrent Systems: A Petri Net Structural Approach (M.V. Iordache and P.J. Antsaklis; 2008) [Book reviews] , 2006, IEEE Transactions on Automatic Control.

[10]  Stéphane Lafortune,et al.  Modeling, analysis, and control of a class of resource allocation systems arising in concurrent software , 2012 .

[11]  Scott A. Mahlke,et al.  Eliminating Concurrency Bugs in Multithreaded Software: A New Approach Based on Discrete-Event Control , 2013, IEEE Transactions on Control Systems Technology.

[12]  Elia E. Cano,et al.  An algorithm to compute the minimal siphons in S4PR nets , 2012, Discret. Event Dyn. Syst..

[13]  Feng Chu,et al.  Deadlock analysis of Petri nets using siphons and mathematical programming , 1997, IEEE Trans. Robotics Autom..

[14]  Nidhal Rezg,et al.  Design of a live and maximally permissive Petri net controller using the theory of regions , 2003, IEEE Trans. Robotics Autom..

[15]  MengChu Zhou,et al.  Deadlock Control of Automated Manufacturing Systems Based on Petri Nets—A Literature Review , 2012, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[16]  Alessandro Giua,et al.  Generalized mutual exclusion contraints on nets with uncontrollable transitions , 1992, [Proceedings] 1992 IEEE International Conference on Systems, Man, and Cybernetics.

[17]  Scott A. Mahlke,et al.  Eliminating Concurrency Bugs with Control Engineering , 2009, Computer.

[18]  Alessandro Giua,et al.  Petri nets as discrete event models for supervisory control , 1992 .

[19]  Stéphane Lafortune,et al.  Designing Compact and Maximally Permissive Deadlock Avoidance Policies for Complex Resource Allocation Systems Through Classification Theory: The Linear Case , 2011, IEEE Transactions on Automatic Control.

[20]  Marian V Iordache,et al.  Concurrent program synthesis based on supervisory control , 2010, Proceedings of the 2010 American Control Conference.

[21]  Spyros Reveliotis Real-time management of resource allocation systems : a discrete event systems approach , 2004 .

[22]  Murat Uzam,et al.  An Optimal Deadlock Prevention Policy for Flexible Manufacturing Systems Using Petri Net Models with Resources and the Theory of Regions , 2002 .

[23]  Christos G. Cassandras,et al.  Introduction to Discrete Event Systems , 1999, The Kluwer International Series on Discrete Event Dynamic Systems.

[24]  Scott A. Mahlke,et al.  Gadara nets: Modeling and analyzing lock allocation for deadlock avoidance in multithreaded software , 2009, Proceedings of the 48h IEEE Conference on Decision and Control (CDC) held jointly with 2009 28th Chinese Control Conference.

[25]  Panos J. Antsaklis,et al.  Feedback control of Petri nets based on place invariants , 1994, Proceedings of 1994 33rd IEEE Conference on Decision and Control.

[26]  Joaquín Ezpeleta,et al.  A Petri Net Structure– Based Deadlock Prevention Solution for Sequential Resource Allocation Systems , 2005, Proceedings of the 2005 IEEE International Conference on Robotics and Automation.

[27]  Scott A. Mahlke,et al.  Supervisory control of software execution for failure avoidance: Experience from the Gadara project , 2010, WODES.

[28]  MengChu Zhou,et al.  A Survey and Comparison of Petri Net-Based Deadlock Prevention Policies for Flexible Manufacturing Systems , 2008, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[29]  Shan Lu,et al.  Automated atomicity-violation fixing , 2011, PLDI '11.

[30]  Tadao Murata,et al.  Detection of Ada Static Deadlocks Using Petri Net Invariants , 1989, IEEE Trans. Software Eng..

[31]  Kamel Barkaoui,et al.  On Liveness and Controlled Siphons in Petri Nets , 1996, Application and Theory of Petri Nets.

[32]  Scott A. Mahlke,et al.  Concurrency bugs in multithreaded software: modeling and analysis using Petri nets , 2013, Discret. Event Dyn. Syst..