edu.memphis.ccrg.lida.globalworkspace
Interface GlobalWorkspace

All Superinterfaces:
FrameworkModule, FullyInitializable, Initializable, RefractoryPeriod, TriggerListener
All Known Implementing Classes:
GlobalWorkspaceImpl

public interface GlobalWorkspace
extends FrameworkModule, TriggerListener, RefractoryPeriod

Interface for the Global Workspace module which contains Coalition objects and implements a global conscious broadcast. It receives Coalition objects generated by AttentionCodelet objects from Workspace. Different BroadcastTrigger tasks can be registered dynamically. When a TriggerTask fires, all registered BroadcastListener modules receive the content of the winning Coalition. Modules that receive the broadcast must register themselves to this module and implement the BroadcastListener interface.

Author:
Javier Snaider, Ryan J. McCall
See Also:
TriggerListener, RefractoryPeriod

Method Summary
 void addBroadcastListener(BroadcastListener bl)
          Adds and registers a BroadcastListener.
 void addBroadcastTrigger(BroadcastTrigger t)
          Adds and registers specified BroadcastTrigger
 boolean addCoalition(Coalition c)
          Adds specified Coalition
 long getBroadcastSentCount()
          Returns the number of broadcasts sent.
 DecayStrategy getCoalitionDecayStrategy()
          Gets the DecayStrategy used by Coalition objects in this module
 double getCoalitionRemovalThreshold()
          Gets coalition removal threshold
 long getTickAtLastBroadcast()
          Gets the tick at last broadcast
 void setCoalitionDecayStrategy(DecayStrategy ds)
          Sets the DecayStrategy used by Coalition objects in this module
 void setCoalitionRemovalThreshold(double t)
          Sets coalition removal threshold
 
Methods inherited from interface edu.memphis.ccrg.lida.framework.FrameworkModule
addListener, addSubModule, containsSubmodule, containsSubmodule, decayModule, getAssistingTaskSpawner, getModuleContent, getModuleName, getSubmodule, getSubmodule, getSubmodules, setAssistingTaskSpawner, setModuleName, taskManagerDecayModule
 
Methods inherited from interface edu.memphis.ccrg.lida.framework.initialization.FullyInitializable
setAssociatedModule
 
Methods inherited from interface edu.memphis.ccrg.lida.framework.initialization.Initializable
containsParameter, getParam, getParameters, init, init
 
Methods inherited from interface edu.memphis.ccrg.lida.globalworkspace.triggers.TriggerListener
triggerBroadcast
 
Methods inherited from interface edu.memphis.ccrg.lida.framework.shared.RefractoryPeriod
getRefractoryPeriod, setRefractoryPeriod
 

Method Detail

addCoalition

boolean addCoalition(Coalition c)
Adds specified Coalition

Parameters:
c - the Coalition to be added to the GlobalWorkspace
Returns:
true if coalition was added

addBroadcastTrigger

void addBroadcastTrigger(BroadcastTrigger t)
Adds and registers specified BroadcastTrigger

Parameters:
t - a BroadcastTrigger which can initiate a broadcast

addBroadcastListener

void addBroadcastListener(BroadcastListener bl)
Adds and registers a BroadcastListener. Each registered BroadcastListener receives each conscious broadcast.

Parameters:
bl - the BroadcastListener that will be registered

getBroadcastSentCount

long getBroadcastSentCount()
Returns the number of broadcasts sent.

Returns:
the current number of broadcasts sent by the module

getTickAtLastBroadcast

long getTickAtLastBroadcast()
Gets the tick at last broadcast

Returns:
the tick when the last broadcast occurred

setCoalitionDecayStrategy

void setCoalitionDecayStrategy(DecayStrategy ds)
Sets the DecayStrategy used by Coalition objects in this module

Parameters:
ds - the DecayStrategy used to decay coalition objects

getCoalitionDecayStrategy

DecayStrategy getCoalitionDecayStrategy()
Gets the DecayStrategy used by Coalition objects in this module

Returns:
DecayStrategy by which coalitions will be decayed.

setCoalitionRemovalThreshold

void setCoalitionRemovalThreshold(double t)
Sets coalition removal threshold

Parameters:
t - lower bound of activation for a Coalition to remain in the module

getCoalitionRemovalThreshold

double getCoalitionRemovalThreshold()
Gets coalition removal threshold

Returns:
lower bound of activation for a Coalition to remain in the module