aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-11-07 13:17:16 +0100
committerLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-11-07 13:17:16 +0100
commite2a9a87c4f441edcdeb7ed7575da2c4666617566 (patch)
tree3b33952d518cde74b5deb2f6bdf8ef3bd531f0e1
parentsome missing string support bugs in partial interpretation are fixed (diff)
downloadVIATRA-Generator-e2a9a87c4f441edcdeb7ed7575da2c4666617566.tar.gz
VIATRA-Generator-e2a9a87c4f441edcdeb7ed7575da2c4666617566.tar.zst
VIATRA-Generator-e2a9a87c4f441edcdeb7ed7575da2c4666617566.zip
Solver gives partial solutions even if it fails due to timeout or unsat
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/META-INF/MANIFEST.MF2
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend4
2 files changed, 5 insertions, 1 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/META-INF/MANIFEST.MF b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/META-INF/MANIFEST.MF
index 51c10b23..2a271acf 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/META-INF/MANIFEST.MF
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/META-INF/MANIFEST.MF
@@ -15,7 +15,7 @@ Require-Bundle: hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
15 org.eclipse.xtend.lib.macro, 15 org.eclipse.xtend.lib.macro,
16 org.eclipse.viatra.query.runtime.matchers;bundle-version="1.5.0", 16 org.eclipse.viatra.query.runtime.matchers;bundle-version="1.5.0",
17 org.eclipse.viatra.query.runtime;bundle-version="1.5.0", 17 org.eclipse.viatra.query.runtime;bundle-version="1.5.0",
18 org.eclipse.viatra.dse;bundle-version="0.15.0", 18 org.eclipse.viatra.dse;bundle-version="0.20.0",
19 org.eclipse.emf.ecore.edit;bundle-version="2.9.0", 19 org.eclipse.emf.ecore.edit;bundle-version="2.9.0",
20 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.7.0" 20 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.7.0"
21Bundle-RequiredExecutionEnvironment: JavaSE-1.8 21Bundle-RequiredExecutionEnvironment: JavaSE-1.8
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 dfd8ca1a..6639e5f3 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
@@ -31,6 +31,8 @@ import org.eclipse.viatra.dse.api.DesignSpaceExplorer
31import org.eclipse.viatra.dse.api.DesignSpaceExplorer.DseLoggingLevel 31import org.eclipse.viatra.dse.api.DesignSpaceExplorer.DseLoggingLevel
32import org.eclipse.viatra.dse.solutionstore.SolutionStore 32import org.eclipse.viatra.dse.solutionstore.SolutionStore
33import org.eclipse.viatra.dse.statecode.IStateCoderFactory 33import org.eclipse.viatra.dse.statecode.IStateCoderFactory
34import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.SolutionStoreWithDiversityDescriptor
35import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse.DiversityGranularity
34 36
35class ViatraReasoner extends LogicReasoner{ 37class ViatraReasoner extends LogicReasoner{
36 val PartialInterpretationInitialiser initialiser = new PartialInterpretationInitialiser() 38 val PartialInterpretationInitialiser initialiser = new PartialInterpretationInitialiser()
@@ -169,12 +171,14 @@ class ViatraReasoner extends LogicReasoner{
169 return createInsuficientResourcesResult=>[ 171 return createInsuficientResourcesResult=>[
170 it.problem = problem 172 it.problem = problem
171 it.resourceName="time" 173 it.resourceName="time"
174 it.representation += strategy.solutionStoreWithCopy.solutions
172 it.statistics = statistics 175 it.statistics = statistics
173 ] 176 ]
174 } else { 177 } else {
175 if(solutionStore.solutions.empty) { 178 if(solutionStore.solutions.empty) {
176 return createInconsistencyResult => [ 179 return createInconsistencyResult => [
177 it.problem = problem 180 it.problem = problem
181 it.representation += strategy.solutionStoreWithCopy.solutions
178 it.statistics = statistics 182 it.statistics = statistics
179 ] 183 ]
180 } else { 184 } else {