public interface CognitiveModule
The CognitiveModule interface defines the functionality of a general module
that can be used in a CognitiveModel. Since a CognitiveModule belongs to a
specific CognitiveModel, CognitiveModules are added to a CognitiveModel
by passing in a CognitiveModuleFactory from which a CognitiveModel can
create a CognitiveModule.
While a CognitiveModule can store information about the CognitiveModel to
which it belongs, it should not contain any state-dependent information,
such as activations. That data should be stored in an object that implements
the CognitiveModuleState interface. These module state objects are created
by the initalizeState method and are passed into the update method so that
the module is aware of its previous state and can return its new state.
This method is the main method for a CognitiveModule. It updates the
state of the model by modifying the given CognitiveModelState object.
Since a module is not to store any local state information, it is given
its previous CognitiveModuleState object in order to provide the
information about its state. It then returns its updated
CognitiveModuleState as the result of the update method.
modelState - The CognitiveModelState to update
previousModuleState - The previous CognitiveModuleState returned
by this module