Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrás Szabolcs Nagy2015-03-25 18:39:50 +0000
committerAndrás Szabolcs Nagy2015-03-25 18:39:50 +0000
commit4e90f1aa69c3de8c9662e4b597cda929fa71bd4b (patch)
tree7d975ad168129ad57c941c2d51c59ad29a6acafd
parent5bb8d415bd46707c36f1190db42a8666053c43a7 (diff)
downloadorg.eclipse.viatra.examples-4e90f1aa69c3de8c9662e4b597cda929fa71bd4b.tar.gz
org.eclipse.viatra.examples-4e90f1aa69c3de8c9662e4b597cda929fa71bd4b.tar.xz
org.eclipse.viatra.examples-4e90f1aa69c3de8c9662e4b597cda929fa71bd4b.zip
[452655] Migrated the transformation API
-rw-r--r--dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/dse/BpmnExamples.java12
-rw-r--r--dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/AssignVariantToTaskRule.java11
-rw-r--r--dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/CreateResourceRule.java27
-rw-r--r--dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/MakeParallelRule.java7
-rw-r--r--dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/MakeSequentialRule.java20
5 files changed, 41 insertions, 36 deletions
diff --git a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/dse/BpmnExamples.java b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/dse/BpmnExamples.java
index d3cd04a..997b03d 100644
--- a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/dse/BpmnExamples.java
+++ b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/dse/BpmnExamples.java
@@ -25,10 +25,7 @@ import org.eclipse.viatra.dse.api.strategy.impl.FixedPriorityStrategy;
import org.eclipse.viatra.dse.api.strategy.impl.HillClimbingStrategy;
import org.eclipse.viatra.dse.examples.bpmn.objectives.AvgResponseTimeHardObjective;
import org.eclipse.viatra.dse.examples.bpmn.objectives.MinResourceUsageSoftObjective;
-import org.eclipse.viatra.dse.examples.bpmn.patterns.AllocateTaskToVariantMatch;
import org.eclipse.viatra.dse.examples.bpmn.patterns.CreateResourceMatch;
-import org.eclipse.viatra.dse.examples.bpmn.patterns.MakeParallelMatch;
-import org.eclipse.viatra.dse.examples.bpmn.patterns.MakeSequentialMatch;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.AbsenceOfResourceInstancesQuerySpecification;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.UnassignedTaskQuerySpecification;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.UnrequiredResourceInstanceQuerySpecification;
@@ -41,7 +38,6 @@ import org.eclipse.viatra.dse.examples.bpmn.serializer.BpmnSerializerFactory;
import org.eclipse.viatra.dse.objectives.ActivationFitnessProcessor;
import org.eclipse.viatra.dse.objectives.Comparators;
import org.eclipse.viatra.dse.objectives.impl.ModelQueriesGlobalConstraint;
-import org.eclipse.viatra.dse.objectives.impl.ModelQueryType;
import org.eclipse.viatra.dse.objectives.impl.TrajectoryCostSoftObjective;
import org.eclipse.viatra.dse.objectives.impl.WeightedQueriesSoftObjective;
import org.eclipse.viatra.dse.solutionstore.SimpleSolutionStore;
@@ -93,10 +89,10 @@ public class BpmnExamples {
/**
* Variables are converted to fields only for easier usage.
*/
- private TransformationRule<AllocateTaskToVariantMatch> allocateRule;
- private TransformationRule<CreateResourceMatch> createResourceRule;
- private TransformationRule<MakeParallelMatch> makeParallelRule;
- private TransformationRule<MakeSequentialMatch> makeSequentialRule;
+ private TransformationRule<?, ?> allocateRule;
+ private TransformationRule<?, ?> createResourceRule;
+ private TransformationRule<?, ?> makeParallelRule;
+ private TransformationRule<?, ?> makeSequentialRule;
private DesignSpaceExplorer dse;
private FixedPriorityStrategy fixedPriorityStrategy;
private EObject model;
diff --git a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/AssignVariantToTaskRule.java b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/AssignVariantToTaskRule.java
index 335cb1a..9ff272d 100644
--- a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/AssignVariantToTaskRule.java
+++ b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/AssignVariantToTaskRule.java
@@ -12,20 +12,23 @@ package org.eclipse.viatra.dse.examples.bpmn.rules;
import org.eclipse.incquery.runtime.exception.IncQueryException;
import org.eclipse.viatra.dse.api.TransformationRule;
import org.eclipse.viatra.dse.examples.bpmn.patterns.AllocateTaskToVariantMatch;
+import org.eclipse.viatra.dse.examples.bpmn.patterns.AllocateTaskToVariantMatcher;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.AllocateTaskToVariantProcessor;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.AllocateTaskToVariantQuerySpecification;
import org.eclipse.viatra.dse.examples.simplifiedbpmn.ResourceTypeVariant;
import org.eclipse.viatra.dse.examples.simplifiedbpmn.Task;
/**
- * This rule assigns a resource variant to a task.
+ * This rule assigns a resource variant to a task.
+ *
* @author Andras Szabolcs Nagy
*/
public class AssignVariantToTaskRule {
- public static TransformationRule<AllocateTaskToVariantMatch> createRule() throws IncQueryException {
- return new TransformationRule<AllocateTaskToVariantMatch>(AllocateTaskToVariantQuerySpecification.instance(),
- new AllocateTaskToVariantProcessor() {
+ public static TransformationRule<AllocateTaskToVariantMatch, AllocateTaskToVariantMatcher> createRule()
+ throws IncQueryException {
+ return new TransformationRule<AllocateTaskToVariantMatch, AllocateTaskToVariantMatcher>(
+ AllocateTaskToVariantQuerySpecification.instance(), new AllocateTaskToVariantProcessor() {
@Override
public void process(Task pT, ResourceTypeVariant pRTV) {
diff --git a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/CreateResourceRule.java b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/CreateResourceRule.java
index dff1bc7..26aa541 100644
--- a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/CreateResourceRule.java
+++ b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/CreateResourceRule.java
@@ -17,6 +17,7 @@ import org.eclipse.viatra.dse.api.TransformationRule;
import org.eclipse.viatra.dse.api.TransformationRule.ActivationCostProcessor;
import org.eclipse.viatra.dse.examples.bpmn.genetic.BpmnGeneticTestRunner;
import org.eclipse.viatra.dse.examples.bpmn.patterns.CreateResourceMatch;
+import org.eclipse.viatra.dse.examples.bpmn.patterns.CreateResourceMatcher;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.CreateResourceProcessor;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.CreateResourceQuerySpecification;
import org.eclipse.viatra.dse.examples.bpmn.problems.BpmnProblems;
@@ -24,21 +25,22 @@ import org.eclipse.viatra.dse.examples.simplifiedbpmn.ResourceTypeVariant;
import org.eclipse.viatra.dse.examples.simplifiedbpmn.SimplifiedbpmnFactory;
/**
- * This rule creates resource instance.
+ * This rule creates resource instance.
+ *
* @author Andras Szabolcs Nagy
*/
public class CreateResourceRule {
- public static TransformationRule<CreateResourceMatch> createRule() throws IncQueryException {
- TransformationRule<CreateResourceMatch> rule = new TransformationRule<CreateResourceMatch>(CreateResourceQuerySpecification.instance(), new CreateResourceProcessor() {
+ public static TransformationRule<CreateResourceMatch, CreateResourceMatcher> createRule() throws IncQueryException {
+ TransformationRule<CreateResourceMatch, CreateResourceMatcher> rule = new TransformationRule<CreateResourceMatch, CreateResourceMatcher>(
+ CreateResourceQuerySpecification.instance(), new CreateResourceProcessor() {
- @Override
- public void process(ResourceTypeVariant pRTV) {
- pRTV.getInstances().add(SimplifiedbpmnFactory.eINSTANCE.createResourceInstance());
- }
-
-
- });
+ @Override
+ public void process(ResourceTypeVariant pRTV) {
+ pRTV.getInstances().add(SimplifiedbpmnFactory.eINSTANCE.createResourceInstance());
+ }
+
+ });
rule.setActivationCostProcessor(new ActivationCostProcessor<CreateResourceMatch>() {
@Override
public Map<String, Double> process(CreateResourceMatch match) {
@@ -58,10 +60,11 @@ public class CreateResourceRule {
d = 1.5d;
} else if (name.equals(BpmnProblems.WS)) {
d = 1d;
+ } else {
+ d = 0d;
}
- else d = 0d;
Map<String, Double> result = new HashMap<String, Double>(1);
- result.put(BpmnGeneticTestRunner.COST,d);
+ result.put(BpmnGeneticTestRunner.COST, d);
return result;
}
});
diff --git a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/MakeParallelRule.java b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/MakeParallelRule.java
index 56df214..5c0b440 100644
--- a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/MakeParallelRule.java
+++ b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/MakeParallelRule.java
@@ -16,13 +16,14 @@ import org.eclipse.incquery.runtime.exception.IncQueryException;
import org.eclipse.viatra.dse.api.TransformationRule;
import org.eclipse.viatra.dse.examples.bpmn.genetic.BpmnGeneticTestRunner;
import org.eclipse.viatra.dse.examples.bpmn.patterns.MakeParallelMatch;
+import org.eclipse.viatra.dse.examples.bpmn.patterns.MakeParallelMatcher;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.MakeParallelProcessor;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.MakeParallelQuerySpecification;
import org.eclipse.viatra.dse.examples.bpmn.problems.SimplifiedBpmnBuilder;
import org.eclipse.viatra.dse.examples.bpmn.serializer.BpmnSerializer;
import org.eclipse.viatra.dse.examples.simplifiedbpmn.ParallelGateway;
-import org.eclipse.viatra.dse.examples.simplifiedbpmn.SimplifiedBPMN;
import org.eclipse.viatra.dse.examples.simplifiedbpmn.SequenceFlow;
+import org.eclipse.viatra.dse.examples.simplifiedbpmn.SimplifiedBPMN;
import org.eclipse.viatra.dse.examples.simplifiedbpmn.Task;
/**
@@ -31,8 +32,8 @@ import org.eclipse.viatra.dse.examples.simplifiedbpmn.Task;
*/
public class MakeParallelRule {
- public static TransformationRule<MakeParallelMatch> createRule() throws IncQueryException {
- TransformationRule<MakeParallelMatch> rule = new TransformationRule<MakeParallelMatch>(MakeParallelQuerySpecification.instance(),
+ public static TransformationRule<MakeParallelMatch, MakeParallelMatcher> createRule() throws IncQueryException {
+ TransformationRule<MakeParallelMatch, MakeParallelMatcher> rule = new TransformationRule<MakeParallelMatch, MakeParallelMatcher>(MakeParallelQuerySpecification.instance(),
new MakeParallelProcessor() {
@Override
public void process(Task pT1, Task pT2, SimplifiedBPMN pRoot) {
diff --git a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/MakeSequentialRule.java b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/MakeSequentialRule.java
index 9f8b3e1..8f3c667 100644
--- a/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/MakeSequentialRule.java
+++ b/dse/bpmn/org.eclipse.viatra.dse.examples.bpmn.dse/src/org/eclipse/viatra/dse/examples/bpmn/rules/MakeSequentialRule.java
@@ -16,27 +16,29 @@ import org.eclipse.incquery.runtime.exception.IncQueryException;
import org.eclipse.viatra.dse.api.TransformationRule;
import org.eclipse.viatra.dse.examples.bpmn.genetic.BpmnGeneticTestRunner;
import org.eclipse.viatra.dse.examples.bpmn.patterns.MakeSequentialMatch;
+import org.eclipse.viatra.dse.examples.bpmn.patterns.MakeSequentialMatcher;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.MakeSequentialProcessor;
import org.eclipse.viatra.dse.examples.bpmn.patterns.util.MakeSequentialQuerySpecification;
import org.eclipse.viatra.dse.examples.bpmn.problems.SimplifiedBpmnBuilder;
import org.eclipse.viatra.dse.examples.simplifiedbpmn.BaseElement;
-import org.eclipse.viatra.dse.examples.simplifiedbpmn.SimplifiedBPMN;
import org.eclipse.viatra.dse.examples.simplifiedbpmn.SequenceFlow;
+import org.eclipse.viatra.dse.examples.simplifiedbpmn.SimplifiedBPMN;
import org.eclipse.viatra.dse.examples.simplifiedbpmn.Task;
/**
- * This rule makes two parallel task sequential.
+ * This rule makes two parallel task sequential.
+ *
* @author Andras Szabolcs Nagy
*/
public class MakeSequentialRule {
- public static TransformationRule<MakeSequentialMatch> createRule() throws IncQueryException {
- TransformationRule<MakeSequentialMatch> rule = new TransformationRule<MakeSequentialMatch>(MakeSequentialQuerySpecification.instance(),
- new MakeSequentialProcessor() {
-
+ public static TransformationRule<MakeSequentialMatch, MakeSequentialMatcher> createRule() throws IncQueryException {
+ TransformationRule<MakeSequentialMatch, MakeSequentialMatcher> rule = new TransformationRule<MakeSequentialMatch, MakeSequentialMatcher>(
+ MakeSequentialQuerySpecification.instance(), new MakeSequentialProcessor() {
+
@Override
public void process(Task pT1, Task pT2, SimplifiedBPMN pRoot) {
-
+
EList<SequenceFlow> flows = pT1.getInFlows();
BaseElement divergingGateway = flows.get(0).getSource();
pRoot.getParallelGateways().remove(divergingGateway);
@@ -53,7 +55,7 @@ public class MakeSequentialRule {
pRoot.getParallelGateways().remove(convergingGateway);
pRoot.getSequenceFlows().removeAll(flows);
flows.clear();
-
+
flows = divergingGateway.getInFlows();
while (!flows.isEmpty()) {
SequenceFlow flow = flows.get(0);
@@ -64,7 +66,7 @@ public class MakeSequentialRule {
SequenceFlow flow = flows.get(0);
flow.setSource(pT2);
}
-
+
new SimplifiedBpmnBuilder(pRoot).createFlow(pT1, pT2);
}
});

Back to the top