next up previous contents
Next: Environmental Information Up: The Environment Previous: Moving around the Grid

   
Inter-Organism Communications

If a cell broadcasts an inter-organism communication using the cwm_send instruction (as mentioned in Section 4.3.7), the contents of its Communications Working Memory is packaged into an EnvironmentalInfoString structure (with an initial intensity specified by the global parameter envinfostring_initial_intensity, and a type specified by the low four bits of the dx register). This EnvironmentalInfoString is deposited in the environment in the same grid position as the cell, where it can be detected by other cells (by using the rms_receive instruction, described in Sections 4.3.7 and 4.6.1).

Each grid position in the environment can hold one EnvironmentalInfoString of each of the 16 possible types. If a string of the same type already exists in the grid position when a cwm_send message is issued, the existing string is deleted and replaced by the new one.

At each time slice sweep (in the AttenuateMessageIntensities routine, described in Section 4.7), the intensity of each EnvironmentalInfoString is attenuated according to the following equation:

 
In+1 = k(In)p (4.5)

where In is the intensity at time n, and k and p are constants defined by the global parameters envinfostring_decay_constant and envinfostring_decay_power respectively. When the intensity of any string falls below a certain threshold (defined by the global parameter envinfostring_lower_threshold), the string is deleted.

There is one additional feature associated with these EnvironmentalInfoStrings, whereby a cell can reinforce the intensity of a message that it has already sent. If the cell re-issues the cwm_send instruction within a given number of time slices (determined by the parameter max_time_for_msg_send_reinforcement), while still in the same grid position, and it has not written anything else into its Communications Working Memory in the meantime, then the intensity of the existing EnvironmentalInfoString is incremented by a small amount.4.16


next up previous contents
Next: Environmental Information Up: The Environment Previous: Moving around the Grid
Tim Taylor
1999-05-29