ix.iplan
Class Thatcher

java.lang.Object
  extended by ix.icore.IXAgent
      extended by ix.ip2.Ip2
          extended by ix.iplan.IPlan
              extended by ix.iplan.PlannerBase
                  extended by ix.iplan.Thatcher
All Implemented Interfaces:
Planner

public class Thatcher
extends PlannerBase

Simple, non-backtracking, pure HTN planning algorithm.

"There is no alternative."


Nested Class Summary
 
Nested classes/interfaces inherited from class ix.ip2.Ip2
Ip2.AddExtensionsHandler, Ip2.AddHandlersHandler
 
Field Summary
 
Fields inherited from class ix.ip2.Ip2
activityViewer, agentTypeName, annotationViewer, controller, domain, frame, issueViewer, logoImage, logoLine1, logoLine2, modelManager, optionManager, resetHooks, showOptions, stateViewer
 
Fields inherited from class ix.icore.IXAgent
contactManager, displayName, eventLogger, exitHooks, initialDisplayName, ipcName, ipcStrategyName, iSimTimer, mainAgent, nameListeners, startupDate, startupHooks, symbolName, textFrame
 
Constructor Summary
Thatcher(boolean standAlone)
           
 
Method Summary
protected  void addHandlers()
          Install any built-in issue and activity handlers.
(package private)  java.util.List allActivities()
           
(package private)  ActivityItem findExecutable()
           
static void main(java.lang.String[] argv)
          Standalone main program.
 void plan()
          Finds a plan that is a completion of this planner's current plan and makes it the new current plan.
(package private)  boolean planIsComplete()
           
 
Methods inherited from class ix.iplan.PlannerBase
completeStartup, getStatistics, handleInput, initOptions, isStandAlone, makeInstance, outputOwlSPlan, outputPlan, outputPlanPSGraphData, replan, startServer, startup
 
Methods inherited from class ix.iplan.IPlan
displayFrame, makeDefaultPlanner, makeIp2Frame, makeModelManager, setDomain
 
Methods inherited from class ix.ip2.Ip2
addAboutInfo, addForwardingHandler, addHandlers, addResetHook, addTest, addTestMenuItems, addTool, clearAllButState, clearModel, do_reloadViewers, ensureTool, getActivityPatternSyntaxes, getAgentTypeName, getController, getDomain, getFrame, getIp2ModelManager, getModelManager, getOptionManager, getPlan, handleInputDirectly, handleNewActivity, handleNewChatMessage, handleNewConstraint, handleNewIssue, handleNewReport, isReloadingViewers, loadDomain, loadInitialPlan, loadPlan, loadPlan, loadPlan, makeActivityViewer, makeAnnotationViewer, makeController, makeIssueViewer, makeLogoPanel, makeStateViewer, makeViewer, processCommandLineArguments, readDomain, readDomain, reloadViewers, reset, resetAllButState, resetViewers, savePlanAs
 
Methods inherited from class ix.icore.IXAgent
addAgentNameListener, addExitHook, addStartupHook, adjustLookAndFeel, displayMessage, do_mainStartup, exit, fireSymbolNameChanged, getAgent, getAgentDisplayName, getAgentIPCName, getAgentStartupDate, getAgentSymbolName, getContactManager, getEventLogger, getISimTimer, getKnownAgents, handleReceivedReport, installAgentExtensions, installAgentExtensions, isMainAgent, log, mainStartup, notePossibleNewContact, pre_handleInput, preprocessInput, reportInputException, setAgentSymbolName, setEventLogger, setupISimTimer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface ix.iplan.Planner
getPlan, loadPlan, setDomain
 

Constructor Detail

Thatcher

public Thatcher(boolean standAlone)
Method Detail

main

public static void main(java.lang.String[] argv)
Standalone main program. One plan in, one plan out. To specify the initial plan, use the plan command-line argument. The result will be written to the file specified by the output argument. If no output is specified, the user is asked by a dialog.


addHandlers

protected void addHandlers()
Install any built-in issue and activity handlers.

Overrides:
addHandlers in class PlannerBase

plan

public void plan()
Description copied from interface: Planner
Finds a plan that is a completion of this planner's current plan and makes it the new current plan. The precise meaning of "completion" depends on the planner in question, but typically it will mean that all activities in the initial plan that might be expanded into subactions, using refinements in this planner's domain, will be expanded, and that all constraints in the initial plan or introduced by expansion would be satisfied if the plan were executed in a way that respected all of the ordering constraints. (Here, the initial plan is the plan that was current when plan() was called.)

A successful call to plan() leaves this planner in a state in which Planner.replan() can be called.

Specified by:
plan in interface Planner
Overrides:
plan in class PlannerBase

findExecutable

ActivityItem findExecutable()

allActivities

java.util.List allActivities()

planIsComplete

boolean planIsComplete()