ix.iplan
Class Slip

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.Slip
All Implemented Interfaces:
Planner, ServiceSymbols

public class Slip
extends PlannerBase
implements ServiceSymbols

Semi-linear planner.


Nested Class Summary
 
Nested classes/interfaces inherited from class ix.ip2.Ip2
Ip2.AddExtensionsHandler, Ip2.AddHandlersHandler
 
Field Summary
static Keyword K_ALL
           
static Keyword K_NONE
           
static Symbol S_ACHIEVABLE_CONDS
           
static Symbol S_USE_FOR_EFFECTS
           
 
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, knownAgents, nameListeners, startupDate, startupHooks, symbolName, textFrame, thisAgent
 
Fields inherited from interface ix.iplan.ServiceSymbols
S_INPUT_OBJECTS, S_INPUTS, S_NAME_MAP, S_OUTPUT_OBJECTS, S_OUTPUTS, S_OWL_S_PROCESS, S_TYPE
 
Constructor Summary
Slip(boolean standAlone)
           
 
Method Summary
protected  void addHandlers()
          Install any built-in issue and activity handlers.
 PlanStats getStatistics()
          Returns statistics gathered by the most recent Planner.plan() or Planner.replan().
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.
protected  void processCommandLineArguments()
          Command-line argument processing for arguments used by all versions of I-P2.
 void replan()
          Finds the next in a series of plans that are completions of the plan that was current when Planner.plan() was most recently called.
 void reset()
          Called to restore the initial state.
 void setDomain(Domain dom)
          Sets this planner's domain.
 void setStepLimit(int limit)
           
 void startup()
          Completes setup and initialization.
 
Methods inherited from class ix.iplan.PlannerBase
completeStartup, handleInput, initOptions, isStandAlone, makeInstance, outputOwlSPlan, outputPlan, outputPlanPSGraphData, startServer
 
Methods inherited from class ix.iplan.IPlan
makeDefaultPlanner, makeIp2Frame, makeModelManager
 
Methods inherited from class ix.ip2.Ip2
addAboutInfo, addForwardingHandler, addHandlers, addResetHook, addTest, addTestMenuItems, addTool, clearAllButState, clearModel, do_reloadViewers, ensureTool, exit, 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, readDomain, readDomain, reloadViewers, resetAllButState, resetViewers, savePlanAs
 
Methods inherited from class ix.icore.IXAgent
addAgentNameListener, addExitHook, addStartupHook, displayMessage, do_mainStartup, fireSymbolNameChanged, getAgent, getAgentDisplayName, getAgentIPCName, getAgentStartupDate, getAgentSymbolName, getContactManager, getEventLogger, getISimTimer, getKnownAgents, handleReceivedReport, installAgentExtensions, installAgentExtensions, log, mainStartup, notePossibleNewContact, pre_handleInput, preprocessInput, reportInputException, setAgentSymbolName, 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
 

Field Detail

K_ALL

public static final Keyword K_ALL

K_NONE

public static final Keyword K_NONE

S_ACHIEVABLE_CONDS

public static final Symbol S_ACHIEVABLE_CONDS

S_USE_FOR_EFFECTS

public static final Symbol S_USE_FOR_EFFECTS
Constructor Detail

Slip

public Slip(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.


startup

public void startup()
Completes setup and initialization.

Overrides:
startup in class PlannerBase

processCommandLineArguments

protected void processCommandLineArguments()
Description copied from class: Ip2
Command-line argument processing for arguments used by all versions of I-P2.

Overrides:
processCommandLineArguments in class Ip2
See Also:
IFUtil.adjustLookAndFeel(), IPC.makeCommunicationStrategy(String methodName), ContactManager.processCommandLineArguments(), Debug.on, Parameters

reset

public void reset()
Called to restore the initial state.

Overrides:
reset in class Ip2

getStatistics

public PlanStats getStatistics()
Description copied from interface: Planner
Returns statistics gathered by the most recent Planner.plan() or Planner.replan().

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

setStepLimit

public void setStepLimit(int limit)

setDomain

public void setDomain(Domain dom)
Description copied from interface: Planner
Sets this planner's domain. This is normally done before plan() or replan() are called. The consequences of calling this method at other times are unspecified.

Specified by:
setDomain in interface Planner
Overrides:
setDomain in class IPlan

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

replan

public void replan()
Description copied from interface: Planner
Finds the next in a series of plans that are completions of the plan that was current when Planner.plan() was most recently called. That completion then becomes the new current plan. You can think of this as reconsidering some choice made when producing earlier plans in the sequence and making different decision at that point. However, it is not guaranteed that the plan found in this way will be interestingly different from all of the earlier plans in the sequence.

The replan() method should not be called if plan() has not been called or if this planner has thrown an exception.

A successful call to replan() leaves this planner in a state in which Planner.replan() can be called again. plan() may be called instead, but this will begin a new sequence of plans based on this planner's now current plan, rather than on the plan that was the base for the previous sequence.

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