From 60f01f46ba232ed6416054f0a6115cb2a9b70b4e Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sat, 10 Jun 2017 19:05:05 +0200 Subject: Migrating Additional projects --- .../reasoner/dse/WF2ObjectiveConverter.xtend | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend new file mode 100644 index 00000000..4fd297ca --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/WF2ObjectiveConverter.xtend @@ -0,0 +1,36 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse + +import java.util.ArrayList +import java.util.Collection +import org.eclipse.viatra.dse.objectives.Comparators +import org.eclipse.viatra.dse.objectives.IGlobalConstraint +import org.eclipse.viatra.dse.objectives.impl.ConstraintsObjective +import org.eclipse.viatra.dse.objectives.impl.ConstraintsObjective.QueryConstraint +import org.eclipse.viatra.dse.objectives.impl.ModelQueriesGlobalConstraint +import org.eclipse.viatra.query.runtime.api.IPatternMatch +import org.eclipse.viatra.query.runtime.api.IQuerySpecification +import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher + +class WF2ObjectiveConverter { + + def createCompletenessObjective( + Collection>> unfinishedWF) + { + val res = new ConstraintsObjective('''unfinishedWFs''', + unfinishedWF.map[ + new QueryConstraint(it.fullyQualifiedName,it,1.0) + ].toList + ) + res.withComparator(Comparators.LOWER_IS_BETTER) + res.level = 2 + return res + } + + def IGlobalConstraint createInvalidationObjective( + Collection>> invalidatedByWF) + { + return new ModelQueriesGlobalConstraint('''invalidatedWFs''', + new ArrayList(invalidatedByWF) + ) + } +} \ No newline at end of file -- cgit v1.2.3-54-g00ecf