Context-oriented Software Transactional Memory in Common Lisp

被引:0
|
作者
Costanza, Pascal [1 ]
Herzeel, Charlotte [1 ]
D'Hondt, Theo [1 ]
机构
[1] Vrije Univ Brussel, Software Languages Lab, B-1050 Brussels, Belgium
基金
比利时弗兰德研究基金会;
关键词
Design; Languages; Software transactional memory; framework design; context-oriented programming;
D O I
10.1145/1837513.1640144
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software transactional memory (STM) is a promising approach for coordinating concurrent threads, for which many implementation strategies are currently being researched. Although some first steps exist to ease experimenting with different strategies, this still remains a relatively complex and cumbersome task. The reason is that software transactions require STM-specific dynamic crosscutting adaptations, but this is not accounted for in current STM implementations. This paper presents CSTM, an STM framework based on Context-oriented Prorgamming, in which transactions are modelled as dynamically scoped layer activations. It enables expressing transactional variable accesses as user-defined crosscutting concerns, without requiring invasive changes in the rest of a program. This paper presents a proof-of-concept implementation based on ContextL for Common Lisp, along with example STM strategies and preliminary benchmarks, and introduces some of ContextL's unique features for context-dependent variable accesses.
引用
收藏
页码:59 / 68
页数:10
相关论文
共 50 条
  • [1] Context-oriented programming: A software engineering perspective
    Salvaneschi, Guido
    Ghezzi, Carlo
    Pradella, Matteo
    JOURNAL OF SYSTEMS AND SOFTWARE, 2012, 85 (08) : 1801 - 1817
  • [2] Context-Oriented Behavioral Programming
    Elyasaf, Achiya
    INFORMATION AND SOFTWARE TECHNOLOGY, 2021, 133
  • [3] Test scenario generation for feature-based context-oriented software systems
    Martou, Pierre
    Mens, Kim
    Duhoux, Benoit
    Legay, Axel
    JOURNAL OF SYSTEMS AND SOFTWARE, 2023, 197
  • [4] TinyCORP: A Calculus for Context-Oriented Reactive Programming
    Kamina, Tetsuo
    Aotani, Tomoyuki
    PROCEEDINGS OF THE WORKSHOP ON CONTEXT-ORIENTED PROGRAMMING (COP'19), 2019, : 1 - 8
  • [5] A framework for analyzing context-oriented programming languages?
    Elyasaf, Achiya
    Cardozo, Nicolas
    Sturm, Arnon
    JOURNAL OF SYSTEMS AND SOFTWARE, 2023, 198
  • [6] Towards Runtime Adaptation in Context-Oriented Programming
    Han, Bo
    Zhao, Yinliang
    Zhu, Changpeng
    Zeng, Qinghua
    2013 10TH INTERNATIONAL CONFERENCE ON ELECTRICAL ENGINEERING, COMPUTING SCIENCE AND AUTOMATIC CONTROL (CCE), 2013, : 201 - 208
  • [7] Context-Oriented Programming with the Ambient Object System
    Gonzalez, Sebastian
    Mens, Kim
    Cadiz, Alfredo
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2008, 14 (20) : 3307 - 3332
  • [8] 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
  • [9] 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,
  • [10] Reconciling Context-Oriented Programming and User Interface Adaptation
    Duhoux, Benoit
    PROCEEDINGS OF THE ACM SIGCHI SYMPOSIUM ON ENGINEERING INTERACTIVE COMPUTING SYSTEMS (EICS'18), 2018,