EventCJ: a context-oriented programming language with declarative event-based context transition

EventCJ: a context-oriented programming language with declarative event-based context transition
复制标题

DOI:
10.1145/1960275.1960305
复制
发表时间:
2011-03
期刊:
--
影响因子:
--
通讯作者:
T. Kamina;Tomoyuki Aotani;Hidehiko Masuhara
T. Kamina;Tomoyuki Aotani;Hidehiko Masuhara
中科院分区:
其他
文献类型:
--
作者:
T. Kamina;Tomoyuki Aotani;Hidehiko Masuhara

文献摘要

被引文献

相似文献

本文提出了一种面向上下文的编程语言EventCJ,它可以根据用户定义的事件模块化地控制层的激活。除了通过使用现有的COP构造定义特定于上下文的行为之外,EventCJ程序员还声明事件以指定何时以及在哪个实例层上发生切换,并声明层转换规则以指定在发生事件时应激活/停用哪些层。这些构造允许在每个实例的基础上控制层激活,独立于基本程序。我们还演示了一种通过使用模型检查器来验证层转换的安全属性的方法。有了这些优势,EventCJ可以对上下文感知程序进行更模块化的描述,特别是当在程序的许多位置触发层切换时,或者通过基本程序外部的活动触发时。我们实现了一个支持Eclipse IDE的原型EventCJ编译器。
This paper proposes EventCJ, a context-oriented programming (COP) language that can modularly control layer activation based on user-defined events. In addition to defining context-specific behaviors by using existing COP constructs, the EventCJ programmer declares events to specify when and on which instance layer switching should happen, and layer transition rules to specify which layers should be activated/deactivated upon events. These constructs enable controlling layer activation on a per-instance basis, separately from a base program. We also demonstrate an approach to verify safety properties of layer transitions by using a model checker. With these advantages, EventCJ enables more modular descriptions of context-aware programs, especially when layer switching is triggered in many places of a program, or by activities external to the base program. We implemented a prototype EventCJ compiler with Eclipse IDE support.