Class SecurityEvaluator

java.lang.Object
de.uka.ipd.sdq.dsexplore.analysis.AbstractAnalysis
edu.kit.ipd.are.dsexplore.analysis.security.SecurityEvaluator
All Implemented Interfaces:
IAnalysis

public class SecurityEvaluator extends AbstractAnalysis implements IAnalysis
Evaluator for Security
  • Constructor Details

    • SecurityEvaluator

      public SecurityEvaluator()
  • Method Details

    • analyse

      public void analyse(PCMPhenotype pheno, IProgressMonitor monitor)
      Description copied from interface: IAnalysis
      Analyses the current PCM instance from the blackboard. This method can only be called after calling #initialise(MDSDBlackboard, ILaunchConfiguration, ILaunch). The PCM instance for this PCMPhenotype has to be copied to the Blackboard into partition LoadPCMModelsIntoBlackboardJob.PCM_MODELS_PARTITION_ID before callings this. Otherwise, a wrong PCM model is analysed. The Analysis has to store the results for this PCMPhenotype, so that IAnalysis.retrieveResultsFor(PCMPhenotype, Criterion) can be called on it multiple times. The results should be stored in a memory-efficient way.
      Specified by:
      analyse in interface IAnalysis
      Parameters:
      pheno - TODO
    • initialise

      public void initialise(DSEWorkflowConfiguration configuration) throws CoreException
      Description copied from interface: IAnalysis
      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 the AnalysisProxy it is ok to call this first, you then need to call setBlackboard before calling IAnalysis.analyse(PCMPhenotype, IProgressMonitor), #retrieveLastResultsForObjective(Objective), #getObjectives(), or IAnalysis.hasObjectivePerUsageScenario().
      Specified by:
      initialise in interface IAnalysis
      Throws:
      CoreException
    • hasStatisticResultsFor

      public boolean hasStatisticResultsFor() throws CoreException
      Description copied from interface: IAnalysis
      Returns whether this analysis also provides statistics for the objectives. This method can be called without initialization.
      Specified by:
      hasStatisticResultsFor in interface IAnalysis
      Overrides:
      hasStatisticResultsFor in class AbstractAnalysis
      Returns:
      Throws:
      CoreException
    • retrieveResultsFor

      public IAnalysisResult retrieveResultsFor(PCMPhenotype pheno, org.opt4j.core.Criterion criterion) throws CoreException, AnalysisFailedException
      Description copied from interface: IAnalysis
      This method can only be called after calling a #analyse() for this phenotype and the current PCM models of this candidate have to be in the Blackboard partition LoadPCMModelsIntoBlackboardJob.PCM_MODELS_PARTITION_ID FIXME: Make this method independent of the blackboard state. Currently, the SimuComAnalysis and the LQN analyses still require the current PCM model to be on the blackboard.
      Specified by:
      retrieveResultsFor in interface IAnalysis
      Parameters:
      pheno - TODO
      Returns:
      Throws:
      CoreException
      AnalysisFailedException
    • hasObjectivePerUsageScenario

      public boolean hasObjectivePerUsageScenario() throws CoreException
      Description copied from interface: IAnalysis
      Returns whether this analysis provides one objective per usage scenario. This method can be called before calling #initialise(MDSDBlackboard, ILaunchConfiguration, ILaunch, IProgressMonitor).
      Specified by:
      hasObjectivePerUsageScenario in interface IAnalysis
      Throws:
      CoreException
    • setBlackboard

      public void setBlackboard(de.uka.ipd.sdq.workflow.mdsd.blackboard.MDSDBlackboard blackboard)
      Specified by:
      setBlackboard in interface IAnalysis