A Domain-Specific Language for Infopipes
| Principal Investigator: |
Andrew Black |
| Co-PI(s): |
Jonathan Walpole |
| Agency: |
NSF |
| Start Date: |
9/27/04 |
| End Date: |
8/31/07 |
| Amount: |
$199,329 |
| Web Link: |
http://amstel.cs.pdx.edu/infopipes/ |
An information-flow system moves a stream of data from one place to another in real-time. Examples with which we have worked include audio and video, and streams of traffic data from the Intelligent Transportation Systems Lab. In systems like this, it's important to know the latency and the bandwidth of the pipeline. Moving some component from one computer to another can't be done "transparently", as in a conventional distributed system.
Infopipes let us build information-flow systems from reusable components, in such a way that the quality of service properties of the whole pipeline are determined by the pieces.
This project has developed a domain-specific language, based on CSP, for describing individual pipeline components. The DSL programs can be analyzed to figure out the properties of the components. We can then generate Java classes for objects that best implement the pipeline, for example, by avoiding unnecessary context switches, processes and buffers.