StarLogo
With StarLogo, you can model many real-life phenomena.
StarLogo is a programmable modeling environment for exploring the workings of decentralized systems -- systems that are organized without an organizer, coordinated without a coordinator.