BORIS Theses

BORIS Theses
Bern Open Repository and Information System

Run-time Variability with First-class Contexts

Wernli, Erwann (2013). Run-time Variability with First-class Contexts. (Thesis). Universität Bern, Bern

wernli-phd.pdf - Thesis
Available under License Creative Commons: Attribution-Share Alike (CC-BY-SA 4.0).

Download (1MB) | Preview


Software must be regularly updated to keep up with changing requirements. Unfortunately, to install an update, the system must usually be restarted, which is inconvenient and costly. In this dissertation, we aim at overcoming the need for restart by enabling run-time changes at the programming language level. We argue that the best way to achieve this goal is to improve the support for encapsulation, information hiding and late binding by contextualizing behavior. In our approach, behavioral variations are encapsulated into context objects that alter the behavior of other objects locally. We present three contextual language features that demonstrate our approach. First, we present a feature to evolve software by scoping variations to threads. This way, arbitrary objects can be substituted over time without compromising safety. Second, we present a variant of dynamic proxies that operate by delegation instead of forwarding. The proxies can be used as building blocks to implement contextualization mechanisms from within the language. Third, we contextualize the behavior of objects to intercept exchanges of references between objects. This approach scales information hiding from objects to aggregates. The three language features are supported by formalizations and case studies, showing their soundness and practicality. With these three complementary language features, developers can easily design applications that can accommodate run-time changes.

Item Type: Thesis
Dissertation Type: Single
Date of Defense: 2013
Subjects: 000 Computer science, knowledge & systems
500 Science > 510 Mathematics
Institute / Center: 08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)
Depositing User: Admin importFromBoris
Date Deposited: 25 Jan 2019 12:59
Last Modified: 07 Feb 2019 10:11

Actions (login required)

View Item View Item