Top Up Prev Next Bottom Contents Index Search

9.5 An overview of PN demos


There are two subpalettes of PN domain demos, a palette of examples from papers by Gilles Kahn and David B. MacQueen, and a palette of examples from the Ph.D. thesis of Thomas M. Parks. The top-level palette for demos in the Process Network domain is shown in figure 9-2
. The subpalettes are described below.

9.5.1 Examples from papers by Gilles Kahn and David B. MacQueen

These demos are examples from papers by Gilles Kahn and David B. MacQueen. The palette is shown in figure 9-3
.

Kahn74fig2 Produce a stream of 0's and 1's. This demo is from figure 2 in [Kah74].
Kahn77fig3-opt Sieve of Eratosthenes with non-recursive sift process. This example shows how process networks can change dynamically during execution. The sift process inserts new filter processes to eliminate multiples of newly discovered primes. This demo is from figure 3 in [Kah77].
eratosthenes Compare this DDF domain demo with the Kahn77fig3-opt demo above.
Kahn77fig4 Produce a sequence of integers of the form 2a3b5c. An unbounded number of tokens accumulate in the communication channels as execution progresses. This demo is from figure 4 in [Kah77].
Kahn77fig4-opt Produce a sequence of integers of the form 2a3b5c with optimizations to avoid generating duplicate values. An unbounded number of tokens accumulate in the communication channels as execution progresses. This demo is from figure 4 in [Kah77].

9.5.2 Examples from the Ph.D. thesis of Thomas M. Parks

These demos are examples from the Ph.D. thesis of Thomas M. Parks. The palette is show in figure 9-4
.

Parks95fig3.5 Merge two streams of monotonically increasing integers (multiples of 2 and 3) to produce a stream of monotonically increasing integers with no duplicates. Simple data-driven execution of this example would result in unbounded accumulation of tokens, while demand-driven execution requires that only a small number of tokens be stored on the communication channels. This demo is from figure 3.5 in [Par95].
Parks95fig3.11 Separate a stream of monotonically increasing integers into those values that are and are not evenly divisible by 3. Simple demand-driven execution of this example would result in unbounded accumulation of tokens, while data-driven execution requires that only a small number of tokens be stored on the communication channels. This demo is from figure 3.11 in [Par95].
Parks95fig4.1 Separate an increasing sequence of integers into those values that are and are not evenly divisible by 5, then merge these two streams to reproduce a stream of increasing integers. Simple data-driven or demand-driven execution of this example would result in unbounded accumulation of tokens. This demo is from figure 4.1 in [Par95].



Top Up Prev Next Bottom Contents Index Search

Copyright © 1990-1997, University of California. All rights reserved.