gov.sandia.cognition.framework.CognitiveModelFactory 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: CognitiveModelFactory.java
* Authors: Justin Basilico and Kevin R. Dixon
* Company: Sandia National Laboratories
* Project: Cognitive Framework Lite
*
* Copyright February 24, 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.Collection;
/**
* The CognitiveModelFactory interface defines an interface for creating a
* new CognitiveModel using a predefined set of CognitiveModules, as created
* by CognitiveModuleFactories. The reason it exists is to provide an easy way
* for multiple models to be created using the same set of modules and
* (potentially) share parameters and modules. This could conserve memory is
* large-scale simulations and such. If you're not a large-scale simulation
* or don't need to conserve memory, don't worry: nothing changes for you.
*
* @author Justin Basilico
* @author Kevin R. Dixon
* @author Zachary Benz
* @since 1.0
*/
public interface CognitiveModelFactory
extends Serializable
{
/**
* Creates a CognitiveModel from the factory.
*
* @return A new CognitiveModel
*/
public CognitiveModel createModel();
/**
* Gets the CognitiveModuleFactories that are used to create a model.
*
* @return The Collection of CognitiveModuleFactories used to create
* a model.
*/
public Collection extends CognitiveModuleFactory> getModuleFactories();
}