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 条
  • [41] Context-oriented web application protection model
    Prokhorenko, Victor
    Choo, Kim-Kwang Raymond
    Ashman, Helen
    APPLIED MATHEMATICS AND COMPUTATION, 2016, 285 : 59 - 78
  • [42] An Efficient Layer-Aware Technique for Developing Asynchronous Context-Oriented Software (ACOS)
    El-Zawawy, Mohamed A.
    2015 15TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ITS APPLICATIONS (ICCSA), 2015, : 14 - 20
  • [43] Relational Schema Summarization: A Context-Oriented Approach
    Sampaio, Marcus
    Quesado, Jefferson
    Barros, Samarony
    ADVANCES IN DATABASES AND INFORMATION SYSTEMS, 2013, 186 : 217 - 228
  • [44] Visibility of context-oriented behavior and state in L
    Hirschfeld, Robert
    Masuhara, Hidehiko
    Igarashi, Atsushi
    Felgentreff, Tim
    Computer Software, 2015, 32 (03) : 149 - 158
  • [45] Context-oriented Knowledge Management in Production Networks
    Sandkuhl, Kurt
    Smirnov, Alexander
    APPLIED COMPUTER SYSTEMS, 2018, 23 (02) : 81 - 89
  • [46] Context-oriented Software Transactional Memory in Common Lisp
    Costanza, Pascal
    Herzeel, Charlotte
    D'Hondt, Theo
    ACM SIGPLAN NOTICES, 2009, 44 (12) : 59 - 68
  • [47] Dynamic Visualisation of Features and Contexts for Context-Oriented Programmers
    Duhoux, Benoit
    Dumas, Bruno
    Leung, Hoo Sing
    Mens, Kim
    PROCEEDINGS OF THE ACM SIGCHI SYMPOSIUM ON ENGINEERING INTERACTIVE COMPUTING SYSTEMS (EICS'19), 2019,
  • [48] Towards Context-oriented Project Management for Virtual Organizations
    Hsu, Chouyin
    Lee, Minfeng
    JCPC: 2009 JOINT CONFERENCE ON PERVASIVE COMPUTING, 2009, : 761 - 764
  • [49] A context-oriented framework for software testing in pervasive environment
    Lu, Heng
    29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: ICSE 2007 COMPANION VOLUME, PROCEEDINGS, 2007, : 77 - 78
  • [50] Detecting the Onset of Dementia using Context-Oriented Architecture
    Magableh, Basel
    AlBeiruti, Nidal
    2012 6TH INTERNATIONAL CONFERENCE ON NEXT GENERATION MOBILE APPLICATIONS, SERVICES AND TECHNOLOGIES (NGMAST), 2012, : 24 - 30