Theseus

Ship We explore in this project a novel approach to dynamically update server applications without restarting them (live updating).

In our approach, different versions of the code coexist in the system, but are isolated into distinct contexts. Contexts are first-class. The server can switch from one context to another incrementally in order to process incoming requests. Eventually, the update terminates when the old context is not used any longer and can be garbage collected.

The name of the project comes from Theseus’ paradox, which raises the question of whether an object that has had all its component parts replaced remains fundamentally the same object. In our case, is the software running merely a new version of the same application, or another application?

Publications

Sort by: Display: Hide controls:

  1. Erwann Wernli, Mircea Lungu, and Oscar Nierstrasz. Incremental Dynamic Updates with First-class Contexts. In Objects, Components, Models and Patterns, Proceedings of TOOLS Europe 2012, p. 304-319, 2012. DOI PDF 
  2. Erwann Wernli. Theseus: Whole updates of Java server applications. In Proceedings of HotSWUp 2012 (Fourth Workshop on Hot Topics in Software Upgrades), p. 41-45, June 2012. DOI PDF 
  3. Erwann Wernli, Mircea Lungu, and Oscar Nierstrasz. Incremental Dynamic Updates with First-class Contexts. In Journal of Object Technology 12(3) p. 1:1-27, August 2013. DOI PDF 

Last changed by admin on 21 April 2009