Index of Swarm documentation


Though a complete manual for Swarm is not yet available, this list of resources should give you a good place to start. We expect that a final form of documentation will appear by the end of the summer (when V1.0 is released). Please direct all questions to the official Swarm beta tester's mailing list: <swarm-support@santafe.edu>.


Introduction

Our home page provides a good introduction to Swarm (what it does and what it aims to be). On the other hand, the apps-intro document aims to give you a more detailed overview of the sorts of things a user needs to do in order to get a simulation up and running in Swarm. The combination of these two documents should help you decide whether Swarm would be a useful tool in the context of your research.
http://www.santafe.edu/projects/swarm/
Swarm's Internet presence.
intro.html
What a Swarm application looks like, and how it is developed.

Installing Swarm

Swarm uses quite a few libraries and is intended to run under all major flavors of Unix. This presents the unpleasant but largely unavoidable side-effect of making Swarm hard to install. Ideally, you should get the sys-admin for your site to do the job. In any event, the following resources should prove useful:
http://www.santafe.edu/projects/swarm/release/
Swarm beta release web pages.
install.html
Installation instructions
overview.html
Overview of the Swarm system.
FAQ.html
The beginnings of an FAQ for the Swarm project.
LICENSE-libs
License terms for the distribution of the Swarm libraries.
LICENSE-apps
License terms for this distribution of the Swarm example applications.

General Programming Hints

The main technical skill required of a Swarm user is the ability to write Objective C code. Other recommended skills include the ability to use tools such as gdb and emacs. For the record, if you know C and have some form of experience in either C++ or Smalltalk, then learning Objective C should take no more than a day.
Objective C references
Nelson's list of Objective C references on the Web. Includes a 10 minute overview to Objective C that is most of what you need to know about Objective C.
Objective C - Swarm Style
The Swarm system provides a few extensions to the syntax/style of Objective-C. This note describes those features which are important to know as a beginner and those which can be ignored...
Object-Oriented Programming and the Objective-C Language
An excellent (online!) book on Objective C. This is for generic NeXT Objective C: Swarm uses GNU Objective C in addition to our own defobj extensions.
debugging tips
When adding printf() just isn't enough...
emacs tips
Some hints for editing Objective C code under emacs.

Core Libraries

Swarm is essentially a collection of libraries against which you link your simulation code. The following is a list of the those libraries which are crucial to the proper execution of Swarm, and are therefore shipped with the Swarm distribution.

User Contributed Libraries

It is the intent of the Swarm project to generate new libraries based on the work done by the user community. We expect that with a minimal amount of modification, we will be able to turn many of the libraries that our user base writes, into useful, general-purpose libraries. Here is a list of some initial examples of this process. In addition, we are maintaining a global todo/wish list (todo.html) where ideas and suggestion made by the user base are posted. We hope that the todo list will generate some discussion/communication/implementation(!?) of these suggestions whenever possible.

Sample Application

The following sample applications represent the current best source of guidelines/advice about the structure of Swarm applications and the way in which they should be written (along with intro.html). In particular, the Heatbugs code has been thoroughly commented and demonstrates some of the main features in Swarm. The template application is a good place from which programmers can copy code as a starting point for their initial simulations. There is more complete information (the screen shots are a bit dated) about a few of these demo applications in http://www.santafe.edu/projects/swarm/examples/.


Manor Askenazi <manor@santafe.edu>
Last modified: Mon May 13 02:51:15 MDT 1996