Title of article
An open implementation for context-oriented layer composition in ContextJS
Author/Authors
Jens Lincke، نويسنده , , Malte Appeltauer، نويسنده , , Bastian Steinert، نويسنده , , Robert Hirschfeld، نويسنده ,
Issue Information
ماهنامه با شماره پیاپی سال 2011
Pages
16
From page
1194
To page
1209
Abstract
Context-oriented programming (COP) provides dedicated support for defining and composing variations to a basic program behavior. A variation, which is defined within a layer, can be de-/activated for the dynamic extent of a code block. While this mechanism allows for control flow-specific scoping, expressing behavior adaptations can demand alternative scopes. For instance, adaptations can depend on dynamic object structure rather than control flow. We present scenarios for behavior adaptation and identify the need for new scoping mechanisms. The increasing number of scoping mechanisms calls for new language abstractions representing them. We suggest to open the implementation of scoping mechanisms so that developers can extend the COP language core according to their specific needs. Our open implementation moves layer composition into objects to be affected and with that closer to the method dispatch to be changed. We discuss the implementation of established COP scoping mechanisms using our approach and present new scoping mechanisms developed for our enhancements to Lively Kernel.
Keywords
Scope , Open implementations , Context-oriented programming , Dynamic adaptation , ContextJS
Journal title
Science of Computer Programming
Serial Year
2011
Journal title
Science of Computer Programming
Record number
1080231
Link To Document