Interruptible context-dependent executions: a fresh look at programming context-aware applications

  • Authors:
  • Engineer Bainomugisha;Jorge Vallejos;Coen De Roover;Andoni Lombide Carreton;Wolfgang De Meuter

  • Affiliations:
  • Vrije Universiteit Brussel, Brussels, Belgium;Vrije Universiteit Brussel, Brussels, Belgium;Vrije Universiteit Brussel, Brussels, Belgium;Vrije Universiteit Brussel, Brussels, Belgium;Vrije Universiteit Brussel, Brussels, Belgium

  • Venue:
  • Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Context-aware applications provide end-users with enhanced experiences by continuously sensing their environment and adapting their behaviour to match the current context of use. However, developing true context-aware applications remains notoriously difficult due to the unpredictable nature of context changes. A context change may occur at any moment during a procedure execution, which may require an ongoing execution to be promptly interrupted in order to prevent the procedure from running in a wrong context. Currently, developers have to manually constrain a procedure execution to a particular context and take care of saving and restoring the execution state between context changes. Such manual approaches are error-prone and may lead to incorrect application behaviour. This paper presents a novel programming language model called interruptible context-dependent executions, where a procedure execution is always constrained to happen only under a specified context. In this model, a procedure execution can be seamlessly interrupted or resumed depending on the context. Additionally, the procedure execution state is automatically preserved between interruptions. We present the Flute language that supports interruptible context-dependent executions.