Class DSEWorkflowConfiguration

java.lang.Object
de.uka.ipd.sdq.workflow.configuration.AbstractJobConfiguration
de.uka.ipd.sdq.workflow.launchconfig.AbstractWorkflowBasedRunConfiguration
org.palladiosimulator.analyzer.workflow.configurations.AbstractPCMWorkflowRunConfiguration
de.uka.ipd.sdq.dsexplore.launch.DSEWorkflowConfiguration
All Implemented Interfaces:
de.uka.ipd.sdq.workflow.configuration.IJobConfiguration, Cloneable

public class DSEWorkflowConfiguration extends org.palladiosimulator.analyzer.workflow.configurations.AbstractPCMWorkflowRunConfiguration
Configuration for a PerOpteryx run. Contains different types of information:
  • Inherits the PCM model information
  • Contains information on the run, such as max iterations
  • Contains the raw ILaunchConfiguration in order to derive SimuCom and PCMSolver configuration (TODO: refactor, make this a composite configuration and initialise the proper configurations earlier. Make the analysis extension provide access to the appropriate configuration builder.)
  • Field Details

    • startTimestamp

      public final String startTimestamp
  • Constructor Details

    • DSEWorkflowConfiguration

      public DSEWorkflowConfiguration()
  • Method Details

    • setUseTerminationCriteria

      public void setUseTerminationCriteria(boolean useTerminationCriteria)
    • getUseTerminationCriteria

      public boolean getUseTerminationCriteria()
    • setRunInComparisionMode

      public void setRunInComparisionMode(boolean runInComparisionMode)
    • getRunInComparisionMode

      public boolean getRunInComparisionMode()
    • setActivateComposedTerminationCriteria

      public void setActivateComposedTerminationCriteria(boolean activateComposedTerminationCriteria)
    • getActivateComposedTerminationCriteria

      public boolean getActivateComposedTerminationCriteria()
    • setComposedCriteriaExpression

      public void setComposedCriteriaExpression(String expression)
    • getComposedCriteriaExpression

      public String getComposedCriteriaExpression()
    • setTCConfigurations

      public void setTCConfigurations(List<IConfiguration> tcConfigurations)
    • getTCConfigurations

      public List<IConfiguration> getTCConfigurations()
    • getUseStartingPopulationHeuristic

      public boolean getUseStartingPopulationHeuristic()
      Returns:
      the useStartingPopulationHeuristic
    • setUseStartingPopulationHeuristic

      public void setUseStartingPopulationHeuristic(boolean useStartingPopulationHeuristic)
      Parameters:
      useStartingPopulationHeuristic - the useStartingPopulationHeuristic to set
    • getMinNumberOfResourceContainers

      public int getMinNumberOfResourceContainers()
      Returns:
      the minNumberOfResourceContainers
    • setMinNumberOfResourceContainers

      public void setMinNumberOfResourceContainers(int minNumberOfResourceContainers)
      Parameters:
      minNumberOfResourceContainers - the minNumberOfResourceContainers to set
    • getMaxNumberOfResourceContainers

      public int getMaxNumberOfResourceContainers()
      Returns:
      the maxNumberOfResourceContainers
    • setMaxNumberOfResourceContainers

      public void setMaxNumberOfResourceContainers(int maxNumberOfResourceContainers)
      Parameters:
      maxNumberOfResourceContainers - the maxNumberOfResourceContainers to set
    • getNumberOfCandidatesPerAllocationLevel

      public int getNumberOfCandidatesPerAllocationLevel()
      Returns:
      the numberOfCandidatesPerAllocationLevel
    • setNumberOfCandidatesPerAllocationLevel

      public void setNumberOfCandidatesPerAllocationLevel(int numberOfCandidatesPerAllocationLevel)
      Parameters:
      numberOfCandidatesPerAllocationLevel - the numberOfCandidatesPerAllocationLevel to set
    • getDecimalFormat

      public String getDecimalFormat()
    • getOriginalConfig

      public ILaunchConfiguration getOriginalConfig()
    • setOriginalConfig

      public void setOriginalConfig(ILaunchConfiguration originalConfig)
    • setMaxIterations

      public void setMaxIterations(int maxIterations)
    • setMrtRequirements

      public void setMrtRequirements(double mrtRequirements)
    • setIndividualsPerGeneration

      public void setIndividualsPerGeneration(int individualsPerGeneration)
    • setMaxCost

      public void setMaxCost(double maxCost)
    • setMaxPOFOD

      public void setMaxPOFOD(double maxPOFOD)
    • setNewProblem

      public void setNewProblem(boolean newProblem)
    • setOptimise

      public void setOptimise(boolean optimise)
    • setDesignDecisionFileName

      public void setDesignDecisionFileName(URI designDecisionFileName)
    • setConfigurationName

      public void setConfigurationName(String configurationName)
    • getMaxIterations

      public int getMaxIterations()
    • getIndividualsPerGeneration

      public int getIndividualsPerGeneration()
    • isNewProblem

      public boolean isNewProblem()
    • isOptimise

      public boolean isOptimise()
    • getMrtRequirements

      public double getMrtRequirements()
    • getMaxCost

      public double getMaxCost()
    • getMaxPOFOD

      public double getMaxPOFOD()
    • getErrorMessage

      public String getErrorMessage()
      Specified by:
      getErrorMessage in interface de.uka.ipd.sdq.workflow.configuration.IJobConfiguration
      Specified by:
      getErrorMessage in class de.uka.ipd.sdq.workflow.configuration.AbstractJobConfiguration
    • setDefaults

      public void setDefaults()
      Specified by:
      setDefaults in interface de.uka.ipd.sdq.workflow.configuration.IJobConfiguration
      Specified by:
      setDefaults in class de.uka.ipd.sdq.workflow.configuration.AbstractJobConfiguration
    • getOriginalConfiguration

      public ILaunchConfiguration getOriginalConfiguration()
    • hasPredefinedInstances

      public boolean hasPredefinedInstances() throws CoreException
      Throws:
      CoreException
    • isRandomSearch

      public boolean isRandomSearch()
    • isRuleBasedSearch

      public boolean isRuleBasedSearch()
    • isBayes

      public boolean isBayes()
    • isEvolutionarySearch

      public boolean isEvolutionarySearch()
    • isFullRuleBasedSearch

      public boolean isFullRuleBasedSearch()
      Returns whether the rule based search should explore the full search tree up to the depth given by the number of iterations. Otherwise, suboptimal candidates are pruned and not further explored per iteration.
      Returns:
    • getPredefinedInstancesFileName

      public URI getPredefinedInstancesFileName()
    • getCacheInstancesFileName

      public URI getCacheInstancesFileName()
    • getPredefinedAllCandidatesFileName

      public URI getPredefinedAllCandidatesFileName()
    • getArchiveCandidateFileName

      public URI getArchiveCandidateFileName()
    • setPredefinedInstancesFileName

      public void setPredefinedInstancesFileName(URI name)
    • setCacheInstancesFileName

      public void setCacheInstancesFileName(URI name)
    • setPredefinedAllCandidatesFileName

      public void setPredefinedAllCandidatesFileName(URI name)
    • setArchiveCandidateFileName

      public void setArchiveCandidateFileName(URI name)
    • hasCacheInstances

      public boolean hasCacheInstances() throws CoreException
      Throws:
      CoreException
    • getDesignDecisionFileName

      public URI getDesignDecisionFileName()
    • setRawConfig

      public void setRawConfig(ILaunchConfiguration configuration)
    • getRawConfiguration

      public ILaunchConfiguration getRawConfiguration()
    • getConfigurationName

      public String getConfigurationName()
    • setResultFolder

      public void setResultFolder(URI resultFolder)
      Parameters:
      resultFolder - the resultFolder to set
    • getResultFolder

      public URI getResultFolder()
      Returns:
      the resultFolder
    • getCrossoverRate

      public double getCrossoverRate()
    • setCrossoverRate

      public void setCrossoverRate(double crossoverRate)
    • isConsiderQMLBoundsWhenApplyingHeuristics

      public boolean isConsiderQMLBoundsWhenApplyingHeuristics()
    • setConsiderQMLBoundsWhenApplyingHeuristics

      public void setConsiderQMLBoundsWhenApplyingHeuristics(boolean considerQMLBoundsWhenApplyingHeuristics)
    • setTacticsProbability

      public void setTacticsProbability(double tacticsProbability)
    • getTacticsProbability

      public double getTacticsProbability()
    • getUseReallocation

      public boolean getUseReallocation()
    • setUseReallocation

      public void setUseReallocation(boolean useReallocation)
    • getReallocationThresholdUtilisationDifference

      public double getReallocationThresholdUtilisationDifference()
    • setReallocationThresholdUtilisationDifference

      public void setReallocationThresholdUtilisationDifference(double reallocationThresholdUtilisationDifference)
    • getReallocationWeight

      public double getReallocationWeight()
    • setReallocationWeight

      public void setReallocationWeight(double reallocationWeight)
    • getUseProcessingRate

      public boolean getUseProcessingRate()
    • setUseProcessingRate

      public void setUseProcessingRate(boolean useProcessingRate)
    • getProcessingRateThresholdLowUtilisation

      public double getProcessingRateThresholdLowUtilisation()
    • setProcessingRateThresholdLowUtilisation

      public void setProcessingRateThresholdLowUtilisation(double processingRateThresholdLowUtilisation)
    • getProcessingRateThresholdHighUtilisation

      public double getProcessingRateThresholdHighUtilisation()
    • setProcessingRateThresholdHighUtilisation

      public void setProcessingRateThresholdHighUtilisation(double processingRateThresholdHighUtilisation)
    • getProcessingRateDecreaseFactor

      public double getProcessingRateDecreaseFactor()
    • setProcessingRateDecreaseFactor

      public void setProcessingRateDecreaseFactor(double processingRateDecreaseFactor)
    • getProcessingRateIncreaseFactor

      public double getProcessingRateIncreaseFactor()
    • setProcessingRateIncreaseFactor

      public void setProcessingRateIncreaseFactor(double processingRateIncreaseFactor)
    • getProcessingRateWeight

      public double getProcessingRateWeight()
    • setProcessingRateWeight

      public void setProcessingRateWeight(double processingRateWeight)
    • getUseServerConsolidation

      public boolean getUseServerConsolidation()
    • setUseServerConsolidation

      public void setUseServerConsolidation(boolean useServerConsolidation)
    • getServerConsolidationThresholdLowUtilisation

      public double getServerConsolidationThresholdLowUtilisation()
    • setServerConsolidationThresholdLowUtilisation

      public void setServerConsolidationThresholdLowUtilisation(double serverConsolidationThresholdLowUtilisation)
    • getServerConsolidationWeight

      public double getServerConsolidationWeight()
    • setServerConsolidationWeight

      public void setServerConsolidationWeight(double serverConsolidationWeight)
    • getUseServerExpansion

      public boolean getUseServerExpansion()
    • setUseServerExpansion

      public void setUseServerExpansion(boolean useServerExpansion)
    • getServerExpansionThresholdHighUtilisation

      public double getServerExpansionThresholdHighUtilisation()
    • setServerExpansionThresholdHighUtilisation

      public void setServerExpansionThresholdHighUtilisation(double serverExpansionThresholdHighUtilisation)
    • getServerExpansionMaxNumberOfReplacements

      public int getServerExpansionMaxNumberOfReplacements()
    • setServerExpansionMaxNumberOfReplacements

      public void setServerExpansionMaxNumberOfReplacements(int serverExpansionMaxNumberOfReplacements)
    • getServerExpansionWeight

      public double getServerExpansionWeight()
    • setServerExpansionWeight

      public void setServerExpansionWeight(double serverExpansionWeight)
    • setSearchMethod

      public void setSearchMethod(DSEWorkflowConfiguration.SearchMethod searchMethod)
    • isUseHeuristics

      public boolean isUseHeuristics()
    • setEvaluators

      public void setEvaluators(List<IAnalysis> evaluators)
    • getEvaluators

      public List<IAnalysis> getEvaluators()
    • getUseLinkReallocationTactic

      public boolean getUseLinkReallocationTactic()
    • setUseLinkReallocationTactic

      public void setUseLinkReallocationTactic(boolean isUseLinkReallocationTactic)
    • getUseAntipatternKnowledge

      public boolean getUseAntipatternKnowledge()
    • setUseAntipatternKnowledge

      public void setUseAntipatternKnowledge(boolean isUseAntipattern)
    • isStopOnInitialFailure

      public boolean isStopOnInitialFailure()
    • setStopOnInitialFailure

      public void setStopOnInitialFailure(boolean stop)
    • isResultsAsEMF

      public boolean isResultsAsEMF()
    • setResultsAsEMF

      public void setResultsAsEMF(boolean asEMF)
    • isResultsAsCSV

      public boolean isResultsAsCSV()
    • setResultsAsCSV

      public void setResultsAsCSV(boolean resultsAsCVS)