Incremental dynamic updates with first-class contexts

  • Authors:
  • Erwann Wernli;Mircea Lungu;Oscar Nierstrasz

  • Affiliations:
  • Software Composition Group, University of Bern, Switzerland;Software Composition Group, University of Bern, Switzerland;Software Composition Group, University of Bern, Switzerland

  • Venue:
  • TOOLS'12 Proceedings of the 50th international conference on Objects, Models, Components, Patterns
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 start in a new, updated context; consistency between contexts is ensured with the help of bidirectional transformations. We show how first-class contexts offer a practical and flexible approach to incremental dynamic updates, with acceptable overhead.