org.semanticweb.HermiT.blocking
Class BlockingValidator

java.lang.Object
  extended by org.semanticweb.HermiT.blocking.BlockingValidator

public class BlockingValidator
extends java.lang.Object

Checks whether the rules from some set are applicable given the current state of the extensions.


Nested Class Summary
protected static class BlockingValidator.ArgumentType
           
protected static interface BlockingValidator.ConsequenceAtom
           
protected static class BlockingValidator.DLClauseInfo
           
protected static class BlockingValidator.MirroredYConsequenceAtom
           
protected static class BlockingValidator.SimpleConsequenceAtom
           
protected static class BlockingValidator.X2YOrY2XConsequenceAtom
           
protected static class BlockingValidator.YConstraint
           
 
Field Summary
protected  boolean debuggingMode
           
 java.util.Map<AtLeastConcept,Node> inValidAtleastForBlockedParent
           
 java.util.Map<AtLeastConcept,Node> inValidAtleastForBlocker
           
 java.util.Map<BlockingValidator.DLClauseInfo,Node> inValidClausesForBlockedParent
           
 java.util.Map<BlockingValidator.DLClauseInfo,Node> inValidClausesForBlocker
           
protected  ExtensionTable.Retrieval m_binaryRetrieval1Bound
           
protected  java.util.List<BlockingValidator.DLClauseInfo> m_dlClauseInfos
           
protected  java.util.Map<AtomicConcept,java.util.List<BlockingValidator.DLClauseInfo>> m_dlClauseInfosByXConcepts
           
protected  java.util.List<BlockingValidator.DLClauseInfo> m_dlClauseInfosWithoutXConcepts
           
protected  ExtensionManager m_extensionManager
           
protected  ExtensionTable.Retrieval m_ternaryRetrieval01Bound
           
protected  ExtensionTable.Retrieval m_ternaryRetrieval02Bound
           
protected  ExtensionTable.Retrieval m_ternaryRetrieval1Bound
           
protected  ExtensionTable.Retrieval m_ternaryRetrieval2Bound
           
 
Constructor Summary
BlockingValidator(Tableau tableau, java.util.Set<DLClause> dlClauses)
           
 
Method Summary
 void blockerChanged(Node node)
           
protected  void checkAtLeastForNonblocked(AtLeastConcept atleast, Node nonblocked)
           
protected  void checkConstraintsForNonblockedX(Node nonblockedX)
           
protected  void checkDLClauseForNonblockedX(BlockingValidator.DLClauseInfo dlClauseInfo, Node nonblockedX)
           
protected  void checkDLClauseForNonblockedXAndAnyZ(BlockingValidator.DLClauseInfo dlClauseInfo, Node nonblockedX, int toMatchIndex)
           
protected  void checkDLClauseForNonblockedXAndMatchedNodes(BlockingValidator.DLClauseInfo dlClauseInfo, Node nonblockedX)
           
protected  void checkDLClauseForNonblockedXAnyZAndAnyY(BlockingValidator.DLClauseInfo dlClauseInfo, Node nonblockedX, int toMatchIndexXtoY, int toMatchIndexYtoX)
           
 void clear()
           
 void clearInvalids()
           
 boolean hasViolation()
           
 boolean isBlockValid(Node blocked)
           
protected  boolean isSatisfiedAtLeastForBlocked(AtLeastConcept atleast, Node blockedX, Node blocker, Node blockerParent)
           
protected  void resetChildFlags(Node parent)
           
protected  boolean satisfiesConstraintsForBlockedX(Node blockedX)
           
protected  boolean satisfiesDLClauseForBlockedX(BlockingValidator.DLClauseInfo dlClauseInfo, Node blockedX)
           
protected  boolean satisfiesDLClauseForBlockedXAndAnyZ(BlockingValidator.DLClauseInfo dlClauseInfo, Node blockedX, int parentOfBlockedXIndex, int toMatchIndex)
           
protected  boolean satisfiesDLClauseForBlockedXAndMatchedNodes(BlockingValidator.DLClauseInfo dlClauseInfo, Node blockedX, int parentOfBlockedXIndex)
           
protected  boolean satisfiesDLClauseForBlockedXAnyZAndAnyY(BlockingValidator.DLClauseInfo dlClauseInfo, Node blockedX, int parentOfBlockedXIndex, int toMatchIndexXToY, int toMatchIndexYToX)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_extensionManager

protected final ExtensionManager m_extensionManager

m_binaryRetrieval1Bound

protected final ExtensionTable.Retrieval m_binaryRetrieval1Bound

m_ternaryRetrieval01Bound

protected final ExtensionTable.Retrieval m_ternaryRetrieval01Bound

m_ternaryRetrieval02Bound

protected final ExtensionTable.Retrieval m_ternaryRetrieval02Bound

m_ternaryRetrieval1Bound

protected final ExtensionTable.Retrieval m_ternaryRetrieval1Bound

m_ternaryRetrieval2Bound

protected final ExtensionTable.Retrieval m_ternaryRetrieval2Bound

m_dlClauseInfos

protected final java.util.List<BlockingValidator.DLClauseInfo> m_dlClauseInfos

m_dlClauseInfosByXConcepts

protected final java.util.Map<AtomicConcept,java.util.List<BlockingValidator.DLClauseInfo>> m_dlClauseInfosByXConcepts

m_dlClauseInfosWithoutXConcepts

protected final java.util.List<BlockingValidator.DLClauseInfo> m_dlClauseInfosWithoutXConcepts

inValidAtleastForBlockedParent

public java.util.Map<AtLeastConcept,Node> inValidAtleastForBlockedParent

inValidClausesForBlockedParent

public java.util.Map<BlockingValidator.DLClauseInfo,Node> inValidClausesForBlockedParent

inValidAtleastForBlocker

public java.util.Map<AtLeastConcept,Node> inValidAtleastForBlocker

inValidClausesForBlocker

public java.util.Map<BlockingValidator.DLClauseInfo,Node> inValidClausesForBlocker

debuggingMode

protected final boolean debuggingMode
See Also:
Constant Field Values
Constructor Detail

BlockingValidator

public BlockingValidator(Tableau tableau,
                         java.util.Set<DLClause> dlClauses)
Method Detail

clear

public void clear()

clearInvalids

public void clearInvalids()

hasViolation

public boolean hasViolation()

blockerChanged

public void blockerChanged(Node node)

isBlockValid

public boolean isBlockValid(Node blocked)

resetChildFlags

protected void resetChildFlags(Node parent)

satisfiesConstraintsForBlockedX

protected boolean satisfiesConstraintsForBlockedX(Node blockedX)

isSatisfiedAtLeastForBlocked

protected boolean isSatisfiedAtLeastForBlocked(AtLeastConcept atleast,
                                               Node blockedX,
                                               Node blocker,
                                               Node blockerParent)

satisfiesDLClauseForBlockedX

protected boolean satisfiesDLClauseForBlockedX(BlockingValidator.DLClauseInfo dlClauseInfo,
                                               Node blockedX)

satisfiesDLClauseForBlockedXAndAnyZ

protected boolean satisfiesDLClauseForBlockedXAndAnyZ(BlockingValidator.DLClauseInfo dlClauseInfo,
                                                      Node blockedX,
                                                      int parentOfBlockedXIndex,
                                                      int toMatchIndex)

satisfiesDLClauseForBlockedXAnyZAndAnyY

protected boolean satisfiesDLClauseForBlockedXAnyZAndAnyY(BlockingValidator.DLClauseInfo dlClauseInfo,
                                                          Node blockedX,
                                                          int parentOfBlockedXIndex,
                                                          int toMatchIndexXToY,
                                                          int toMatchIndexYToX)

satisfiesDLClauseForBlockedXAndMatchedNodes

protected boolean satisfiesDLClauseForBlockedXAndMatchedNodes(BlockingValidator.DLClauseInfo dlClauseInfo,
                                                              Node blockedX,
                                                              int parentOfBlockedXIndex)

checkConstraintsForNonblockedX

protected void checkConstraintsForNonblockedX(Node nonblockedX)

checkAtLeastForNonblocked

protected void checkAtLeastForNonblocked(AtLeastConcept atleast,
                                         Node nonblocked)

checkDLClauseForNonblockedX

protected void checkDLClauseForNonblockedX(BlockingValidator.DLClauseInfo dlClauseInfo,
                                           Node nonblockedX)

checkDLClauseForNonblockedXAndAnyZ

protected void checkDLClauseForNonblockedXAndAnyZ(BlockingValidator.DLClauseInfo dlClauseInfo,
                                                  Node nonblockedX,
                                                  int toMatchIndex)

checkDLClauseForNonblockedXAnyZAndAnyY

protected void checkDLClauseForNonblockedXAnyZAndAnyY(BlockingValidator.DLClauseInfo dlClauseInfo,
                                                      Node nonblockedX,
                                                      int toMatchIndexXtoY,
                                                      int toMatchIndexYtoX)

checkDLClauseForNonblockedXAndMatchedNodes

protected void checkDLClauseForNonblockedXAndMatchedNodes(BlockingValidator.DLClauseInfo dlClauseInfo,
                                                          Node nonblockedX)