Class DSELaunch

java.lang.Object
de.uka.ipd.sdq.workflow.launchconfig.AbstractWorkflowBasedLaunchConfigurationDelegate<WorkflowConfigurationType,de.uka.ipd.sdq.workflow.BlackboardBasedWorkflow<de.uka.ipd.sdq.workflow.mdsd.blackboard.MDSDBlackboard>>
de.uka.ipd.sdq.workflow.mdsd.AbstractWorkflowBasedMDSDLaunchConfigurationDelegate<WorkflowConfigurationType>
org.palladiosimulator.analyzer.workflow.configurations.AbstractPCMLaunchConfigurationDelegate<DSEWorkflowConfiguration>
de.uka.ipd.sdq.dsexplore.launch.DSELaunch
All Implemented Interfaces:
ILaunchConfigurationDelegate

public class DSELaunch extends org.palladiosimulator.analyzer.workflow.configurations.AbstractPCMLaunchConfigurationDelegate<DSEWorkflowConfiguration>
Launches multiple simulation runs. TODO: Integrate in Workflow concept. Unify the Tabs for all PCM Solvers. Maybe use this common tab for all analyses, so that for reliability, SimCom and LQN, always only one config with once the model files is needed.
  • Constructor Details

    • DSELaunch

      public DSELaunch()
  • Method Details

    • launch

      public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException
      Test for starting multiple simulations.
      Specified by:
      launch in interface ILaunchConfigurationDelegate
      Overrides:
      launch in class de.uka.ipd.sdq.workflow.launchconfig.AbstractWorkflowBasedLaunchConfigurationDelegate<DSEWorkflowConfiguration,de.uka.ipd.sdq.workflow.BlackboardBasedWorkflow<de.uka.ipd.sdq.workflow.mdsd.blackboard.MDSDBlackboard>>
      Parameters:
      configuration -
      mode -
      launch -
      monitor -
      Throws:
      CoreException
    • setupLogging

      protected ArrayList<de.uka.ipd.sdq.workflow.logging.console.LoggerAppenderStruct> setupLogging(org.apache.log4j.Level logLevel) throws CoreException
      Copied from AbstractWorkflowBasedLaunchConfigurationDelegate Setup logger for the workflow run. May be overridden by clients to configure further logger for other namespaces than de.uka.ipd.sdq.workflow. Use protected method setupLogger to configure additional loggers
      Overrides:
      setupLogging in class de.uka.ipd.sdq.workflow.mdsd.AbstractWorkflowBasedMDSDLaunchConfigurationDelegate<DSEWorkflowConfiguration>
      Parameters:
      logLevel - The apache log4j log level requested by the user as log level
      Throws:
      CoreException
    • createWorkflowJob

      protected de.uka.ipd.sdq.workflow.jobs.IJob createWorkflowJob(DSEWorkflowConfiguration config, ILaunch launch) throws CoreException
      Specified by:
      createWorkflowJob in class de.uka.ipd.sdq.workflow.launchconfig.AbstractWorkflowBasedLaunchConfigurationDelegate<DSEWorkflowConfiguration,de.uka.ipd.sdq.workflow.BlackboardBasedWorkflow<de.uka.ipd.sdq.workflow.mdsd.blackboard.MDSDBlackboard>>
      Throws:
      CoreException
    • deriveConfiguration

      protected DSEWorkflowConfiguration deriveConfiguration(ILaunchConfiguration configuration, String mode) throws CoreException
      Specified by:
      deriveConfiguration in class de.uka.ipd.sdq.workflow.launchconfig.AbstractWorkflowBasedLaunchConfigurationDelegate<DSEWorkflowConfiguration,de.uka.ipd.sdq.workflow.BlackboardBasedWorkflow<de.uka.ipd.sdq.workflow.mdsd.blackboard.MDSDBlackboard>>
      Throws:
      CoreException
    • resetLoggers

      public void resetLoggers() throws CoreException
      FIXME: This is just a workaround to fix the logging. There is a problem when the workflows for the Analyses are started. Afterwards, the logging is broken. Thus, I reset it here. Problem: I do not know how much overhead this creates, maybe it is the cause for crashing eclipse after 1600 candidates with LQNS.
      Throws:
      CoreException
    • getOriginalLaunch

      public ILaunch getOriginalLaunch()
    • getOriginalConfiguration

      public ILaunchConfiguration getOriginalConfiguration()
    • getProcess

      protected de.uka.ipd.sdq.workflow.ui.WorkflowProcess getProcess(ILaunch launch)
      Get the Eclipse process used by the workflow engine. When called first, instatiate new process. Later return the same.
      Overrides:
      getProcess in class de.uka.ipd.sdq.workflow.launchconfig.AbstractWorkflowBasedLaunchConfigurationDelegate<DSEWorkflowConfiguration,de.uka.ipd.sdq.workflow.BlackboardBasedWorkflow<de.uka.ipd.sdq.workflow.mdsd.blackboard.MDSDBlackboard>>
      Parameters:
      launch - The ILaunch passed to this launch by Eclipse
      Returns:
      The process used to execute this launch