Semantics.java

package edu.udel.cis.vsl.tass.semantics;

import edu.udel.cis.vsl.tass.dynamic.IF.DynamicFactoryIF;
import edu.udel.cis.vsl.tass.semantics.IF.EvaluatorIF;
import edu.udel.cis.vsl.tass.semantics.IF.ExecutorIF;
import edu.udel.cis.vsl.tass.semantics.IF.LibraryExecutorLoaderIF;
import edu.udel.cis.vsl.tass.semantics.IF.LogIF;
import edu.udel.cis.vsl.tass.semantics.impl.Evaluator;
import edu.udel.cis.vsl.tass.semantics.impl.Executor;

/**
 * The semantics module is the entry point for users of the semantics package.
 * Methods to produce new evaluators and executors are provided.
 */
public class Semantics {
	/**
	 * Constructs and returns a new evaluator. The bufferSize is the upper bound
	 * on the number of messages that can be queued at any time.
	 */
	public static EvaluatorIF newEvaluator(DynamicFactoryIF dynamicFactory,
			int bufferSize, LogIF log) {
		return new Evaluator(dynamicFactory, bufferSize, log);
	}

	/**
	 * Constructs and returns a new executor. The bufferSize is the upper bound
	 * on the number of messages that can be queued at any time.
	 */
	public static ExecutorIF newExecutor(LibraryExecutorLoaderIF loader,
			DynamicFactoryIF dynamicFactory, int bufferSize, LogIF log) {
		return new Executor(loader, dynamicFactory, bufferSize, log);
	}
}