An open implementation for context-oriented layer composition in ContextJS']JS

被引:26
作者
Lincke, Jens [1 ]
Appeltauer, Malte [1 ]
Steinert, Bastian [1 ]
Hirschfeld, Robert [1 ]
机构
[1] Univ Potsdam, Hasso Plattner Inst, Software Architecture Grp, Potsdam, Germany
关键词
Context[!text type='JS']JS[!/text; Context-oriented programming; Open implementations; Dynamic adaptation; Scope;
D O I
10.1016/j.scico.2010.11.013
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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. (C) 2010 Elsevier B.V. All rights reserved.
引用
收藏
页码:1194 / 1209
页数:16
相关论文
共 40 条
[1]   Aspectual feature modules [J].
Apel, Sven ;
Leich, Thomas ;
Saake, Gunter .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2008, 34 (02) :162-180
[2]  
Appeltauer Malte, 2008, Second International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies 2008, P38, DOI 10.1109/UBICOMM.2008.56
[3]  
Appeltauer M., 2010, CONTEXTJ CONTEXT ORI
[4]  
Appeltauer M., 2008, Proceedings of INFORMATIK 2008 - Beherrschbare Systeme dank Informatik, P164
[5]  
Appeltauer Malte, 2009, P WORKSH CONT OR PRO
[6]  
Appeltauer Malte, 2010, LECT NOTES COMPUTER
[7]   Scaling step-wise refinement [J].
Batory, D ;
Sarvela, JN ;
Rauschmayer, A .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (06) :355-371
[8]   Feature-oriented programming and the AHEAD tool suite [J].
Batory, D .
ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2004, :702-703
[9]  
Beck K, 2003, TEST DRIVEN DEV EXAM
[10]  
Bergel A, 2003, LECT NOTES COMPUT SC, V2789, P122