public class SimpleExecutionEngine extends ExecutionEngine
buffer, source, sourceVariable, target, targetVariable| Constructor and Description |
|---|
SimpleExecutionEngine(ACache source,
ACache target,
String sourceVar,
String targetVar)
Constructor for a simple execution engine.
|
| Modifier and Type | Method and Description |
|---|---|
AMapping |
execute(LinkSpecification spec,
IPlanner planner)
Executes a link specification.
|
AMapping |
executeDifference(AMapping m1,
AMapping m2)
Implements the difference between two mappings.
|
AMapping |
executeDynamic(LinkSpecification spec,
DynamicPlanner planner)
Executes an input link specification L in a dynamic fashion.
|
AMapping |
executeFilter(Instruction inst,
AMapping input)
Runs the filtering operator.
|
AMapping |
executeInstructions(Plan plan)
Implementation of the execution of a plan.
|
AMapping |
executeIntersection(AMapping m1,
AMapping m2)
Implements the intersection between two mappings.
|
AMapping |
executeRun(Instruction inst)
Implements the execution of the RUN operator.
|
AMapping |
executeStatic(NestedPlan plan)
Executes an immutable nested plan in lNr depth first oder.
|
AMapping |
executeUnion(AMapping m1,
AMapping m2)
Implements the union between two mappings.
|
public AMapping executeInstructions(Plan plan)
plan - An execution planpublic AMapping executeRun(Instruction inst)
inst - Atomic RUN instructionpublic AMapping executeFilter(Instruction inst, AMapping input)
inst - Input instruction with FILTER commandinput - Mapping that is to be filteredpublic AMapping executeDifference(AMapping m1, AMapping m2)
m1 - First Mappingm2 - Second Mappingpublic AMapping executeIntersection(AMapping m1, AMapping m2)
m1 - First Mappingm2 - Second Mappingpublic AMapping executeUnion(AMapping m1, AMapping m2)
m1 - First Mappingm2 - Second Mappingpublic AMapping executeStatic(NestedPlan plan)
execute(LinkSpecification, IPlanner). If a plan is atomic, it is
executed and the result mapping is returned. If it is complex, the
operator is used on the top 2 previously retrieved mappings and the
result mapping of the previous step gets filtered using the filtering
instruction of the plan (if any).plan - A nested plan created by a static planner (Canonical or
Helios)public AMapping executeDynamic(LinkSpecification spec, DynamicPlanner planner)
execute(LinkSpecification, IPlanner). If L is already executed,
then the corresponding mapping is retrieved from the dynamicResults and
returned. If L is not executed, then the function checks if there is
another previously executed specification A with the same fullExpression
( LinkSpecification.fullExpression but
lower threshold. If A exists, then it retrieves the mapping of A, filters
it with input link specification threshold and returns the mapping. If A
does not exist, the function checks whether L is atomic or not. If L is
atomic then the planner creates a nested plan P with a RUN instruction.
The function executes P and the retrieved mapping is returned. If L is
not atomic, then the planner creates an initial plan P for L and the
function executes the first subPlan of P, P1. Then, if L has an OR or XOR
operator, the second subPlan of P, P2 is executed, the operator functions
is applied to the mappings returned by P1 and P2 and the resulting
mapping is filtered and returned. In case of an AND or MINUS operator,
the executeDynamic function invokes the planning function again to
re-plan the remaining non-executed parts of P (if any). Then it executes
the second sub-plan of P, that can vary given from the initial given the
intermediate executed steps of the first plan.spec - The input link specificationplanner, - The dynamic plannerpublic AMapping execute(LinkSpecification spec, IPlanner planner)
spec - The link specification, after it was re-writtenplanner - The chosen plannerCopyright © 2018. All rights reserved.