From 354f378b6b8ed4d50fc4f378fe48217f9881505c Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Wed, 13 Jun 2018 13:27:33 +0200 Subject: Updated partial model representation handling --- .../dse/PartialModelAsLogicInterpretation.xtend | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend index 7751c8eb..eef53973 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend @@ -10,9 +10,9 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BooleanElement import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.IntegerElement +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialComplexTypeInterpretation import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation -import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PrimitiveElement import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RealElement import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.StringElement @@ -20,16 +20,16 @@ import java.math.BigDecimal import java.util.HashMap import java.util.List import java.util.Map +import java.util.TreeSet import org.eclipse.emf.ecore.EObject import org.eclipse.xtext.xbase.lib.Functions.Function1 import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* -import java.util.TreeSet class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ val PartialInterpretation partialInterpretation val Map trace; - val Map type2Interpretation + val Map type2Interpretation val Map relation2Interpretation val Map elementBackwardTrace @@ -41,18 +41,18 @@ class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ new(PartialInterpretation partialInterpretation, Map forwardMap) { this.partialInterpretation = partialInterpretation this.trace = forwardMap - this.type2Interpretation = initTypes(partialInterpretation.partialtypeinterpratation) + this.type2Interpretation = initComplexTypes(partialInterpretation.partialtypeinterpratation.filter(PartialComplexTypeInterpretation)) this.relation2Interpretation = initRelations(partialInterpretation.partialrelationinterpretation) this.elementBackwardTrace = initElementBackwardTrace(trace) this.booleanForwardTrace = initialisePrimitiveElementTrace( - null,null,[null],partialInterpretation.booleanelements,[it.value]) + null,null,[null],partialInterpretation.newElements.filter(BooleanElement),[it.value]) integerForwardTrace = initialisePrimitiveElementTrace( - 0,[it+1],[it],partialInterpretation.integerelements,[it.value]) + 0,[it+1],[it],partialInterpretation.newElements.filter(IntegerElement),[it.value]) realForwardTrace = initialisePrimitiveElementTrace( - BigDecimal::ZERO,[it.add(BigDecimal.ONE)],[it],partialInterpretation.realelements,[it.value]) + BigDecimal::ZERO,[it.add(BigDecimal.ONE)],[it],partialInterpretation.newElements.filter(RealElement),[it.value]) stringForwardTrace = initialisePrimitiveElementTrace( - 0,[it+1],['''String«it»'''],partialInterpretation.stringelement,[it.value]) + 0,[it+1],['''String«it»'''],partialInterpretation.newElements.filter(StringElement),[it.value]) } private def Map initialisePrimitiveElementTrace( @@ -83,7 +83,7 @@ class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ return forwardMap } - def initTypes(List types) { + def initComplexTypes(Iterable types) { types.toMap[it.interpretationOf] } def initRelations(List relations) { -- cgit v1.2.3-54-g00ecf