Agents.jl
Agent-based modeling framework in Julia
...The simplicity of Agents.jl is due to the intuitive space-agnostic modeling approach we have implemented: agent actions are specified using generically named functions (such as "move agent" or "find nearby agents") that do not depend on the actual space the agents exist in, nor on the properties of the agents themselves. Overall this leads to ultra-fast model prototyping where even changing the space the agents live in is a matter of only a couple of lines of code.