Context-oriented programming
(2003) Context-oriented programming. In Proceedings 3rd ACM international workshop on Data engineering for wireless and mobile access, pages pp. 9-16, San Diego, USA.
Full text available as: |
Abstract
In an environment where computing power is ubiquitous, software engineers need to cater for many different variables beyond their control. They face what has been termed the pervasive problem. Their products need to be adaptable and portable, yet still retain a simple code base. Context-Oriented Programming (COP) is a new method of programming which aims to alleviate these problems by incorporating context as a first-class construct of a programming language, much in the same way that variables, classes, and functions form the first-class constructs of many modern languages. A context-oriented program is one with many ‘gaps’ or ‘open-terms’, and the context-filling operation completes such a program by dynamically selecting portions of code from a repository of candidates to fill these gaps. This selection process is based on the execution context of the program and a description of the open-term’s requisites. This paper describes the requirements for COP, focusing on this fundamental operation of context-filling. An implementation which meets many of these requirements is also presented.
| Item Type: | Conference Paper |
|---|---|
| RM Number: | 2004000433 |
| Status: | Published |
| Subjects: | 280000 Information, Computing and Communication Sciences > 280300 Computer Software > 280303 Programming Languages 280000 Information, Computing and Communication Sciences > 280100 Information Systems > 280104 Computer-Human Interaction 280000 Information, Computing and Communication Sciences > 280300 Computer Software > 280301 Programming Techniques |
| ID Code: | 9840 |
| Deposited By: | Schnyder, Anthony J. |
| Deposited On: | 03 October 2007 |
| Alternative Locations: | http://dx.doi.org/10.1145/940923.940926 |
| Copyright Owner: | Copyright 2003 Association for Computing Machinery (ACM) |
| Additional Information: | For more information, please refer to the publisher’s website (see hypertext link) or contact the author. |