Package de.uka.ipd.sdq.dsexplore.launch
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 Summary
Constructors Constructor Description DSELaunch()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected de.uka.ipd.sdq.workflow.jobs.IJob
createWorkflowJob(DSEWorkflowConfiguration config, ILaunch launch)
protected DSEWorkflowConfiguration
deriveConfiguration(ILaunchConfiguration configuration, String mode)
ILaunchConfiguration
getOriginalConfiguration()
ILaunch
getOriginalLaunch()
protected de.uka.ipd.sdq.workflow.ui.WorkflowProcess
getProcess(ILaunch launch)
Get the Eclipse process used by the workflow engine.void
launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor)
Test for starting multiple simulations.void
resetLoggers()
FIXME: This is just a workaround to fix the logging.protected ArrayList<de.uka.ipd.sdq.workflow.logging.console.LoggerAppenderStruct>
setupLogging(org.apache.log4j.Level logLevel)
Copied from AbstractWorkflowBasedLaunchConfigurationDelegate Setup logger for the workflow run.-
Methods inherited from class de.uka.ipd.sdq.workflow.mdsd.AbstractWorkflowBasedMDSDLaunchConfigurationDelegate
createBlackboard, createWorkflow
-
Methods inherited from class de.uka.ipd.sdq.workflow.launchconfig.AbstractWorkflowBasedLaunchConfigurationDelegate
createExcpetionHandler, getLogLevel, setupLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.debug.core.model.ILaunchConfigurationDelegate
showCommandLine
-
-
-
-
Method Detail
-
launch
public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException
Test for starting multiple simulations.- Specified by:
launch
in interfaceILaunchConfigurationDelegate
- Overrides:
launch
in classde.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 classde.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 classde.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 classde.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 classde.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
-
-