Class AbstractLQNAnalysis
- java.lang.Object
-
- de.uka.ipd.sdq.dsexplore.analysis.AbstractAnalysis
-
- de.uka.ipd.sdq.dsexplore.analysis.lqn.AbstractLQNAnalysis
-
- All Implemented Interfaces:
IAnalysis
- Direct Known Subclasses:
LQNSolverAnalysis,LQSimAnalysis
public abstract class AbstractLQNAnalysis extends AbstractAnalysis implements IAnalysis
-
-
Field Summary
Fields Modifier and Type Field Description protected intiterationprotected static org.apache.log4j.LoggerloggerLogger for log4j.-
Fields inherited from class de.uka.ipd.sdq.dsexplore.analysis.AbstractAnalysis
blackboard, criteriaList, criterionToAspect, qualityAttribute
-
-
Constructor Summary
Constructors Constructor Description AbstractLQNAnalysis()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidanalyse(PCMPhenotype pheno, IProgressMonitor monitor)Analyses the current PCM instance from the blackboard.protected abstract StringgetSolverMessageString()protected abstract IAnalysisResulthandleException(RuntimeException e, org.palladiosimulator.solver.models.PCMInstance pcm)try to handle the exception or throw it back.voidinitialise(DSEWorkflowConfiguration configuration)Saves the passed Run Configuration information so that we do not have to pass them as parameters all the time.protected abstract ILQNResultretrieveResult(org.palladiosimulator.solver.models.PCMInstance pcm, org.palladiosimulator.solver.lqn.LqnModelType model, org.opt4j.core.Criterion criterion)IAnalysisResultretrieveResultsFor(PCMPhenotype pheno, org.opt4j.core.Criterion criterion)FIXME: Make this method independent of the blackboard state.voidsetBlackboard(de.uka.ipd.sdq.workflow.mdsd.blackboard.MDSDBlackboard blackboard)-
Methods inherited from class de.uka.ipd.sdq.dsexplore.analysis.AbstractAnalysis
canEvaluateAspect, getCriterions, getPCMInstance, getQualityAttribute, hasStatisticResultsFor, initialiseCriteria
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.uka.ipd.sdq.dsexplore.analysis.IAnalysis
getCriterions, getQualityAttribute, hasObjectivePerUsageScenario, hasStatisticResultsFor
-
-
-
-
Method Detail
-
analyse
public void analyse(PCMPhenotype pheno, IProgressMonitor monitor) throws AnalysisFailedException, CoreException, de.uka.ipd.sdq.workflow.jobs.UserCanceledException
Analyses the current PCM instance from the blackboard. This method can only be called after calling#initialise(MDSDBlackboard, ILaunchConfiguration, ILaunch). The PCM instance for thisPCMPhenotypehas to be copied to the Blackboard into partitionLoadPCMModelsIntoBlackboardJob.PCM_MODELS_PARTITION_ID before callings this. Otherwise, a wrong PCM model is analysed. The Analysis has to store the results for thisPCMPhenotype, so thatIAnalysis.retrieveResultsFor(PCMPhenotype, Criterion)can be called on it multiple times. The results should be stored in a memory-efficient way.- Specified by:
analysein interfaceIAnalysis- Parameters:
pheno- TODO- Throws:
de.uka.ipd.sdq.workflow.jobs.UserCanceledExceptionAnalysisFailedExceptionCoreException
-
retrieveResultsFor
public IAnalysisResult retrieveResultsFor(PCMPhenotype pheno, org.opt4j.core.Criterion criterion) throws AnalysisFailedException
FIXME: Make this method independent of the blackboard state.- Specified by:
retrieveResultsForin interfaceIAnalysis- Parameters:
pheno- TODO- Returns:
- Throws:
AnalysisFailedException
-
handleException
protected abstract IAnalysisResult handleException(RuntimeException e, org.palladiosimulator.solver.models.PCMInstance pcm)
try to handle the exception or throw it back.- Parameters:
e-pcm-- Returns:
-
getSolverMessageString
protected abstract String getSolverMessageString()
-
retrieveResult
protected abstract ILQNResult retrieveResult(org.palladiosimulator.solver.models.PCMInstance pcm, org.palladiosimulator.solver.lqn.LqnModelType model, org.opt4j.core.Criterion criterion) throws AnalysisFailedException
- Throws:
AnalysisFailedException
-
initialise
public void initialise(DSEWorkflowConfiguration configuration) throws CoreException
Saves the passed Run Configuration information so that we do not have to pass them as parameters all the time. For real analyses, you need to call setBlackboard before this so that the objectives can be determined from the usage model. For theAnalysisProxyit is ok to call this first, you then need to call setBlackboard before callingIAnalysis.analyse(PCMPhenotype, IProgressMonitor),#retrieveLastResultsForObjective(Objective),#getObjectives(), orIAnalysis.hasObjectivePerUsageScenario().- Specified by:
initialisein interfaceIAnalysis- Throws:
CoreException- See Also:
de.uka.ipd.sdq.dsexplore.analysis.IAnalysis#initialise(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
-
setBlackboard
public void setBlackboard(de.uka.ipd.sdq.workflow.mdsd.blackboard.MDSDBlackboard blackboard)
- Specified by:
setBlackboardin interfaceIAnalysis
-
-