Swarm User Guide

Swarm Development Group

Paul Johnson

University of Kansas
Department of Political Science


Alex Lancaster

Santa Fe Institute


A User's Guide for the Swarm Simulation System

This document began with the Swarm Tutorial presented at SwarmFests 1998 and 1999 by Benedikt Stefansson of CASA Inc. (formerly of UCLA Department of Economics). The Swarm Toolkit is discussed in three stages of increasing detail. The first part provides an introductory treatment and description of Swarm. The second part provides a deeper survey of the anatomy of a swarm program. The third part goes into significantly greater detail on some elements of programming in Swarm that users are likely to enounter as they build programs with Swarm. Users are encouraged to explore the Swarm sample programs and to visit the Swarm home page, where they can find out the latest news and join the Swarm e-mail community.

Paul Johnson's effort on this project was supported in part by a grant from the National Science Foundation (SBR-9709404). Paul is the primary author of the main bulk of the Guide material.

Alex Lancaster is responsible for most of the SGML-"smithing" and markup issues in DocBook (see Colophon) and supplied additional material and text.

Table of Contents
About this Guide
Part I. Basic Concepts
1. Introduction
2. Programming and Simulation
3. Nuts and Bolts of Object-Oriented Programming
4. The notion of a Swarm
5. The Graphical User Interface
Part II. Swarm Applications: Examples and Illustrations
6. The Swarm Tutorial: Reprise
7. Creating Objects In Swarm
8. Doing the Chores: set and get
9. Building Schedules
10. Working with Lists
11. Checking on a Swarm's progress: The Observer
12. Probing and Displaying the Contents of Swarm Objects
Part III. Advanced Topics
13. Anything C can do, Swarm Can Do Better
14. The Swarm Collections Library
15. Using the Random Library
16. Serialization
A. Swarm Tools
A.1. Web Resources for Object-Oriented Languages
A.2. Debugging Tips for Swarm
A.3. Emacs and Swarm
B. Objective C - Swarm Style
B.1. Non-Conventional Techniques, And The Libraries In Which They're Used
B.2. Zones
B.3. Create Phase
B.4. Collections and Defobj
C. Random Library Appendix
C.1. Supplemental comments on random number generators
C.2. Usage Guide
C.3. Advanced Usage Guide
C.4. Resources for random number generation