From c0568c4373fa00e2ba2e165cfd681dd7cd61add6 Mon Sep 17 00:00:00 2001 From: Oszkar Semerath Date: Mon, 18 May 2020 21:45:19 +0200 Subject: removed every occurence of check expressions --- .../rules/GoalConstraintProvider.xtend | 26 ++++++++++++---------- .../rules/RefinementRuleProvider.xtend | 18 +++++++-------- 2 files changed, 23 insertions(+), 21 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend index 87f7e339..0e8d341a 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend @@ -19,38 +19,40 @@ import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* class GoalConstraintProvider { - val calculateObjectCost = true + val calculateObjectCost = false def public getUnfinishedMultiplicityQueries(LogicProblem p, GeneratedPatterns patterns) { val res = new ArrayList() - res.addAll(patterns.unfinishedContainmentMulticiplicityQueries,true) + res.addAll(patterns.unfinishedNonContainmentMulticiplicityQueries,false) if(calculateObjectCost) { - val middingObjectCost = calculateMissingObjectCost(p) - res.addAll(patterns.unfinishedNonContainmentMulticiplicityQueries,false) + val missingObjectCost = calculateMissingObjectCost(p) + res.addAll(patterns.unfinishedContainmentMulticiplicityQueries,true,missingObjectCost) } else { - res.addAll(patterns.unfinishedNonContainmentMulticiplicityQueries,false) + res.addAll(patterns.unfinishedContainmentMulticiplicityQueries,true) } return res } - def addAll(ArrayList res, Map>> queries, boolean containment) { + def addAll(ArrayList res, Map>,Integer>> queries, boolean containment) { for(multiplicityQuery : queries.entrySet) { val targetRelationName = multiplicityQuery.key.name - val query = multiplicityQuery.value - res += new MultiplicityGoalConstraintCalculator(targetRelationName,query,containment,1); + val query = multiplicityQuery.value.key + val minValue = multiplicityQuery.value.value + res += new MultiplicityGoalConstraintCalculator(targetRelationName,query,minValue,containment,1); } } def addAll( ArrayList res, - Map>> queries, + Map>,Integer>> queries, boolean containment, Map cost ) { for(multiplicityQuery : queries.entrySet) { val targetRelationName = multiplicityQuery.key.name - val query = multiplicityQuery.value - res += new MultiplicityGoalConstraintCalculator(targetRelationName,query,containment,multiplicityQuery.key.lookup(cost)) + val query = multiplicityQuery.value.key + val minValue = multiplicityQuery.value.value + res += new MultiplicityGoalConstraintCalculator(targetRelationName,query,minValue,containment,multiplicityQuery.key.lookup(cost)) } } @@ -80,7 +82,7 @@ class GoalConstraintProvider { for(containment : containments) { val key = containment val value = (containment.parameters.get(1) as ComplexTypeReference).referred.count(type2NewCost) - //println('''«key.name» --> «value» new''') +// println('''«key.name» --> «value» new''') res.put(key,value) } return res diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend index 16438a5a..23ea118b 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend @@ -413,9 +413,6 @@ class RefinementRuleProvider { newElement.name = '''new «interpretation.newElements.size»''' } - // Existence - interpretation.newElements+=newElement - // Types typeInterpretation.elements += newElement if(typeInterpretation instanceof PartialComplexTypeInterpretation) { @@ -431,6 +428,9 @@ class RefinementRuleProvider { // Scope propagation scopePropagator.propagateAdditionToType(typeInterpretation) + // Existence + interpretation.newElements+=newElement + // Do recursive object creation for(newConstructor : recursiceObjectCreations) { createObjectAction(nameNewElement,newConstructor,newElement,scopePropagator) @@ -454,9 +454,6 @@ class RefinementRuleProvider { newElement.name = '''new «interpretation.newElements.size»''' } - // Existence - interpretation.newElements+=newElement - // Types typeInterpretation.elements += newElement if(typeInterpretation instanceof PartialComplexTypeInterpretation) { @@ -469,6 +466,9 @@ class RefinementRuleProvider { // Scope propagation scopePropagator.propagateAdditionToType(typeInterpretation) + // Existence + interpretation.newElements+=newElement + // Do recursive object creation for(newConstructor : recursiceObjectCreations) { createObjectAction(nameNewElement,newConstructor,newElement,scopePropagator) @@ -490,9 +490,6 @@ class RefinementRuleProvider { newElement.name = '''new «interpretation.newElements.size»''' } - // Existence - interpretation.newElements+=newElement - // Types typeInterpretation.elements += newElement if(typeInterpretation instanceof PartialComplexTypeInterpretation) { @@ -502,6 +499,9 @@ class RefinementRuleProvider { // Scope propagation scopePropagator.propagateAdditionToType(typeInterpretation) + // Existence + interpretation.newElements+=newElement + // Do recursive object creation for(newConstructor : recursiceObjectCreations) { createObjectAction(nameNewElement,newConstructor,newElement,scopePropagator) -- cgit v1.2.3-70-g09d2