org.jactr.core.module
Interface IModule

All Superinterfaces:
IInitializable, IInstallable
All Known Subinterfaces:
IAsynchronousModule, IAuralModule, IDeclarativeLearningModule4, IDeclarativeModule, IDeclarativeModule4, IDeclarativeModule5, IGoalModule, IImaginalModule, ILearningModule, IMotorModule, IPerceptualMemoryModule, IPerceptualModule, IProceduralLearningModule, IProceduralLearningModule4, IProceduralLearningModule6, IProceduralModule, IProceduralModule4, IProceduralModule6, IRandomModule, IRetrievalModule, IRetrievalModule4, IVisualModule, IVocalModule
All Known Implementing Classes:
AbstractAsynchronousModule, AbstractAuralModule, AbstractDeclarativeModule, AbstractModule, AbstractMotorModule, AbstractPerceptualModule, AbstractVisualModule, AbstractVocalModule, DefaultAuralModule6, DefaultDeclarativeLearningModule4, DefaultDeclarativeLearningModule6, DefaultDeclarativeModule, DefaultDeclarativeModule6, DefaultGoalModule6, DefaultImaginalModule6, DefaultMotorModule6, DefaultProceduralLearningModule6, DefaultProceduralModule6, DefaultRandomModule, DefaultRetrievalModule6, DefaultVisualModule6, DefaultVocalModule6

public interface IModule
extends IInstallable, IInitializable

module definition. All theoretical additions to jACT-R are made through these interfaces. All event listeners and buffers etc should be installed during the call to install(IModel). initialize() is called after all the modules have been installed - signaling that they can accurate request access to the other modules within the model to satisfy dependencies. The constructor for the module should not do any costly initializations or resource intensive processes - hold these off for install() and initialize(), or by listening the the model start event.

Author:
developer

Method Summary
 void dispose()
          release any resources.
 IModel getModel()
          return the model this module is installed into
 java.lang.String getName()
          the name of the module
 void initialize()
          this will be called after all the modules have been installed permitting the module to attach listeners to other modules.
 void install(IModel model)
          called from the model during IModel.install(IModule).
 void reset()
          reset the module.
 
Methods inherited from interface org.jactr.core.utils.IInstallable
uninstall
 

Method Detail

install

void install(IModel model)
called from the model during IModel.install(IModule). The module should handle any nondependent initialization here. Since no chunks will have been installed yet, the module should make not attempt to make reference to any until just before the model runs. Likewise, you should not install listeners into modules that this one is dependent upon until initialize() is called.

Specified by:
install in interface IInstallable
See Also:
IInstallable.install(org.jactr.core.model.IModel)

initialize

void initialize()
this will be called after all the modules have been installed permitting the module to attach listeners to other modules. if you want to get access to chunks,types, or productions before the model runs, attach a model listener and do that during the modelStarted call

Specified by:
initialize in interface IInitializable

getName

java.lang.String getName()
the name of the module

Returns:

getModel

IModel getModel()
return the model this module is installed into


dispose

void dispose()
release any resources. this should only be called by the model during its own dispose method (assuming that this module is still installed) and should not result in the propogation of ANY events. The module should dispose of all its resources, including buffers


reset

void reset()
reset the module. This will typically clear the owned buffers and abort any module specific operations