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:
  Slip.Step, java.lang.Runnable

     class SlipFindExecutable

extends java.lang.Object
implements Slip.Step

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

Nested Class Summary
`(package private) class` | `SlipFindExecutable.ExpandGoalAlt`
`(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) LListIterator` | `endIterator(LList l)`
`(package private) void` | `executeTrivialEnds(LList nodeEnds)`
`(package private) java.util.List<PNodeEnd>` | `findInteractingEnds(PNodeEnd selected)`
`(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` | `interactingCondsAndEffects(PNodeEnd selected, java.util.Set conds, java.util.Set effects, PNodeEnd ne)`
`(package private) boolean` | `isAlreadyExpanded(PNodeEnd ne)`
`(package private) boolean` | `isTrivial(PNodeEnd ne)`
`(package private) Constraint` | `makeCondition(PatternAssignment pv)`
`(package private) SlipExpander` | `makeExpander(AgendaItem item, Refinement r, MatchEnv env)`
`(package private) SlipExpander` | `makeLaterExpander(AgendaItem item, Refinement r, MatchEnv env)`
`(package private) SlipExpander` | `makeManualExpander(AgendaItem item, Refinement r, MatchEnv env)`
`(package private) void` | `maybePostExpandGoalAlt(PNodeEnd selected)`
`(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` | `nextExecutable(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, java.lang.String doing)`
`(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)

### maybePostExpandGoalAlt

    void maybePostExpandGoalAlt(PNodeEnd selected)

### postFindNextAlt

    void postFindNextAlt(PNodeEnd selected,
                         LList allNodeEnds,
                         LListIterator nodeEndIter,
                         java.lang.String doing)

### findInteractingEnds

    java.util.List<PNodeEnd> findInteractingEnds(PNodeEnd selected)

### interactingCondsAndEffects

    boolean interactingCondsAndEffects(PNodeEnd selected,
                                       java.util.Set conds,
                                       java.util.Set effects,
                                       PNodeEnd ne)

### 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)

### 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)

### nextExecutable

    PNodeEnd nextExecutable(java.util.Iterator i)

### 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

    SlipExpander makeManualExpander(AgendaItem item,
                                    Refinement r,
                                    MatchEnv env)

### makeExpander

    SlipExpander makeExpander(AgendaItem item,
                              Refinement r,
                              MatchEnv env)

### makeLaterExpander

    SlipExpander 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