Next: , Up: Simulation-Specific Algorithms



7.6.1 The Swarm Design Pattern Implementation

The Swarm design pattern, described formally in The Swarm Design Pattern, probably has the most important simulation-specific implementation. (Note that there is no separate Hive implementation - rather, the Swarm is the first layer in the source code.) Implementing the Swarm on a von Neumann machine is very much like fitting a (big) square peg in a round hole. The explicit parallelism of the Swarm screams for non-traditional computational substrates, but they're unfortunately not malleable enough today to accommodate the requirements. Plus the Monod developers don't have access to them. So there.

We propose below three different implementations of the Swarm. Having different implementations demonstrates the substrate independence of the Monod model. In fact, it allows the developers to debug the model more effectively, as this independence is a requirement.