This paper revisits a problem that was identified by Kramer and Magee: placing a system in a consistent state before and after runtime changes [16]. We show that their notion of quiescence as a necessary and sufficient condition for safe runtime changes is too strict and violates the black-box design principle. We introduce a weaker condition, tranquility; easier to obtain, less disruptive for the system and still sufficient to ensure application consistency. We also present an implementation of this concept in a component middleware platform.
This position paper describes ongoing work in which the Java-based SEESCOA component system is extended with functionality for run-time evolution. First, an assessment is made of the state-of-the-art in dynamic updating, and the applicability of existing systems for dynamic updating is examined. Then a new approach is presented, in which the concept of ports is used to redirect messages between components. The problem of class-file reloading in the JVM is avoided by modification of the classes at load-time to include version information. The predictability requirement of embedded systems is assured by updating all component instances at once.
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.