SPL Stream Processing Language Specification

NOTE: This report supercedes RC24830

This document is the official specification for SPL. SPL is a programming language for high-performance distributed stream processing systems. An SPL program describes a data flow graph, where the vertices are operator instances and the directed edges are streams. SPL is extensible by allowing users to define their own primitive operators in a native language, and by allowing users to define their own parameterizable composite operators in SPL itself. Furthermore, SPL permits users to dynamically compose independently launched streaming programs. Thanks to its generality, SPL makes it easy to express applications from a large variety of domains, including but not limited to financial trading, transportation monitoring, manufacturing control, security, healthcare, etc.

By: Martin Hirzel, Henrique Andrade, Bugra Gedik, Vibhore Kumar, Giuliano Losa, Mark Mendell, Howard Nasgaard, Robert Soulé, Kun-Lung Wu

Published in: RC24897 in 2009


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to reports@us.ibm.com .