z-logo
Premium
Thread transparency in information flow middleware
Author(s) -
Koster Rainer,
Black Andrew P.,
Huang Jie,
Walpole Jonathan,
Pu Calton
Publication year - 2003
Publication title -
software: practice and experience
Language(s) - English
Resource type - Book series
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
ISBN - 3-540-42800-3
DOI - 10.1002/spe.510
Subject(s) - computer science , programmer , thread (computing) , distributed computing , concurrency , control flow , programming language , operating system
Applications that process continuous information flows are challenging to write because the application programmer must deal with flow‐specific concurrency and timing requirements, necessitating the explicit management of threads, synchronization, scheduling and timing. We believe that middleware can ease this burden, but many middleware platforms do not match the structure of these applications, because they focus on control‐flow centric interaction models such as remote method invocation. Indeed, they abstract away from the very things that the information‐flow centric programmer must control. This paper describes Infopipes—a new high‐level abstraction for information flow applications—and a middleware framework that supports them. Infopipes handle the complexities associated with control flow and multi‐threading, relieving the programmer of these tasks. Starting from a high‐level description of an information flow pipeline, the framework determines which parts of a pipeline require separate threads or coroutines, and handles synchronization transparently to the application programmer. The framework also gives the programmer the freedom to write or reuse components in a passive style, even though the configuration will actually require the use of a thread or coroutine. Conversely, it is possible to write a component using a thread and know that the thread will be eliminated if it is not needed in a pipeline. This allows the most appropriate programming model to be chosen for a given task, and existing code to be reused irrespective of its activity model. Copyright © 2003 John Wiley & Sons, Ltd.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here