Class LigerPlanner

  • All Implemented Interfaces:
    IPlanner

    public class LigerPlanner
    extends Planner
    Implements a planner class used by the partial recall execution engine class. It receives a link specification as input and generates an immutable NestedPlan. This planner has the same functionality as the Canonical planner, but updates information regarding the runtime and selectivity of the generated plan of the link specification and its sub-specifications. It is only to be used by the partial recall execution engine class during the production of the best subsumed link specification. Instances of the LigerPlanner can not and should not be created via a configuration file or the EngineFactory.
    Version:
    1.0
    Author:
    Kleanthi Georgala (georgala@informatik.uni-leipzig.de)
    • Field Detail

      • source

        public ACache source
        Source cache.
      • target

        public ACache target
        Target cache.
    • Constructor Detail

      • LigerPlanner

        public LigerPlanner​(ACache source,
                            ACache target)
        Constructor of the Helios planner class.
        Parameters:
        source - Source cache
        target - Target get
    • Method Detail

      • plan

        public NestedPlan plan​(LinkSpecification spec)
        Generates a NestedPlan for a link specification. If the link specification is null or empty it returns an empty plan. If the link specification is atomic, the planner generates a simple plan that consists of one RUN instruction. If the link specification is complex, firstly it generates a plan for each of the children specifications and sets them as subPlans. Then, it assigns to the plan the corresponding command based on the link specification operator and finally creates a filtering instruction using the filtering expression and threshold of the input link specification.
        Parameters:
        spec - Input link specification
        Returns:
        a NestedPlan of the input link specification
      • isStatic

        public boolean isStatic()
        Description copied from interface: IPlanner
        Returns the status of the planner.
        Returns:
        true if the planner is static or false if it is dynamic
      • normalize

        public LinkSpecification normalize​(LinkSpecification spec)
        Description copied from interface: IPlanner
        Normalization of input link specification.
        Parameters:
        spec - The link specification to normalize
        Returns:
        the normalized link specification