HeatBugs is a model originally developed on the Swarm toolkit. The environment is a toroidal 100x100 grid of "heat", populated with 100 "bugs" with built-in heaters. The bugs prefer it to be not too warm and not too cold (the range differs from bug to bug), and will follow the gradient towards regions more to their liking. The heat diffuses and evaporates at the provided rate.
HeatBug.java, HeatBugs.java, HeatBugsWithUI.java, Diffuser.java, ThreadedDiffuser.java
You might also try HexaBugs: HeatBugs on a hexagonal grid. Or try HeatBugs3D: plain 2D HeatBugs displayed in a 3D fashion.