Ordinary Differential Equation-Based Deadlock Detection

Deadlock detection for concurrent systems via static analysis is in general difficult because of state-space explosion; indeed it is PSPACE compete. This paper presents a new method to detect the deadlocks. A concurrent system consisting of several processes that communicate using a resource sharing mechanism is represented by a set of ordinary differential equations of a restricted type. The equations describe the system state changes, and their solutions, also called state measures, indicate the extent to which the state can be reached in execution. Based on the solutions, the resource deadlock can be detected. By taking into account the computation errors of numerical solution for the differential equations, the detection can be performed via a MATLAB solver, as shown in the experiments. The complexity of the proposed method is polynomial.

[1]  Barbara G. Ryder,et al.  Static Infinite Wait Anomaly Detection in Polynomial Time , 1990, ICPP.

[2]  Chinya V. Ravishankar,et al.  On-line detection and resolution of communication deadlocks , 1994, 1994 Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences.

[3]  A. K. Datta,et al.  Deadlock detection in distributed systems , 1990, Ninth Annual International Phoenix Conference on Computers and Communications. 1990 Conference Proceedings.

[4]  James C. Corbett,et al.  Using shape analysis to reduce finite-state models of concurrent Java programs , 2000, TSEM.

[5]  Edgar Knapp,et al.  Deadlock detection in distributed databases , 1987, CSUR.

[6]  Rami R. Razouk,et al.  Interactive State-Space Analysis of Concurrent Systems , 1987, IEEE Transactions on Software Engineering.

[7]  Panos Rondogiannis,et al.  Petri-Net-Based Deadlock Analysis of Process Algebra Programs , 1994, Sci. Comput. Program..

[8]  Hassane Alla,et al.  Discrete, continuous, and hybrid Petri Nets , 2004 .

[9]  Ajay D. Kshemkalyani,et al.  A One-Phase Algorithm to Detect Distributed Deadlocks in Replicated Databases , 1999, IEEE Trans. Knowl. Data Eng..

[10]  Uri M. Ascher,et al.  Computer methods for ordinary differential equations and differential-algebraic equations , 1998 .

[11]  Kuo-Chung Tai,et al.  Deadlock analysis of synchronous message-passing programs , 1999, 1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

[12]  George S. Avrunin,et al.  Automated Analysis of Concurrent Systems With the Constrained Expression Toolset , 1991, IEEE Trans. Software Eng..

[13]  Richard C. Holt,et al.  Some Deadlock Properties of Computer Systems , 1972, CSUR.

[14]  Monika Heiner,et al.  From Petri Nets to Differential Equations - An Integrative Approach for Biochemical Network Analysis , 2006, ICATPN.

[15]  Tadao Murata,et al.  Hierarchical Reachability Graph of Bounded Petri Nets for Concurrent-Software Analysis , 1994, IEEE Trans. Software Eng..

[16]  Corrado Böhm,et al.  Flow diagrams, turing machines and languages with only two formation rules , 1966, CACM.

[17]  Michal Young,et al.  Compositional reachability analysis using process algebra , 1991, TAV4.

[18]  Laura M. Haas,et al.  Distributed deadlock detection , 1983, TOCS.

[19]  MengChu Zhou,et al.  Reduction and Refinement by Algebraic Operations for Petri Net Transformation , 2012, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[20]  Soojung Lee,et al.  Fast, Centralized Detection and Resolution of Distributed Deadlocks in the Generalized Model , 2004, IEEE Trans. Software Eng..

[21]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

[22]  Michael Yoeli,et al.  Specification and verification of asynchronous circuits using marked graphs , 1987 .

[23]  Jeffrey J. P. Tsai,et al.  An empirical evaluation of deadlock detection in software architecture specifications , 1999, Ann. Softw. Eng..

[24]  David A. McAllester On the complexity analysis of static analyses , 1999, JACM.

[25]  R. BurchJ.,et al.  Symbolic model checking , 1992 .

[26]  Manuel Silva Suárez,et al.  On fluidification of Petri Nets: from discrete to hybrid and continuous models , 2003, Annu. Rev. Control..

[27]  MengChu Zhou,et al.  Petri net synthesis for discrete event control of manufacturing systems , 1992, The Kluwer international series in engineering and computer science.

[28]  George S. Avrunin,et al.  Using integer programming to verify general safety and liveness properties , 1995, Formal Methods Syst. Des..

[29]  Ernst Hairer,et al.  Solving Ordinary Differential Equations I: Nonstiff Problems , 2009 .

[30]  Scott A. Smolka,et al.  Data flow analysis of distributed communicating processes , 1990, International Journal of Parallel Programming.

[31]  José Manuel Colom,et al.  On the deadlock analysis of multithreaded control software , 2011, ETFA2011.

[32]  Zuohua Ding,et al.  Static Analysis of Concurrent Programs Using Ordinary Differential Equations , 2009, ICTAC.

[33]  Sam Toueg,et al.  Distributed deadlock detection , 2005, Distributed Computing.

[34]  Raymond J. A. Buhr,et al.  Starvation and Critical Race Analyzers for Ada , 1990, IEEE Trans. Software Eng..

[35]  N. Natarajan,et al.  A distributed scheme for detecting communication deadlocks , 1986, IEEE Transactions on Software Engineering.

[36]  Francesco Tisato,et al.  Modeling the Ada Task System by Petri Nets , 1985, Comput. Lang..

[37]  John A. Stankovic,et al.  Distributed deadlock detection in Ada run-time environments , 1990, TRI-Ada '90.

[38]  A. Prasad Sistla,et al.  SMC: A Symmetry Based Model Checker for Verification of Liveness Properties , 1997, CAV.

[39]  Roberto Gorrieri,et al.  A Formal Approach to the Integration of Performance Aspects in the Modeling and Analysis of Concurrent Systems , 1998, Inf. Comput..

[40]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[41]  Bill Lin,et al.  Efficient compilation of process-based concurrent programs without run-time scheduling , 1998, Proceedings Design, Automation and Test in Europe.

[42]  Isabel Demongodin,et al.  Differential Petri nets: representing continuous systems in a discrete-event world , 1998 .

[43]  Manuel Silva Suárez,et al.  Continuous Petri Nets: Expressive Power and Decidability Issues , 2010, Int. J. Found. Comput. Sci..

[44]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[45]  Lori A. Clarke,et al.  Task interaction graphs for concurrency analysis , 1989, ICSE '89.

[46]  Manuel Silva Suárez,et al.  Petri nets and integrality relaxations: A view of continuous Petri net models , 2002, IEEE Trans. Syst. Man Cybern. Part C.

[47]  Sol M. Shatz,et al.  Design and Implementation of a Petri Net Based Toolkit for Ada Tasking Analysis , 1990, IEEE Trans. Parallel Distributed Syst..

[48]  Dushan Z. Badal The distributed deadlock detection algorithm , 1986, TOCS.

[49]  Azzedine Boukerche,et al.  A Distributed Graph Algorithm for the Detection of Local Cycles and Knots , 1998, IEEE Trans. Parallel Distributed Syst..

[50]  James C. Corbett,et al.  An empirical evaluation of three methods for deadlock analysis of Ada tasking programs , 1994, ISSTA '94.

[51]  Shing-Tsaan Huang,et al.  A distributed deadlock detection algorithm for CSP-like communication , 1990, TOPL.

[52]  Edsger W. Dijkstra,et al.  Hierarchical ordering of sequential processes , 1971, Acta Informatica.

[53]  Patrice Godefroid,et al.  Refining Dependencies Improves Partial-Order Verification Methods (Extended Abstract) , 1993, CAV.

[54]  Woo Jin Lee,et al.  A Slicing-based Approach to Enhance Petri Net Reachability Analysis , 2000, J. Res. Pract. Inf. Technol..

[55]  Jan Lunze,et al.  Hybrid modelling of continuous-variable systems with application to supervisory control , 1997, 1997 European Control Conference (ECC).

[56]  Neelam Soundarajan,et al.  Efficient distributed deadlock detection and resolution using probes, tokens, and barriers , 1997, Proceedings 1997 International Conference on Parallel and Distributed Systems.

[57]  Richard N. Taylor,et al.  Complexity of analyzing the synchronization structure of concurrent programs , 1983, Acta Informatica.

[58]  Sam Toueg,et al.  A distributed algorithm for generalized deadlock detection , 1984, PODC '84.

[59]  K. Mani Chandy,et al.  A Distributed Graph Algorithm: Knot Detection , 1982, TOPL.

[60]  Richard N. Taylor,et al.  A general-purpose algorithm for analyzing concurrent programs , 1983, CACM.

[61]  D. Manivannan,et al.  An Efficient Distributed Algorithm for Detection of Knots and Cycles in a Distributed Graph , 2003, IEEE Trans. Parallel Distributed Syst..

[62]  S. Tu,et al.  Applying Petri net reduction to support Ada-tasking deadlock detection , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

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

[64]  Israel Cidon An Efficient Distributed Knot Detection Algorithm , 1989, IEEE Trans. Software Eng..

[65]  Mukesh Singhal,et al.  Deadlock Models and a General Algorithm for Distributed Deadlock Detection , 1995, J. Parallel Distributed Comput..

[66]  Edmund M. Clarke,et al.  Representing circuits more efficiently in symbolic model checking , 1991, 28th ACM/IEEE Design Automation Conference.

[67]  Lori A. Clarke,et al.  Data flow analysis for verifying properties of concurrent programs , 1994, SIGSOFT '94.

[68]  Michael K. Molloy Fast Bounds for Stochastic Petri Nets , 1985, PNPM.

[69]  George S Pavlides,et al.  Distributed algorithm for communication deadlock detection , 1991 .

[70]  David Luckham,et al.  Debugging Ada Tasking Programs , 1985, IEEE Software.

[71]  Kamel Barkaoui,et al.  Verification in concurrent programming with Petri nets structural techniques , 1998, Proceedings Third IEEE International High-Assurance Systems Engineering Symposium (Cat. No.98EX231).

[72]  George S. Avrunin,et al.  Applying static analysis to software architectures , 1997, ESEC '97/FSE-5.

[73]  Lori A. Clarke,et al.  A Compact Petri Net Representation and Its Implications for Analysis , 1996, IEEE Trans. Software Eng..

[74]  Antti Valmari,et al.  A stubborn attack on state explosion , 1990, Formal Methods Syst. Des..

[75]  A. von Mayrhauser,et al.  Automated partial communication deadlock analysis after changes to Ada code , 1995, Proceedings Seventh International Workshop on Computer-Aided Software Engineering.

[76]  Zbigniew M. Wójcik,et al.  Sufficient Condition for a Communication Deadlock and Distributed Deadlock Detection , 1989, IEEE Trans. Software Eng..

[77]  MengChu Zhou,et al.  Modeling, analysis, simulation, scheduling, and control of semiconductor manufacturing systems: A Petri net approach , 1998 .

[78]  James C. Corbett,et al.  Evaluating Deadlock Detection Methods for Concurrent Software , 1996, IEEE Trans. Software Eng..

[79]  Raymond A. DeCarlo,et al.  Analysis of a hybrid system using symbolic dynamics and Petri Nets , 1994, Autom..

[80]  Sol M. Shatz,et al.  Application and experimental evaluation of state space reduction methods for deadlock analysis in Ada , 1994, TSEM.