Class RelationEvaluation
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint
-
- org.eclipse.viatra.query.runtime.matchers.psystem.EnumerablePConstraint
-
- org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.RelationEvaluation
-
- All Implemented Interfaces:
IMultiQueryReference
,PConstraint
,PTraceable
public class RelationEvaluation extends EnumerablePConstraint implements IMultiQueryReference
A constraint which prescribes the evaluation of custom Java logic that takes an arbitrary number of input relations and produces one output relation. Contrast this toExpressionEvaluation
, which produces a single output value given an input tuple. The assumption is that the relation evaluation logic is not incremental, that is, it can only perform from-scratch computation of the output relation given the complete input relations. To this end, the relation evaluator always receives the complete input relations with all their contents as input. However, the evaluator engine makes sure that the output of the relation evaluation is at least "seemingly" incremental. This means that the underlying computation network computes the delta on the output compared to the previous output and only propagates the delta further.- Since:
- 2.8
-
-
Field Summary
-
Fields inherited from class org.eclipse.viatra.query.runtime.matchers.psystem.EnumerablePConstraint
variablesTuple
-
Fields inherited from class org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint
pBody
-
Fields inherited from interface org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint
COMPARE_BY_MONOTONOUS_ID
-
-
Constructor Summary
Constructors Constructor Description RelationEvaluation(PBody body, Tuple variablesTuple, java.util.List<PQuery> inputQueries, IRelationEvaluator evaluator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IRelationEvaluator
getEvaluator()
java.util.List<PQuery>
getReferredQueries()
-
Methods inherited from class org.eclipse.viatra.query.runtime.matchers.psystem.EnumerablePConstraint
doReplaceVariable, getDeducedVariables, getVariableInTuple, getVariablesTuple, toStringRest, toStringRestRest
-
Methods inherited from class org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint
checkSanity, delete, getAffectedVariables, getBody, getFunctionalDependencies, getMonotonousID, getPSystem, replaceVariable, toString
-
-
-
-
Constructor Detail
-
RelationEvaluation
public RelationEvaluation(PBody body, Tuple variablesTuple, java.util.List<PQuery> inputQueries, IRelationEvaluator evaluator)
-
-
Method Detail
-
getEvaluator
public IRelationEvaluator getEvaluator()
-
getReferredQueries
public java.util.List<PQuery> getReferredQueries()
- Specified by:
getReferredQueries
in interfaceIMultiQueryReference
-
-