public class Engine
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<net.ssehub.easy.varModel.confModel.IDecisionVariable> |
constraintVariables |
private java.util.List<java.lang.Integer> |
errorClassification |
private long |
evaluationTime |
private int |
failedAssignments |
private int |
failedConstraints |
private java.util.List<net.ssehub.easy.varModel.model.Project> |
failedElementProjects |
private java.util.List<net.ssehub.easy.reasoning.core.reasoner.Message.SuggestionType> |
failedElementSuggestions |
private java.util.List<net.ssehub.easy.varModel.model.ModelElement> |
failedModelElements |
private java.util.List<net.ssehub.easy.varModel.cst.ConstraintSyntaxTree> |
problemConstraintParts |
private java.util.List<net.ssehub.easy.varModel.model.Constraint> |
problemConstraints |
private java.util.List<java.util.Set<net.ssehub.easy.varModel.confModel.IDecisionVariable>> |
problemDecisions |
private int |
reevaluationCount |
private Resolver |
resolver |
private net.ssehub.easy.reasoning.core.reasoner.ReasoningResult |
result |
private java.util.List<java.util.Set<net.ssehub.easy.varModel.model.AbstractVariable>> |
variablesInConstraints |
private static java.lang.String |
VIOLATED_CONSTRAINTS |
private static java.lang.String |
VIOLATED_VARIABLES |
| Constructor and Description |
|---|
Engine(net.ssehub.easy.varModel.confModel.Configuration cfg,
net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig,
net.ssehub.easy.basics.progress.ProgressObserver observer,
net.ssehub.easy.reasoning.core.reasoner.IReasonerInterceptor interceptor)
Main constructor for creating an instance of the reasoner.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
analyzeMessages(FailedElements failedElements)
Analyzes remaining messages.
|
private void |
analyzeProblemConstraints(FailedElements failedElements)
Method for analyzing problem points - failed constraints and associated variables.
|
private void |
analyzeProblemVariables(FailedElements failedElements)
Method for analyzing failed elements and creating error messages.
|
(package private) void |
clear()
Clears this instance for reuse.
|
private void |
clearFailedInfo()
Clears information about failed elements.
|
private net.ssehub.easy.reasoning.core.reasoner.Message |
createMessage(java.lang.String text,
net.ssehub.easy.basics.messages.Status status)
Method for creating custom message fields.
|
long |
getEvaluationTime()
Method for getting evaluation time of the model.
|
long |
getReevaluationCount()
Method for getting reevaluation count of the model.
|
(package private) boolean |
isRunning()
Returns whether the reasoner is (still) operating.
|
(package private) void |
markForReuse()
Marks this instance for re-use.
|
net.ssehub.easy.reasoning.core.reasoner.ReasoningResult |
reason()
Method for launching the reasoner.
|
(package private) void |
reInit()
Re-initializes this resolver instance to allocated resources only if really needed.
|
(package private) void |
setAssignmentState(net.ssehub.easy.varModel.confModel.IAssignmentState state)
Sets the desired assignment state.
|
(package private) boolean |
stop()
Stops/terminates reasoning.
|
private static final java.lang.String VIOLATED_CONSTRAINTS
private static final java.lang.String VIOLATED_VARIABLES
private Resolver resolver
private net.ssehub.easy.reasoning.core.reasoner.ReasoningResult result
private java.util.List<net.ssehub.easy.varModel.model.ModelElement> failedModelElements
private java.util.List<java.util.Set<net.ssehub.easy.varModel.model.AbstractVariable>> variablesInConstraints
private java.util.List<java.util.Set<net.ssehub.easy.varModel.confModel.IDecisionVariable>> problemDecisions
private java.util.List<net.ssehub.easy.varModel.cst.ConstraintSyntaxTree> problemConstraintParts
private java.util.List<net.ssehub.easy.varModel.model.Constraint> problemConstraints
private java.util.List<net.ssehub.easy.varModel.model.Project> failedElementProjects
private java.util.List<net.ssehub.easy.reasoning.core.reasoner.Message.SuggestionType> failedElementSuggestions
private java.util.List<net.ssehub.easy.varModel.confModel.IDecisionVariable> constraintVariables
private java.util.List<java.lang.Integer> errorClassification
private long evaluationTime
private int reevaluationCount
private int failedConstraints
private int failedAssignments
public Engine(net.ssehub.easy.varModel.confModel.Configuration cfg,
net.ssehub.easy.reasoning.core.reasoner.ReasonerConfiguration reasonerConfig,
net.ssehub.easy.basics.progress.ProgressObserver observer,
net.ssehub.easy.reasoning.core.reasoner.IReasonerInterceptor interceptor)
cfg - Configuration to reason on.reasonerConfig - the reasoner configuration to be used for reasoning (e.g. taken from the UI,
may be null)observer - An optional progress observer, shall be ProgressObserver.NO_OBSERVER if unusedinterceptor - an optional interceptor instancepublic net.ssehub.easy.reasoning.core.reasoner.ReasoningResult reason()
ReasoningResult failed constraints and assignments, if exist.private void analyzeProblemConstraints(FailedElements failedElements)
failedElements - Problem points.private void analyzeProblemVariables(FailedElements failedElements)
failedElements - All failed elements from the reasoner.private void analyzeMessages(FailedElements failedElements)
failedElements - All failed elements from the reasoner.private void clearFailedInfo()
private net.ssehub.easy.reasoning.core.reasoner.Message createMessage(java.lang.String text,
net.ssehub.easy.basics.messages.Status status)
text - Text for the message.status - of the messagepublic long getEvaluationTime()
public long getReevaluationCount()
boolean isRunning()
true for operating, false elseboolean stop()
true if the reasoner tries to stop, false else
(operation not implemented)void clear()
markForReuse(),
reInit()void markForReuse()
#resolve().void reInit()
markForReuse(),
clear()void setAssignmentState(net.ssehub.easy.varModel.confModel.IAssignmentState state)
AssignmentState.DERIVED, but specific reasoning
operations such as configuration initialization may require a different state.state - the state to useCopyright © 2009 - 2018 SSE. All Rights Reserved.