An expressive and modular layer activation mechanism for Context-Oriented Programming

被引:2
|
作者
Leger, Paul [1 ]
Cardozo, Nicolas [2 ]
Masuhara, Hidehiko [3 ]
机构
[1] Univ Catolica Norte, Escuela Ingeniria, Coquimbo, Chile
[2] Univ Andes, Syst & Comp Engn Dept, Bogota, Colombia
[3] Tokyo Inst Technol, Tokyo, Japan
关键词
Context -Oriented Programming; Activation mechanisms; EMA; LANGUAGE;
D O I
10.1016/j.infsof.2022.107132
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context. There is a trend in the software industry towards building systems that dynamically adapt their behavior in response to their surrounding environment, given the proliferation of various technological devices, such as notebooks, smartphones, and wearables, capable of capturing their execution context. Context-oriented Programming (COP) allows developers to use layer abstractions to adapt software behavior to the context. A layer is associated with a context and can be dynamically activated in direct response to gathered information from its surrounding execution environment. However, most existing layer activation mechanisms have been tailored specifically to address a particular concern; implying that developers need to tweak layer definitions in contortive ways or create new specialized activation mechanisms altogether if their specific needs are not supported. Objective. Complementing ideas to expressively declare activation mechanism models with interfaces that define conditionals of activation mechanisms modularly, this paper proposes an Expressive and Modular Activation mechanism, named EMA. Method. To propose EMA, we analyze existing activation mechanisms in COP regarding activation features and scope strategies. After, we propose the design of EMA and validate it with a case study discussion. Results. Using a concrete JavaScript implementation of EMA, named EMAjs, we can implement two Web applications: a smartphone application as an example to illustrate EMAjs in action, and an application of home automation to discuss and compare our proposal. Conclusions. Our proposed mechanism allows developers to instantiate different activation scope strategies and interfaces to decouple the declaration of activation mechanism conditionals from the base code.
引用
收藏
页数:14
相关论文
共 50 条
  • [11] Context-Oriented Programming with the Ambient Object System
    Gonzalez, Sebastian
    Mens, Kim
    Cadiz, Alfredo
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2008, 14 (20) : 3307 - 3332
  • [12] Context-oriented programming: A software engineering perspective
    Salvaneschi, Guido
    Ghezzi, Carlo
    Pradella, Matteo
    JOURNAL OF SYSTEMS AND SOFTWARE, 2012, 85 (08) : 1801 - 1817
  • [13] Reconciling Context-Oriented Programming and User Interface Adaptation
    Duhoux, Benoit
    PROCEEDINGS OF THE ACM SIGCHI SYMPOSIUM ON ENGINEERING INTERACTIVE COMPUTING SYSTEMS (EICS'18), 2018,
  • [14] JavaCtx: Seamless toolchain integration for context-oriented programming
    Salvaneschi, Guido
    Ghezzi, Carlo
    Pradella, Matteo
    Proceedings of the 3rd International Workshop on Context-Oriented Programming, COP'11 - Co-located with the 25th European Conference on Object-Oriented Programming, ECOOP 2011, 2011,
  • [15] Semantics for consistent activation in context-oriented systems
    Cardozo, Nicolas
    Gonzalez, Sebastian
    Mens, Kim
    Van Der Straeten, Ragnhild
    Vallejos, Jorge
    D'Hondt, Theo
    INFORMATION AND SOFTWARE TECHNOLOGY, 2015, 58 : 71 - 94
  • [16] Towards a DevOps Modeling Based on Context-Oriented Programming
    Watanabe, Harumi
    Ogura, Nobuhiko
    Hisazumi, Kenji
    PROCEEDINGS OF THE 8TH INTERNATIONAL CONFERENCE ON THE ART, SCIENCE, AND ENGINEERING OF PROGRAMMING, PROGRAMMING COMPANION 2024, 2024, : 6 - 7
  • [17] SMT-based Debugging Support for Context-oriented Programming
    Uchio, S., 1600, Japan Society for Software Science and Technology (29):
  • [18] Event-Specific Software Composition in Context-Oriented Programming
    Appeltauer, Malte
    Hirschfeld, Robert
    Masuhara, Hidehiko
    Haupt, Michael
    Kawauchi, Kazunori
    SOFTWARE COMPOSITION, PROCEEDINGS, 2010, 6144 : 50 - +
  • [19] Implementation of a Feature-Based Context-Oriented Programming Language
    Duhoux, Benoit
    Mens, Kim
    Dumas, Bruno
    PROCEEDINGS OF THE WORKSHOP ON CONTEXT-ORIENTED PROGRAMMING (COP'19), 2019, : 9 - 16
  • [20] Context-Oriented Programming for Adaptive Wireless Sensor Network Software
    Afanasov, Mikhail
    Mottola, Luca
    Ghezzi, Carlo
    2014 IEEE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING IN SENSOR SYSTEMS (IEEE DCOSS 2014), 2014, : 233 - 240