aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend19
1 files changed, 16 insertions, 3 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend
index 656f806b..ff8ab437 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/ModelGenerationMethodProvider.xtend
@@ -1,5 +1,6 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra 1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra
2 2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem 4import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.PatternProvider 5import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.PatternProvider
5import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.rules.GoalConstraintProvider 6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.rules.GoalConstraintProvider
@@ -14,6 +15,8 @@ import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
14import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery 15import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
15import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRule 16import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRule
16import org.eclipse.xtend.lib.annotations.Data 17import org.eclipse.xtend.lib.annotations.Data
18import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery
19import java.util.Set
17 20
18class ModelGenerationStatistics { 21class ModelGenerationStatistics {
19 public var long transformationExecutionTime = 0 22 public var long transformationExecutionTime = 0
@@ -47,13 +50,23 @@ class ModelGenerationMethodProvider {
47 public def ModelGenerationMethod createModelGenerationMethod( 50 public def ModelGenerationMethod createModelGenerationMethod(
48 LogicProblem logicProblem, 51 LogicProblem logicProblem,
49 PartialInterpretation emptySolution, 52 PartialInterpretation emptySolution,
50 Iterable<PQuery> existingQueries,
51 ReasonerWorkspace workspace, 53 ReasonerWorkspace workspace,
52 boolean nameNewElements, 54 boolean nameNewElements,
53 TypeInferenceMethod typeInferenceMethod 55 TypeInferenceMethod typeInferenceMethod,
56 DocumentationLevel debugLevel
54 ) { 57 ) {
55 val statistics = new ModelGenerationStatistics 58 val statistics = new ModelGenerationStatistics
56 val queries = patternProvider.generateQueries(logicProblem,emptySolution,statistics,existingQueries,workspace,typeInferenceMethod) 59 val writeFiles = (debugLevel === DocumentationLevel.NORMAL || debugLevel === DocumentationLevel.FULL)
60
61 val Set<PQuery> existingQueries = logicProblem
62 .relations
63 .map[annotations]
64 .flatten
65 .filter(TransfomedViatraQuery)
66 .map[it.patternPQuery as PQuery]
67 .toSet
68
69 val queries = patternProvider.generateQueries(logicProblem,emptySolution,statistics,existingQueries,workspace,typeInferenceMethod,writeFiles)
57 70
58 val //LinkedHashMap<Pair<Relation, ? extends Type>, BatchTransformationRule<GenericPatternMatch, ViatraQueryMatcher<GenericPatternMatch>>> 71 val //LinkedHashMap<Pair<Relation, ? extends Type>, BatchTransformationRule<GenericPatternMatch, ViatraQueryMatcher<GenericPatternMatch>>>
59 objectRefinementRules = refinementRuleProvider.createObjectRefinementRules(queries,nameNewElements,statistics) 72 objectRefinementRules = refinementRuleProvider.createObjectRefinementRules(queries,nameNewElements,statistics)