System Designer (
syd for short) is a multi-agent simulation framework.
System Designer is under heavy development so it is not recommended for use at this moment. APIs and everything else are subject to change.
It is built on top of aiomas. At this time System Designer requires Python 3.5.
System Designer is designed to support large agent-based simulations where the agents themselves are computationally expensive. With simpler models like cellular automata you'll lose most of the framework's benefits (see below for a bit more details).
System Designer provides an easy way to emit arbitrary data, e.g. aggregate simulation reports every
n steps, world grid states, etc, using
socketio, so you can build arbitrary web visualizations on top:
docs directory for notes on the framework's design and goals.
Some examples are implemented in the
To run an example:
python -m examples <example name>
The available examples are:
schelling, sir, gameoflife.
deepthought which is just to demonstrate the trade-offs between single and multi-node simulations.
There are web visualizations for
gameoflife; to view them run:
syd front 8888 examples
The frontend for the two are located at
/gameoflife.html respectively. Once you have the frontend loaded you can run the example (e.g.
python examples schelling) to start sending socketio messages to it.