Agents.jl is a pure Julia framework for agent-based modeling (ABM): a computational simulation methodology where autonomous agents react to their environment (including other agents) given a predefined set of rules. Some major highlights of Agents.jl are:
- It is fast (faster than MASON, NetLogo, or Mesa)
- It is simple: has a very short learning curve and requires writing minimal code
- Has an extensive interface of thousands of out-of-the box possible agent actions
- Straightforwardly allows simulations on Open Street Maps
The simplicity of Agents.jl is due to the intuitive space-agnostic modelling 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 matter of only a couple of lines of code.
More information and an extensive list of features can be found in the documentation, which you can either find online or build locally by running the docs/make.jl
file.
If you use this package in a publication, or simply want to refer to it, please cite the paper below:
@article{Agents.jl,
doi = {10.1177/00375497211068820},
url = {https://doi.org/10.1177/00375497211068820},
year = {2022},
month = jan,
publisher = {{SAGE} Publications},
pages = {003754972110688},
author = {George Datseris and Ali R. Vahdati and Timothy C. DuBois},
title = {Agents.jl: a performant and feature-full agent-based modeling software of minimal code complexity},
journal = {{SIMULATION}},
volume = {0},
number = {0},
}