|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectix.icore.IXAgent
ix.ip2.Ip2
ix.iplan.IPlan
ix.iplan.PlannerBase
ix.iplan.Slip
public class Slip
Semi-linear planner.
Nested Class Summary | |
---|---|
(package private) static class |
Slip.HavePlanException
|
(package private) static interface |
Slip.ParameterMaker
|
(package private) class |
Slip.ReplanStep
|
(package private) static class |
Slip.StepLimitException
|
Nested classes/interfaces inherited from class ix.ip2.Ip2 |
---|
Ip2.AddHandlersHandler |
Field Summary | |
---|---|
(package private) LListCollector |
alternatives
|
(package private) DomainAnalyser |
analysis
|
(package private) ContextBoolean |
contextIsPoisoned
|
(package private) int |
hardStepLimit
|
(package private) java.lang.Runnable |
invalidStep
|
(package private) IPlanModelManager |
iplanMM
|
(package private) static Keyword |
K_ALL
|
(package private) static Keyword |
K_NONE
|
(package private) Slip.ParameterMaker |
makeInput
|
(package private) Slip.ParameterMaker |
makeOutput
|
(package private) ContextHashMap |
nodeEndStatusMap
|
(package private) ContextGensym.Generator |
objectNameGenerator
|
(package private) static Symbol |
S_ACHIEVABLE_CONDS
|
(package private) static Symbol |
S_ACHIEVE_GOAL
|
(package private) static Symbol |
S_ACHIEVE_PV
|
(package private) static Symbol |
S_EQL
|
(package private) static Symbol |
S_TRUE
|
(package private) static Symbol |
S_USE_FOR_EFFECTS
|
(package private) java.util.Map |
savedInitialWorldState
|
(package private) boolean |
singleStep
|
(package private) SlipStats |
stats
|
(package private) int |
stepLimit
|
(package private) SlipSingleStepper |
stepper
|
(package private) java.lang.Runnable |
testStep
|
(package private) boolean |
useDomainAnalysis
|
(package private) ContextHashMap |
waitingForAchieveTable
|
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. |
(package private) void |
allComputeStatus(java.util.List nodeEnds)
|
(package private) boolean |
allHaveStatus(java.util.List nodeEnds,
Status status)
|
(package private) static boolean |
canBeUsedForEffect(LList pattern,
Refinement r)
|
(package private) void |
computeProperStatus(PNodeEnd end)
|
(package private) void |
computeProperStatusValues()
|
(package private) void |
computeStatus(PNodeEnd end)
|
(package private) void |
createPlanContext()
|
(package private) void |
describeAlternative(Alternative alt)
|
(package private) void |
describeAlternatives()
|
(package private) void |
describeLinks(PNodeEnd at,
java.lang.String relation,
java.util.List nodeEnds)
|
(package private) void |
describeNodeEnd(PNodeEnd end)
|
(package private) void |
describeNodeEnds()
|
(package private) void |
describeNodeEnds(java.util.List nodeEnds)
|
(package private) boolean |
domainSays(java.lang.String propname)
|
(package private) boolean |
existsAchieversForCond(PatternAssignment pv)
|
(package private) PNodeEnd |
findExecutable()
|
(package private) PNodeEnd |
findExecutable(java.util.Iterator i)
|
(package private) boolean |
findFirstPlan()
|
(package private) boolean |
findNextPlan()
|
(package private) void |
finishedPlanning(boolean success)
|
(package private) Symbol |
generateObjectName(Symbol typeName)
|
(package private) java.util.List |
getAchieversForCond(PatternAssignment pv)
Returns a list of ways to achieve a condition. |
(package private) java.util.List |
getGoalAchievers(PNode goalNode)
|
(package private) PatternAssignment |
getGoalCond(PNodeEnd ne)
|
PlanStats |
getStatistics()
Returns statistics gathered by the most recent Planner.plan()
or Planner.replan() . |
(package private) Status |
getStatus(PNodeEnd end)
|
(package private) void |
initStatusTable()
|
(package private) static boolean |
isAchievableCond(LList pattern,
Annotated decider)
|
(package private) boolean |
isGoalNode(PNodeEnd ne)
|
(package private) boolean |
isWaitingForAchieve(PNode node)
|
static void |
main(java.lang.String[] argv)
Standalone main program. |
(package private) ActivityItem |
makeGoalNode(PatternAssignment goalCond,
java.util.List achievers)
|
(package private) java.util.List |
makeParameters(java.util.List patternAssignments,
MatchEnv env,
Slip.ParameterMaker m)
|
(package private) IPlanModelManager |
MM()
|
(package private) void |
normalizeGoalNode(ActivityItem goalNode)
|
(package private) Alternative |
pickAlternative()
|
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()
|
(package private) void |
planLoop()
|
(package private) Poison |
poison(java.lang.Object reason)
|
(package private) void |
postAlternative(Alternative alt)
|
protected void |
processCommandLineArguments()
Command-line argument processing for arguments used by all versions of I-P2. |
(package private) void |
recordAsWaitingForAchieve(PNode node)
|
(package private) void |
recordInputsAndOutputs()
|
(package private) void |
recordInputsAndOutputs(Activity act)
|
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. |
(package private) void |
setNextStep(java.lang.Runnable r)
|
(package private) void |
setProperStatus(PNode node)
|
(package private) void |
setProperStatus(PNodeEnd end,
Status status)
|
(package private) void |
setStatus(PNodeEnd end,
Status status)
|
void |
setStepLimit(int limit)
|
void |
startup()
Completes setup and initialization. |
(package private) void |
stepLimitReached(boolean isHardLimit)
|
(package private) void |
testStatusPropagation()
|
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 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 |
---|
IPlanModelManager iplanMM
DomainAnalyser analysis
boolean useDomainAnalysis
LListCollector alternatives
ContextBoolean contextIsPoisoned
ContextHashMap nodeEndStatusMap
java.util.Map savedInitialWorldState
SlipStats stats
ContextGensym.Generator objectNameGenerator
int stepLimit
int hardStepLimit
SlipSingleStepper stepper
boolean singleStep
java.lang.Runnable invalidStep
java.lang.Runnable testStep
static final Symbol S_TRUE
static final Keyword K_ALL
static final Keyword K_NONE
static final Symbol S_ACHIEVABLE_CONDS
static final Symbol S_USE_FOR_EFFECTS
Slip.ParameterMaker makeInput
Slip.ParameterMaker makeOutput
static final Symbol S_ACHIEVE_GOAL
static final Symbol S_ACHIEVE_PV
static final Symbol S_EQL
ContextHashMap waitingForAchieveTable
Constructor Detail |
---|
public Slip(boolean standAlone)
Method Detail |
---|
IPlanModelManager MM()
public static void main(java.lang.String[] argv)
public void startup()
startup
in class PlannerBase
protected void processCommandLineArguments()
Ip2
processCommandLineArguments
in class Ip2
IFUtil.adjustLookAndFeel()
,
IPC.makeCommunicationStrategy(String methodName)
,
ContactManager.processCommandLineArguments()
,
Debug.on
,
Parameters
public void reset()
reset
in class Ip2
public PlanStats getStatistics()
Planner
Planner.plan()
or Planner.replan()
.
getStatistics
in interface Planner
getStatistics
in class PlannerBase
Symbol generateObjectName(Symbol typeName)
public void setStepLimit(int limit)
public void setDomain(Domain dom)
Planner
setDomain
in interface Planner
setDomain
in class IPlan
protected void addHandlers()
addHandlers
in class PlannerBase
void setNextStep(java.lang.Runnable r)
public void plan()
Planner
A successful call to plan() leaves this planner in a
state in which Planner.replan()
can be called.
plan
in interface Planner
public void replan()
Planner
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.
replan
in interface Planner
replan
in class PlannerBase
boolean findFirstPlan()
boolean findNextPlan()
void planLoop()
void stepLimitReached(boolean isHardLimit)
void finishedPlanning(boolean success)
void createPlanContext()
void postAlternative(Alternative alt)
Alternative pickAlternative()
Poison poison(java.lang.Object reason)
boolean domainSays(java.lang.String propname)
static boolean isAchievableCond(LList pattern, Annotated decider)
static boolean canBeUsedForEffect(LList pattern, Refinement r)
void testStatusPropagation()
PNodeEnd findExecutable()
PNodeEnd findExecutable(java.util.Iterator i)
boolean planIsComplete()
Status getStatus(PNodeEnd end)
void setStatus(PNodeEnd end, Status status)
void computeStatus(PNodeEnd end)
void allComputeStatus(java.util.List nodeEnds)
boolean allHaveStatus(java.util.List nodeEnds, Status status)
void initStatusTable()
void computeProperStatusValues()
void computeProperStatus(PNodeEnd end)
void setProperStatus(PNodeEnd end, Status status)
void setProperStatus(PNode node)
void recordInputsAndOutputs()
void recordInputsAndOutputs(Activity act)
java.util.List makeParameters(java.util.List patternAssignments, MatchEnv env, Slip.ParameterMaker m)
boolean isGoalNode(PNodeEnd ne)
PatternAssignment getGoalCond(PNodeEnd ne)
ActivityItem makeGoalNode(PatternAssignment goalCond, java.util.List achievers)
java.util.List getGoalAchievers(PNode goalNode)
void normalizeGoalNode(ActivityItem goalNode)
void recordAsWaitingForAchieve(PNode node)
boolean isWaitingForAchieve(PNode node)
java.util.List getAchieversForCond(PatternAssignment pv)
boolean existsAchieversForCond(PatternAssignment pv)
void describeAlternatives()
void describeAlternative(Alternative alt)
void describeNodeEnds()
void describeNodeEnds(java.util.List nodeEnds)
void describeNodeEnd(PNodeEnd end)
void describeLinks(PNodeEnd at, java.lang.String relation, java.util.List nodeEnds)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |