diff options
author | OszkarSemerath <oszkar.semerath@gmail.com> | 2018-06-25 00:16:48 +0200 |
---|---|---|
committer | OszkarSemerath <oszkar.semerath@gmail.com> | 2018-06-25 00:16:48 +0200 |
commit | 6bd475a3eced9d9a912f76e24f91d2ad8da13d54 (patch) | |
tree | 66b3fbfb52e204d605225d1eac7e371eecea791e /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src | |
parent | Fixing multiple "true" and "false" objects (diff) | |
download | VIATRA-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')
2 files changed, 30 insertions, 10 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend index 45379e36..378adf65 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend | |||
@@ -1,5 +1,6 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner | 1 | package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner |
2 | 2 | ||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel | ||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner | 4 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner |
4 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException | 5 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException |
5 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration | 6 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration |
@@ -29,7 +30,6 @@ import org.eclipse.viatra.dse.api.DesignSpaceExplorer | |||
29 | import org.eclipse.viatra.dse.api.DesignSpaceExplorer.DseLoggingLevel | 30 | import org.eclipse.viatra.dse.api.DesignSpaceExplorer.DseLoggingLevel |
30 | import org.eclipse.viatra.dse.solutionstore.SolutionStore | 31 | import org.eclipse.viatra.dse.solutionstore.SolutionStore |
31 | import org.eclipse.viatra.dse.statecode.IStateCoderFactory | 32 | import org.eclipse.viatra.dse.statecode.IStateCoderFactory |
32 | import javax.security.auth.login.Configuration.Parameters | ||
33 | 33 | ||
34 | class ViatraReasoner extends LogicReasoner{ | 34 | class ViatraReasoner extends LogicReasoner{ |
35 | val PartialInterpretationInitialiser initialiser = new PartialInterpretationInitialiser() | 35 | val PartialInterpretationInitialiser initialiser = new PartialInterpretationInitialiser() |
@@ -56,6 +56,9 @@ class ViatraReasoner extends LogicReasoner{ | |||
56 | val transformationStartTime = System.nanoTime | 56 | val transformationStartTime = System.nanoTime |
57 | 57 | ||
58 | val emptySolution = initialiser.initialisePartialInterpretation(problem,viatraConfig.typeScopes).output | 58 | val emptySolution = initialiser.initialisePartialInterpretation(problem,viatraConfig.typeScopes).output |
59 | if(viatraConfig.documentationLevel == DocumentationLevel::FULL && workspace !== null) { | ||
60 | workspace.writeModel(emptySolution,"init.partialmodel") | ||
61 | } | ||
59 | emptySolution.problemConainer = problem | 62 | emptySolution.problemConainer = problem |
60 | 63 | ||
61 | val method = modelGenerationMethodProvider.createModelGenerationMethod( | 64 | val method = modelGenerationMethodProvider.createModelGenerationMethod( |
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; | |||
32 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | 32 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; |
33 | import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; | 33 | import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; |
34 | 34 | ||
35 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel; | ||
35 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner; | 36 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner; |
36 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem; | 37 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem; |
37 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.InconsistencyResult; | 38 | import 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) { |