• 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