Reference Guide for Swarm 2.2

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 Makefile.am2003-09-10alex
(gridturtle_srcdir): Remove.
Revision refbook.xml2003-09-08alex
Use 4.2 version of DocBook XML DTD.
Revision Makefile.am2001-11-26alex
include Makefile.common, not refbook/Makefile.rules, the EXTRA_DIST and noinst_nodist_DATA macros were conflicting, automake 1.5 flags this as an error (SUBDIRS): Remove 'tech' subdirectory. Moved to User Guide. (swarm_ChangeLog): Remove, automake now smart enough to get this target from included Makefile.
Revision refbook.xml2001-11-26alex
Move gfdl.xml ENTITY into DOCTYPE header, because no longer defined in global.ent.
Revision refcont.xml2001-11-25alex
Add GFDL as <appendix>.
Revision refmeta.xml2001-11-25alex
Use <mediaobject> in place of <graphic>, which will be obsoleted in V5.0 of DTD.
Revision refbook.xml2001-11-25alex
Update DOCTYPE to DocBook XML DTD V4.1.2.
Revision sgml.el2001-11-25alex
Emit tags that are all strict XML (lowercase element names and attributes throughout, with empty elements such as <void>, renamed using the <void/> syntax). Change all file suffixes to '.xml'
Revision Makefile.am2001-11-25alex
Change {SGML,sgml} to {XML,xml} throughout.
Revision Makefile.rules2001-11-25alex
Revision refbook.ent2001-11-25alex
Make entities conform with strict XML.
Revision *.sgml2001-11-25alex
Converted to strict XML and renamed with .xml extension.
Revision sgml.el2000-07-17mgd
(module-package-string): New function. (sgml-object-id, sgml-examples, sgml-method-examples): Use it. (module-path-string): New function. (sgml-pathname-for-swarmdocs-pages-output, sgml-examples,sgml-method-examples): Use it. (sgml-method-signature-id): Handle getters phase.
Revision refcont.sgml2000-07-17mgd
Add swarmcont.
Revision refbook.ent2000-07-17mgd
Add entities for Swarm swarmcont.sgml and generated swarmpages.sgml.
Revision sgml.el2000-07-09mgd
(sgml-pathname-for-swarmdocs-pages-output): Moved from Swarm's etc/common.el.
Revision license-app.sgml2000-07-04alex
Revision grid-app.sgml2000-07-04alex
Revision refbook.sgml2000-07-04alex
Declare lt and gt entities in the prolog for down-conversion to XML compatibility.
Revision refmeta.sgml2000-06-13alex
Add link directly to Random Appendix in User Guide.
Revision refbook.sgml2000-05-30alex
Update DOCTYPE to DocBook DTD V4.0.
Revision refmeta.sgml2000-05-30alex
GRAPHIC tag has no content, remove obsoleted BOOKBIBLIO tag.
Revision ref00a.sgml2000-05-30alex
Make illegal TITLE element a BRIDGEHEAD.
Revision conventions-app.sgml, license-app.sgml, grid-app.sgml2000-05-30alex
Revision ref00a.sgml2000-04-23mgd
Note rename of EZBin's -getStd to -getStdDev.
Revision 2000-03-28mgd
Swarmdocs 2.1.1 frozen.
Revision 2000-03-01mgd
Swarmdocs 2.1 frozen.
Revision, Makefile.rules2000-03-01mgd
(nodist_noinst_DATA): Add. Needed in order to get the dependency for generated SGML. (gridexamples.sgml): Remove. (GENERATED_SGML): Remove gridexamples.sgml. (EXAMPLES): Remove. (refindex.sgml $(PAGES), graph): Quote SWARMSRCDIR and SWARMDOCS.
Revision grid-app.sgml2000-03-01mgd
Add LINK to IMPORTANT for all files.
Revision ref00a.sgml2000-03-01mgd
Remove obsolete reference to release changes.
Revision refcont.sgml2000-03-01alex
Remove {lgpl,gpl}-app.sgml inclusion in content.
Revision refbook.ent2000-03-01alex
Likewise for the relevant ENTITIES.
Revision lgpl-app.sgml, gpl-app.sgml2000-03-01alex
Remove files.
Revision Makefile.am2000-03-01alex
(SGML): Add license-app.sgml.
Revision refmeta.sgml2000-03-01alex
Add admonition regarding reorganization and deletion of appendices in ABSTRACT.
Revision grid-app.sgml2000-03-01alex
Remove the inline gridturtle code. Add admonition specifying location of tar.gz file for download.
Revision Makefile.am2000-03-01alex
(noinst_DATA): Remove variable entirely, since we neither install nor distribute the GENERATED_SGML files.
Revision Makefile.rules2000-03-01alex
(noinst_DATA): Likewise for generated revhistory.sgml files
Revision ref00a.sgml2000-02-29mgd
Add 2.1 porting notes.
Revision ref00.sgml2000-02-15alex
Update Acknowledgment section and remove mailto link.
Revision refcont.sgml2000-02-15alex
Comment-out random-app.sgml, probes-app.sgml, techcont.sgml APPENDIXes. All material either outdated or relocated to the Swarm User Guide.
Revision graph.el1999-09-22mgd
Use TOP_BUILDDIR, rather than BUILDDIR to load protocol.
Revision sgml.el1999-06-22mgd
(sgml-method-definitions): Use methodinfo- functions instead of list accessors.
Revision Makefile.am1999-06-22alex
(sgml.elc): Depend on $(abs_top_builddir)/protocol.elc, rather than just protocol.elc. (refindex.sgml $(PAGES)): Likewise. (graph): Likewise.
Revision sgml.el1999-06-22alex
(load-path): Set to TOP_BUILDDIR, rather than BUILDDIR.
Revision sgml.el1999-06-21alex
(sgml-refmeta): If deprecated protocol, print Deprecated in square braces after REFENTRYTITLE. (sgml-refsect1-text-list): Print out the deprecated doc-string if set, as a PARA element with EMPHASIS before description text. (sgml-refsect1-description): Pass object to `sgml-refsect1-text-list', so it can determine whether to print deprecated doc-string.
Revision Makefile.am1999-06-21mgd
(protocol.elc): Remove rule.
Revision ref00a.sgml1999-06-02alex
Add porting notes for 1.4/1.4.1 -> 2.0 changes.
Revision Makefile.am1999-04-23mgd
(EXTRA_DIST): Add graph.el. (MODULES): New variable: (SUBDIRS): Use it. (graph): New target.
Revision graph.el1999-04-23mgd
Moved here from toplevel directory.
Revision refbook.sgml1999-04-06alex
Update PUBLIC identifier for DTD to "-//OASIS//DTD DocBook V3.1//EN" Remove JPEG notation class - now part of the 3.1 DTD.
Revision sgml.el1999-02-28alex
(run-all): Set uniquify-method-lists to `nil' when calling load-and-process-modules. Ensures all method documentation called correctly.
Revision 1999-02-24mgd
(protocol.elc): Dependency on $(swarm_srcdir)/etc/protocol.el. (sgml.elc): Dependency on common.elc and protocol.elc. Both rely on implicit rules. (EXTRA_DIST): Add sgml.el.
Revision sgml.el1999-02-24mgd
(sgml-generate-indices): Use get-top-builddir instead of get-swarmdocs-build-area.
Revision Makefile.am1999-02-16mgd
(refindex.sgml $(PAGES)): Depend on $(swarm_srcdir)/etc/{protocol,common}.el instead of $(top_srcdir)/{protocol,common}.el. Load sgml.el instead of protocol.el.
Revision refcont.sgml1999-02-09alex
(random-app.sgml): Add `Random' Appendix to list of contents.
Revision refmeta.sgml1999-01-26alex
Move bibliodata entity outside of BOOKBIBLIO - so legalnotice links work.
Revision ref00a.sgml1999-01-23mgd
Remove porting note about .swarmArchiver. Swarm 1.4 will read old files, but then change the syntax.
Revision ref00a.sgml1999-01-15alex
Add porting note on Histogram protocol change.
Revision refmeta.sgml1999-01-13alex
Remove old LEGALNOTICE text. Refer the newly-defined {doc,swarm}-legalnotice entities from global.ent. Move CORPAUTHOR inside BOOKBIBLIO.
Revision gpl-app.sgml1999-01-13alex
Refer to the Swarm documentation as being under the terms of the GPL.
Revision ref00a.sgml1999-01-13alex
(SECT1): Add porting notes for Swarm 1.4.
Revision ref00a.sgml1999-01-07alex
Revision gpl-app.sgml1999-01-07alex
Remove SIDEBAR from wrapping the licence text, SIDEBAR can't run over a page in the printed backend. Make introductory description a SIDEBAR.
Revision lgpl-app.sgml1999-01-07alex
Revision ref00.sgml1999-01-07alex
Replace SECT1 with two SIMPLESECTs. Tidying and reformatting. (Acknowledgements): Updated.
Revision probes-app.sgml1998-12-22alex
({customized,complete}-probe-map): Add IDs to FIGUREs
Revision refbook.tex.in1998-10-14mgd
Use top_dossrcdir instead of top_srcdir.
Revision refbook.tex.in1998-10-09mgd
Include tex/macros.tex.
Revision ref00a.sgml1998-08-25mgd
Add 1.2 -> 1.3 porting notes.
Revision ref00a.sgml1998-07-23mgd
Put items related to HeatbugObserverSwarm.h in their own list.
Revision ref00a.sgml1998-07-18mgd
Clarify wording about not using statically typed Swarm objects.
Revision Makefile.am1998-06-25alex
(refindex.sgml $(PAGES)): Set temporary environment variable SWARMSRCDIR before invocation of batch-mode e-lisp program `protocol.el'.
Revision ref00a.sgml1998-06-24alex
Tidied 1.1 => 1.2 porting notes.
Revision ref00a.sgml1998-06-23alex
Added porting notes for Swarm 1.1 => 1.2. Expanded porting notes for Swarm 1.0.5 => 1.1. Added intro SIDEBAR.
Revision refmeta.sgml1998-06-17mgd
Use refbookrevhistory.sgml instead of srcrevhistory.sgml. Scale graphic to 100%.
Revision refbook.sgml1998-06-17mgd
Use refbook.ent instead of src.ent.
Revision Makefile.am1998-06-17mgd
Include refbook/Makefile.rules instead of src/Makefile.rules. (GENERATED_SGML): Rename srcrevhistory.sgml to refbookrevhistory.sgml. (ENT, EXTRA_DIST): Use refbook.ent instead of src.ent.
Revision refbook.ent1998-06-17mgd
Renamed from src.ent.
Revision probes-app.sgml1998-06-16alex
(complete-probe-map): Scale graphic to 50%. (customized-probe-map): Scale graphic to 75 %. In 'Support for Probing' section - make ITEMIZEDLIST spacing=compact.
Revision Makefile.am1998-06-15mgd
Include $(top_srcdir)/src/Makefile.rules. (SGML): Move ENT to SGML_FILES. (EXTRA_DIST): New variable.
Revision Makefile.rules1998-06-15mgd
New file.
Revision refmeta.sgml1998-06-12mgd
Scale graphic to 75%.
Revision Makefile.am1998-06-12mgd
(gridexamples.sgml): Update IDs to SWARM.module.SGML.type.
Revision conventions-app.sgml, gpl-app.sgml, grid-app.sgml, lgpl-app.sgml, probes-app.sgml, ref00.sgml, ref00a.sgml, refmeta.sgml1998-06-12mgd
Revision refbook.sgml1998-06-11mgd
Use jpeg instead of jpg for notation and local.notation.class.
Revision Makefile.am1998-06-10mgd
Move CLEANFILES to Makefile.rules. (GENERATED_SGML): Move versions.ent to Makefile.rules. (ENT): New variable, the list of .ent files for this module. (SGML): Add ENT.
Revision lgpl-app.sgml, gpl-app.sgml, ref00a.sgml1998-06-10alex
Fixed the IDs to have the appropriate "SWARM.SRC." prefix in the content ID.
Revision ref00.sgml1998-06-10alex
Made SIMPLESECTs into SECT2s. Fixed redundant "SWARM.SRC." in PREFACE id.
Revision refmeta.sgml1998-06-09alex
Change CORPAUTHOR to 'corpauthor' - an SFI Hive global entity.
Revision refmeta.sgml1998-06-09mgd
Change CORPAUTHOR to SDP. Overview needlessly wordy.
Revision refbook.sgml.in1998-06-08mgd
Use public identifer for global.ent, and src.ent. Add versions.ent and figs.ent.
Revision Makefile.am1998-06-08mgd
(GENERATED_SGML): Add versions.ent.
Revision src.ent.in1998-06-07mgd
Define graphic entities per html/print.
Revision refbook.sgml.in1998-06-07mgd
Add local.notation.class entity and notation for JPG.
Revision config.ent1998-06-07alex
Revision src.ent1998-06-07alex
Removed reference to config.ent.
Revision src.ent.in1998-06-06mgd
Don't use extracted locations, as module entities now all reference public identifiers.
Revision src.ent.in1998-06-05mgd
Add srcrevhistory.sgml.
Revision refmeta.sgml1998-06-05mgd
Replace REVHISTORY with srcrevhistory.sgml.
Revision Makefile.am1998-06-05mgd
(SUBDIRS): Add tech. (swarm_ChangeLog): Add (empty). (GENERATED_SGML): Add srcrevhistory.sgml.
Revision Makefile.am1998-06-03alex
(CLEANFILES): Changed hardcoded refbook.rtf to $(NAME).rtf. Added Local variable mode for emacs makefile-mode.
Revision Makefile.am1998-06-03mgd
(gridexamples.sgml): Remove unnecessary subshell for `for' loop and don't cd to $(srcdir) when done (it's in a subshell).
Revision grid1998-06-01alex
Moved the grid subdir to the root of the Swarm application source tree and renamed to gridturtle.
Revision Makefile.am1998-06-01alex
(gridexamples.sgml): After changing directories into $(gridturtle_srcdir) - change directory back to $(srcdir) to restore location.
Revision Makefile.am1998-06-01mgd
(swarm_srcdir, gridturtle_srcdir): New variables which get substituted assignments from configure. Use them instead of $(SWARMHOME) and $(srcdir)/grid.
Revision grid-app.sgml1998-06-01alex
Fixed incorrect LINKENDS and descriptions for grid5.m and grid6.m.
Revision probes-app.sgml1998-05-29mgd
Update LINKENDs per new ID conventions.
Revision Makefile.am1998-05-26mgd
(refindex.sgml $(PAGES)): Add protocol.el and common.el and set SWARMDOCS to top_srcdir.
Revision refbook.sgml.in1998-05-23mgd
New file.
Revision refbook.tex.in1998-05-23mgd
New file.
Revision refbook.sgml1998-05-23mgd
Revision Makefile.am1998-05-23mgd
New file.
Revision Makefile1998-05-23mgd
Revision src.ent.in1998-05-23mgd
New file.
Revision src.ent1998-05-23mgd
Revision 1998-05-22mgd
Begin revision log.


Swarm is a collection of libraries against which you link your simulation code. This document describes the interface for those core libraries.


The probe, random and technical appendices formerly part of the Reference Guide for Swarm have been removed and relocated to the new Random Library Appendix in the Swarm User Guide. In the interests of conserving paper, the grid turtle example programs are available in tar.gz format from the Swarm ftp site (see Appendix A, GridTurtle Test Programs) and pointers to the full text of the LGPL and GPL licenses (see Appendix C, Licenses for Distribution of Swarm and Applications) are provided rather than the full text itself.

Table of Contents

Swarm Changes and Compatibility
Porting from 2.1 to 2.2
Porting from 1.4 or 1.4.1 to 2.0
Porting from 1.3 or 1.3.1 to 1.4
Porting from 1.2 to 1.3
Porting from 1.1 to 1.2
Major changes
Porting Guide
Porting example: heatbugs
Porting example: mousetrap
Porting from 1.0.5 to 1.1
Major changes
Porting guide
Porting example: heatbugs
Porting from 1.0.4 to 1.0.5
Porting from 1.0.3 to 1.0.4
Porting from 1.0.2 to 1.0.3
Porting from 1.0.0 to 1.0.1
Beta to 1.0.0
I. SwarmEnvironment
SwarmEnvironment - Container object for Swarm globals
General - Top-level Swarm module
II. Defobj
Archiver - High level abstract serialization interface.
Arguments - A class that provides customizable command line argument parsing support
BehaviorPhase - Created class which implements a phase of object behavior.
CREATABLE - Declare that a defined type supports creation.
Copy - Copy all state defined as part of object.
Create - Create an instance of a type with optional customization.
CreatedClass - Class with variables and/or methods defined at runtime.
Customize - Create-phase customization.
DefinedClass - Class which implements an interface of a type.
DefinedObject - Object with defined type and implementation.
Drop - Deallocate an object allocated within a zone.
Error - A condition which prevents further execution.
EventType - A report of some condition detected during program execution.
FArguments - A language independent interface to dynamic call argument construction.
FCall - A language independent interface to dynamic calls.
GetName - Get name which identifies object in its context of use.
GetOwner - Get object on which existence of object depends.
HDF5 - HDF5 interface
HDF5Archiver - Protocol for creating HDF5 instances of the Archiver
HDF5CompoundType - HDF5 composite type interface
LispArchiver - Protocol for creating Lisp instances of the Archiver
RETURNABLE - Declare that a defined type may be created as a side-effect
Serialization - Object serialization protocol.
SetInitialValue - Create using initial value from an existing object.
Symbol - Object defined as a distinct global id constant.
Warning - A condition of possible concern to a program developer.
Zone - Modular unit of storage allocation.
General - Standard objects for GNU Objective C extensions
III. Collections
ArchiverArray - Array encapsulation for serialization.
ArchiverKeyword - Keyword encapsulation for serialization.
ArchiverList - Archiver list encapsulation for serialization.
ArchiverPair - List pair encapsulation for serialization.
ArchiverQuoted - Archiver serialization object for (quote x) or 'x
ArchiverValue - Value encapsulation for serialization.
Array - Collection supporting access only by relative position.
Collection - A generic collection interface.
CompareFunction - Interface for defining the compare function to use when comparing to members in a collection.
DefaultMember - Methods for setting and getting the default member in a collection.
ForEach - Messages for performing the same message on objects in a collection.
ForEachKey - Exactly the same as the ForEach protocol, but only for KeyedCollections.
Index - Reference into the enumeration sequence for a collection.
InputStream - Stream of input data.
KeyedCollection - Member identity definition shared by Set and Map types.
KeyedCollectionIndex - Index behavior shared by Set and Map types.
List - Collection of members in an externally assigned linear sequence.
ListIndex - Index with insertion capability at any point in list.
ListShuffler - A class to randomize the order of a given Swarm List
Map - Collection of associations from key objects to member objects.
MapIndex - The index behavior for a Map.
MemberBlock - A way to wrap an existing C array for access as an object collection.
MemberSlot - Allocation in member/key for fast setMember:/setKey:
Offsets - Methods for accessing collection members by position.
OrderedSet - A set of members in an externally assigned linear sequence.
OutputStream - Stream of output bytes.
Permutation - A class that represents a permutation of elements of a collection
PermutationItem - An element of a Permutation
PermutedIndex - General PermutedIndex class.
Set - Collection of members each having a defined identity.
String - Character string object (later to support collection behavior).
General - Standard collection types
IV. Activity
Action - An action type that has been customized for direct execution by an action interpreter.
ActionArgs - Supertype of ActionCall, ActionTo, and ActionForEach.
ActionCall - An action defined by calling a C function.
ActionChanged - An action generated when actions changes from single to concurrent.
ActionConcurrent - An action generated when two or more actions co-occur.
ActionCreating - Protocol shared by ActionGroup and Schedule.
ActionCreatingCall - An action that calls a C function.
ActionCreatingForEach - Send a message to every item in target, which is assumed to be a collection.
ActionCreatingTo - An action that sends a message to an object.
ActionForEach - An action defined by sending a message to every member of a collection.
ActionForEachHomogeneous - Like ActionForEach, except that the collection must be homogeneous.
ActionGroup - A collection of actions under total or partial order constraints.
ActionSelector - Messages for actions involving a selector.
ActionTarget - Messages common to actions that are sent to an object.
ActionTo - An action defined by sending an Objective C message.
ActionType - Specification of an executable process.
ActivationOrder - Default type used as concurrent group of a swarm.
Activity - A level of processing by the interpreter of an action type.
ActivityIndex - Additional methods used by indexes over activities.
AutoDrop - Specify that an action is dropped after being processed.
CompoundAction - A collection of actions to be performed in any order consistent with a set of ordering constraints.
ConcurrentGroup - Default type used as concurrent group of a schedule.
ConcurrentGroupType - Handle actions scheduled at same time value.
ConcurrentSchedule - Time-based map usable for concurrent group.
DefaultOrder - The DefaultOrder option indicates the ordering to be assumed among actions of the plan when no other explicit ordering has been assigned.
FAction - An action defined by sending a FCall.
FActionCreating - An action that calls a FCall.
FActionCreatingForEachHeterogeneous - Invoke a FCall for every item in the target collection, which can include objects of various types.
FActionCreatingForEachHomogeneous - Invoke a FCall for every item in the target collection. All members must be of the same type.
FActionForEach - Base protocol for FActionForEach{Homogeneous,Heterogeneous}.
FActionForEachHeterogeneous - An action defined by applying a FAction to every member of a collection.
FActionForEachHomogeneous - An action defined by applying a FAction to every member of a collection All members of the collection must be of the same type.
ForEachActivity - State of execution within a ForEach action.
GetSubactivityAction - Declare an internal method for getCurrentAction().
RelativeTime - Specifies that time is relative to when the schedule started.
RepeatInterval - Reschedule actions after a period of time.
Schedule - A collection of actions ordered by time values.
ScheduleActivity - State of execution within a Schedule.
SingletonGroups - Indicates that an action group should be created for every time value which is present.
SwarmActivity - A collection of started subactivities.
SwarmProcess - An object that holds a collection of concurrent subprocesses.
SynchronizationType - Synchronization type sets the type of schedule which is used internally by the swarm to synchronize subschedules.
General - Processing control over all levels of Swarm execution
V. Objectbase
ActivityControl - A class that provides an object interface to an activity.
CompleteProbeMap - A subclass of ProbeMap whose initial state contains the VarProbes and MessageProbes of the requested target class but also those of all its subclasses.
CompleteVarMap - A subclass of ProbeMap, whose initial state contains no MessageProbes.
CustomProbeMap - A subclass of ProbeMap, whose initial state is empty unlike the default probeMap initial state which contains all the VarProbes of the requested target class.
DefaultProbeMap - A subclass of ProbeMap, whose initial state contains all the VarProbes of the requested target class and also those of all its superclasses.
EmptyProbeMap - A CustomProbeMap to be used for building up ProbeMaps from scratch.
MessageProbe - A class that allows the user to call a given message on any candidate that is an instance of, or inherits from, a given class.
Probe - An abstract superclass of both VarProbe and MessageProbe.
ProbeConfig - Protocol for configuration of Probes, ProbeMaps, and the ProbeLibrary.
ProbeLibrary - A (singleton) Class, whose instance is used as a container for a global mapping between classnames and their 'default' ProbeMaps. These defaults can be changed by the user, thus allowing him/her to customize the default contents of the ProbeDisplays generated when probing objects.
ProbeMap - A container class for Probes used to specify the contents of a ProbeDisplay.
Swarm - A temporal container.
SwarmObject - A superclass of most objects in a Swarm simulation that provides support for probing.
VarProbe - A class that allows the user to inspect a given variable in any candidate that is an instance of, or inherits from, a given class.
General - Support for Swarm objects and probing
VI. Random
ACGgen - Additive Congruential Generator
BasicRandomGenerator - The common functionality of simple and split generators.
BernoulliDist - Bernoulli Distribution
BinomialDist - Binomial distribution
BooleanDistribution - Boolean Distribution
C2LCGXgen - A short component based generator with splitting facilities. Recommended. This combined random generator uses 2 (PMM)LGC generators.
C2MRG3gen - Combined Multiple Recursive Generator. A combination of 2 multiple recursive LCG generators.
C2TAUS1gen - Combined Tausworthe generator 1
C2TAUS2gen - Combined Tausworthe generator 2
C2TAUS3gen - Combined Tausworthe generator 3
C2TAUSgen - Combined Tausworthe generator
C3MWCgen - Combined Multiply With Carry generator
C4LCGXgen - Combined random generator using 4 (PMM)LGC generators.
CommonGenerator - Internal
DoubleDistribution - Double Distribution
ExponentialDist - Exponential distribuiton
GammaDist - Gamma distribution
IntegerDistribution - Integer Distribution
InternalState - Archiving routines for internal generator and distribution state.
LCG1gen - Linear Congruential Generator 1
LCG2gen - Linear Congruential Generator 2
LCG3gen - Linear Congruential Generator 3
LCGgen - Linear Congruential Generator
LogNormalDist - Log-Normal distribution
MRG5gen - Multiple Recursive [LCG] Generator 5
MRG6gen - Multiple Recursive [LCG] Generator 6
MRG7gen - Multiple Recursive [LCG] Generator 7
MRGgen - Multiple Recursive [LCG] Generator
MT19937gen - 'Mersenne Twister' Twisted GFSR generator
MWCAgen - Multiply-With-Carry generator
MWCBgen - Multiply-With-Carry generator
Normal - Internal
NormalDist - Normal (Gaussian) distribution
PMMLCG1gen - Prime Modulus Multiplicative Linear Congruential Generator 1
PMMLCG2gen - Prime Modulus Multiplicative Linear Congruential Generator 2
PMMLCG3gen - Prime Modulus Multiplicative Linear Congruential Generator 3
PMMLCG4gen - Prime Modulus Multiplicative Linear Congruential Generator 4
PMMLCG5gen - Prime Modulus Multiplicative Linear Congruential Generator 5
PMMLCG6gen - Prime Modulus Multiplicative Linear Congruential Generator 6
PMMLCG7gen - Prime Modulus Multiplicative Linear Congruential Generator 7
PMMLCG8gen - Prime Modulus Multiplicative Linear Congruential Generator 8
PMMLCG9gen - Prime Modulus Multiplicative Linear Congruential Generator 9
PMMLCGgen - Prime Modulus Multiplicative Linear Congruential Generator
PSWBgen - Subtract-with-borrow Congruential Generator with prime modulus
PoissonDist - Poisson distribution
ProbabilityDistribution - Probability Distribution
RWC2gen - 2-lag Recursion With Carry generator
RWC8gen - Multiply With Carry generator ("The Mother of all RNG's")
RandomBitDist - Random Bit Distribution
SCGgen - Subtractive Congruential Generator
SWB1gen - Subtract-with-borrow Congruential Generator 1
SWB2gen - Subtract-with-borrow Congruential Generator 2
SWB3gen - Subtract-with-borrow Congruential Generator 3
SWBgen - Subtract-with-borrow Congruential Generator
SimpleGenerator - Internal
SimpleRandomGenerator - A Simple (non-split) generator.
SplitGenerator - Internal
SplitRandomGenerator - A split generator.
TGFSRgen - Twisted GFSR generator
TT403gen - A single long generator recommended for use.
TT775gen - A single long generator recommended for use.
TT800gen - A single long generator recommended for use.
UniformDoubleDist - Uniform Double Distribution
UniformIntegerDist - Uniform Integer Distribution
UniformUnsignedDist - Uniform Unsigned Distribution
UnsignedDistribution - Unsigned Distribution
General - Module for random number generation
VII. Simtools
AppendFile [Deprecated] - A class for appended file output.
InFile [Deprecated] - Class to perform file input.
NSelect - A class to select exactly N elements at random from a collection.
ObjectLoader [Deprecated] - A class to load an object's instance variables from a file.
ObjectSaver [Deprecated] - A class to save an object's instance variables to a file.
OutFile [Deprecated] - A class to perform file output.
QSort - A class to sort a collection.
UName - A class used to generate unique names (e.g. "critter1", "critter2" etc.)
General - General simulation tools
VIII. Simtoolsgui
ActionCache - A class to manage threads and Swarms.
CommonProbeDisplay - A protocol underlying ProbeDisplay and CompleteProbeDisplay
CompleteProbeDisplay - A class that generates a complete ProbeMap for an object.
CompositeWindowGeometryRecordName - Protocol for archiving objects with several GUI components.
ControlPanel - Class to control the top level SwarmProcess
GUIComposite - Base class for objects that use several GUI components.
GUISwarm - A version of the Swarm class which is graphics aware.
MessageProbeWidget - A widget for editing the arguments of a MessageProbe.
MultiVarProbeDisplay - A display for displaying a ProbeMap across a number of objects.
MultiVarProbeWidget - A widget for displaying multiple objects across multiple fields.
ProbeDisplay - A class to display ProbeMaps
ProbeDisplayManager - The ProbeDisplay manager.
SimpleProbeDisplay -
SingleProbeDisplay - An abstract protocol underlying single-object probe displays.
WindowGeometryRecordName - Protocol for archiving window geometry.
General - GUI-related features for simulation.
IX. Gui
ArchivedGeometryWidget - Base class for widgets that archive geometry.
Button - A button widget.
ButtonPanel - Several buttons bound together in one frame.
Canvas - An interface to Tk canvas semantics.
CanvasAbstractItem - An abstract class for items on a Canvas.
CanvasItem - An abstract superclass for simple Canvas items.
CheckButton - A check box on/off selection widget.
Circle - A CanvasItem that displays a circle.
ClassDisplayHideButton - The hide button used by a CompleteProbeDisplay.
ClassDisplayLabel - A label for displaying class names.
Colormap - An class for creating a color palette for use with a Raster.
CompleteProbeDisplayLabel - A class label used in a SimpleProbeDisplay.
CompositeItem - A CanvasItem with several pieces.
Drawer - The interface used by Raster to draw an arbitrary object.
Entry - Handles text-field input.
Form - A set of Entry widgets bound together in one frame.
Frame - Encapsulation of toplevels.
Graph - A time series graph tool.
GraphElement - Contains a set of related data for display.
Histogram - Histogram display tool.
InputWidget - Abstract superclass for widgets that take input.
Label - A widget with text.
Line - A CanvasItem that displays a line.
LinkItem - A canvas item for displaying a link between two nodes.
MessageProbeEntry - A widget for arguments to a message probe.
NodeItem - A class for displaying a node on a Canvas.
OvalNodeItem - A circular NodeItem.
Pixmap - A class for drawing color bitmaps on a Raster.
ProbeCanvas - A canvas type for probe displays.
Raster - A two dimension color display class.
Rectangle - A CanvasItem that displays a rectangle.
RectangleNodeItem - A rectangular NodeItem.
ScheduleItem - A canvas item for displaying the time structure of a schedule.
SimpleProbeDisplayHideButton - The hide button used by a SimpleProbeDisplay.
SuperButton - Request superclass in ClassDisplayWidget.
TextItem - A CanvasItem that displays text.
VarProbeEntry - A widget for variable probes.
VarProbeLabel - A label for displaying variable names.
Widget - Widget base class.
WindowGeometryRecord - A container for window geometry information.
ZoomRaster - A zoomable Raster.
General - GUI interface for Swarm
X. Analysis
ActiveGraph - Provides a continuous data feed between Swarm and the GUI.
ActiveOutFile - An object that actively updates its file stream when updated.
Averager - Averages together data, gives the data to whomever asks.
EZAverageSequence - Protocol for an EZAverageSequence
EZBin - An easy to use histogram interface.
EZDistribution - An EZBin that treats data as a distribution.
EZGraph - A class for easily create graphs.
EZSequence - Protocol for an EZSequence
Entropy - Computes entropy via a MessageProbe.
FunctionGraph - A widget for drawing a function over a range of one variable.
General - Analysis tools
XI. Space Library
Ca2d - Defines abstract protocol for cellular automata.
ConwayLife2d - Classic 2d Conway's Life CA.
DblBuffer2d - A double buffered space.
Diffuse2d - 2d difussion with evaporation.
Discrete2d - Root class of all 2d discrete spaces.
Grid2d - A 2d container class for agents.
GridData - Methods used by Value2dDisplay and Object2dDisplay for display
Int2dFiler - Saves the state of a Discrete2d object [DEPRECATED].
Object2dDisplay - Object2dDisplay displays 2d arrays of objects.
Value2dDisplay - Value2dDisplay displays 2d arrays of values.
General - tools for visualizing objects in various spaces
A. GridTurtle Test Programs
Summary of files
Main programs
Support files
B. Library Interface Conventions
Library Header File
Object Type Definitions
GridTurtle example
Global Object Symbols
Interface Design Convention
Documentation Structure
C. Licenses for Distribution of Swarm and Applications
D. GNU Free Documentation License
Protocol Index
Method Index
Function Index
Global Index
Macro Index
Typedef Index

List of Examples