Hideki John Reekie
johnr@eecs.berkeley.edu
Submitted for the Degree of
Doctor of Philosophy at the
University of Technology at Sydney
in the
School of Electrical Engineering
September 1995
Abstract
This thesis presents and justifies a framework for programming real-time signal processing systems. The framework extends the existing ``block-diagram'' programming model; it has three components: a very high-level textual language, a visual language, and the dataflow process network model of computation.
The dataflow process network model, although widely-used, lacks a formal description, and I provide a semantics for it. The formal work leads into a new form of actor. Having established the semantics of dataflow processes, the functional language Haskell is layered above this model, providing powerful features---notably polymorphism, higher-order functions, and algebraic program transformation---absent in block-diagram systems. A visual equivalent notation for Haskell, Visual Haskell, ensures that this power does not exclude the ``intuitive'' appeal of visual interfaces; with some intelligent layout and suggestive icons, a Visual Haskell program can be made to look very like a block diagram program. Finally, the functional language is used to further extend dataflow process networks, by simulating timed and dynamically-varying networks.
The thesis thus draws together a number of previously-separate ideas: a reasonable expectation of efficient execution using established dataflow compilation technology; a powerful and high-level programming notation; and a block-diagram style interface.
Note: The following postscript files are the complete thesis. Sooner or later I'll have a chapter-by-chapter breakdown -- email me if interested. Note that any postscript formatted for US letter sized paper has some of the figure placement a bit off.
- What the examiners said
- PDF -- formatted double-sided, 10 pt. Recommended.
- PDF -- original formatting, 11 pt, double-spaced, single-sided.
- Postscript (US, formatted for A4)
- Postscript (US, formatted for US letter)
- Postscript (Australia)