Blogs >>
SPLASH 2016
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands
Mon 31 Oct 2016 10:30 - 10:55 at Lausanne - Session 2

Mobile applications today often fail to be context aware
when they also need to be customizable and efficient at
run-time. Context-oriented programming allows programmers
to develop applications that are more context aware.
Its central construct, the so-called layer, however, is
not customizable. We propose to use novel persistent
contextual values for mobile development. Persistent
contextual values automatically adapt their value to the
context. Furthermore they provide access without overhead.
Key-value configuration files contain the specification
of contextual values and the persisted contextual values
themselves. By modifying the configuration files, the
contextual values can easily be customized for every
context. From the specification, we generate code to
simplify development. Our implementation, called Elektra,
permits development in several languages including C++
and Java. In a benchmark we compare layer activations
between threads and between applications. In a case study
involving a web-server on a mobile embedded device the
performance overhead is minimal, even with many context
switches.