clarion.system
Class MCS

java.lang.Object
  extended by clarion.system.AbstractSubsystem
      extended by clarion.system.MCS

public class MCS
extends AbstractSubsystem

This class implements the Meta Cognitive Subsystem (MCS) within CLARION. It extends the AbstractSubsystem class.

Usage:

This class contains the modules of the MCS along with methods for getting and setting those modules. The user can decide, as desired, which modules to attach to the MCS and the CLARION Library will use those modules if they are attached, otherwise it wont. In this sense, the CLARION Library is dynamic and flexible about which modules appear within the MCS.

The modules of the MCS are accessed most commonly by the CLARION class through the perceive and act methods. Note that if a developer wished to write a currently unimplemented module into the MCS, the only ways to do so would be to either edit the CLARION library (not recommended) or write their own MCS and CLARION classes by extending those classes and then adding/overriding (respectively) the new modules/perceive and act functions (again respectively).

Currently, the following modules have been implemented, and can be attached, as needed, within the MCS:

In addition, it is not required that a CLARION agent even have an MCS at all. If the task being performed by the agent does not require an MCS, the user can choose simply not to attach the MCS to the CLARION agent, and the agent will be able to operate quite successfully without this subsystem being specified (for some tasks).

Version:
6.0.4
Author:
Nick Wilson

Field Summary
private  ACSLevelProbabilitySettingModule ACSLevelProbabilitySettingModule
          The ACS level probability setting module
private  GoalSelectionModule GoalSelectionModule
          The goal selection module.
 
Fields inherited from class clarion.system.AbstractSubsystem
InputSpace
 
Constructor Summary
MCS(CLARION Agent)
          Minimally initializes the MCS.
 
Method Summary
 void attachACSLevelProbabilitySettingModule(ACSLevelProbabilitySettingModule module)
          Attaches the ACS level probability setting module.
 void attachGoalSelectionModule(GoalSelectionModule module)
          Attaches the goal selection module.
protected  void attachSelfToAgent(CLARION Agent)
          Attaches the MCS to the specified CLARION agent.
protected  void endEpisode()
          Performs the appropriate end of episode instructions for the MCS.
 ACSLevelProbabilitySettingModule getACSLevelProbabilitySettingModule()
          Gets the ACS level probability setting module.
 GoalSelectionModule getGoalSelectionModule()
          Gets the goal selection module.
 
Methods inherited from class clarion.system.AbstractSubsystem
updateInputSpace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

GoalSelectionModule

private GoalSelectionModule GoalSelectionModule
The goal selection module.


ACSLevelProbabilitySettingModule

private ACSLevelProbabilitySettingModule ACSLevelProbabilitySettingModule
The ACS level probability setting module

Constructor Detail

MCS

public MCS(CLARION Agent)
Minimally initializes the MCS. This constructor builds a "frame" for this instance of the MS from which all desired components can be attached. During initialization this instance of the MCS will attach itself to the CLARION agent you specify.

Parameters:
Agent - The agent to which the MCS is being attached.
Method Detail

attachGoalSelectionModule

public void attachGoalSelectionModule(GoalSelectionModule module)
Attaches the goal selection module.

Parameters:
module - The module to attach.

attachACSLevelProbabilitySettingModule

public void attachACSLevelProbabilitySettingModule(ACSLevelProbabilitySettingModule module)
Attaches the ACS level probability setting module.

Parameters:
module - The module to attach.

getGoalSelectionModule

public GoalSelectionModule getGoalSelectionModule()
Gets the goal selection module.

Returns:
The goal selection module.

getACSLevelProbabilitySettingModule

public ACSLevelProbabilitySettingModule getACSLevelProbabilitySettingModule()
Gets the ACS level probability setting module.

Returns:
The ACS level probability setting module.

attachSelfToAgent

protected void attachSelfToAgent(CLARION Agent)
Attaches the MCS to the specified CLARION agent.

Specified by:
attachSelfToAgent in class AbstractSubsystem
Parameters:
Agent - The agent to wish this MCS will be attached.

endEpisode

protected void endEpisode()
Performs the appropriate end of episode instructions for the MCS. This method is called by the CLARION class when its endEpisode method is called.

Specified by:
endEpisode in class AbstractSubsystem