diff options
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner')
-rw-r--r-- | Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend | 18 |
1 files changed, 9 insertions, 9 deletions
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 | |||
10 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink | 10 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink |
11 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BooleanElement | 11 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BooleanElement |
12 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.IntegerElement | 12 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.IntegerElement |
13 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialComplexTypeInterpretation | ||
13 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation | 14 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation |
14 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation | 15 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation |
15 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialTypeInterpratation | ||
16 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PrimitiveElement | 16 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PrimitiveElement |
17 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RealElement | 17 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RealElement |
18 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.StringElement | 18 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.StringElement |
@@ -20,16 +20,16 @@ import java.math.BigDecimal | |||
20 | import java.util.HashMap | 20 | import java.util.HashMap |
21 | import java.util.List | 21 | import java.util.List |
22 | import java.util.Map | 22 | import java.util.Map |
23 | import java.util.TreeSet | ||
23 | import org.eclipse.emf.ecore.EObject | 24 | import org.eclipse.emf.ecore.EObject |
24 | import org.eclipse.xtext.xbase.lib.Functions.Function1 | 25 | import org.eclipse.xtext.xbase.lib.Functions.Function1 |
25 | 26 | ||
26 | import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* | 27 | import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* |
27 | import java.util.TreeSet | ||
28 | 28 | ||
29 | class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ | 29 | class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ |
30 | val PartialInterpretation partialInterpretation | 30 | val PartialInterpretation partialInterpretation |
31 | val Map<EObject, EObject> trace; | 31 | val Map<EObject, EObject> trace; |
32 | val Map<TypeDeclaration,PartialTypeInterpratation> type2Interpretation | 32 | val Map<TypeDeclaration,PartialComplexTypeInterpretation> type2Interpretation |
33 | val Map<RelationDeclaration,PartialRelationInterpretation> relation2Interpretation | 33 | val Map<RelationDeclaration,PartialRelationInterpretation> relation2Interpretation |
34 | 34 | ||
35 | val Map<DefinedElement,DefinedElement> elementBackwardTrace | 35 | val Map<DefinedElement,DefinedElement> elementBackwardTrace |
@@ -41,18 +41,18 @@ class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ | |||
41 | new(PartialInterpretation partialInterpretation, Map<EObject, EObject> forwardMap) { | 41 | new(PartialInterpretation partialInterpretation, Map<EObject, EObject> forwardMap) { |
42 | this.partialInterpretation = partialInterpretation | 42 | this.partialInterpretation = partialInterpretation |
43 | this.trace = forwardMap | 43 | this.trace = forwardMap |
44 | this.type2Interpretation = initTypes(partialInterpretation.partialtypeinterpratation) | 44 | this.type2Interpretation = initComplexTypes(partialInterpretation.partialtypeinterpratation.filter(PartialComplexTypeInterpretation)) |
45 | this.relation2Interpretation = initRelations(partialInterpretation.partialrelationinterpretation) | 45 | this.relation2Interpretation = initRelations(partialInterpretation.partialrelationinterpretation) |
46 | 46 | ||
47 | this.elementBackwardTrace = initElementBackwardTrace(trace) | 47 | this.elementBackwardTrace = initElementBackwardTrace(trace) |
48 | this.booleanForwardTrace = initialisePrimitiveElementTrace( | 48 | this.booleanForwardTrace = initialisePrimitiveElementTrace( |
49 | null,null,[null],partialInterpretation.booleanelements,[it.value]) | 49 | null,null,[null],partialInterpretation.newElements.filter(BooleanElement),[it.value]) |
50 | integerForwardTrace = initialisePrimitiveElementTrace( | 50 | integerForwardTrace = initialisePrimitiveElementTrace( |
51 | 0,[it+1],[it],partialInterpretation.integerelements,[it.value]) | 51 | 0,[it+1],[it],partialInterpretation.newElements.filter(IntegerElement),[it.value]) |
52 | realForwardTrace = initialisePrimitiveElementTrace( | 52 | realForwardTrace = initialisePrimitiveElementTrace( |
53 | BigDecimal::ZERO,[it.add(BigDecimal.ONE)],[it],partialInterpretation.realelements,[it.value]) | 53 | BigDecimal::ZERO,[it.add(BigDecimal.ONE)],[it],partialInterpretation.newElements.filter(RealElement),[it.value]) |
54 | stringForwardTrace = initialisePrimitiveElementTrace( | 54 | stringForwardTrace = initialisePrimitiveElementTrace( |
55 | 0,[it+1],['''String«it»'''],partialInterpretation.stringelement,[it.value]) | 55 | 0,[it+1],['''String«it»'''],partialInterpretation.newElements.filter(StringElement),[it.value]) |
56 | } | 56 | } |
57 | 57 | ||
58 | private def <Seed,Type,ElementType extends PrimitiveElement> Map<Type,ElementType> initialisePrimitiveElementTrace( | 58 | private def <Seed,Type,ElementType extends PrimitiveElement> Map<Type,ElementType> initialisePrimitiveElementTrace( |
@@ -83,7 +83,7 @@ class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ | |||
83 | return forwardMap | 83 | return forwardMap |
84 | } | 84 | } |
85 | 85 | ||
86 | def initTypes(List<PartialTypeInterpratation> types) { | 86 | def initComplexTypes(Iterable<PartialComplexTypeInterpretation> types) { |
87 | types.toMap[it.interpretationOf] | 87 | types.toMap[it.interpretationOf] |
88 | } | 88 | } |
89 | def initRelations(List<PartialRelationInterpretation> relations) { | 89 | def initRelations(List<PartialRelationInterpretation> relations) { |