From 487c4280fd8e764960ef9d2848b94fa67927c67a Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sun, 2 Jul 2017 23:33:40 +0200 Subject: Multiple model with interpretations --- .../logic/model/builder/LogicSolver.xtend | 22 ++++++++++++++++++++-- .../TypeConsistencyChecker.xtend | 2 +- 2 files changed, 21 insertions(+), 3 deletions(-) (limited to 'Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit') diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend index 2e3d57cf..7b384bc4 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend @@ -4,13 +4,14 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace +import java.util.List abstract class LogicReasoner { def abstract LogicResult solve( LogicProblem problem, LogicSolverConfiguration configuration, ReasonerWorkspace workspace) throws LogicReasonerException - def abstract LogicModelInterpretation getInterpretation(ModelResult modelResult) + def abstract List getInterpretations(ModelResult modelResult) } public class LogicReasonerException extends Exception { @@ -34,14 +35,31 @@ abstract class LogicSolverConfiguration { public var SolutionScope solutionScope = new SolutionScope } +/** + * Defines the the size of the generated models. Constant Unlimited defines no upper limit to the type. + */ public class TypeScopes{ public static val Unlimited = -1; + + /** + * Defines a limit for integers in the logic problem. + */ public var maxIntScope = Unlimited + /** + * Defines the minimal number of newly added elements. Default value is 0. + */ public var minNewElements = 0 + /** + * Defines the maximal number of newly added elements. Default value is TypeScopes.Unlimited. + */ public var maxNewElements = Unlimited } +/** + * Defines the required number of solutions for the problem. + * Constant All defines that all solution for the problem is requested. + */ public class SolutionScope{ - public static val Unlimited = -1; + public static val All = -1; public var numberOfRequiredSolution = 1 } \ No newline at end of file diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend index abb05e83..9148424c 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend @@ -69,7 +69,7 @@ class TypeConsistencyChecker extends LogicReasoner{ } } - override getInterpretation(ModelResult modelResult) { + override getInterpretations(ModelResult modelResult) { throw new UnsupportedOperationException('''This solver is unable to create interpretations!''') } } \ No newline at end of file -- cgit v1.2.3-54-g00ecf