aboutsummaryrefslogtreecommitdiffstats
path: root/Application
diff options
context:
space:
mode:
authorLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2020-11-03 22:52:26 -0500
committerLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2020-11-03 22:52:26 -0500
commit945f487a08b643392a5d5918c631640b9a0e4605 (patch)
treeb537c456e395950ce98daaabb9468c7c17d5a72b /Application
parentFix numeric-solver-at-end (diff)
downloadVIATRA-Generator-945f487a08b643392a5d5918c631640b9a0e4605.tar.gz
VIATRA-Generator-945f487a08b643392a5d5918c631640b9a0e4605.tar.zst
VIATRA-Generator-945f487a08b643392a5d5918c631640b9a0e4605.zip
add realistic solver
Diffstat (limited to 'Application')
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend25
1 files changed, 25 insertions, 0 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend
index 2fe69a47..32db44bc 100644
--- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend
+++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend
@@ -15,6 +15,7 @@ import org.eclipse.xtext.xbase.lib.Functions.Function1
15import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser 15import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser
16import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor 16import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor
17import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.SolverConfiguration 17import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.SolverConfiguration
18import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.RealisticGuidance
18 19
19class SolverLoader { 20class SolverLoader {
20 def loadSolver(Solver solver, Map<String, String> config) { 21 def loadSolver(Solver solver, Map<String, String> config) {
@@ -130,6 +131,30 @@ class SolverLoader {
130 c.calculateObjectCreationCosts = Boolean.parseBoolean(stringValue) 131 c.calculateObjectCreationCosts = Boolean.parseBoolean(stringValue)
131 } catch(Exception e) {} 132 } catch(Exception e) {}
132 } 133 }
134
135 if(config.containsKey('realistic-guidance')){
136 try{
137 val stringValue = config.get('realistic-guidance');
138 c.realisticGuidance = RealisticGuidance.valueOf(stringValue);
139 }catch(IllegalArgumentException e){
140 console.writeError('''Illegal Guidance Name: «e.message»''')
141 }
142 }
143
144 if(config.containsKey('domain')){
145 val stringValue = config.get('domain');
146 c.domain = stringValue
147 }
148
149 if(config.containsKey('optional-wf')){
150 val stringValue = config.get('optional-wf');
151 c.isWFOptional = Boolean.parseBoolean(stringValue)
152 }
153
154 if(config.containsKey('allow-must-violations')){
155 val stringValue = config.get('allow-must-violations');
156 c.allowMustViolations = Boolean.parseBoolean(stringValue);
157 }
133 ] 158 ]
134 } else { 159 } else {
135 throw new UnsupportedOperationException('''Unknown solver: «solver»''') 160 throw new UnsupportedOperationException('''Unknown solver: «solver»''')