Reconfiguration is the process of applying planned changes to the communication, interconnection, componentization, or functionality
of a deployed system. It is a powerful tool for achieving a variety of desirable properties of large-scale, distributed systems,
including evolvability, adaptability, survivability, and continuous availability. Current approaches to reconfiguration are
inadequate: some allow one to describe a system’s range of configurations for a relatively broad class of system architectures,
but do not provide a mechanism for actually carrying out a reconfiguration; others provide a mechanism for carrying out certain
kinds of limited reconfigurations, but assume a specialized system architecture in order to do so. This paper describes our
attempt at devising a reconfiguration mechanism for use with the popular and widely available Enterprise JavaBean (EJB) component
container model. We describe extensions to the basic services provided by EJB to support the mechanism, a prototype implementation,
and a case study of its application to a representative component-based distributed system.