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.xtend16
1 files changed, 13 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 e45ec1c8..6fbbc779 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
@@ -27,6 +27,7 @@ import java.util.Set
27import org.eclipse.viatra.query.runtime.api.IPatternMatch 27import org.eclipse.viatra.query.runtime.api.IPatternMatch
28import org.eclipse.viatra.query.runtime.api.IQuerySpecification 28import org.eclipse.viatra.query.runtime.api.IQuerySpecification
29import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher 29import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
30import org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint
30import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery 31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
31import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRule 32import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRule
32import org.eclipse.xtend.lib.annotations.Data 33import org.eclipse.xtend.lib.annotations.Data
@@ -83,6 +84,9 @@ class ModelGenerationStatistics {
83 84
84 Collection<? extends IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> invalidWF 85 Collection<? extends IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> invalidWF
85 86
87 Map<PConstraint, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> mustUnitPropagationPreconditions
88 Map<PConstraint, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> currentUnitPropagationPreconditions
89
86 Map<String, ModalPatternQueries> modalRelationQueries 90 Map<String, ModalPatternQueries> modalRelationQueries
87 91
88 Collection<? extends IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> allPatterns 92 Collection<? extends IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> allPatterns
@@ -120,12 +124,13 @@ class ModelGenerationMethodProvider {
120 workspace, typeInferenceMethod, scopePropagatorStrategy, relationConstraints, hints, writeFiles) 124 workspace, typeInferenceMethod, scopePropagatorStrategy, relationConstraints, hints, writeFiles)
121 val scopePropagator = createScopePropagator(scopePropagatorStrategy, emptySolution, hints, queries, statistics) 125 val scopePropagator = createScopePropagator(scopePropagatorStrategy, emptySolution, hints, queries, statistics)
122 scopePropagator.propagateAllScopeConstraints 126 scopePropagator.propagateAllScopeConstraints
123 val objectRefinementRules = refinementRuleProvider.createObjectRefinementRules(queries, scopePropagator, 127 val objectRefinementRules = refinementRuleProvider.createObjectRefinementRules(logicProblem, emptySolution,
124 nameNewElements, statistics) 128 queries, scopePropagator, nameNewElements, statistics)
125 val relationRefinementRules = refinementRuleProvider.createRelationRefinementRules(queries, scopePropagator, 129 val relationRefinementRules = refinementRuleProvider.createRelationRefinementRules(queries, scopePropagator,
126 statistics) 130 statistics)
127 131
128 val unfinishedMultiplicities = goalConstraintProvider.getUnfinishedMultiplicityQueries(queries) 132 val unfinishedMultiplicities = goalConstraintProvider.getUnfinishedMultiplicityQueries(logicProblem,queries)
133
129 val unfinishedWF = queries.getUnfinishedWFQueries.values 134 val unfinishedWF = queries.getUnfinishedWFQueries.values
130 135
131 val modalRelationQueriesBuilder = ImmutableMap.builder 136 val modalRelationQueriesBuilder = ImmutableMap.builder
@@ -138,6 +143,9 @@ class ModelGenerationMethodProvider {
138 val modalRelationQueries = modalRelationQueriesBuilder.build 143 val modalRelationQueries = modalRelationQueriesBuilder.build
139 144
140 val invalidWF = queries.getInvalidWFQueries.values 145 val invalidWF = queries.getInvalidWFQueries.values
146
147 val mustUnitPropagationPreconditions = queries.getMustUnitPropagationPreconditionPatterns
148 val currentUnitPropagationPreconditions = queries.getCurrentUnitPropagationPreconditionPatterns
141 149
142 return new ModelGenerationMethod( 150 return new ModelGenerationMethod(
143 statistics, 151 statistics,
@@ -146,6 +154,8 @@ class ModelGenerationMethodProvider {
146 unfinishedMultiplicities, 154 unfinishedMultiplicities,
147 unfinishedWF, 155 unfinishedWF,
148 invalidWF, 156 invalidWF,
157 mustUnitPropagationPreconditions,
158 currentUnitPropagationPreconditions,
149 modalRelationQueries, 159 modalRelationQueries,
150 queries.allQueries 160 queries.allQueries
151 ) 161 )