Capture fields: modularity in a stream-relational event processing langauge

  • Authors:
  • Naomi Seyfer;Richard Tibbetts;Nathaniel Mishkin

  • Affiliations:
  • StreamBase Systems Inc., Lexington, MA, USA;StreamBase Systems Inc., Lexington, MA, USA;StreamBase Systems Inc., Lexington, MA, USA

  • Venue:
  • Proceedings of the 5th ACM international conference on Distributed event-based system
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Complex Event Processing Platforms are a popular technology for developing real-time responsive information processing systems. Because these systems are domain specific, the programming languages used to develop them are consumed by many different users, from domain experts to systems programmers, who want to build applications quickly and change them often. In many application domains, such as trading and system monitoring, data volumes and application constraints make performance critical. This leads to competing priorities between developer productivity and application performance. Support for modular components and component reuse is one area where this tradeoff is apparent. The preexisting module system in the StreamBase StreamSQL programming language was developed for performance, enabling whole program analysis and static typing. It suffered from limitations in error reporting and module reusability. We present newly developed extensions to the StreamSQL module system which allow modules to be used in a variety of environments, hygienically preserving any information that must pass through unchanged. This approach preserves application performance and type-safety while im- proving reusability of modules and increasing error transparency, as measured by the average time taken to find and fix certain kinds of errors. We conclude that a stream-relational language like StreamSQL can have flexible and performant type-safe modules, and that programmers of all abilities benefit from this functionality.