ABSTRACT
While many software systems today have to be aware of the context in which they are executing, there is still little support for structuring a program with respect to context. A first step towards better context-orientation was the introduction of method layers. This paper proposes two additional language concepts, namely the implicit activation of method layers, and the introduction of dynamic variables.
- Costanza, P., Hirschfeld, R.: Language constructs for context-oriented programming: An overview of Context L. In: Proceedings of the Dynamic Languages Symposium (DLS) '05, co-organized with OOPSLA'05, New York, NY, USA, ACM Press (October 2005) Google Scholar
- Holovaty, A., Kaplan-Moss, J.: The Django Book. Apress (2007)Google Scholar
- Jones, R.: Roundup: an Issue-Tracking System for Knowledge Workers. (2007)Google Scholar
- Knight, S.: SCons User Guide 0.97. (2007)Google Scholar
- Gamma, E., Helm, R., Vlissides, J., Johnson, R. E.: Design patterns: Abstraction and reuse of object-oriented design. In Nierstrasz, O., ed.: Proceedings ECOOP '93. Volume 707 of LNCS., Kaiserslautern, Germany, Springer-Verlag (July 1993) 406--431 Google Scholar
- Kuchling, A. M.: What's new in Python 2.5. Technical report, Python Software Foundation (2007)Google Scholar
- van Rossum, G., Coghlan, N.: The "with" statement (Python enhancement proposal 343). Technical report, Python Software Foundation (2006)Google Scholar
- Bobrow, D. G., Goldstein, I. P.: Representing design alternatives. In: Proceedings of the Conference on Artificial Intelligence and the Simulation of Behavior. (July 1980)Google Scholar
- Goldstein, I. P., Bobrow, D. G.: Descriptions for a programming environment. In: Proceedings of the First Annual Conference of the National Association for Artificial Intelligence. (August 1980)Google Scholar
- Goldstein, I. P., Bobrow, D. G.: Extending object-oriented programming in Smalltalk. In: Proceedings of the Lisp Conference. (August 1980) 75--81 Google Scholar
- Goldstein, I. P., Bobrow, D. G.: A layered approach to software design. Technical Report CSL-80-5, Xerox PARC (December 1980)Google Scholar
- Smith, R. B., Ungar, D.: A simple and unifying approach to subjective objects. TAPOS special issue on Subjectivity in Object-Oriented Systems 2(3) (1996) 161--178 Google Scholar
- Costanza, P., Hirschfeld, R., Meuter, W. D.: Efficient layer activation for switching context-dependent behavior. In: Joint Modular Languages Conference 2006 (JMLC2006). LNCS, Oxford, England, Springer (September 2006) Google Scholar
- Costanza, P., Hirschfeld, R.: Reflective layer activation in contextl. In: SAC '07: Proceedings of the 2007 ACM symposium on Applied computing, New York, NY, USA, ACM Press (2007) 1280--1285 Google Scholar
- Robert Hirschfeld, Pascal Costanza, O. N.: Context-orientied programming. Journal of Object Technology (March-April 2008) (to appear).Google Scholar
- Hanson, D. R., Proebsting, T. A.: Dynamic variables. Technical Report MSR-TR-2000-109, Microsoft Research (November 2000)Google Scholar
- IEEE: POSIX P1003.4a --- Threads Extension for Portable Operating Systems. (1992)Google Scholar
Recommendations
Language constructs for context-oriented programming: an overview of ContextL
DLS '05: Proceedings of the 2005 symposium on Dynamic languagesContextL is an extension to the Common Lisp Object System that allows for Context-oriented Programming. It provides means to associate partial class and method definitions with layers and to activate and deactivate such layers in the control flow of a ...
Enriching context-oriented programming with structured context representation
ICPCA/SWS'12: Proceedings of the 2012 international conference on Pervasive Computing and the Networked WorldContext-oriented Programming (COP) has been proposed as a new promising paradigm for programming context-aware applications in pervasive environments. However, the expressive power of the layer abstraction in current COP extensions is limited, as layers ...
Designing event-based context transition in context-oriented programming
COP '10: Proceedings of the 2nd ACM International Workshop on Context-Oriented ProgrammingThis paper proposes a new programming language EventCJ. Its design stems from our observation that, in many context-aware applications, context changes are triggered by external events. Thus, in addition to the current COP language mechanisms, namely ...
Comments