Incremental Dynamic Updates with First-class Contexts

Erwann Wernli, Mircea Lungu, Oscar Nierstrasz
2013 Journal of Object Technology  
Highly available software systems occasionally need to be updated while avoiding downtime. Dynamic software updates reduce downtime, 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
more » ... 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.
doi:10.5381/jot.2013.12.3.a1 fatcat:g3brgw4o5zhbldlk54cxth5seq