Incremental Dynamic Updates with First-class Contexts

By: Erwann Wernli, Mircea Lungu, Oscar Nierstrasz


Highly available software systems occasionally need to be up- dated while avoiding downtime. Dynamic software updates reduce down-time, but still require the system to reach a quiescent state in which a global update can be performed. This can be difficult for multi-threaded systems. We present a novel approach to dynamic updates using first-class contexts, called Theseus. First-class contexts make global updates unnecessary: existing threads run to termination in an old context, while new threads start in a new, updated context; consistency between contexts is ensured with the help of bidirectional transformations. We show that for multi-threaded systems with coherent memory, first-class contexts offer a practical and flexible approach to dynamic updates, with acceptable overhead.


dynamic language; dynamic software update; reflection

Cite as:

Erwann Wernli, Mircea Lungu, Oscar Nierstrasz, “Incremental Dynamic Updates with First-class Contexts”, Journal of Object Technology, Volume 12, no. 3 (August 2013), pp. 1:1-27, doi:10.5381/jot.2013.12.3.a1.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn