edu.memphis.ccrg.lida.proceduralmemory
Interface ProceduralMemory

All Superinterfaces:
FrameworkModule, FullyInitializable, Initializable
All Known Implementing Classes:
ProceduralMemoryImpl

public interface ProceduralMemory
extends FrameworkModule

FrameworkModule containing Schemes activated by each conscious broadcast. Activated schemes are instantiated, becoming Behaviors which are sent to ActionSelection

Author:
Ryan J. McCall

Method Summary
 void activateSchemes()
          Using the broadcast, activate the relevant schemes of ProceduralMemory
 boolean containsScheme(Scheme s)
          Returns whether this procedural memory contains specified scheme.
 Behavior createInstantiation(Scheme s)
          Instantiates specified Scheme .
 Scheme getNewScheme(Action a)
          Gets a new Scheme having specified Action.
 int getSchemeCount()
          Returns a count of the schemes
 java.util.Collection<Scheme> getSchemes()
          Returns a view of all Scheme objects currently in the ProceduralMemory.
 void removeScheme(Scheme s)
          Removes specified Scheme.
 boolean shouldInstantiate(Scheme s, NodeStructure broadcastBuffer)
          A call-back method to determine if the Scheme s should be instantiated.
 
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
 

Method Detail

getNewScheme

Scheme getNewScheme(Action a)
Gets a new Scheme having specified Action.

Parameters:
a - an Action
Returns:
a new Scheme with Action a

containsScheme

boolean containsScheme(Scheme s)
Returns whether this procedural memory contains specified scheme.

Parameters:
s - a Scheme
Returns:
true if it contains an equal scheme

removeScheme

void removeScheme(Scheme s)
Removes specified Scheme.

Parameters:
s - scheme to be removed.

getSchemes

java.util.Collection<Scheme> getSchemes()
Returns a view of all Scheme objects currently in the ProceduralMemory.

Returns:
a Collection of schemes

getSchemeCount

int getSchemeCount()
Returns a count of the schemes

Returns:
number of schemes currently in this procedural memory.

activateSchemes

void activateSchemes()
Using the broadcast, activate the relevant schemes of ProceduralMemory


shouldInstantiate

boolean shouldInstantiate(Scheme s,
                          NodeStructure broadcastBuffer)
A call-back method to determine if the Scheme s should be instantiated. This method can be overidden by subclasses to provide custom functionality.

Parameters:
s - the Scheme to be checked
broadcastBuffer - the NodeStructure in ProceduralMemory containing recent broadcast
Returns:
true if the Scheme should be instantiated, false otherwise.

createInstantiation

Behavior createInstantiation(Scheme s)
Instantiates specified Scheme .

Parameters:
s - a Scheme over instantiation threshold
Returns:
a Behavior, an instantiation of Scheme s