From 945f487a08b643392a5d5918c631640b9a0e4605 Mon Sep 17 00:00:00 2001 From: 20001LastOrder Date: Tue, 3 Nov 2020 22:52:26 -0500 Subject: add realistic solver --- .../application/execution/SolverLoader.xtend | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'Application/hu.bme.mit.inf.dslreasoner.application') 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 import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.builder.SolverConfiguration +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.RealisticGuidance class SolverLoader { def loadSolver(Solver solver, Map config) { @@ -129,6 +130,30 @@ class SolverLoader { try { c.calculateObjectCreationCosts = Boolean.parseBoolean(stringValue) } catch(Exception e) {} + } + + if(config.containsKey('realistic-guidance')){ + try{ + val stringValue = config.get('realistic-guidance'); + c.realisticGuidance = RealisticGuidance.valueOf(stringValue); + }catch(IllegalArgumentException e){ + console.writeError('''Illegal Guidance Name: «e.message»''') + } + } + + if(config.containsKey('domain')){ + val stringValue = config.get('domain'); + c.domain = stringValue + } + + if(config.containsKey('optional-wf')){ + val stringValue = config.get('optional-wf'); + c.isWFOptional = Boolean.parseBoolean(stringValue) + } + + if(config.containsKey('allow-must-violations')){ + val stringValue = config.get('allow-must-violations'); + c.allowMustViolations = Boolean.parseBoolean(stringValue); } ] } else { -- cgit v1.2.3-70-g09d2