Real-time simulation of tunicate swarms and their infestation by the hyperiid amphipod Vibilia armata
Using software engineering and artificial life techniques, I develop a model of the spreading of gelatinous planktonic organisms (salps) making large swarms in the ocean. Their rapid development is due to the presence in their life-cycle of an asexual multiplication phase.
This software, called RTS3 (now RTS3-XP), is based on self-reproducing artificial salps alternating between asexual and sexual generations. The autonomous individuals move in a (2-dimensional) space, where each one feeds according to the local resources. They metabolize, accumulate reserves, and grow according to realistic functions.
The software design is conducted along the lines of a software engineering method (HOOD, Hierarchical Object-Oriented Design). The programming language is Ada 95 (I am now trying to migrate to Ada 2005). In this architecture, which includes a simulation harness (clock, counters, etc.), the artificial organisms are concurrent objects, behaving in parallel. At difference with most Alife software, the artificial salps are very elaborated creatures. Their states and behavior includes a lot of knowledge about the biology and the physiology of the real organisms.
The swarm progression in space is shown in (scaled-down) real-time on the computer screen. Virtual experiments with the artificial salps are possible, without the problems associated with the sampling and laboratory maintenance of these fragile planktonic animals.
Artificial parasitoid amphipods, living upon the artificial salps, were implemented together with the artificial salp population (this was a huge programming effort, which spanned several years). Like their biological model, the artificial Vibilia search salps to deposit their larvae. Once on a salp, the larva feeds upon the salps reserves, grows and then leaves its host at an advanced swimming stage to search and attack other salps.
The use of modern software design methods oblige one to scrutinize every entity (abstract or real) of the domain and to ask precise questions about their behavior, attributes, and relationships. This is a big advantage over mathematical modeling: you must answer a very large number of questions about your model. The resulting conceptual model is richer and more precise than the general equations used in mathematical modeling. These equations deal with 'mean individuals' (otherwise the equations would be intractable). But what represents a mean individual, evolving in a mean space?
For more information about RTS3 (including the source code), go to the RTS3 Page.
A first version of RTS3, named CALIFE, is described in Marine Ecology Progress Series, 154: 1-16 (1997). At that early time, CALIFE was programmed in Ada 83. Now Ada 95 provides a much better support for concurrency than Ada 83, so CALIFE was completely re-written to use Ada 95 to its full advantage. The source code of CALIFE have not been released. It contained a few bugs which, however, did not invalidate the results in the MEPS paper. RTS3 is much improved, especially because it deals with the parasitoid which attacks the artificial salps.
(last updated 2007-01-07)