Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Java Virtual Machine Specification
Java Virtual Machine Specification
Object Teams: Improving Modularity for Crosscutting Collaborations
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
A selective, just-in-time aspect weaver
Proceedings of the 2nd international conference on Generative programming and component engineering
IEEE Transactions on Software Engineering
Code generation to support static and dynamic composition of software product lines
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Towards Unanticipated Runtime Adaptation of Java Applications
APSEC '08 Proceedings of the 2008 15th Asia-Pacific Software Engineering Conference
Dynamically adaptable software product lines using Ruby metaprogramming
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Hi-index | 0.00 |
Creating tailor-made programs based on the concept of software product lines (SPLs) gains more and more momentum. This is, because SPLs significantly decrease development costs and time to market while increasing product's quality. Especially highly available programs benefit from the quality improvements caused by an SPL. However, after a program variant is created from an SPL and then started, the program is completely decoupled from its SPL. Changes within the SPL, i.e., source code of its features do not affect the running program. To apply the changes, the program has to be stopped, recreated, and restarted. This causes at least short time periods of program unavailability which is not acceptable for highly available programs. Therefore, we present a novel approach based on class replacements and Java HotSwap that allows to apply features to running programs.