lp.trans
Class EvolpTransformer

java.lang.Object
  extended by lp.trans.EvolpTransformer

public class EvolpTransformer
extends Object

Transforms an evolving logic program into an equivalent normal logic program.

Version:
0.9.0
Author:
Martin Slota

Nested Class Summary
private  class EvolpTransformer.AtomAppearance
          A container for metadata about an atom's appearance in the input program.
private  class EvolpTransformer.TransformationHelper
           
 
Field Summary
private  Map<LpAtom,EvolpTransformer.AtomAppearance> appearances
           
private  int eventCount
           
private  List<LogicProgram> events
           
private  EvolpTransformer.TransformationHelper helper
           
private  List<LogicProgram> programs
           
 
Constructor Summary
EvolpTransformer()
          Creates a new instance of EvolpTransformer.
 
Method Summary
private  void extractAppearance(LpRule r, int level, boolean eventRule)
           
private  void extractAssertions(LpRule startRule, int startLevel, boolean eventRule)
           
private  EvolpTransformer.AtomAppearance getData(LpAtom atom)
           
private  void outputRejection(TransformedEvolp result, LpRule r, int group, int level, boolean assertion)
           
 TransformedEvolp transform(EvolpProgram evolp)
          Constructs the transformational equivalent of evolp.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

programs

private final List<LogicProgram> programs

events

private List<LogicProgram> events

helper

private final EvolpTransformer.TransformationHelper helper

appearances

private final Map<LpAtom,EvolpTransformer.AtomAppearance> appearances

eventCount

private int eventCount
Constructor Detail

EvolpTransformer

public EvolpTransformer()
Creates a new instance of EvolpTransformer.

Method Detail

getData

private EvolpTransformer.AtomAppearance getData(LpAtom atom)

transform

public TransformedEvolp transform(EvolpProgram evolp)
Constructs the transformational equivalent of evolp.

Parameters:
evolp - the evolving logic program that should be transformed
Returns:
the normal logic program equivalent to evolp
Throws:
IllegalArgumentException - if evolp.isGround() returns false

extractAssertions

private void extractAssertions(LpRule startRule,
                               int startLevel,
                               boolean eventRule)

extractAppearance

private void extractAppearance(LpRule r,
                               int level,
                               boolean eventRule)

outputRejection

private void outputRejection(TransformedEvolp result,
                             LpRule r,
                             int group,
                             int level,
                             boolean assertion)