Efficient Dynamic Updates of Distributed Components Through Version Consistency

Luciano Baresi, Carlo Ghezzi, Xiaoxing Ma, Valerio Panzica La Manna
2017 IEEE Transactions on Software Engineering  
Modern component-based distributed software systems are increasingly required to offer non-stop service and thus their updates must be carried out at runtime. Different authors have already proposed solutions for the safe management of dynamic updates. Our contribution aims at improving their efficiency without compromising safety. We propose a new criterion, called version consistency, which defines when a dynamic update can be safely and efficiently applied to the components that execute
more » ... ibuted transactions. Version consistency ensures that distributed transactions be served as if they were operated on a single coherent version of the system despite possible concurrent updates. The paper presents a distributed algorithm for checking version consistency efficiently, formalizes the proposed approach by means of a graph transformation system, and verifies its correctness through model checking. The paper also presents CONUP, a novel prototype framework that supports the approach and offers a viable, concrete solution for the use of version consistency. Both the approach and CONUP are evaluated on a significant third-party application. Obtained results witness the benefits of the proposed solution with respect to both timeliness and disruption.
doi:10.1109/tse.2016.2592913 fatcat:ixlhvddz5ngltj3uobshduik5i