Context-Oriented Programming

Hirschfeld, Robert; Costanza, Pascal; Nierstrasz, Oscar (2008). Context-Oriented Programming. Journal of Object Technology, 7(3), pp. 125-151. Zürich: AITO 10.5381/jot.2008.7.3.a4

[img]
Preview
Text
article4.pdf - Published Version
Available under License Creative Commons: Attribution (CC-BY).

Download (768kB) | Preview

Context-dependent behavior is becoming increasingly important for a wide range of application domains, from pervasive computing to common business applications. Unfortunately, mainstream programming languages do not provide mechanisms that enable software entities to adapt their behavior dynamically to the current execution context. This leads developers to adopt convoluted designs to achieve the necessary runtime flexibility. We propose a new programming technique called Context-oriented Programming (COP) which addresses this problem. COP treats context explicitly, and provides mechanisms to dynamically adapt behavior in reaction to changes in context, even after system deployment at runtime. In this paper we lay the foundations of COP, show how dynamic layer activation enables multi-dimensional dispatch, illustrate the application of COP by examples in several language extensions, and demonstrate that COP is largely independent of other commitments to programming style.

Item Type:

Journal Article (Original Article)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued]

UniBE Contributor:

Nierstrasz, Oscar

ISSN:

1660-1769

Publisher:

AITO

Language:

English

Submitter:

Factscience Import

Date Deposited:

04 Oct 2013 15:22

Last Modified:

02 Mar 2023 23:23

Publisher DOI:

10.5381/jot.2008.7.3.a4

Web of Science ID:

000261730200009

BORIS DOI:

10.7892/boris.37163

URI:

https://boris.unibe.ch/id/eprint/37163 (FactScience: 207111)

Actions (login required)

Edit item Edit item
Provide Feedback