Skip to Main Content
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.