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