edu.umich.soar.hpp
Class HPPAction

java.lang.Object
  extended by edu.umich.soar.hpp.HPPAction

public class HPPAction
extends java.lang.Object

A plan action that supports arbitrary hierarchy via sub-plans and conditionality based upon a conjunctive set of variable name/value pairs.


Constructor Summary
HPPAction(java.lang.String name, HPPConstraint[] conditions, HPPlan subPlan)
          Advanced constructor - supports custom initial condition set via array
HPPAction(java.lang.String name, HPPlan subPlan)
          Basic constructor - initializes to empty condition set
 
Method Summary
 void addCondition(HPPConstraint newConstraint)
          Support appending to the condition set
 java.util.Iterator<HPPConstraint> getConditions()
          Supports read-only access to condition set
 java.lang.String getName()
          Supports read-only access to the action name
 HPPlan getSubPlan()
          Supports read-only access to the sub-plan
 boolean isSatisfied(HPPKnowledgeBase kb)
          Evaluates satisfaction of the action relative to a supplied knowledge base
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HPPAction

public HPPAction(java.lang.String name,
                 HPPlan subPlan)
Basic constructor - initializes to empty condition set

Parameters:
name - action name
subPlan - action sub-plan (or null if none)

HPPAction

public HPPAction(java.lang.String name,
                 HPPConstraint[] conditions,
                 HPPlan subPlan)
Advanced constructor - supports custom initial condition set via array

Parameters:
name - action name
conditions - action sub-plan
subPlan - initial condition set
Method Detail

getName

public java.lang.String getName()
Supports read-only access to the action name

Returns:
action name

getSubPlan

public HPPlan getSubPlan()
Supports read-only access to the sub-plan

Returns:
sub-plan (or null if none)

getConditions

public java.util.Iterator<HPPConstraint> getConditions()
Supports read-only access to condition set

Returns:
iterator to constraint set

addCondition

public void addCondition(HPPConstraint newConstraint)
Support appending to the condition set

Parameters:
newConstraint - condition to add

isSatisfied

public boolean isSatisfied(HPPKnowledgeBase kb)
Evaluates satisfaction of the action relative to a supplied knowledge base

Parameters:
kb - set of variable name/value pairs
Returns:
true if action conditions are satisfied by the supplied kb