gov.sandia.cognition.framework.CognitiveModel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cognitive-foundry Show documentation
Show all versions of cognitive-foundry Show documentation
A single jar with all the Cognitive Foundry components.
/*
* File: CognitiveModel.java
* Authors: Justin Basilico and Kevin R. Dixon
* Company: Sandia National Laboratories
* Project: Cognitive Framework Lite
*
* Copyright February 10, 2006, Sandia Corporation. Under the terms of Contract
* DE-AC04-94AL85000, there is a non-exclusive license for use of this work by
* or on behalf of the U.S. Government. Export of this program may require a
* license from the United States Government. See CopyrightHistory.txt for
* complete details.
*
*
*/
package gov.sandia.cognition.framework;
import java.io.Serializable;
import java.util.List;
/**
* The CognitiveModel interface defines the basic functionality of a cognitive
* model. In particular, a model must have an update function, a method for
* getting the current state, a method for resetting the state, and methods for
* attaching listeners to the model.
*
* @author Justin Basilico
* @author Kevin R. Dixon
* @since 1.0
*/
public interface CognitiveModel
extends Serializable
{
/**
* Updates the model by updating all the modules using the given input.
*
* @param input The input to the model
*/
public void update(
CognitiveModelInput input);
/**
* Gets the modules that are instantiated for this model.
*
* @return The modules contained in this model
*/
public List extends CognitiveModule> getModules();
/**
* Resets the current cognitive state.
*/
public void resetCognitiveState();
/**
* Gets the current state of the model.
*
* @return The model's current state.
*/
public CognitiveModelState getCurrentState();
/**
* Gets teh semantic identifier database used by the model.
*
* @return The semantic identifier database used by the model.
*/
public SemanticIdentifierMap getSemanticIdentifierMap();
/**
* Adds a CognitiveModelListener to this model.
*
* @param listener The listener to add
*/
public void addCognitiveModelListener(
CognitiveModelListener listener);
/**
* Removes a CognitiveModelListener from this model.
*
* @param listener The listener to remove
*/
public void removeCognitiveModelListener(
CognitiveModelListener listener);
}