Wernli, Erwann (2013). Run-time Variability with First-class Contexts. (Thesis). Universität Bern, Bern
|
Text
wernli-phd.pdf - Thesis Available under License Creative Commons: Attribution-Share Alike (CC-BY-SA 4.0). Download (1MB) | Preview |
Abstract
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 |
URI: | https://boristheses.unibe.ch/id/eprint/995 |
Actions (login required)
View Item |