diff options
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend')
-rw-r--r-- | Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend | 59 |
1 files changed, 47 insertions, 12 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend index d638dd71..f32078a2 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend | |||
@@ -1,15 +1,17 @@ | |||
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.LogicReasoner | ||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration | 4 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration |
4 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration | 5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration |
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration | 6 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration |
6 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod | ||
7 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod | 7 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod |
8 | import java.util.LinkedList | 8 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualiser |
9 | import java.util.List | ||
10 | import java.util.Set | 9 | import java.util.Set |
11 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery | 10 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery |
11 | import java.util.LinkedList | ||
12 | import java.util.List | ||
12 | import org.eclipse.xtext.xbase.lib.Functions.Function1 | 13 | import org.eclipse.xtext.xbase.lib.Functions.Function1 |
14 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod | ||
13 | 15 | ||
14 | public enum StateCoderStrategy { | 16 | public enum StateCoderStrategy { |
15 | Neighbourhood, NeighbourhoodWithEquivalence, IDBased, DefinedByDiversity | 17 | Neighbourhood, NeighbourhoodWithEquivalence, IDBased, DefinedByDiversity |
@@ -17,26 +19,59 @@ public enum StateCoderStrategy { | |||
17 | 19 | ||
18 | class ViatraReasonerConfiguration extends LogicSolverConfiguration{ | 20 | class ViatraReasonerConfiguration extends LogicSolverConfiguration{ |
19 | public var Iterable<PQuery> existingQueries | 21 | public var Iterable<PQuery> existingQueries |
20 | public var LogicSolverConfiguration inconsistencDetectorConfiguration = null | ||
21 | public var List<Function1<ModelGenerationMethod,ModelGenerationMethodBasedGlobalConstraint>> additionalGlobalConstraints = new LinkedList | ||
22 | int maxDepth = -1 | ||
23 | |||
24 | public var TypeInferenceMethod typeInferenceMethod = TypeInferenceMethod.Generic | ||
25 | 22 | ||
26 | public var nameNewElements = false | 23 | public var nameNewElements = false |
27 | public var StateCoderStrategy stateCoderStrategy = StateCoderStrategy.Neighbourhood | 24 | public var StateCoderStrategy stateCoderStrategy = StateCoderStrategy.Neighbourhood |
25 | public var TypeInferenceMethod typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis | ||
26 | /** | ||
27 | * Once per 1/randomBacktrackChance the search selects a random state. | ||
28 | */ | ||
29 | public var int randomBacktrackChance = 20; | ||
28 | 30 | ||
29 | /** | 31 | /** |
30 | * Describes the required diversity between the solutions. | 32 | * Describes the required diversity between the solutions. |
31 | * Null means that the solutions have to have different state codes only. | 33 | * Null means that the solutions have to have different state codes only. |
32 | */ | 34 | */ |
33 | public var DiversityDescriptor diversityRequirement = null | 35 | public var DiversityDescriptor diversityRequirement = new DiversityDescriptor |
36 | /** | ||
37 | * A logic solver that able to check the consistency of an intermediate solution. | ||
38 | * Null means that no solver is called. | ||
39 | */ | ||
40 | public var InternalConsistencyCheckerConfiguration internalConsistencyCheckerConfiguration = new InternalConsistencyCheckerConfiguration | ||
41 | /** | ||
42 | * Configuration for debugging support. | ||
43 | */ | ||
44 | public var DebugConfiguration debugCongiguration = new DebugConfiguration | ||
45 | /** | ||
46 | * Configuration for cutting search space. | ||
47 | */ | ||
48 | public var SearchSpaceConstraint searchSpaceConstraints = new SearchSpaceConstraint | ||
34 | } | 49 | } |
35 | 50 | ||
36 | public class DiversityDescriptor { | 51 | public class DiversityDescriptor { |
37 | public var int range = -1 | 52 | public var ensureDiversity = false |
53 | public static val FixPointRange = -1 | ||
54 | public var int range = FixPointRange | ||
38 | public var int parallels = Integer.MAX_VALUE | 55 | public var int parallels = Integer.MAX_VALUE |
39 | public var int maxNumber = Integer.MAX_VALUE | 56 | public var int maxNumber = Integer.MAX_VALUE |
40 | public var Set<TypeDeclaration> relevantTypes | 57 | public var Set<TypeDeclaration> relevantTypes = null |
41 | public var Set<RelationDeclaration> relevantRelations | 58 | public var Set<RelationDeclaration> relevantRelations = null |
59 | } | ||
60 | |||
61 | public class DebugConfiguration { | ||
62 | public var logging = false | ||
63 | public var PartialInterpretationVisualiser partialInterpretatioVisualiser = null; | ||
64 | public var partalInterpretationVisualisationFrequency = 1 | ||
65 | } | ||
66 | |||
67 | public class InternalConsistencyCheckerConfiguration { | ||
68 | public var LogicReasoner internalIncosnsitencyDetector = null | ||
69 | public var LogicSolverConfiguration internalInconsistencDetectorConfiguration = null | ||
70 | public var incternalConsistencyCheckingFrequency = 1 | ||
71 | } | ||
72 | |||
73 | public class SearchSpaceConstraint { | ||
74 | public static val UNLIMITED_MAXDEPTH = Integer.MAX_VALUE | ||
75 | public var int maxDepth = UNLIMITED_MAXDEPTH | ||
76 | public var List<Function1<ModelGenerationMethod, ModelGenerationMethodBasedGlobalConstraint>> additionalGlobalConstraints = new LinkedList | ||
42 | } \ No newline at end of file | 77 | } \ No newline at end of file |