Implications of modular systems on dynamic updating

  • Authors:
  • Allan Raundahl Gregersen

  • Affiliations:
  • University of Southern Denmark, Odense M, Denmark

  • Venue:
  • Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Module systems have been acknowledged as software development and maintenance boosters. Likewise, dynamic updating, meaning the ability to evolve a software system at runtime, not only has the potential to increase developer productivity, but also to significantly reduce production system downtime. However, widely adopted module systems for Java inherently enforces assumptions that make dynamic updates of modules difficult, even with the recent prominent advances in dynamic updating systems for Java applications. In this paper, we explain why it requires much more than just updating the set of Java classes that constitute a patched version of a running module. In addition, we provide a set of well-defined integration points to which developers of dynamic updating systems need to hook into in order to support correct dynamic updating in a module system. We show how our dynamic updating system has been integrated with the NetBeans Platform with a modest integration effort, thus showcasing that practical state-preserving runtime updates of modules can be achieved in a modern module system setup.