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.xtend7
1 files changed, 5 insertions, 2 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 8e061b63..23632d4d 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
@@ -10,6 +10,8 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.Polyhedr
10import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.RelationConstraintCalculator 10import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.RelationConstraintCalculator
11import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.ScopePropagator 11import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.ScopePropagator
12import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.ScopePropagatorStrategy 12import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.ScopePropagatorStrategy
13import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.TypeHierarchyScopePropagator
14import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.Z3PolyhedronSolver
13import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.GeneratedPatterns 15import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.GeneratedPatterns
14import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.ModalPatternQueries 16import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.ModalPatternQueries
15import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.PatternProvider 17import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.PatternProvider
@@ -27,7 +29,6 @@ import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
27import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery 29import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
28import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRule 30import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRule
29import org.eclipse.xtend.lib.annotations.Data 31import org.eclipse.xtend.lib.annotations.Data
30import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.Z3PolyhedronSolver
31 32
32class ModelGenerationStatistics { 33class ModelGenerationStatistics {
33 public var long transformationExecutionTime = 0 34 public var long transformationExecutionTime = 0
@@ -139,8 +140,10 @@ class ModelGenerationMethodProvider {
139 private def createScopePropagator(ScopePropagatorStrategy scopePropagatorStrategy, 140 private def createScopePropagator(ScopePropagatorStrategy scopePropagatorStrategy,
140 PartialInterpretation emptySolution, GeneratedPatterns queries, ModelGenerationStatistics statistics) { 141 PartialInterpretation emptySolution, GeneratedPatterns queries, ModelGenerationStatistics statistics) {
141 switch (scopePropagatorStrategy) { 142 switch (scopePropagatorStrategy) {
142 case ScopePropagatorStrategy.BasicTypeHierarchy: 143 case ScopePropagatorStrategy.Count:
143 new ScopePropagator(emptySolution, statistics) 144 new ScopePropagator(emptySolution, statistics)
145 case ScopePropagatorStrategy.BasicTypeHierarchy:
146 new TypeHierarchyScopePropagator(emptySolution, statistics)
144 ScopePropagatorStrategy.Polyhedral: { 147 ScopePropagatorStrategy.Polyhedral: {
145 val types = queries.refineObjectQueries.keySet.map[newType].toSet 148 val types = queries.refineObjectQueries.keySet.map[newType].toSet
146 val solver = switch (scopePropagatorStrategy.solver) { 149 val solver = switch (scopePropagatorStrategy.solver) {