Published In

Software: Practice and Experience

Document Type


Publication Date



Multimedia systems, Middleware, Streaming technology (Telecommunications), Application software -- Development


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 cultiesin 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 high-level configuration descriptions the platform determines what parts of a pipeline require separate threads or co-routines and handles synchronization transparently to the application programmer. Independently of the actual activity of pipeline components, they may be programmed like passive or active objects. In this way, the most appropriate programming model can be chosen for a given task and existing code can be reused regardless of its activity model.


This is the authors' preprint of an article published in Software: Practice and Experience 33, no. 4 (2003): 321-349. Copyright © 2003 John Wiley & Sons, Ltd. DOI: 10.1002/spe.510. The version of record may be found at

Persistent Identifier