CoSMoS has produced a number of demonstration complex systems:
- Occoids
- Ant-based annular sorting
- Lymphocyte migration
- Chemical diffusion
- Artificial immune systems
- Scale free networks
- L-systems
OccoidsOccoids is an implementation of Reynolds’ Boids, a simulation of bird flocking. Each bird is able to see the other birds and obstacles in a fixed radius in front of it, and adjusts its velocity based on a set of simple rules. Our implementation also features trees (white circles), which the birds will avoid flying into. The birds form tight flocks and navigate around obstacles as an emergent behaviour. Occoids with foodWe extended the model to include food (green squares), which the birds are strongly attracted to, and hawks (red squares), which frighten the birds and cause them to temporarily change their flocking behaviour. Occoids with retricted viewIf the field of view of the birds is severely restricted, they form long, thin “flocks” that eventually settle down into a single direction. Distributed OccoidsOccoids can be distributed across a cluster of machines using asynchronous network messaging. This video shows Occoids running on the Display Wall at the University of Tromsø. |
|
Ant-based annular sortingAnnular implements Martyn Amos’ ant-based annular sorting algorithm. The population consists of moving ants (the red and green dots) and various sizes of static eggs (the white circles). Ants can make aesthetic judgements about the placement of eggs. When an ant encounters an egg that it feels to be poorly-placed, it picks it up and carries it until it finds a better location for it. Using a simple aesthetic rule, the ants can eventually sort the eggs into rings by size, with the smallest eggs in the centre and the largest at the outside. |
|
Chemical diffusionMany simulations require a model of chemical diffusion. Diffusion demonstrates diffusion of three differently-coloured chemicals (red, green and blue) across a grid of cells. The user can place chemicals using the mouse. In this simulation, the chemicals do not react with each other. |
|
Artificial immune systemsThese two case studies model populations of immune-system cells that can interact with other cells that have complementary shapes to their own. Each cell maintains an activation level, which slowly decreases over time. When a cell encounters another cell with a complementary shape, its activation level increases by an amount related to the similarity in shape of the two cells. If a cell’s activation level reaches zero, it dies and is removed from the simulation. Shapespace is based on the model described in Hart and Ross’s Studies on the Implications of Shape-Space Models for Idiotypic Networks. The visualisation shows shape space rather than physical space, with cells coloured according to their activation level. Each point in shape space has a complementary region in which cells will be activated. From a random initial state, the system quickly develops “tolerant” and “intolerant” regions as an emergent behaviour. Grid extends the model to support cells that not only have a shape but also move around in discretised physical space. The visualisation shows physical space and two live charts: a histogram showing the age distribution of the cells, and a line chart showing the total population. In this model, we see population explosions as groups of mutually-reinforcing cells come into contact. |
|
Scale free networksSimulations that operate over an arbitrary graph rather than in continuous space are also easy to construct using process-oriented modelling. Scalefree demonstrates the real-time construction of a scale-free network of processes and channels that could be used as the basis for another simulation. In this model, a new node is added on each time step, and connected to two randomly-chosen other nodes. The choice of other nodes is weighted by the number of connections they already have, so well-connected nodes tend to become more well-connected. Bars are drawn around the outside of the network to show the number of connections on each node. |
|
L-systemsIn an L-system, a string of symbols is repeatedly rewritten using a set of rules. If the symbols are interpreted as a series of drawing instructions, the resulting graphics can resemble organic structures; L-systems can therefore be used to model the development of plants and other lifeforms. Lsystems implements L-systems in a process-oriented way: each symbol is a process, linked into a string using channels. On each time step, a channel end is passed along the string; each process sends its symbol down the channel, and then replaces itself with the string of processes corresponding to the symbols it should be rewritten to. The symbols are interpreted as turtle graphics commands. |
|













