TinyCORP: A Calculus for Context-Oriented Reactive Programming

被引:1
作者
Kamina, Tetsuo [1 ]
Aotani, Tomoyuki [2 ]
机构
[1] Oita Univ, Oita, Japan
[2] Tokyo Inst Technol, Tokyo, Japan
来源
PROCEEDINGS OF THE WORKSHOP ON CONTEXT-ORIENTED PROGRAMMING (COP'19) | 2019年
关键词
context-oriented programming; signals; Featherweight [!text type='Java']Java[!/text;
D O I
10.1145/3340671.3343356
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Current trend of seamless connections between computing systems and their surrounding environments requires software to be more reactive and adaptable, and reactive programming (RP) and context-oriented programming (COP) have been studied to directly support reactive behavior and dynamic adaptation. Sometimes reactive behavior and dynamic adaptation interact with each other. One issue of such interactions is how to avoid a loop of reactive behavior and dynamic adaptation when there are mutually recursive dependencies between them. This paper proposes TinyCORP, a core calculus for context-oriented reactive programming that is designed in a main-stream, general-purpose language setting. This calculus is expressive enough to represent both features of signals (i.e., time-varying values in RP) and layer-based partial methods in COP, and their interactions including the ability to specify the mutually recursive dependencies between dynamic adaptation and reactive behavior. We also demonstrate that the computation in TinyCORP do not result in the loop of reactive behavior and dynamic adaptation.
引用
收藏
页码:1 / 8
页数:8
相关论文
共 29 条
[11]  
González S, 2011, LECT NOTES COMPUT SC, V6563, P246, DOI 10.1007/978-3-642-19440-5_15
[12]  
Hirschfeld R., 2011, Proceedings of the 10th International Workshop on Foundations of Aspect-Oriented Languages, FOAL'11, page, P19, DOI DOI 10.1145/1960510.1960515
[13]   Featherweight Java']Java: A minimal core calculus for Java']Java and GJ [J].
Igarashi, A ;
Pierce, BC ;
Wadler, P .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2001, 23 (03) :396-450
[14]  
Igarashi A., 2012, FOOL 2012, P13
[15]   A Library-Based Approach to Context-Dependent Computation with Reactive Values [J].
Inoue, Hiroaki ;
Igarashi, Atsushi .
COMPANION PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON MODULARITY (MODULARITY COMPANION'16), 2016, :50-54
[16]  
Inoue Hiroaki, 2014, INT WORKSH CONT OR P, DOI [10.1145/2637066.2637073, DOI 10.1145/2637066.2637073]
[17]  
Kamina T., 2011, P 10 INT C ASP OR SO, P253, DOI DOI 10.1145/1960275.1960305
[18]  
Kamina T., 2016, LNCS T MODUL COMPOS, V9800, P123
[19]   Push-based Reactive Layer Activation in Context-Oriented Programming [J].
Kamina, Tetsuo ;
Aotani, Tomoyuki ;
Masuhara, Hidehiko .
PROCEEDINGS OF THE 9TH INTERNATIONAL WORKSHOP ON CONTEXT-ORIENTED PROGRAMMING, 2017, :17-21
[20]   Method safety mechanism for asynchronous layer deactivation [J].
Kamina, Tetsuo ;
Aotani, Tomoyuki ;
Masuhara, Hidehiko ;
Igarashi, Atsushi .
SCIENCE OF COMPUTER PROGRAMMING, 2018, 156 :104-120