Monday, 13 April 2015

Creating Simulations using Cellular

Cellular is a great tool for integrating computational thinking, programming and simulations into science and technology courses.

Simulating Predator-Prey Relationships

In this post I will showcase Cellular which is an open source software that can be used to create agent-based simulations.

Cellular is an open-source software used for programming agent-based simulations. It uses a simple drag-and-drop block-based interface similar to Scratch. It was developed by the Monash University Faculty of Information Technology and is available for download at

Also available for download is the project-based Simulation with Cellular e-book. This resource includes a number of tutorials and activities that teach you a variety of techniques. It then steps you through some challenges of simulating crowds, ant-colonies, bacteria and predator-prey scenarios.

This makes Cellular an ideal tool for integrating digital simulations and modelling into science teaching, as well as programming and computational thinking. It also fits well into the Information & Software Technology topics, 'Artificial Intelligence, Simulation and Modelling' and 'Software Development and Programming'.

Here are a couple of sample simulations that I made from the tutorials and challenges in the Simulation with Cellular e-book. 

Bee Swarm Simulation

The first one simulates bees feeding on flower nectar. When a bee feeds, the flower loses it's nectar. So a bee also has to check if a flower contains nectar before trying to feed on it. A counter is included to show the number of flowers each bee has fed on.

Two by Two

This was the first challenge activity. You had to get the agents (people) to move around randomly until each agent was paired with only one other agent.

Ant Colony Simulation (Honey Trap)

This is a simulation of a colony of ants that move around randomly. It includes a honey trap. When ants walk in the honey trap they get stuck. If a stuck ant is lucky, another ant will come by and nudge him out. This was the second challenge.

The Flood

The next challenge simulates the effect of rising water levels on a small town. Houses at elevations lower than the water level will be inundated with flood water. Houses on stilts can withstand an extra 20 units of water level before becoming inundated. The bright red cells represent high elevations and the very pale red indicates low lying areas.

Virus Outbreak

Now they are getting more challenging, but at the same time you feel like you are better equipped to analyse and problem solve.

This one simulates the outbreak of a virus in a community. A counter keeps tab of the number of infected people, and two other counters are used to track direct (from the source - in this case a bird) and indirect infections (from another person). When the person is infected by the source (the bird), they sneeze. When they are infected by another person, the sniffle.

Bacteria colony

In this challenge I had to construct a simulation that replicates the way bacteria "optimise" their location in some nutrient source. The result is that the bacteria tend to move towards and cluster around areas of highest nutrient concentration.

I might have a go at extending this one to include reproduction of bacteria (exponential growth), depletion of nutrients and then death. Watch this space!