Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrás Szabolcs Nagy2015-05-18 07:50:05 +0000
committerAndrás Szabolcs Nagy2015-05-18 07:50:05 +0000
commit4847699d4088f299fe04d534ef08140c0fede276 (patch)
tree66dba13c5d1615f85efff64101c1b25bcb0fed8a
parentcd8fd36d3597d9d4a5e1e15727f9746a4ef4377d (diff)
downloadorg.eclipse.viatra.examples-4847699d4088f299fe04d534ef08140c0fede276.tar.gz
org.eclipse.viatra.examples-4847699d4088f299fe04d534ef08140c0fede276.tar.xz
org.eclipse.viatra.examples-4847699d4088f299fe04d534ef08140c0fede276.zip
[461205] Using the new genetic strategy API
-rw-r--r--dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/genetic/BpmnGeneticTest.java13
-rw-r--r--dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/genetic/BpmnGeneticTestRunner.java40
-rw-r--r--dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/objectives/RunSimulationOnModel.java2
3 files changed, 19 insertions, 36 deletions
diff --git a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/genetic/BpmnGeneticTest.java b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/genetic/BpmnGeneticTest.java
index 8b09938..4fca6bc 100644
--- a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/genetic/BpmnGeneticTest.java
+++ b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/genetic/BpmnGeneticTest.java
@@ -13,18 +13,7 @@ public class BpmnGeneticTest {
Logger.getRootLogger().setLevel(Level.ERROR);
Logger.getLogger(this.getClass()).setLevel(Level.ALL);
- new BpmnGeneticTestRunner() {
-
- @Override
- public int getNumberOfTokens() {
- return 100;
- }
-
- @Override
- public int getRateOfTokens() {
- return 20;
- }
- }.runTests();
+ new BpmnGeneticTestRunner().runTests();
}
}
diff --git a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/genetic/BpmnGeneticTestRunner.java b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/genetic/BpmnGeneticTestRunner.java
index de1c055..eb2377f 100644
--- a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/genetic/BpmnGeneticTestRunner.java
+++ b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/genetic/BpmnGeneticTestRunner.java
@@ -5,6 +5,7 @@ import java.util.List;
import org.eclipse.incquery.runtime.exception.IncQueryException;
import org.eclipse.viatra.dse.api.DSETransformationRule;
+import org.eclipse.viatra.dse.api.DesignSpaceExplorer;
import org.eclipse.viatra.dse.api.PatternWithCardinality;
import org.eclipse.viatra.dse.base.GlobalContext;
import org.eclipse.viatra.dse.examples.bpmn.dse.BpmnExamples;
@@ -20,17 +21,16 @@ import org.eclipse.viatra.dse.examples.bpmn.rules.CreateResourceRule;
import org.eclipse.viatra.dse.examples.bpmn.rules.MakeParallelRule;
import org.eclipse.viatra.dse.examples.bpmn.rules.MakeSequentialRule;
import org.eclipse.viatra.dse.examples.bpmn.statecoder.BpmnStateCoderFactory;
-import org.eclipse.viatra.dse.genetic.api.GeneticDesignSpaceExplorer;
+import org.eclipse.viatra.dse.genetic.api.GeneticStrategyBuilder;
import org.eclipse.viatra.dse.genetic.core.GeneticSoftConstraintHardObjective;
import org.eclipse.viatra.dse.genetic.core.InstanceData;
import org.eclipse.viatra.dse.genetic.debug.GeneticDebugger;
import org.eclipse.viatra.dse.genetic.debug.GeneticTestRunner;
import org.eclipse.viatra.dse.genetic.debug.Row;
-import org.eclipse.viatra.dse.genetic.selectors.NonDominatedAndCrowdingDistanceSelector;
import org.eclipse.viatra.dse.objectives.Comparators;
import org.eclipse.viatra.dse.objectives.impl.TrajectoryCostSoftObjective;
-public abstract class BpmnGeneticTestRunner extends GeneticTestRunner {
+public class BpmnGeneticTestRunner extends GeneticTestRunner {
public static final int CONSTRAINT_WEIGHT = 10;
public static final String MIN_RESOURCE_UTILIZATION = "MinResourceUtilization";
@@ -39,10 +39,6 @@ public abstract class BpmnGeneticTestRunner extends GeneticTestRunner {
public static final String CONST_FULFILLMENT = "ConstFulfillment";
private String modelPath;
- public abstract int getNumberOfTokens();
-
- public abstract int getRateOfTokens();
-
public BpmnGeneticTestRunner() {
super(getGoals());
}
@@ -58,45 +54,43 @@ public abstract class BpmnGeneticTestRunner extends GeneticTestRunner {
}
@Override
- public GeneticDesignSpaceExplorer createGdse(Row configRow) throws IncQueryException {
+ public void configDSE(Row configRow, DesignSpaceExplorer dse, GeneticStrategyBuilder builder) throws IncQueryException {
modelPath = configRow.getValueAsString(GeneticTestRunner.MODEL_PATH);
- GeneticDesignSpaceExplorer gdse = new GeneticDesignSpaceExplorer();
-
-
- gdse.setStateCoderFactory(new BpmnStateCoderFactory());
+ dse.setStateCoderFactory(new BpmnStateCoderFactory());
DSETransformationRule<?, ?> assignTaskRule = AssignVariantToTaskRule.createRule();
DSETransformationRule<?, ?> createResourceRule = CreateResourceRule.createRule();
DSETransformationRule<?, ?> makeParallelRule = MakeParallelRule.createRule();
DSETransformationRule<?, ?> makeSequentialRule = MakeSequentialRule.createRule();
- gdse.addTransformationRule(assignTaskRule, 3);
- gdse.addTransformationRule(createResourceRule, 2);
- gdse.addTransformationRule(makeParallelRule, 1);
- gdse.addTransformationRule(makeSequentialRule, 1);
-
- gdse.setSelector(new NonDominatedAndCrowdingDistanceSelector());
+ builder.setRulePriority(assignTaskRule, 3);
+ builder.setRulePriority(createResourceRule, 2);
+ builder.setRulePriority(makeParallelRule, 1);
+ builder.setRulePriority(makeSequentialRule, 1);
+ dse.addTransformationRule(assignTaskRule);
+ dse.addTransformationRule(createResourceRule);
+ dse.addTransformationRule(makeParallelRule);
+ dse.addTransformationRule(makeSequentialRule);
- gdse.addObjective(new GeneticSoftConstraintHardObjective()
+ dse.addObjective(new GeneticSoftConstraintHardObjective()
.withConstraint("LackOfResourceInstances", AbsenceOfResourceInstancesQuerySpecification.instance(), 1)
.withConstraint("UnassignedTask", UnassignedTaskQuerySpecification.instance(), 10)
.withConstraint("UnrequiredResources", UnrequiredResourceInstanceQuerySpecification.instance(), 100));
- gdse.addObjective(new AvgResponseTimeHardObjective()
+ dse.addObjective(new AvgResponseTimeHardObjective()
.withComparator(Comparators.LOWER_IS_BETTER)
.withLevel(2));
- gdse.addObjective(new MinResourceUsageSoftObjective()
+ dse.addObjective(new MinResourceUsageSoftObjective()
.withComparator(Comparators.HIGHER_IS_BETTER)
.withLevel(2));
- gdse.addObjective(new TrajectoryCostSoftObjective()
+ dse.addObjective(new TrajectoryCostSoftObjective()
.withActivationCost(createResourceRule, new BpmnExamples.CostOfCreateResource())
.withRuleCost(makeSequentialRule, 1)
.withRuleCost(makeParallelRule, 1)
.withComparator(Comparators.LOWER_IS_BETTER)
.withLevel(2));
- return gdse;
}
@Override
diff --git a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/objectives/RunSimulationOnModel.java b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/objectives/RunSimulationOnModel.java
index 4e40f7e..405c78c 100644
--- a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/objectives/RunSimulationOnModel.java
+++ b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/objectives/RunSimulationOnModel.java
@@ -65,7 +65,7 @@ public class RunSimulationOnModel {
return;
}
- Simulator simulator = new Simulator(modelRoot, 10, 20);
+ Simulator simulator = new Simulator(modelRoot, 100, 20);
if (simulator.canSimulate()) {
simulator.simulate();

Back to the top