Top Up Prev Next Bottom Contents Index Search

7.7 Mixing DDF with other domains

The mixture of the DDF domain with other domains requires a conversion between different computational models. In particular, some domains associate a time stamp with each particle, and other domains do not. Thus, a common function at the EventHorizon is the addition of time stamps, the stripping off of time stamps, interpolation between time stamps, or removal of redundant repetitions of identical particles. In this section, DDF-specific features on the domain interface will be discussed.

A galaxy or universe implemented using DDF may have a wormhole which contains a subsystem implemented in another domain. The DDF wormhole looks exactly like a DDF star from the outside. However, there are certain technical restrictions. In particular, it cannot have dynamic input portholes, meaning the number of particles consumed by the wormhole inputs is a compile-time constant. The wormhole is therefore fired when all input ports have new particles. When it is fired, it consumes the input data, invokes the scheduler of the inner domain, and retrieves the output particles. Thus, in all respects except one, the DDF wormhole behaves like an SDF wormhole (see "Wormholes" on page 12-4 for more information). The one exception is that the DDF wormhole need not consistently produce outputs.

When a DDF system is embedded within another domain, you may need to explicitly control what constitutes a firing of the subsystem. Specifically, by setting the firingsPerIteration pragma of a star in the DDF subsystem, you control how many firings of that star are required to complete an iteration. Zero means "don't care."

Note that some work has been done with a CGDDF target which recognizes and implements certain commonly used programming constructs [Sha92]. See "CG Domain" on page 13-1 for more information.



Top Up Prev Next Bottom Contents Index Search

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