EventJava: An Extension of Java for Event Correlation
2009; Springer Science+Business Media; Linguagem: Inglês
10.1007/978-3-642-03013-0_26
ISSN1611-3349
AutoresPatrick Eugster, K. R. Jayaram,
Tópico(s)Software System Performance and Reliability
ResumoEvent correlation has become the cornerstone of many reactive applications, particularly in distributed systems. However, support for programming with complex events is still rather specific and rudimentary. This paper presents EventJava, an extension of Java with generic support for event-based distributed programming. EventJava seamlessly integrates events with methods, and broadcasting with unicasting of events; it supports reactions to combinations of events, and predicates guarding those reactions. EventJava is implemented as a framework to allow for customization of event semantics, matching, and dispatching. We present its implementation, based on a compiler transforming specific primitives to Java, along with a reference implementation of the framework. We discuss ordering properties of EventJava through a formalization of its core as an extension of Featherweight Java. In a performance evaluation, we show that EventJava compares favorably to a highly tuned database-backed event correlation engine as well as to a comparably lightweight concurrency mechanism.
Referência(s)