aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend56
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend2
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend2
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend6
4 files changed, 33 insertions, 33 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend
index 6e1e5765..1ef82195 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend
@@ -1,31 +1,31 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns 1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns
2 2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion
4import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration 9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition 10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDefinition
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.StringTypeReference
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference
13import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
14import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature
15import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery
16import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint
17import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
18import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
19import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod
20import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
21import java.util.HashMap
5import java.util.Map 22import java.util.Map
23import org.eclipse.emf.ecore.EAttribute
6import org.eclipse.emf.ecore.EReference 24import org.eclipse.emf.ecore.EReference
7import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery 25import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery
8import org.eclipse.xtend.lib.annotations.Accessors 26import org.eclipse.xtend.lib.annotations.Accessors
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery 27
10import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* 28import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
12import org.eclipse.emf.ecore.EAttribute
13import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.Modality
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
15import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod
16import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeAnalysisResult
17import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion
18import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint
19import java.util.HashMap
20import java.util.HashSet
21import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation
23import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature
24import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeReference
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.BoolTypeReference
26import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntTypeReference
27import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealTypeReference
28import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.StringTypeReference
29 29
30class PatternGenerator { 30class PatternGenerator {
31 @Accessors(PUBLIC_GETTER) val TypeIndexer typeIndexer //= new TypeIndexer(this) 31 @Accessors(PUBLIC_GETTER) val TypeIndexer typeIndexer //= new TypeIndexer(this)
@@ -183,7 +183,7 @@ class PatternGenerator {
183 } or { 183 } or {
184 find interpretation(problem,interpetation); 184 find interpretation(problem,interpetation);
185 PartialInterpretation.realelements(interpetation,element); 185 PartialInterpretation.realelements(interpetation,element);
186 } 186 } or {
187 find interpretation(problem,interpetation); 187 find interpretation(problem,interpetation);
188 PartialInterpretation.stringelements(interpetation,element); 188 PartialInterpretation.stringelements(interpetation,element);
189 } 189 }
@@ -197,15 +197,15 @@ class PatternGenerator {
197 } or { 197 } or {
198 find interpretation(problem,interpetation); 198 find interpretation(problem,interpetation);
199 neg find integerCloseWorld(interpetation); 199 neg find integerCloseWorld(interpetation);
200 PartialInterpretation.newIntegers(interpetation,element) 200 PartialInterpretation.newIntegers(interpetation,element);
201 } or { 201 } or {
202 find interpretation(problem,interpetation); 202 find interpretation(problem,interpetation);
203 neg find realCloseWorld(interpetation); 203 neg find realCloseWorld(interpetation);
204 PartialInterpretation.newReals(interpetation,element) 204 PartialInterpretation.newReals(interpetation,element);
205 } or { 205 } or {
206 find interpretation(problem,interpetation); 206 find interpretation(problem,interpetation);
207 neg find stringCloseWorld(interpetation); 207 neg find stringCloseWorld(interpetation);
208 PartialInterpretation.newStrings(interpetation,element) 208 PartialInterpretation.newStrings(interpetation,element);
209 } 209 }
210 210
211 private pattern elementCloseWorld(interpetation:PartialInterpretation) { 211 private pattern elementCloseWorld(interpetation:PartialInterpretation) {
@@ -242,25 +242,25 @@ class PatternGenerator {
242 ////////// 242 //////////
243 // 1.1.1 primitive Type Indexers 243 // 1.1.1 primitive Type Indexers
244 ////////// 244 //////////
245 pattern instaneofBoolean(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 245 pattern instanceofBoolean(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
246 find interpretation(problem,interpretation); 246 find interpretation(problem,interpretation);
247 PartialInterpretation.booleanelements(interpretation,element); 247 PartialInterpretation.booleanelements(interpretation,element);
248 } 248 }
249 pattern instaneofInteger(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 249 pattern instanceofInteger(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
250 find interpretation(problem,interpretation); 250 find interpretation(problem,interpretation);
251 PartialInterpretation.integerelements(interpretation,element); 251 PartialInterpretation.integerelements(interpretation,element);
252 } or { 252 } or {
253 find interpretation(problem,interpretation); 253 find interpretation(problem,interpretation);
254 PartialInterpretation.newIntegers(interpetation,element); 254 PartialInterpretation.newIntegers(interpetation,element);
255 } 255 }
256 pattern instaneofReal(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 256 pattern instanceofReal(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 find interpretation(problem,interpretation); 257 find interpretation(problem,interpretation);
258 PartialInterpretation.realements(interpretation,element); 258 PartialInterpretation.realelements(interpretation,element);
259 } or { 259 } or {
260 find interpretation(problem,interpretation); 260 find interpretation(problem,interpretation);
261 PartialInterpretation.newReals(interpetation,element); 261 PartialInterpretation.newReals(interpetation,element);
262 } 262 }
263 pattern instaneofString(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 263 pattern instanceofString(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
264 find interpretation(problem,interpretation); 264 find interpretation(problem,interpretation);
265 PartialInterpretation.stringelements(interpretation,element); 265 PartialInterpretation.stringelements(interpretation,element);
266 } or { 266 } or {
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend
index 73e43d52..fd0b7c18 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/TypeIndexerWithPreliminaryTypeAnalysis.xtend
@@ -81,7 +81,7 @@ class TypeIndexerWithPreliminaryTypeAnalysis extends TypeIndexer{
81 «ENDFOR» 81 «ENDFOR»
82 } or { 82 } or {
83 find interpretation(problem,interpretation); 83 find interpretation(problem,interpretation);
84 PartialInterpretation.openWorldElementPrototype(interpetation,element); 84 PartialInterpretation.openWorldElementPrototypes(interpetation,element);
85 } or 85 } or
86 «ENDIF» 86 «ENDIF»
87 { «referInstanceOf(type,Modality.MUST,"element")» } 87 { «referInstanceOf(type,Modality.MUST,"element")» }
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 3db21ea4..7751c8eb 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
@@ -46,7 +46,7 @@ class PartialModelAsLogicInterpretation implements LogicModelInterpretation{
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.booleanelements,[it.value])
50 integerForwardTrace = initialisePrimitiveElementTrace( 50 integerForwardTrace = initialisePrimitiveElementTrace(
51 0,[it+1],[it],partialInterpretation.integerelements,[it.value]) 51 0,[it+1],[it],partialInterpretation.integerelements,[it.value])
52 realForwardTrace = initialisePrimitiveElementTrace( 52 realForwardTrace = initialisePrimitiveElementTrace(
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend
index 78382c2a..d73303fa 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend
@@ -64,16 +64,16 @@ class SimpleRun {
64 println("Problem created") 64 println("Problem created")
65 var LogicResult solution 65 var LogicResult solution
66 var LogicReasoner reasoner 66 var LogicReasoner reasoner
67 /* 67 //*
68 reasoner = new ViatraReasoner 68 reasoner = new ViatraReasoner
69 val viatraConfig = new ViatraReasonerConfiguration => [ 69 val viatraConfig = new ViatraReasonerConfiguration => [
70 it.typeScopes.maxNewElements = 40 70 it.typeScopes.maxNewElements = 40
71 it.typeScopes.minNewElements = 40 71 it.typeScopes.minNewElements = 40
72 it.solutionScope.numberOfRequiredSolution = 1 72 it.solutionScope.numberOfRequiredSolution = 1
73 it.existingQueries = queries.patterns.map[it.internalQueryRepresentation] 73 it.existingQueries = queries.patterns.map[it.internalQueryRepresentation]
74 it.debugCongiguration.logging = true 74 it.debugCongiguration.logging = false
75 it.debugCongiguration.partalInterpretationVisualisationFrequency = 1 75 it.debugCongiguration.partalInterpretationVisualisationFrequency = 1
76 it.debugCongiguration.partialInterpretatioVisualiser = new GraphvizVisualisation 76 it.debugCongiguration.partialInterpretatioVisualiser = null//new GraphvizVisualisation
77 ] 77 ]
78 solution = reasoner.solve(logicProblem,viatraConfig,workspace) 78 solution = reasoner.solve(logicProblem,viatraConfig,workspace)
79 /*/ 79 /*/