Theory and implementation of a distributed event based platform
This paper presents theory and an implementation of a Distributed Event Based System (DEBS) platform. The theory is based on a simple model that forms the basis of the implementation. Though this paper is about a DEBS platform, a description of the theory and model provides the motivation for the design. Many software libraries operate on "data at rest', i.e. fixed data structures such as arrays and graphs. By contrast, DEBS systems operate on "data in motion," i.e., data structures that change, in increments, over time. Many software libraries are designed for sequential execution or synchronous parallel execution. By contrast, DEBS systems have multiple agents executing asynchronously. The paper presents sufficient conditions that enable programs operating on data at rest to be reconfigured as networks of asynchronous agents operating on data structures that change incrementally as time progresses. The paper provides a brief description of a DEBS platform, called StreamPy, implemented in Python. StreamPy enables the use of libraries designed to operate on data at rest --- particularly for data analytics, artificial intelligence, and scientific computation --- for data in motion. An event is either defined by a pre-specified pattern or an event is learned from data. Learning what is, and what is not, an event requires the use of machine learning algorithms. A goal of StreamPy is to incorporate machine learning into data streaming to obtain a DEBS platform that learns what is an event and then to continually improve this learning.
© 2016 ACM.