Swarm main page
Swarm is a platform for agent-based models (ABMs) that includes:
- A conceptual framework for designing, describing, and conducting experiments on ABMs;
- Software implementing that framework and providing many handy tools; and
- A community of users and developers that share ideas, software, and experience.
Getting started if you are new to Swarm
First, see this short introduction.
Next, it is important to develop an understanding of Swarm's conceptual framework: how you organize and describe a model using concepts such as swarms, collections, actions, schedules, observers, etc. The original Santa Fe Institute working paper describing Swarm is a good way to learn Swarm's basic structure and motivation. The Documentation and learning materials page provides additional reading that is essential before trying to start using the software (even---especially---if you are an experienced programmer).
Finally, you will want to install Swarm software and use its documentation and examples to learn how to implement your models. (You might first want to visit the wiki's ABM resources section to see if there are other software platforms to consider.) To get started with the software (including deciding whether to use Swarm with Java or Objective-C), go to the main page for Swarm software.
Getting Swarm software and documentation
See the documentation page for the Swarm reference manual, users guide, and other materials.
Our download site for Swarm software (source, example applications, documentation, packages) is http://download.savannah.gnu.org/releases/swarm/
Finding example Swarm applications
Hundreds of models have been built with Swarm. To see, download, and try some examples (along with additions to Swarm contributed by users), see the example applications and contributed code.
Getting modeling and Swarm software user support
User support is obtained by joining the Swarm email lists. The swarm modelling list is for discussion and questions about agent-based modeling in general. The swarm support list is where your questions about Swarm software are likely to be answered by one of your many generous fellow users.
Swarm is divided into three main pieces: source, documentation, and applications. They are each bestowed version numbers that are independently increased except for major releases of the source. The version map right now is:
source: 2.2 docs: 2.2 apps: 2.1.1 (being updated) heatbugs: 2.1.1 template: 2.1.1 market: 2.1.1 mousetrap: 2.1.1 tutorial: 2.1.1 hello-world: 2.1.1
Frequently Asked Questions
Check the Swarm FAQ to see if your question has already been answered.
<!--==Snapshots vs CVS== COMMENTED OUT BECAUSE I THINK IT'S OUT OF DATE. --SFRailsback 16:47, 27 Jan 2006 (EST) Only snapshots of the source section are available. The docs and apps are only available from the CVS.
The CVS code for apps should build and run without problems and is the best way to get example applications.
The code for the docs is mainly a document generating system, which produces documentation from comments in the source code. It is only usable by those with a good understanding of SGML/XML in general and DocBook in particular. If that is not you leave it alone.-->