Framework for quiescence management in support of reconfigurable multi-threaded component-based systems

In component-based software systems, the basic building block is the component, and applications are built as component compositions. 'Dynamic reconfiguration' in such systems is defined as the ability to replace individual components at runtime, or to change the compositional topology by adding/removing components and/or changing the patterns of their interconnection. A 'quiescence service' supports dynamic reconfiguration by pushing a system into a stable state in which such changes can be safely made. It is thus a key enabler of dynamic reconfiguration. The authors present the design of a quiescence service, which has been implemented for the OpenCOM component-based programming platform. It is argued that this design shows significant advances over the state of the art in quiescence support for component-based systems. In particular, it minimises programmer overhead and system disruption, and efficiently supports a large class of systems without imposing architectural constraints.

[1]  Marten van Sinderen,et al.  Transparent dynamic reconfiguration for CORBA , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[2]  Gordon S. Blair,et al.  Research directions in reflective middleware: the Lancaster experience , 2004, Adaptive and Reflective Middleware.

[3]  Thaís Vasconcelos Batista,et al.  Mapping ADL Specifications to an Efficient and Reconfigurable Runtime Component Platform , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[4]  Morris Sloman,et al.  Constructing Distributed Systems in Conic , 1989, IEEE Trans. Software Eng..

[5]  Christine Hofmeister Dynamic reconfiguration of distributed applications , 1993 .

[6]  Gordon S. Blair,et al.  A generic component model for building systems software , 2008, TOCS.

[7]  Andreas Polze,et al.  Configuration and dynamic reconfiguration of component-based applications with Microsoft .NET , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..

[8]  Dilma Da Silva,et al.  System Support for Online Reconfiguration , 2003, USENIX Annual Technical Conference, General Track.

[9]  Gordon S. Blair,et al.  Adaptive resource management in middleware: a survey , 2004, IEEE Distributed Systems Online.

[10]  Jeff Kramer,et al.  Maintaining node consistency in the face of dynamic change , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[11]  Paul E. McKenney,et al.  READ-COPY UPDATE: USING EXECUTION HISTORY TO SOLVE CONCURRENCY PROBLEMS , 2002 .

[12]  Xuejun Chen Extending RMI to support dynamic reconfiguration of distributed systems , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[13]  Jamie Hillman,et al.  An open framework for dynamic reconfiguration , 2004, ICSE 2004.

[14]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..