org.deri.iris.rules.safety
Class AugmentingRuleSafetyProcessor

java.lang.Object
  extended by org.deri.iris.rules.safety.AugmentingRuleSafetyProcessor
All Implemented Interfaces:
IRuleSafetyProcessor

public class AugmentingRuleSafetyProcessor
extends Object
implements IRuleSafetyProcessor

Uses the trick of augmenting rules to artificially limit variables. If any head variable is found that does not occur in a positive ordinary predicate then a literal is added to the rule body $UNIVERSE$( variable ). This has the effect of binding the variable to the 'universe' of known ground terms.


Constructor Summary
AugmentingRuleSafetyProcessor()
           
 
Method Summary
 IRule process(IRule rule)
          Process the rule.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AugmentingRuleSafetyProcessor

public AugmentingRuleSafetyProcessor()
Method Detail

process

public IRule process(IRule rule)
              throws RuleUnsafeException
Description copied from interface: IRuleSafetyProcessor
Process the rule.

Specified by:
process in interface IRuleSafetyProcessor
Parameters:
rule - The rule to process.
Returns:
The processed rule.
Throws:
RuleUnsafeException