Home | Papers | Blog

AgentBase.org - Agent Based Simulation in the browser

May I present to you: AgentBase.org. AgentBase allows you to do Agent Based Modeling (ABM) directly in the browser.

You can edit, save, and share models without installing any software or even reloading the page. Models are written in Coffeescript and use the AgentBase library.

You can edit and run models directly on AgentBase.org

You can also save, and share your models. Just share the (permanent) link of your model. Models are saved as GitHub Gists. GitHub provides an easy way to browse and compare earlier versions of source files, and also provides reliable storage, which ensures that models can be accessed even if AgentBase were to go offline. Finally, it also allows you to checkout and edit models on your own machine. You do need a GitHub account to be able to save models.

I built AgentBase.org as part of the Agent Based Modeling I am doing for my DPhil (PhD) thesis. There was no suitable toolset, or platform for sharing my models directly through the web, without requiring people to install software. For example NetLogo, which is a widely used toolset, is a desktop application.

I also seriously considered going with AgentScript. But AgentScript is heading more towards optimizing CPU performance than clarity and minimalism, and has ‘somewhat loose’ coding and testing standards. I used it as the basis for the AgentBase library, but took in a direction that makes sense for academic use.

That is: AgentBase is optimized for illustrative ABMs. Models can serve two main purposes. One is predictive, where one tries to make a model that resembles reality as closely as possible, as that helps you to make predictions with it. Such models are complex, and require high performance computing. Them being complicated and hard to understand does not matter, because in the end only their output numbers, the predictions do. Though not ABMs as such, weather forecast models are a good example of predictive models.

The other type of model, is the illustrative model. Illustrative models serve to demonstrate, communicate, or clarify processes to human observers. What matters for these models is their clarity, and how well they communicate the sociological, or other principle they were built to portray. For illustrative models the process, the model states, and agent-interactions matter, not the exact output.

From Thomas Schelling’s segregation model to Epsteins most cited works, the Agent Based Models most valued in the social sciences are illustrative. And because browsers are great for sharing illustrative models, but not for high powered computing, the ones that you’d likely want to run in a browser will be illustrative as well. AgentBase may thus be useful for you. But even if not, go forth and tinker ;)