Towards Unanticipated Runtime Adaptation of Java Applications

kaestner@cs.cmu.edu (M. Pukall, C. Kästner, G. Saake)
Fri, 10 Jan 2025 13:48:21 GMT

Mario Pukall, Christian Kästner, and Gunter Saake. Towards Unanticipated Runtime Adaptation of Java Applications. In Proceedings of the 15th Asia-Pacific Software Engineering Conference (APSEC), ISBN 978-0-7695-3446-6, pages 85--92, Los Alamitos, CA: IEEE Computer Society, December 2008.

Modifying an application usually means to stop the application, apply the changes, and start the application again. That means, the application is not available for at least a short time period. This is not acceptable for highly available applications. One reasonable approach which faces the problem of unavailability is to change highly available applications at runtime. To allow extensive runtime adaptation the application must be enabled for unanticipated changes even of already executed program parts. This is due to the fact that it is not predictable what changes become necessary and when they have to be applied. Since Java is commonly used for developing highly available applications, we discuss its shortcomings and opportunities regarding unanticipated runtime adaptation. We present an approach based on Java HotSwap and object wrapping which overcomes the identified shortcomings and evaluate it in a case study.