PlanSelectionStrategy.java

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

import java.util.Set;

import br.pucrio.inf.les.bdijade.goal.Goal;
import br.pucrio.inf.les.bdijade.plan.Plan;

/**
 * This interface defines the plan selection strategy to be used in a
 * capability. This strategy is used for selecting a plan from a set of possible
 * options.
 * 
 * @author ingrid
 */
public interface PlanSelectionStrategy {

	/**
	 * Selects a plan to be executed to achieve the given goal.
	 * 
	 * @param goal
	 *            the goal that must be achieved.
	 * @param plans
	 *            the plans that can achieve the goal.
	 * @return the selected plan.
	 */
	public Plan selectPlan(Goal goal, Set<Plan> plans);

}