Type checking higher-order polymorphic multi-methods
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems
The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems
The Java Language Specification
The Java Language Specification
On type systems for object-oriented database programming languages
ACM Computing Surveys (CSUR)
Flexible time management in data stream systems
PODS '04 Proceedings of the twenty-third ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
WebLogic event server: a lightweight, modular application server for event processing
Proceedings of the second international conference on Distributed event-based systems
Towards a streaming SQL standard
Proceedings of the VLDB Endowment
OSGi in Depth
Information system monitoring and notifications using complex event processing
Proceedings of the Fifth Balkan Conference in Informatics
Hi-index | 0.00 |
Event processing languages (EPLs) for Complex Event Processing (CEP) systems are descriptive in nature. This allows the authoring of event processing applications at a higher level of abstraction. However, they are less suitable for dealing with low- level tasks, such as String manipulation, and other programming- in-the-small problems. In addition, current EPL implementations lack the richness of other programming language libraries (e.g. Java), which have been built over several years of usage. We present an architecture whereby providers can integrate existing programming languages into CQL, our EPL language of choice, leveraging the advantages of other languages, while still retaining the expressiveness and conciseness of EPL. We also demonstrate how the architecture avoids the awkwardness of previous integration solutions, which generally were focused only at the function-level (e.g. User-Defined Functions, Java call outs). Rather, the outlined solution is realized at the language level, through the extension of language implementation artifacts, such as type systems; thus resulting in a seamless, precise, and naturally blended environment for developing CEP applications. The architecture is based upon the concept of extension cartridges, which are modules that provide metadata describing the extensions. Finally, we show how these extension cartridges may be used in real-world CEP scenarios.