JTP API Documentation

jtp.frame.fc
Class RuleUnroller

java.lang.Object
  |
  +--java.beans.beancontext.BeanContextChildSupport
        |
        +--jtp.util.PropertyImporter
              |
              +--jtp.frame.fc.AbstractRuleCreator
                    |
                    +--jtp.frame.fc.RuleUnroller
All Implemented Interfaces:
BeanContextChild, BeanContextServiceRevokedListener, BeanContextServicesListener, EventListener, Reasoner, SequentialDispatcher.LocationPreference, Serializable

public class RuleUnroller
extends AbstractRuleCreator
implements SequentialDispatcher.LocationPreference

See Also:
Serialized Form

Nested Class Summary
static class RuleUnroller.UnrollingTemplate
          An unrolling template associates a group of literals with a layer in the unroller.
 
Field Summary
protected  List templates
          the list of unrolling templates
protected  FirstOrderLogicTranslator tr
           
 
Fields inherited from class jtp.frame.fc.AbstractRuleCreator
trans
 
Fields inherited from class java.beans.beancontext.BeanContextChildSupport
beanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupport
 
Constructor Summary
RuleUnroller()
          creates a rule unroller with one default template that moves literals with variable relations into back layer.
RuleUnroller(List templates)
          creates a rule unroller from a list of temapltes.
 
Method Summary
 void addTemplate(RuleUnroller.UnrollingTemplate tpl)
           
 void clearTemplates()
           
protected  Literal formTargetLiteral(Collection frontLayer, Collection backLayer, String id)
           
protected  int getLiteralLayerNumber(Literal lit)
           
 int getPreferredLocation()
           
 ReasoningStepIterator process(Object o)
          This method attempts to find proof for the goal.
 
Methods inherited from class jtp.frame.fc.AbstractRuleCreator
acceptable, getFrameKB, getUndoManager, setFrameKB, setUndoManager
 
Methods inherited from class jtp.util.PropertyImporter
getImportedProperties, initializeBeanContextResources, setImportedProperties
 
Methods inherited from class java.beans.beancontext.BeanContextChildSupport
addPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, isDelegated, releaseBeanContextResources, removePropertyChangeListener, removeVetoableChangeListener, serviceAvailable, serviceRevoked, setBeanContext, validatePendingSetBeanContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tr

protected FirstOrderLogicTranslator tr

templates

protected List templates
the list of unrolling templates

Constructor Detail

RuleUnroller

public RuleUnroller()
creates a rule unroller with one default template that moves literals with variable relations into back layer.


RuleUnroller

public RuleUnroller(List templates)
creates a rule unroller from a list of temapltes.

Method Detail

addTemplate

public void addTemplate(RuleUnroller.UnrollingTemplate tpl)

clearTemplates

public void clearTemplates()

process

public ReasoningStepIterator process(Object o)
Description copied from interface: Reasoner
This method attempts to find proof for the goal. It returns an enumeration of reasoning steps that correspond to alternative proofs for the goal. Consequently, the items of the enumeration can actually belong to different models of the goal sentence, and have incompatible variable assignments.

Example. A reasoner that performs unification of the goal with facts in a knowledge base can return the following enumeration for the goal (parent joe ?x):

  1. A reasoning step proving (parent joe fred) with variable assignment ?x=fred,
  2. A reasoning step proving (parent joe mary) with variable assignment ?x=mary.

Specified by:
process in interface Reasoner
Parameters:
o - the goal: either a query or an assertion
Returns:
the iterator of reasoning steps - proofs for the query, or consequences of the assertion.

formTargetLiteral

protected Literal formTargetLiteral(Collection frontLayer,
                                    Collection backLayer,
                                    String id)

getLiteralLayerNumber

protected int getLiteralLayerNumber(Literal lit)

getPreferredLocation

public int getPreferredLocation()
Specified by:
getPreferredLocation in interface SequentialDispatcher.LocationPreference

JTP API Documentation