| Kevin Waugh, Patrick McAndrew, and Greg Michaelson. Parallel implementations from functional prototypes---a case study. Technical Report 90/4, Heriot-Watt University, Edinburgh, UK, 1990. |
....notations have been used to describe or explain functional programs for some time. Reade [113] for example, explains function application using boxand arrow diagrams; Kelly [78] illustrates networks of streams and processes written using an annotated pure functional language; Waugh et al. [152] illustrate the effect of program transformation on parallelism. There have also been proposals for formal visual functional languages. Cardelli [31] proposed a visual functional language in which function application is denoted by juxtaposition of a function name with its arguments; bracketing ....
Kevin Waugh, Patrick McAndrew, and Greg Michaelson. Parallel implementations from functional prototypes---a case study. Technical Report 90/4, Heriot-Watt University, Edinburgh, UK, 1990.
....notations have been used to describe or explain functional programs for some time. Reade [113] for example, explains function application using box and arrow diagrams; Kelly [78] illustrates networks of streams and processes written using an annotated pure functional language; Waugh et al. [152] illustrate the effect of program transformation on parallelism. There have also been proposals for formal visual functional languages. Cardelli [31] proposed a visual functional language in which function application is denoted by juxtaposition of a function name with its arguments; bracketing ....
Kevin Waugh, Patrick McAndrew, and Greg Michaelson. Parallel implementations from functional prototypes---a case study. Technical Report 90/4, Heriot-Watt University, Edinburgh, UK, 1990.
....prototypes using algorithms from the field of computer vision as applications. There is existing code in both a functional language (SML) and in an intrinsically parallel language (Occam2) for a Canny based edge detector [Kou93] and a perspective inversion based model matching programme [WMM90] This report presents a similar analysis of a Hough transform based segmentation algorithm, prototyped in SML and then implemented in Occam2. The process of prototyping a single algorithm and converting this prototype into a parallel implementation has been studied in detail [Bus93, Bra92] ....
....is therefore a suitable vehicle for providing such abstractions given that a predictable and robust mapping from functional language HOFs to parallel implementations can be provided. This has turned out to be a practical proposition [Bra91] and, moreover, has been used in practical applications [WMM90, WMM 92, Kou93] There is a compromise, however, between level of abstraction and performance of the final implementation. Programmes at a low level of abstraction, say assembly language programming, tend to be fast but difficult to maintain. Programmes written at a high level of abstraction ....
[Article contains additional citation context not shown here]
K. Waugh, P. A. McAndrew, and G.J. Michaelson. Parallel Implementations from Functional Prototypes: A Case Study. Technical Report TR90/4, Heriot-Watt University, Riccarton, Edinburgh, 1990.
....by the restriction to data parallelism and the requirement for a program to exploit the same parallelism on all architectures. Several researchers have observed that the effective utilisation of different parallel architectures for a given problem requires different parallelism to be exploited [36, 40, 125, 137]. Configuration languages offer a greater range of parallelism, but still suffer from this problem to some degree. Several examples of problems which can be expressed using several different process networks have been given by Kelly [84] The performance of programs using these two approaches is ....
....information and performance modelling to determine which linear recursive functions should be implemented as processor farms. Parallel implementations from functional prototypes Waugh et al. studied the construction of efficient parallel implementations from functional prototypes of algorithms [137]. Prototypes of programs are written in the functional language SML. Waugh et al. extract parallelism from a functional prototype by noting that compositions of functions can correspond to process pipelines and mapping functions can correspond to process farms. Case studies of image processing ....
K. G. Waugh, P. McAndrew, and G. Michaelson. Parallel implementations from functional prototypes: A case study. Technical Report 90/4, HeriotWatt University, Edinburgh, August 1990.
.... of the box and arrow style are often used to illustrate or explain functional programs: Reade [10] for example, explains function application using diagrams of this kind; Kelly [6] illustrates networks of streams and processes written using an annotated pure functional language; Waugh et al. [15] illustrate the effect of program transformation on parallelism. However, these diagrams serve an expository purpose and are not programming notations in themselves. Other types of diagram are used to explain functional language implementations for example, 5] but these are not our concern ....
....this case, the visual representation does not give much improvement in understanding. 2.2 Illustrating process networks A visual representation is particularly useful for programs that can be conceived of in a structural way, such as networks of communicating processes. Kelly [6] and Waugh et al. [15], for example, use diagrams to illustrate process networks and the effect of program transformation on them. The work referred to above uses lists to model streams that is, communications channels between processes. I prefer to use a distinct datatype, Stream, to more clearly distinguish streams ....
Kevin Waugh, Patrick McAndrew, and Greg Michaelson. Parallel implementations from functional prototypes---a case study. Technical Report 90/4, Heriot-Watt University, 1990.
....We are starting to build a multi source (eg intensity, depth, surface data) parallel vision system which will dynamically reallocate resources to the most promising source. We already have parallel implementations of a low level Canny edge detector (Koutsakis, 1993) and a high level model matcher (Waugh et al. 1990), both developed through functional prototyping. We decided to use these components to construct an experimental complete parallel vision system to recognise 3D objects in 2D scenes from intensity data. The missing component for a complete vision system was the straight line detector. The Hough ....
....the prototyping. 4 Combining Prototypes into a Complete System 4. 1 The Existing Software Components The three existing components are the Canny edge detector (Koutsakis, 1993) the Hough straight line detection process already described and the perspective inversion (PIA) model matching program (Waugh et al. 1990). These three items together comprise the backbone of a complete visual recognition system, albeit with rather naive and simple algorithms. The block diagram of such a system is presented in Fig. 19. Originally the Canny edge detector was studied in comparison with the more primitive Laplacian and ....
[Article contains additional citation context not shown here]
K. Waugh, P. A. McAndrew, and G.J. Michaelson. Parallel Implementations from Functional Prototypes: A Case Study. Technical Report TR90/4, Heriot-Watt University, Riccarton, Edinburgh, 1990.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC