Updating software via the Internet is becoming a necessary feature of contemporary software. However, most software updating processes need to restart the programs or systems after the new software modules are installed. Dynamic reconfiguration is a technique that can deploy new software modules without restarting. This is usually achieved by modifying programming language syntax, language runtime systems or the code that is compiled. In the paper, a Java-based component framework is proposed to support dynamic reconfiguration, which does not need to modify the Java language, the Java virtual machine or the Java bytecode. The component framework has two implementations. The first one is based on the Java language itself; it is slower but can be used on almost every Java virtual machine. The second one is based on both the Java code and native programming interfaces provided by the Java virtual machine; it is much more efficient but is platform-dependent. The component framework is able to replace a single component as well as multiple components. In addition, several kinds of component change are permitted, including data members and component interfaces. To demonstrate the use of the component framework, a dynamically reconfigurable TCP is implemented.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.