Towards Dynamic Component Updating: A Flexible and Lightweight Approach

Dynamic component updating, which allows a running system to be updated without interrupting its execution, has been recognized as an important requirement for distributed systems. However, most of existing approaches complicate the component development by making the component’s updating logic mixed with its business logic. This paper proposes a flexible and lightweight approach for supporting dynamic component updating. Our approach allows multiple versions of a component to co-exist with the support of runtime version management mechanism. Multiple polices are provided to coordinate behaviors of different component versions. In this way, seamless system updating can be achieved and the reliability during updating is also guaranteed. Moreover, our approach separates the component’s updating logic from its business logic and little burden are placed on developers. The experimental results show that the performance overhead is trivial.

[1]  Gordon S. Blair,et al.  Supporting adaptable distributed systems with FORMAware , 2004, 24th International Conference on Distributed Computing Systems Workshops, 2004. Proceedings..

[2]  Douglas C. Schmidt,et al.  Evaluating meta-programming mechanisms for ORB middleware , 2001 .

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

[4]  Gísli Hjálmtýsson,et al.  Dynamic C++ classes , 1999 .

[5]  Susanne Cech Previtali,et al.  Dynamic updates: another middleware service? , 2007, MAI '07.

[6]  Hong Mei,et al.  Journal of Software Maintenance and Evolution: Research and Practice a Component-based Approach to Online Software Evolution , 2022 .

[7]  Lu Jian,et al.  An approach to ensure service behavior consistency in OSGi , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[8]  Yolande Berbers,et al.  An overview and assessment of dynamic update methods for component-oriented embedded systems , 2002, ICSE 2002.

[9]  Jonathan E. Cook,et al.  Highly reliable upgrading of components , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[10]  Francisco Reverbel,et al.  The JBoss Extensible Server , 2003, Middleware.

[11]  P. M. Melliar-Smith,et al.  Live upgrades of CORBA applications using object replication , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[12]  Frantisek Plasil,et al.  SOFA/DCUP: architecture for component trading and dynamic updating , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[13]  Eric Jul,et al.  A framework for evolutionary, dynamically updatable, component-based systems , 2004, 24th International Conference on Distributed Computing Systems Workshops, 2004. Proceedings..