org.jactr.modules.pm.common.memory
Interface IPerceptualMemory

All Superinterfaces:
IParameterized
All Known Subinterfaces:
IAuralMemory, IVisualMemory
All Known Implementing Classes:
AbstractPerceptualMemory, DefaultAuralMemory, DefaultVisualMemory

public interface IPerceptualMemory
extends IParameterized

general interface for a short-term perceptual store that supports searching for "index" chunks that can then be used to direct attending and encoding to actual percepts. This is the basis for both the aural and visual systems.

Author:
harrison

Field Summary
static java.lang.String FINST_DURATION_TIME_PARAM
           
static java.lang.String NEW_FINST_ONSET_DURATION_TIME_PARAM
           
static java.lang.String NUMBER_OF_FINSTS_PARAM
           
static java.lang.String SEARCH_RESULT_IDENTIFIER_KEY
          used for temporary tagging of location chunks
 
Method Summary
 void addEncoder(IPerceptualEncoder encoder)
          add encoder
 void addFeatureMap(IFeatureMap featureMap)
          attach feature map
 void addFilter(IIndexFilter filter)
          add post processing search filter
 void addListener(IActivePerceptListener listener, java.util.concurrent.Executor executor)
           
 void attach(ACTRAgent agent)
          called after CR has been connected, this attaches the perceptual memory to CR
 void detach()
          detach from CR
 java.util.Collection<IPerceptualEncoder> getEncoders(java.util.Collection<IPerceptualEncoder> container)
           
 java.util.Collection<IChunk> getEncodings(org.commonreality.identifier.IIdentifier identifier, java.util.Collection<IChunk> container)
          returns all the known encodings of identifier
 java.util.Collection<IFeatureMap> getFeatureMaps(java.util.Collection<IFeatureMap> container)
          return all the feature maps in the provided container
 java.util.Collection<IIndexFilter> getFilters(java.util.Collection<IIndexFilter> container)
           
 IFINSTFeatureMap getFINSTFeatureMap()
          return the finst-able feature map
 int getFINSTLimit()
           
 double getFINSTSpan()
           
 IIndexManager getIndexManager()
           
 double getLastChangeTime()
          simulation time of the last update
 PerceptualSearchResult getLastSearchResult()
           
 IPerceptualModule getModule()
          owning module
 double getNewFINSTOnsetDuration()
           
 int getPendingUpdates()
          the number of updates from CR as of yet unprocessed
 void getRecentSearchResults(java.util.List<PerceptualSearchResult> results)
           
 boolean isAttached()
          have we been attached to CR?
 void removeEncoder(IPerceptualEncoder encoder)
           
 void removeFeatureMap(IFeatureMap featureMap)
           
 void removeFilter(IIndexFilter filter)
           
 void removeListener(IActivePerceptListener listener)
           
 java.util.concurrent.Future<PerceptualSearchResult> search(ChunkTypeRequest request)
          search perceptual memory for index chunks matching the request and tag the location chunk with SEARCH_RESULT_IDENTIFIER_KEY
 PerceptualSearchResult searchNow(ChunkTypeRequest request)
          search perceptual memory immediately - this should only be called from the CR processing thread
 void setFINSTLimit(int max)
           
 void setFINSTSpan(double duration)
           
 void setNewFINSTOnsetDuration(double duration)
           
 
Methods inherited from interface org.jactr.core.utils.parameter.IParameterized
getParameter, getPossibleParameters, getSetableParameters, setParameter
 

Field Detail

SEARCH_RESULT_IDENTIFIER_KEY

static final java.lang.String SEARCH_RESULT_IDENTIFIER_KEY
used for temporary tagging of location chunks


NUMBER_OF_FINSTS_PARAM

static final java.lang.String NUMBER_OF_FINSTS_PARAM
See Also:
Constant Field Values

FINST_DURATION_TIME_PARAM

static final java.lang.String FINST_DURATION_TIME_PARAM
See Also:
Constant Field Values

NEW_FINST_ONSET_DURATION_TIME_PARAM

static final java.lang.String NEW_FINST_ONSET_DURATION_TIME_PARAM
See Also:
Constant Field Values
Method Detail

attach

void attach(ACTRAgent agent)
called after CR has been connected, this attaches the perceptual memory to CR

Parameters:
agent -

detach

void detach()
detach from CR


isAttached

boolean isAttached()
have we been attached to CR?

Returns:

getFINSTSpan

double getFINSTSpan()

setFINSTSpan

void setFINSTSpan(double duration)

getFINSTLimit

int getFINSTLimit()

setFINSTLimit

void setFINSTLimit(int max)

getNewFINSTOnsetDuration

double getNewFINSTOnsetDuration()

setNewFINSTOnsetDuration

void setNewFINSTOnsetDuration(double duration)

getPendingUpdates

int getPendingUpdates()
the number of updates from CR as of yet unprocessed

Returns:

getLastChangeTime

double getLastChangeTime()
simulation time of the last update

Returns:

getModule

IPerceptualModule getModule()
owning module

Returns:

getIndexManager

IIndexManager getIndexManager()

addListener

void addListener(IActivePerceptListener listener,
                 java.util.concurrent.Executor executor)

removeListener

void removeListener(IActivePerceptListener listener)

addFeatureMap

void addFeatureMap(IFeatureMap featureMap)
attach feature map

Parameters:
featureMap -

removeFeatureMap

void removeFeatureMap(IFeatureMap featureMap)

getFeatureMaps

java.util.Collection<IFeatureMap> getFeatureMaps(java.util.Collection<IFeatureMap> container)
return all the feature maps in the provided container

Parameters:
container -
Returns:

getFINSTFeatureMap

IFINSTFeatureMap getFINSTFeatureMap()
return the finst-able feature map

Returns:

addFilter

void addFilter(IIndexFilter filter)
add post processing search filter

Parameters:
filter -

removeFilter

void removeFilter(IIndexFilter filter)

getFilters

java.util.Collection<IIndexFilter> getFilters(java.util.Collection<IIndexFilter> container)

addEncoder

void addEncoder(IPerceptualEncoder encoder)
add encoder

Parameters:
encoder -

removeEncoder

void removeEncoder(IPerceptualEncoder encoder)

getEncoders

java.util.Collection<IPerceptualEncoder> getEncoders(java.util.Collection<IPerceptualEncoder> container)

getEncodings

java.util.Collection<IChunk> getEncodings(org.commonreality.identifier.IIdentifier identifier,
                                          java.util.Collection<IChunk> container)
returns all the known encodings of identifier

Parameters:
identifier -
container -
Returns:

search

java.util.concurrent.Future<PerceptualSearchResult> search(ChunkTypeRequest request)
search perceptual memory for index chunks matching the request and tag the location chunk with SEARCH_RESULT_IDENTIFIER_KEY

Parameters:
request -
Returns:

searchNow

PerceptualSearchResult searchNow(ChunkTypeRequest request)
search perceptual memory immediately - this should only be called from the CR processing thread

Parameters:
request -
Returns:

getRecentSearchResults

void getRecentSearchResults(java.util.List<PerceptualSearchResult> results)

getLastSearchResult

PerceptualSearchResult getLastSearchResult()