clarion.tools
Interface BaseSimulationTemplate

All Known Implementing Classes:
HelloWorld

public interface BaseSimulationTemplate

This interface provides a base template to help with the construction of simulations using the CLARION library.

Usage:

The order for constructing a simulation is:

  1. Construct the input space. This includes:
  2. Construct the space of all possible internal information that can be used by your agents. This includes:
  3. Initialize your CLARION agents.
  4. Initialize an instance of the MS (if being used).
  5. Initialize the drives either by:
  6. If initializing drives to use an implicit module, then:
    1. Initialize the implicit module.
    2. Train the implicit module (if needed).
    3. Attach implicit module to the drive.
  7. Initialize an instance of the MCS (if being used).
    1. Initialize an instance of the goal selection module (if being used).
    2. If using an implicit module for goal selection, then:
      1. Initialize the implicit module.
      2. Train the implicit module (if needed).
      3. Attach the implicit module to the goal selection module.
    3. Initialize an instance of the ACS level probability setting module (if being used).
    4. If using an implicit module for probability setting, then:
      1. Initialize the implicit module.
      2. Train implicit module (if needed).
      3. Attach the implicit module to the ACS level probability setting module.
  8. Initialize an instance of the goal structure (if being used).
    1. Specify the relevance each drive has to each goal.
    2. Add the goals to the list of possible goals in the goal structure.
  9. Initialize an instance of the ACS.
    1. Initialize and train (if needed) one or more implicit modules (REQUIRED).
    2. Initialize any IRL or fixed rules (if being used).
    3. Add the implicit modules, rules, and actions to the ACS.
  10. Initialize an instance of the working memory (if being used).
To run the simulation: Reporting the internal results: The following internal operations are acceptable to perform during the simulation:
  1. Presenting CLARION with new sensory information (through perception) not originally specified within the sensory information space during initialization.
  2. Adding new actions, implicit modules, or rules to the ACS.
  3. Adding new goals to the list of possible goals in the goal structure.
  4. Adding new drives to the MS (not recommended).
  5. Adding new specialized working memory chunks to the specialized working memory chunk list in the working memory.
  6. Changing the LOCAL parameters for various components inside an agent.

Version:
6.0.4
Author:
Nick Wilson

Method Summary
 void initializeAgentInternalSpace()
          This method is where you construct the space of all possible internal information that can be used by your agents.
 void initializeCLARIONAgent(CLARION Agent)
          This method is where all of the agent specific initialization takes place for each agent in your environment.
 void initializeSensoryInformationSpace()
          This method is where you construct the world in which your CLARION agents will live.
 void reportResults()
          Use this method to report the results of your simulation.
 void run(CLARION Agent)
          This method is used to run the task.
 

Method Detail

initializeSensoryInformationSpace

void initializeSensoryInformationSpace()
This method is where you construct the world in which your CLARION agents will live. To accomplish this you must do the following:

initializeAgentInternalSpace

void initializeAgentInternalSpace()
This method is where you construct the space of all possible internal information that can be used by your agents. Remember that each agent needs its own instance of the items you specify here. Make sure you "clone" everything you specify in this method before attaching it to an Agent.

This includes:


initializeCLARIONAgent

void initializeCLARIONAgent(CLARION Agent)
This method is where all of the agent specific initialization takes place for each agent in your environment.

The order for constructing a particular CLARION agent is:

  1. Initialize an instance of the MS (if being used).
    • The instance of the MS you just initialized will be automatically attached to the Agent with whom it is initialized
  2. Initialize the drives either by:
    • Specifying a personality.
    • Initializing drives and adding them to the appropriate behavior systems in the MS.
    If initializing drives to use an implicit module, then:
    1. Initialize the implicit module.
    2. Train the implicit module (if needed).
    3. Attach implicit module to the drive.
  3. Initialize an instance of the MCS (if being used).
    • The instance of the MCS you just initialized will be automatically attached to the Agent with whom it is initialized
    1. Initialize an instance of the goal selection module (if being used).
    2. If using an implicit module for goal selection, then:
      1. Initialize the implicit module.
      2. Train the implicit module (if needed).
      3. Attach the implicit module to the goal selection module.
    3. Initialize an instance of the ACS level probability setting module (if being used).
    4. If using an implicit module for probability setting, then:
      1. Initialize the implicit module.
      2. Train implicit module (if needed).
      3. Attach the implicit module to the ACS level probability setting module.
  4. Initialize an instance of the goal structure (if being used).
    • The instance of the goal structure you just initialized will be automatically attached to the Agent with whom it is initialized
    1. Specify the relevance each drive has to each goal.
    2. Add the goals to the list of possible goals in the goal structure.
  5. Initialize an instance of the ACS.
    • The instance of the ACS you just initialized will be automatically attached to the Agent with whom it is initialized
    1. Initialize and train (if needed) one or more implicit modules (REQUIRED).
    2. Initialize any IRL or fixed rules (if being used).
    3. Add the implicit modules, rules, and actions to the ACS.
  6. Initialize an instance of the working memory (if being used).
    • The instance of the working memory you just initialized will be automatically attached to the Agent with whom it is initialized
    • Add any specialized working memory memory chunks to the list of specialized working memory chunks.

Parameters:
Agent - The agent to initialize.

run

void run(CLARION Agent)
This method is used to run the task. It is up to you to decide how many steps of the simulation the run method should run. You can setup run to run each agent through the entire task, or you can just have the agent run 1 step of the task.

To run the simulation:

The following internal operations are acceptable to perform during the simulation:
  1. Presenting CLARION with new sensory information (through perception) not originally specified within the sensory information space during initialization.
  2. Adding new actions, implicit modules, or rules to the ACS.
  3. Adding new goals to the list of possible goals in the goal structure.
  4. Adding new drives to the MS (not recommended).
  5. Adding new specialized working memory chunks to the specialized working memory chunk list in the working memory.
  6. Changing the LOCAL parameters for various components inside an agent.

Parameters:
Agent - The agent to run.

reportResults

void reportResults()
Use this method to report the results of your simulation. It is up to you how you would like to output the results. You can save the results to a file, or print the results to the screen. The options for outputting results are virtually limit less.

Reporting the internal results: