public class AnalysisController extends Object
MeasurementController
, ResultAnalysers
and
the FinalJudge
to measure and analyse parametric dependencies.
MeasurementController
, only the FinalJudge
or only one ProposedExpressionAnalyser
(or none of the previous) running. They
may use parallelisation as they wish but are self-responsible for synchronisation.
ProposedExpressionAnalyser
will only be called if its
ProposedExpressionAnalyser.canContribute(de.uka.ipd.sdq.beagle.core.analysis.ReadOnlyProposedExpressionAnalyserBlackboardView)
method returns true
. The
MeasurementController
will only be called if its
canMeasure
method returns true
.
MeasurementController
will be always
be called next if its canMeasure
method
returns true
.
ProposedExpressionAnalyser
whose
canContribute
method returns
true
will be called.
ProposedExpressionAnalyser
can contribute.
MeasurementController
,
Blackboard
Constructor and Description |
---|
AnalysisController(Blackboard blackboard,
Set<MeasurementTool> measurementTools,
Set<MeasurementResultAnalyser> measurementResultAnalysers,
Set<ProposedExpressionAnalyser> proposedExpressionAnalysers)
Creates a controller to analyse all elements written on
blackboard . |
Modifier and Type | Method and Description |
---|---|
AnalysisState |
getAnalysisState()
Returns the current state of the analysis.
|
void |
performAnalysis()
Runs the complete analysis, including measurements, result analysis and the final
judging.
|
void |
setAnalysisState(AnalysisState analysisState)
Sets the current state of the analysis to
analysisState . |
public AnalysisController(Blackboard blackboard, Set<MeasurementTool> measurementTools, Set<MeasurementResultAnalyser> measurementResultAnalysers, Set<ProposedExpressionAnalyser> proposedExpressionAnalysers)
blackboard
.blackboard
- A blackboard having everything to be analysed written on it. Must
not be null
.measurementTools
- The MeasurementTool
s to use. Must not be
null
and must not contain null
.measurementResultAnalysers
- The MeasurementResultAnalyser
s to use.
Must not be null
and must not contain null
.proposedExpressionAnalysers
- The ProposedExpressionAnalyser
s to use.
Must not be null
and must not contain null
.public void performAnalysis()
public AnalysisState getAnalysisState()
public void setAnalysisState(AnalysisState analysisState)
analysisState
. The analysis must
be started before this method is called. Otherwise an IllegalStateException
will be thrown.analysisState
- The state the analysis will be in after this method has been
called.