Proceedings of the 20th IEEE International Conference on Software Maintenance pages:274-283
IEEE International Conference on Software Maintenance edition:20 location:Chicago Illinois, USA date:September 11-14, 2004
Unanticipated software adaptations are becoming increasingly important in the domain of distributed systems. Due to performance and availability requirements, these adaptations need to be enforced at run-time. However for dynamic changes to yield valid systems, a safe state for reconfiguration of the involved software modules must be enforced. This paper proposes a solution to modularize support for achieving safe reconfiguration and separate it from basic application functionality. In addition, we describe a mechanism to obtain a safe state for unanticipated reconfiguration of producer/consumer based systems, rather than being limited to updates of independent software components. The presented method imposes such a safe state with minimal interference to the rest of the system, and with minimal contribution from the programmer. We believe that a wide range of producer/consumer based systems can take advantage of the presented solution.