Context-oriented programming with EventJava

Context-oriented programming with EventJava
复制标题

使用 EventJava 进行面向上下文的编程

DOI:
10.1145/1562112.1562121
复制
发表时间:
2009
期刊:
Proceedings of the 1st ACM International Workshop on Context-Oriented Programming
影响因子:
--
通讯作者:
P. Eugster
P. Eugster
中科院分区:
--
文献类型:
--
作者:
K. R. Jayaram;P. Eugster

文献摘要

被引文献

相似文献

最近的研究分布式基于事件的系统(DEBS)集中在事件相关性,这是处理事件的任务,以确定有意义的模式的事件在事件云中。在DEBS中,软件组件通过生成、传播和接收事件通知来进行通信,事件通知具体化和描述事件。事件通知的几个部分是上下文敏感的,这取决于产生事件的软件组件被部署在哪里,可用于事件传播的通信基础设施等。事件上下文可以在事件的产生期间(例如,由执行组件的运行时系统)或在传播期间(由中间件)添加,并在事件关联中发挥不可或缺的作用。上下文信息的例子包括物理时间、逻辑时间、地理坐标、事件源信息、数字签名等。EventJava [7]是Java的一个扩展,具有对事件关联的高级支持,显式地集成了事件上下文的概念,从而允许程序员自定义事件的排序、传播和与其他事件关联的方式。在本文中,我们解释了为什么上下文是必不可少的DEBS,EventJava的概述,并说明了使用的上下文通过编程示例。
Recent research on Distributed Event-based Systems (DEBS) has focussed on event correlation, which is the task of processing events to identify meaningful patterns of events in the event cloud. In DEBS, software components communicate by generating, disseminating and receiving event notifications, which reify and describe the event. Several parts of an event notification are context-sensitive, depending on where the software component producing the event is deployed, the communication infrastructure available for event dissemination etc. Event contexts may be added during the production of an event (e.g. by the runtime system executing the component) or during dissemination (by a middleware) and play an integral part in event correlation. Examples of contextual information include physical time, logical time, geographical coordinates, information about the source of events, digital signatures, etc. EventJava [7], an extension of Java with advanced support for event correlation, explicitly integrates the notion of event context, thereby allowing a programmer to customize the way in which events are ordered, propagated and correlated with other events. In this paper, we explain why contexts are indispensable to DEBS, present an overview of EventJava and illustrate the use of contexts through programming examples.