What the examiners said

In Australia, a thesis must be submitted to three examiners: one in the University and two external, one of whom must be overseas. The comments are sent back to the examinations committee, who decide whether the candidate's thesis is

  1. Acceptable as-is (uncommon)
  2. Acceptable with minor revisions (most common, and what I got)
  3. Acceptable only with major additional work and re-submission.
  4. Unacceptable.

Here is the bulk of the examiners' comments on the submitted version of my thesis. The final, revised, version, of course, attempts to correct the shortcomings noted by the examiners.


Examiner 1 (University of Technology at Sydney)

Content

The candidate demonstrated the ability to understand a vast area of research and clearly identify some of the problems in this area. He then went on to develop some novel solutions to these problems.

The contents were definitely sufficiently substantial and broad-ranging to allow coverage of the field. The only difficulty was that the field was so large (the title of the thesis says it all) that the candidate's achievements tended to be isolated. This meant the thesis, although it did present a broad review of the field, did not present a coherent set of contributions. I suspect that the original goal of the thesis was far too ambitions, so the candidate ended up making a number of disconnected original contributions. The thesis does contain material suitable for publication and indeed a number of papers have been published.

Knowledge

The candidate did display sufficient knowledge of the area and a capacity for clear thinking. He was also able to demonstrate a superior ability for analysis and design.

Presentation The thesis was well planned and presented.

[Specific technical comments elided.]


Examiner 2 (Adelaide University, Australia)

Chapters 1 and 2 of this thesis are well-written, provide good motivation and introduction, and present clear explanations of background material. Clearly most relevant literature in the area has been surveyed.

Chapter 3 begins with a good perspective of dataflow history (but I would point out that the discussion of phased actors should have a more detailed comparison with the I-structures used by Arvind's MIT dataflow group since 1978). The chapter sets out to provide a more formal notation and semantics for dataflow process networks, a useful goal. However, in many cases, the semantic definitions are unclear. For example, ..... [several technical points elided]. In summary, such definitions need to be expressed more rigorously. Overall, however, chapter 3 provides a useful description of phased actors which is capable of some interesting characterizations.

Chapter 4 describes a new and interesting visual syntax for Haskell. The development is very thorough; visual syntax for some quite difficult aspects of higher-order functional languages is presented in a convincing manner.

Chapter 5 is concerned with the description of static process networks. It is the longest and most substantial chapter of the thesis. It contain many good, well-presented ideas, especially in the early sections on vectors and streams. The important section on network construction and transformation is also generally good, presenting interesting and powerful methods of network specification. However, section 5.5 on process transformation is somewhat sketchy: it points out interesting possibilities, supported by a useful example, but falls well short of providing, say, general guidelines for applying the transformations developed. In this sense the treatment is incomplete and undeveloped; ideally, the methodology should be strengthened but for the purposes of this thesis a more precise summation of the contribution of this section and how it should be developed will be adequate.

Chapter 6 extends the network notation to express a notion of time, and pursues issues of real-time DSP programming. Again, it is clear that previous work has been thoroughly examined, and sensible alternatives for modeling time are considered. The chapter also presents interesting techniques for functional expression of asynchronous stream functions, supported by well-developed examples. Sections 6.3 and 6.4 define an admittedly-incomplete set of functions for manipulation of timed streams and dynamic process networks, noting that further work is required to find the most useful set of functions. Although the example given of their use is reasonably realistic, the issue of generality should be addressed by at least making an assessment of the general applicability of the primitives proposed, and hence indicating the extent to which this work will need to be augmented to provide a more complete programming system. Similarly, the music synthesizer example shows the power of this work as a specificational technique, but the summary discussion show it to be a long way from a [a few words chopped off fax] programming tool. The chapter should be strengthened in this respect, with a deeper discussion of the issues and techniques necessary to make it s useful part of a real-time programmer's toolkit.

In summary, this is a well-written thesis which presents interesting ideas across a quite broad range. As I have indicated above, I believe that there are several areas in which the discussion should be tightened and strengthened to make a convincing PhD thesis.


Examiner 3 (Heriot-Watt University, Edinburgh, Scotland)

Overview

Mr Reekie has carried out an excellent research program to formalize and facilitate the design of digital signal; processing (DSP) systems. In particular, he has:

  1. Employed a functional language as an intermediary language between diagrammatic DSP design and dataflow-based implementation.
  2. Formally defined dataflow primitives.
  3. Shown that such primitives may be represented as higher-order functions within a functional language.
  4. Designed a visual interface for the functional language with icons for higher-order functions.
  5. Applied formal transformation techniques to optimize higher-order-function-based DSP designs.
  6. Extended this approach to static streams and vector-based process networks.
  7. Enabled the design of dynamic process networks by introducing explicit time and data constructs.

These all represent valuable contributions to the field. I am pleased to recommend that Mr Reekie be awarded the degree of Doctor of Philosophy, subject to minor changes to the thesis discussed below.

Contents

Mr Reekie has identified clearly his research area and situated it appropriately within the wider field, His work is presented in a generally lucid and succinct manner. He has already published much of the research.

Knowledge

Mr Reekie has a thorough grounding in the broad area of digital signal processing, and in-depth knowledge of dataflow, higher-order functional programming, and visual language design. This understanding is well demonstrated in his research where he ably integrates and synthesizes practical techniques from the latter three areas.

Presentation

The thesis is, in general, thoughtfully constructed and professionally presented. However, there are a number of minor short-comings: there require some attention but certainly do not necessitate re-submission.

Mr Reekie's research draws upon a number of disparate areas; of necessity he cannot give full accounts of all of them. However, some of his overview sections would benefit from slightly more attention to detail to provide more context and to ensure that all concepts and technical terms used in subsequent chapters are introduced at this stage.

The main weakness lies in the lack of resolution both to each chapter and to the thesis as a whole. Chapters end somewhat abruptly with no attempt to summarize and reflect upon what has been covered or point forward to subsequent chapters. Concluding summary discussions would be beneficial.

The final chapter is very brief. This would benefit from slightly more reflective discussion of each chapter balancing contributions, shortcomings and potential for further work.

[Detailed technical comments elided.]