OptionGenerationFunction.java

34 lines | 988 B Blame History Raw Download
/*
 * Created on 21/12/2009 12:21:09 
 */
package br.pucrio.inf.les.bdijade.reasoning;

import java.util.Map;
import java.util.Set;

import br.pucrio.inf.les.bdijade.goal.Goal;
import br.pucrio.inf.les.bdijade.goal.GoalStatus;

/**
 * This interface defines the option generation functions to be used in the
 * BDI-interpreter. This strategy is used for creating new goals or to drop
 * existing ones.
 * 
 * @author ingrid
 */
public interface OptionGenerationFunction {

	/**
	 * The goals parameter is a map of all goals of the agent (that might be
	 * intentions) with their corresponding status. A set is returned of this
	 * function indicating the creating of new goals and the ones that continue
	 * to be goals. The non-selected goals will be no longer desired.
	 * 
	 * @param goals
	 *            the current goals with their status.
	 * @return the list of selected goals.
	 */
	public Set<Goal> generateGoals(Map<Goal, GoalStatus> goals);

}