Brief Overview of Swarm

Swarm Development Group


Licence terms for Swarm documentation

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

The XML source and associated utilites needed to generate this documentation can be found in the package: swarmdocs-2003-09-08.tar.gz. Whilst the documentation itself is under the GFDL, all code for used to generate the documentation is distributed under the GNU GPL.

Licence terms for Swarm software

The copyright holders make no representation about the suitability of Swarm for any purpose. It is provided “as is” without expressed or implied warranty. Please refer to the GNU General Public Licence (GPL). Permission to use, copy, modify and distribute Swarm must be in accordance with the GPL.

30 December 2004

Revision History
Revision overbook.xml2003-09-08alex
Use 4.2 version of DocBook XML DTD.
Revision Makefile.am2001-11-26alex
(GENERATED_XML): .sgml -> .xml suffix.
Revision overcont.xml, overbook.xml2001-11-26alex
Move GFDL into the root of the document, out of overcont.xml, so that we only get one GFDL appendix when we generate the set. Include gfdl.xml in DOCTYPE header.
Revision overcont.xml2001-11-25alex
Add GFDL as <appendix>.
Revision overmeta.xml2001-11-25alex
Use <mediaobject> in place of <graphic>, which will be obsoleted in V5.0 of DTD.
Revision overbook.xml2001-11-25alex
Update DOCTYPE to DocBook XML DTD V4.1.2.
Revision Makefile.am2001-11-25alex
SGML,sgml changed to -> XML, xml throughout.
Revision overbook.ent2001-11-25alex
Make entities conform with strict XML.
Revision *.sgml2001-11-25alex
Converted to strict XML and renamed with .xml extension.
Revision overbook.sgml2000-07-04alex
Declare lt and gt entities explicitly to ensure that SGML -> XML conversion works correctly.
Revision overbook.sgml2000-05-30alex
Update DOCTYPE to DocBook DTD V4.0.
Revision overmeta.sgml2000-05-30alex
GRAPHIC tag has no content, remove obsoleted BOOKBIBLIO tag.
Revision 2000-03-28mgd
Swarmdocs 2.1.1 frozen.
Revision 2000-03-01alex
Swarmdocs 2.1 frozen.
Revision Makefile.am2000-03-01alex
(noinst_DATA): Remove entirely.
Revision overbook.sgml1999-04-06alex
Change PUBLIC identifier for DTD to "-//OASIS//DTD DocBook V3.1//EN". Remove JPEG notation class: now part of the 3.1 DTD.
Revision over04.sgml1999-02-17alex
(PROGRAMLISTING: main): Change comment that says batchmode is indicated by swarmGUIMode being 1; batchmode is indicated by swarmGUIMode being 0.
Revision overmeta.sgml1999-01-26alex
Move bibliodata entity outside of BOOKBIBLIO - so legalnotice links work.
Revision overmeta.sgml1999-01-13alex
Include the newly-defined {doc,swarm}-legalnotice entities from global.ent. Move CORPAUTHOR inside BOOKBIBLIO.
Revision over01.sgml, over02.sgml, over03.sgml, over04.sgml, over05.sgml1998-12-27alex
Standardize use of IDs according to conventions. Add IDs for all SECT1 elements.
Revision overbook.tex.in1998-10-14mgd
Use top_dossrcdir instead of top_srcdir.
Revision over04.sgml1998-10-09mgd
Remove duplicated "Scheduling a Model Swarm" section.
Revision overbook.tex.in1998-10-09mgd
Include tex/macros.tex.
Revision overmeta.sgml1998-06-17mgd
Use overbookrevhistory.sgml instead of overrevhistory.sgml. Scale graphic to 100%.
Revision Makefile.am1998-06-17mgd
(GENERATED_SGML): Use $(NAME)revhistory.sgml instead of overrevhistory.sgml. (EXTRA_DIST): over.ent renamed to overbook.ent.
Revision overbook.sgml1998-06-15mgd
Add JPEG notation.
Revision Makefile.am1998-06-15mgd
Include $(top_srcdir)/Makefile.common.
Revision overbook.sgml1998-06-12mgd
Include versions entity.
Revision overmeta.sgml1998-06-12mgd
Scale graphic to 75%.
Revision over.ent1998-06-11alex
Made all SYSTEM identifiers PUBLIC (listed in catalog now).
Revision Makefile.am1998-06-11alex
(GENERATED_SGML): Added for revhistory. (noinst_DATA): Added. (SGML, SGML_FILES): Separated out generated/non-gen files.
Revision over.ent1998-06-11alex
Created overrevhistory.sgml entity.
Revision overmeta.sgml1998-06-11alex
Replaced hardcoded revhistory with the new entity overrevhistory.sgml.
Revision overmeta.sgml1998-06-09alex
Changed corpauthor to be inserted from Global public identifiers.
Revision overbook.sgml1998-06-08mgd
Use public identifiers.
Revision over02.sgml, over03.sgml, over04.sgml1998-06-04alex
Fixed inappropriately positioned PARA tags.
Revision Makefile.am1998-05-23mgd
New file.
Revision Makefile1998-05-23mgd
Revision overbook.tex.in1998-05-23mgd
New file.
Revision overbook.sgml1998-05-23mgd
Set ID of book to "overbook".
Revision 1998-05-22mgd
Begin revision log.

A Top-Down Introduction To Implementing an Experiment Using Swarm

This document attempts to explain the logical structure of a Swarm experiment application. Starting with a very general outline of an idealized experimental procedure, we successively increase the level of specification of each stage of this idealized structure until we arrive at details of an actual running Swarm application.

Along the way, we introduce and describe (very briefly) some of the tools currently available in Swarm to help users build experiments. The tools presented here are only suggestive: the Swarm library documentation and example applications will give a more detailed view of using specific components of Swarm

Table of Contents

1. Mag 1x: Experimental Procedure in a Computer
2. Mag 2x: Basis of Swarm Computation
3. Mag 3x: Swarm Structures
Model Swarms
Observer Swarms
4. Mag 4x:Sketch of Code
Building a Model Swarm
Defining an Agent
Building Agents
Building Space objects
Scheduling a Model Swarm
Building a Graphical Observer Swarm
Building a Data Graph
The main() function
5. Conclusion