Abstract. Existing middleware is based on control-flow centric interaction models such as remote method invocations, poorly matching the structure of applications that process continuous information flows. Difficulties in building this kind of application on conventional platforms include flow-specific concurrency and timing requirements, necessitating explicit management of threads, synchronization, and timing by the application programmer. We propose Infopipes as a high-level abstraction for information flows, and we are developing a middleware framework that supports this abstraction. Infopipes transparently handle complexities associated with control flow and multi-threading. From highlevel configuration descriptions the platform determines what parts of a pipeline require separate threads or coroutines and handles synchronization transparently to the application programmer. Independently of the actual activity of pipeline components, they may be programmed like passive or ...
Rainer Koster, Andrew P. Black, Jie Huang, Jonatha