| Terminology 
| Agent | swarm individual  has specific parameter values, e.g. position and force
 has specific behaviors and can act on these
 |  
| Swarm | collective of agents / collective entity 
  contains agentscan be treated as an agent itself * has a list of swarm parameters has a list of agent parameters, common to all contained agents has a list of swarm behaviorshas a list of agent behaviors, shared by all of its agents can randomize the values of its agent or swarm parameters  can add and remove agent(s) at runtime (not recommended though)
 can be scheduled to set the value of its parameters using the ISO event system  |  
| Parameter | numeric state of an agent  this refers to both the parameter type (e.g. "force") as well as the individual parameter value (e.g. "0.75").
 any parameter names and value ranges can be defined, even social/emotional parameters or character traits
 All agents of a swarm have the same list of parameter types - but of course with individual parameter values
 Parameter knows to which agent it belongs
 |  
| Behavior | cause and effect relation between parameters (both intra- and inter-agent)  knows three types of parameters:
 input parameters (cause)
 internal parameters
 output parameters (effect)
 the internal parameters are not always used. They're mostly used as parameter memory or for temporary calculations
 input/output parameter types are stored in a parameter string (e.g. "force acceleration curiousness"; delimited by spaces)
 Behavior knows to which agent it belongs
 has a set of spaces
 15 predefined behaviors: Acceleration, Alignment, Mirror, Wrap, Repulsion, Cohesion, Copy, Damping, Evasion, Grid Average, Dist. Field Follow, Randomize, Reset, Spiral, Spline Follow.
 |  
| Space | Parameter space for interaction  has n dimensions (e.g. three for position)
 has n parameters which share most commonly the same parameter type
 can be accessed by behaviors to write to or to read from
 can calculate an agents neighborhood relative to the specific parameter type (e.g. what's the closest neighbor or what other agents have the most similar social parameter values)
 more?
 |  * The swarm class inherits from the agent class and extends it by forwarding certain instructions to its contained agents. |