Practical dynamic updating of modern Java applications requires tool support to become an integral part of the software development and maintenance lifecycle. In this paper we present Javeleon, an easy-to-use tool for dynamic updates of Java applications. To support integration with specific frameworks, component systems and application servers, Javeleon currently provides tight integration with the NetBeans Platform, facilitating dynamic updating for applications built on top of the NetBeans Platform in an unconstrained manner. Javeleon supports state-preserving unanticipated runtime evolution including dynamic changes to the type hierarchy of classes without modifying a JVM and without utilizing new language constructs. In addition to the obvious benefits of using Javeleon during development, we argue that Javeleon is a strong candidate for being useful in other research fields. In order to substantiate this argument, we present an overview of an ongoing research that applies Javeleon in the development of Self-* systems.
Proceedings of the Spring World Congress on Engineering and Technology (scet2012), 2012, p. 9-17
Dynamic updating; Self-*adaptation; Class reloading