Abstract:
There are context-dependent behaviors that are active only when a certain condition holds, and that require a certain transition process before activation. We propose a layer-activation mechanism of context-oriented programming languages for such context-dependent behaviors. Our mechanism supports the implicit layer activation (as opposed to the event-based layer activation) in a sense that a condition of activation is written as a conditional expression over reactive values (e.g., values obtained from sensors). In addition, it is push-based in a sense that it executes the transition process immediately after the condition becomes valid (as opposed to the mechanisms that defer the transition process until the first execution of a context-dependent behavior). In this paper, we present how this mechanism works in an extension of ServalCJ with push-based reactive values, and identify open issues raised by this proposal.
Reference:
Push-based Reactive Layer Activation in Context-Oriented Programming (Tetsuo Kamina, Tomoyuki Aotani and Hidehiko Masuhara), In COP'17: Proceedings of the International Workshop on Context-Oriented Programming, ACM, 2017.
Bibtex Entry:
@inproceedings{kamina2017cop,
address = {New York, NY, USA},
publisher = {ACM},
location = {Barcelona, Spain},
isbn = {978-1-4503-4971-0},
booktitle = {{COP'17}: Proceedings of the International Workshop on Context-Oriented Programming},
author = {Tetsuo Kamina and Tomoyuki Aotani and Hidehiko Masuhara},
pdf = {cop2017.pdf},
title = {Push-based Reactive Layer Activation in Context-Oriented Programming},
pages = {17--21},
date = {2017-06-20},
doi = {10.1145/3117802.3117805},
month = jun,
keywords = {implicit layer activation, reactive values, transition processes},
year = 2017,
abstract = {There are context-dependent behaviors that are active only when
a certain condition holds, and that require a certain transition process before activation. We propose a layer-activation mechanism of context-oriented programming languages for such context-dependent behaviors. Our mechanism supports the implicit layer activation (as opposed to the event-based layer activation) in a sense that a condition of activation is written as a conditional expression over reactive values (e.g., values obtained from sensors). In addition, it is push-based in a sense that it executes the transition process immediately after the condition becomes valid (as opposed to the mechanisms that defer the transition process until the first execution of a context-dependent behavior). In this paper, we present how this mechanism works in an extension of ServalCJ with push-based reactive values, and identify open issues raised by this proposal.}
}