aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-06-25 00:16:48 +0200
committerLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-06-25 00:16:48 +0200
commit6bd475a3eced9d9a912f76e24f91d2ad8da13d54 (patch)
tree66b3fbfb52e204d605225d1eac7e371eecea791e /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
parentFixing multiple "true" and "false" objects (diff)
downloadVIATRA-Generator-6bd475a3eced9d9a912f76e24f91d2ad8da13d54.tar.gz
VIATRA-Generator-6bd475a3eced9d9a912f76e24f91d2ad8da13d54.tar.zst
VIATRA-Generator-6bd475a3eced9d9a912f76e24f91d2ad8da13d54.zip
Fixing multiple true/false + bug preventing generation without PS
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java35
1 files changed, 26 insertions, 9 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
index 7862262b..effc37f8 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java
@@ -32,6 +32,7 @@ import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
32import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; 32import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
33import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; 33import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher;
34 34
35import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel;
35import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner; 36import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner;
36import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem; 37import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
37import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InconsistencyResult; 38import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InconsistencyResult;
@@ -113,12 +114,12 @@ public class BestFirstStrategyForModelGeneration implements IStrategy {
113 114
114 ViatraQueryEngine engine = context.getQueryEngine(); 115 ViatraQueryEngine engine = context.getQueryEngine();
115// // TODO: visualisation 116// // TODO: visualisation
116// matchers = new LinkedList<ViatraQueryMatcher<? extends IPatternMatch>>(); 117 matchers = new LinkedList<ViatraQueryMatcher<? extends IPatternMatch>>();
117// for(IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> p : this.method.getAllPatterns()) { 118 for(IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> p : this.method.getAllPatterns()) {
118// System.out.println(p.getSimpleName()); 119 //System.out.println(p.getSimpleName());
119// ViatraQueryMatcher<? extends IPatternMatch> matcher = p.getMatcher(engine); 120 ViatraQueryMatcher<? extends IPatternMatch> matcher = p.getMatcher(engine);
120// matchers.add(matcher); 121 matchers.add(matcher);
121// } 122 }
122 123
123 this.solutionStoreWithCopy = new SolutionStoreWithCopy(); 124 this.solutionStoreWithCopy = new SolutionStoreWithCopy();
124 this.solutionStoreWithDiversityDescriptor = new SolutionStoreWithDiversityDescriptor(configuration.diversityRequirement); 125 this.solutionStoreWithDiversityDescriptor = new SolutionStoreWithDiversityDescriptor(configuration.diversityRequirement);
@@ -152,7 +153,18 @@ public class BestFirstStrategyForModelGeneration implements IStrategy {
152 final Object[] firstTrajectory = context.getTrajectory().toArray(new Object[0]); 153 final Object[] firstTrajectory = context.getTrajectory().toArray(new Object[0]);
153 TrajectoryWithFitness currentTrajectoryWithFittness = new TrajectoryWithFitness(firstTrajectory, firstFittness); 154 TrajectoryWithFitness currentTrajectoryWithFittness = new TrajectoryWithFitness(firstTrajectory, firstFittness);
154 trajectoiresToExplore.add(currentTrajectoryWithFittness); 155 trajectoiresToExplore.add(currentTrajectoryWithFittness);
155 156
157 //if(configuration)
158 visualiseCurrentState();
159// for(ViatraQueryMatcher<? extends IPatternMatch> matcher : matchers) {
160// System.out.println(matcher.getPatternName());
161// System.out.println("---------");
162// for(IPatternMatch m : matcher.getAllMatches()) {
163// System.out.println(m);
164// }
165// System.out.println("---------");
166// }
167
156 mainLoop: while (!isInterrupted && !configuration.progressMonitor.isCancelled()) { 168 mainLoop: while (!isInterrupted && !configuration.progressMonitor.isCancelled()) {
157 169
158 if (currentTrajectoryWithFittness == null) { 170 if (currentTrajectoryWithFittness == null) {
@@ -189,7 +201,12 @@ public class BestFirstStrategyForModelGeneration implements IStrategy {
189 201
190 visualiseCurrentState(); 202 visualiseCurrentState();
191// for(ViatraQueryMatcher<? extends IPatternMatch> matcher : matchers) { 203// for(ViatraQueryMatcher<? extends IPatternMatch> matcher : matchers) {
192// System.out.println(matcher.getPatternName() + " - " + matcher.getAllValues("element")); 204// System.out.println(matcher.getPatternName());
205// System.out.println("---------");
206// for(IPatternMatch m : matcher.getAllMatches()) {
207// System.out.println(m);
208// }
209// System.out.println("---------");
193// } 210// }
194 211
195 boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithFittness); 212 boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithFittness);
@@ -295,7 +312,7 @@ public class BestFirstStrategyForModelGeneration implements IStrategy {
295 312
296 public void visualiseCurrentState() { 313 public void visualiseCurrentState() {
297 PartialInterpretationVisualiser partialInterpretatioVisualiser = configuration.debugCongiguration.partialInterpretatioVisualiser; 314 PartialInterpretationVisualiser partialInterpretatioVisualiser = configuration.debugCongiguration.partialInterpretatioVisualiser;
298 if(partialInterpretatioVisualiser != null) { 315 if(partialInterpretatioVisualiser != null && this.configuration.documentationLevel == DocumentationLevel.FULL && workspace != null) {
299 PartialInterpretation p = (PartialInterpretation) (context.getModel()); 316 PartialInterpretation p = (PartialInterpretation) (context.getModel());
300 int id = ++numberOfPrintedModel; 317 int id = ++numberOfPrintedModel;
301 if (id % configuration.debugCongiguration.partalInterpretationVisualisationFrequency == 0) { 318 if (id % configuration.debugCongiguration.partalInterpretationVisualisationFrequency == 0) {