package org.jbpm.sim.gui;
import org.jbpm.sim.def.DefaultJbpmSimulationModel;
import org.jbpm.sim.exe.DesmojExperimentRunner;
import desmoj.extensions.experimentation.ui.ExperimentStarterApplication;
public class FirstStepsSimulationModel extends DefaultJbpmSimulationModel {
public FirstStepsSimulationModel() {
super(getProcessXml());
}
public static String getProcessXml() {
// FirstStepsSimulationModel.class.getResourceAsStream("/FirstSteps/processdefinition.xml") ).toString();
return
"<process-definition name='test' start-distribution='start new process instances of test'>" +
" <distribution name='start new process instances of test' sample-type='real' type='constant' value='20' /> " +
" <distribution name='time required for task one' sample-type='real' type='normal' mean='25' standardDeviation='10' /> " +
" <distribution name='time required for task two' sample-type='real' type='normal' mean='6' standardDeviation='1' /> " +
" <distribution name='time required for automated state' sample-type='real' type='normal' mean='6' standardDeviation='1' /> " +
" <resource-pool name='tester' pool-size='2' />" +
" <resource-pool name='big machine' pool-size='3' />" +
" <swimlane name='tester' pool-size='1' />" +
" <start-state name='start'>" +
" <transition to='task one' />" +
" </start-state>" +
" <task-node name='task one'>" +
" <task swimlane='tester' time-distribution='time required for task one' />" +
" <transition to='task two' />" +
" </task-node>" +
" <task-node name='task two'>" +
" <task swimlane='tester' time-distribution='time required for task two' />" +
" <transition to='automated state' />" +
" </task-node>" +
" <state name='automated state' time-distribution='time required for automated state'>" +
" <resource-needed pool='big machine' amount='2' />" +
" <transition to='end' />" +
" </state>" +
" <end-state name='end'/>" +
"</process-definition>" ;
}
public static void main(String[] args) throws Exception {
new ExperimentStarterApplication(FirstStepsSimulationModel.class, DesmojExperimentRunner.class).setVisible(true);
}
}