PBDDR: Probe-Based Deadlock Detection and Recovery Strategy for Component-Based Systems

Correctness is a critical requirement for software systems and one of the key factors in correctness is that the system be deadlock-free. In this paper, we present a Probe-Based Deadlock Detection and Recovery (PBDDR) strategy for Component-based System (CBS) which brings four contributions. First, we define a formal semantic model by using Communicating Sequential Processes (CSP) to abstract interaction behavior for statically analyzing deadlock. Second, we propose a Deadlock Detection Algorithm (DDA) to find deadlock loops in a CBS. Third, we consider two qualities of concern, Timeliness (i.e., response time) and DLC (i.e., How many deadlock loops that a component involved in). Then we give a Deadlock Recovery Algorithm (DRA) to evaluate and replace the component to solve the deadlock problem based on above quality concerns. Finally, we implement our approach using the Arch Studio tool. Experimental results show that our approach has reasonable performance.

[1]  Jian Lü,et al.  Technical framework for Internetware: An architecture centric approach , 2008, Science in China Series F: Information Sciences.

[2]  Oscar Nierstrasz,et al.  A Calculus for Modeling Software Components , 2002, FMCO.

[3]  Eric Barboni,et al.  Software Components: a Formal Semantics Based on Coloured Petri Nets , 2006, Electron. Notes Theor. Comput. Sci..

[4]  Valmir Carneiro Barbosa,et al.  Strategies for the Prevention of Communication Deadlocks in Distributed Parallel Programs , 1990, IEEE Trans. Software Eng..

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

[6]  Ian Sommerville,et al.  Software engineering 9th edition (international edition) , 2011 .

[7]  James W. Havender Avoiding Deadlock in Multitasking Systems , 1968, IBM Syst. J..

[8]  Christoph Minnameier Local and global deadlock-detection in component-based systems are NP-hard , 2007, Inf. Process. Lett..

[9]  Chen Li,et al.  Dynamic probe based strategy for deadlock prevention in distributed systems: Dynamic probe based strategy for deadlock prevention in distributed systems , 2009 .

[10]  Paola Inverardi,et al.  Connectors synthesis for deadlock-free component based architectures , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[11]  Moritz Martens,et al.  Compositional analysis of deadlock-freedom for tree-like component architectures , 2008, EMSOFT '08.

[12]  Edward A. Lee,et al.  A causality interface for deadlock analysis in dataflow , 2006, EMSOFT '06.

[13]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[14]  J M R Martin,et al.  How to Design Deadlock-free Networks Using Csp and Veriication Tools { a Tutorial Introduction , 1997 .

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

[16]  Peng Dun-lu Dynamic probe based strategy for deadlock prevention in distributed systems , 2009 .

[17]  Frantisek Plasil,et al.  Modeling Environment for Component Model Checking from Hierarchical Architecture , 2007, Electron. Notes Theor. Comput. Sci..

[18]  Edward A. Lee,et al.  Causality Interfaces and Compositional Causality Analysis 1 , 2005 .

[19]  Moritz Martens,et al.  Using Architectural Constraints for Deadlock-Freedom of Component Systems with Multiway Cooperation , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

[20]  Joseph Sifakis,et al.  Component-Based Construction of Deadlock-Free Systems: Extended Abstract , 2003, FSTTCS.

[21]  Thomas A. Henzinger,et al.  Interface Theories for Component-Based Design , 2001, EMSOFT.

[22]  Barbara Simons,et al.  Static Deadlock Analysis for CSP-Type Communications , 1995, Responsive Computer Systems.

[23]  Joseph Sifakis,et al.  Composition for component-based modeling , 2002, Sci. Comput. Program..

[24]  Christoph Minnameier,et al.  A Polynomial-Time Checkable Sufficient Condition for Deadlock-Freedom of Component-Based Systems , 2007, SOFSEM.

[25]  T. Soininen,et al.  MODELING CONFIGURABLE PRODUCT FAMILIES , 1998 .

[26]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.