Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ix.iplan
Class SlipFindExecutable

    java.lang.Object
      ix.iplan.SlipFindExecutable

All Implemented Interfaces:
  java.lang.Runnable

     class SlipFindExecutable

extends java.lang.Object
implements java.lang.Runnable

Finds an executable node-end and either simulates its execution or begins its expansion.

Nested Class Summary
`(package private) class` | `SlipFindExecutable.ExpandLaterAlt`
`(package private) class` | `SlipFindExecutable.Resume`
`(package private) class` | `SlipFindExecutable.SatisfyByAchieveAlt`

Field Summary
`(package private) Slip` | `slip`

Constructor Summary
`SlipFindExecutable(Slip slip)`

Method Summary
`(package private) boolean` | `canComplete(PNodeEnd ne)`
`(package private) boolean` | `condMightBeAchieved(PatternAssignment cond)`
`(package private) LListIterator` | `endIterator(LList l)`
`(package private) void` | `executeNodeEnd(PNodeEnd ne)`
`(package private) void` | `executeTrivialEnds(LList nodeEnds)`
`(package private) void` | `findNext(LList allNodeEnds, LListIterator nodeEndIter)`
`(package private) LList` | `getNodeEnds()`
`(package private) boolean` | `goalExpanders(PNodeEnd ne, java.util.LinkedList useNow, java.util.LinkedList useLater)`
`(package private) boolean` | `isAlreadyExpanded(PNodeEnd ne)`
`(package private) boolean` | `isTrivial(PNodeEnd ne)`
`(package private) Constraint` | `makeCondition(PatternAssignment pv)`
`(package private) java.lang.Object` | `makeExpander(AgendaItem item, Refinement r, MatchEnv env)`
`(package private) java.lang.Object` | `makeLaterExpander(AgendaItem item, Refinement r, MatchEnv env)`
`(package private) java.lang.Object` | `makeManualExpander(AgendaItem item, Refinement r, MatchEnv env)`
`(package private) boolean` | `mightAchieveConds(ix.icore.domain.ListOfConstraint conds)` Determines whether all the conditions can be satisfied individually either by the current world-state or by introducing nodes.
`(package private) PNodeEnd` | `nextStatusExecutable(java.util.Iterator i)`
`(package private) boolean` | `nodeExpanders(PNodeEnd ne, java.util.LinkedList useNow, java.util.LinkedList useLater)`
`(package private) void` | `postExpandLaterAlt(PNode node, java.util.LinkedList useLater)`
`(package private) void` | `postFindNextAlt(PNodeEnd selected, LList allNodeEnds, LListIterator nodeEndIter)`
`(package private) void` | `postSatisfyByAchieveAlt(PNode node, ix.icore.domain.ListOfConstraint conds)`
`(package private) boolean` | `refinementApplies(Refinement r, LList pattern)`
`void` | `run()`
`(package private) void` | `satisfyNodeEndConds(PNodeEnd ne, ix.icore.domain.ListOfConstraint conds, java.util.List envs)`
`(package private) boolean` | `someRefinementApplies(PNode node)`
`(package private) boolean` | `worldStateSatisfiesCond(Constraint cond)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### slip

    Slip slip

Constructor Detail

### SlipFindExecutable

    SlipFindExecutable(Slip slip)

Method Detail

### run

    public void run()

  Specified by:
    `run` in interface `java.lang.Runnable`

### findNext

    void findNext(LList allNodeEnds,
                  LListIterator nodeEndIter)

### postFindNextAlt

    void postFindNextAlt(PNodeEnd selected,
                         LList allNodeEnds,
                         LListIterator nodeEndIter)

### makeCondition

    Constraint makeCondition(PatternAssignment pv)

### satisfyNodeEndConds

    void satisfyNodeEndConds(PNodeEnd ne,
                             ix.icore.domain.ListOfConstraint conds,
                             java.util.List envs)

### postSatisfyByAchieveAlt

    void postSatisfyByAchieveAlt(PNode node,
                                 ix.icore.domain.ListOfConstraint conds)

### mightAchieveConds

    boolean mightAchieveConds(ix.icore.domain.ListOfConstraint conds)

  Determines whether all the conditions can be satisfied individually either by the current world-state or by introducing nodes. It does not determine whether all the conds can be satisfied together; nor does it determine that introducing nodes will definitely work, because it might not be possible to get the right variable bindings. At least one of the conditions must look like it can be solved by introducing a node; for now at least /\/ this method is called only when it's already known that the world state cannot satisfy all of the conds together.

### worldStateSatisfiesCond

    boolean worldStateSatisfiesCond(Constraint cond)

### condMightBeAchieved

    boolean condMightBeAchieved(PatternAssignment cond)

### getNodeEnds

    LList getNodeEnds()

### endIterator

    LListIterator endIterator(LList l)

### executeTrivialEnds

    void executeTrivialEnds(LList nodeEnds)

### isTrivial

    boolean isTrivial(PNodeEnd ne)

### someRefinementApplies

    boolean someRefinementApplies(PNode node)

### refinementApplies

    boolean refinementApplies(Refinement r,
                              LList pattern)

### nextStatusExecutable

    PNodeEnd nextStatusExecutable(java.util.Iterator i)

### canComplete

    boolean canComplete(PNodeEnd ne)

### executeNodeEnd

    void executeNodeEnd(PNodeEnd ne)

### isAlreadyExpanded

    boolean isAlreadyExpanded(PNodeEnd ne)

### nodeExpanders

    boolean nodeExpanders(PNodeEnd ne,
                          java.util.LinkedList useNow,
                          java.util.LinkedList useLater)

### goalExpanders

    boolean goalExpanders(PNodeEnd ne,
                          java.util.LinkedList useNow,
                          java.util.LinkedList useLater)

### makeManualExpander

    java.lang.Object makeManualExpander(AgendaItem item,
                                        Refinement r,
                                        MatchEnv env)

### makeExpander

    java.lang.Object makeExpander(AgendaItem item,
                                  Refinement r,
                                  MatchEnv env)

### makeLaterExpander

    java.lang.Object makeLaterExpander(AgendaItem item,
                                       Refinement r,
                                       MatchEnv env)

### postExpandLaterAlt

    void postExpandLaterAlt(PNode node,
                            java.util.LinkedList useLater)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD