aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszka@152.66.252.189>2017-08-27 17:20:18 +0200
committerLibravatar OszkarSemerath <oszka@152.66.252.189>2017-08-27 17:20:18 +0200
commit04f5e257ca684dfe75262a5cf1f29b72ba197edf (patch)
tree6dcabdebdb3d7d3af794b39344d965ebf2bc2b6d /Solvers/VIATRA-Solver
parentsimple typemapper for alloy (diff)
downloadVIATRA-Generator-04f5e257ca684dfe75262a5cf1f29b72ba197edf.tar.gz
VIATRA-Generator-04f5e257ca684dfe75262a5cf1f29b72ba197edf.tar.zst
VIATRA-Generator-04f5e257ca684dfe75262a5cf1f29b72ba197edf.zip
Primitive types added to the logic problem only if needed
Diffstat (limited to 'Solvers/VIATRA-Solver')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternGenerator.xtend38
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/PartialInterpretation2Logic.xtend7
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java2
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java2
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird28
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore2
6 files changed, 41 insertions, 38 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 1ef82195..7caa3e19 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
@@ -153,6 +153,7 @@ class PatternGenerator {
153 Map<String,PQuery> fqn2PQuery, 153 Map<String,PQuery> fqn2PQuery,
154 TypeAnalysisResult typeAnalysisResult 154 TypeAnalysisResult typeAnalysisResult
155 ) { 155 ) {
156
156 return ''' 157 return '''
157 import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" 158 import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
158 import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" 159 import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
@@ -174,19 +175,23 @@ class PatternGenerator {
174 } or { 175 } or {
175 find interpretation(problem,interpetation); 176 find interpretation(problem,interpetation);
176 PartialInterpretation.newElements(interpetation,element); 177 PartialInterpretation.newElements(interpetation,element);
177 } or { 178 }
179 «IF problem.hasBoolean»or {
178 find interpretation(problem,interpetation); 180 find interpretation(problem,interpetation);
179 PartialInterpretation.booleanelements(interpetation,element); 181 PartialInterpretation.booleanelements(interpetation,element);
180 } or { 182 }«ENDIF»
183 «IF problem.hasInteger»or {
181 find interpretation(problem,interpetation); 184 find interpretation(problem,interpetation);
182 PartialInterpretation.integerelements(interpetation,element); 185 PartialInterpretation.integerelements(interpetation,element);
183 } or { 186 }«ENDIF»
187 «IF problem.hasReal»or {
184 find interpretation(problem,interpetation); 188 find interpretation(problem,interpetation);
185 PartialInterpretation.realelements(interpetation,element); 189 PartialInterpretation.realelements(interpetation,element);
186 } or { 190 }«ENDIF»
191 «IF problem.hasString»or {
187 find interpretation(problem,interpetation); 192 find interpretation(problem,interpetation);
188 PartialInterpretation.stringelements(interpetation,element); 193 PartialInterpretation.stringelements(interpetation,element);
189 } 194 }«ENDIF»
190 195
191 private pattern mayExist(problem:LogicProblem, interpetation:PartialInterpretation, element:DefinedElement) { 196 private pattern mayExist(problem:LogicProblem, interpetation:PartialInterpretation, element:DefinedElement) {
192 find mustExist(problem,interpetation,element); 197 find mustExist(problem,interpetation,element);
@@ -194,32 +199,35 @@ class PatternGenerator {
194 find interpretation(problem,interpetation); 199 find interpretation(problem,interpetation);
195 neg find elementCloseWorld(interpetation); 200 neg find elementCloseWorld(interpetation);
196 PartialInterpretation.openWorldElementPrototypes(interpetation,element); 201 PartialInterpretation.openWorldElementPrototypes(interpetation,element);
197 } or { 202 }
203 «IF problem.hasInteger»or {
198 find interpretation(problem,interpetation); 204 find interpretation(problem,interpetation);
199 neg find integerCloseWorld(interpetation); 205 neg find integerCloseWorld(interpetation);
200 PartialInterpretation.newIntegers(interpetation,element); 206 PartialInterpretation.newIntegers(interpetation,element);
201 } or { 207 }«ENDIF»
208 «IF problem.hasReal»or {
202 find interpretation(problem,interpetation); 209 find interpretation(problem,interpetation);
203 neg find realCloseWorld(interpetation); 210 neg find realCloseWorld(interpetation);
204 PartialInterpretation.newReals(interpetation,element); 211 PartialInterpretation.newReals(interpetation,element);
205 } or { 212 }«ENDIF»
213 «IF problem.hasString»or {
206 find interpretation(problem,interpetation); 214 find interpretation(problem,interpetation);
207 neg find stringCloseWorld(interpetation); 215 neg find stringCloseWorld(interpetation);
208 PartialInterpretation.newStrings(interpetation,element); 216 PartialInterpretation.newStrings(interpetation,element);
209 } 217 }«ENDIF»
210 218
211 private pattern elementCloseWorld(interpetation:PartialInterpretation) { 219 private pattern elementCloseWorld(interpetation:PartialInterpretation) {
212 PartialInterpretation.maxNewElements(interpetation,0); 220 PartialInterpretation.maxNewElements(interpetation,0);
213 } 221 }
214 private pattern integerCloseWorld(interpetation:PartialInterpretation) { 222 «IF problem.hasInteger»private pattern integerCloseWorld(interpetation:PartialInterpretation) {
215 PartialInterpretation.maxNewIntegers(interpetation,0); 223 PartialInterpretation.maxNewIntegers(interpetation,0);
216 } 224 }«ENDIF»
217 private pattern realCloseWorld(interpetation:PartialInterpretation) { 225 «IF problem.hasReal»private pattern realCloseWorld(interpetation:PartialInterpretation) {
218 PartialInterpretation.maxNewReals(interpetation,0); 226 PartialInterpretation.maxNewReals(interpetation,0);
219 } 227 }«ENDIF»
220 private pattern stringCloseWorld(interpetation:PartialInterpretation) { 228 «IF problem.hasString»private pattern stringCloseWorld(interpetation:PartialInterpretation) {
221 PartialInterpretation.maxNewStrings(interpetation,0); 229 PartialInterpretation.maxNewStrings(interpetation,0);
222 } 230 }«ENDIF»
223 231
224 //////////////////////// 232 ////////////////////////
225 // 0.2 Equivalence 233 // 0.2 Equivalence
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/PartialInterpretation2Logic.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/PartialInterpretation2Logic.xtend
index 87774f43..c5fe1d74 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/PartialInterpretation2Logic.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/PartialInterpretation2Logic.xtend
@@ -84,6 +84,13 @@ class PartialInterpretation2Logic {
84 p.add(undefinedPart) 84 p.add(undefinedPart)
85 Supertype(definedPart,declaration) 85 Supertype(definedPart,declaration)
86 Supertype(undefinedPart,declaration) 86 Supertype(undefinedPart,declaration)
87
88 for(containment : p.containmentHierarchies) {
89 if(containment.typesOrderedInHierarchy.contains(declaration)) {
90 containment.typesOrderedInHierarchy += definedPart
91 containment.typesOrderedInHierarchy += undefinedPart
92 }
93 }
87 } 94 }
88 } 95 }
89 96
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java
index d9725855..d0f77a52 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/PartialInterpretation.java
@@ -218,7 +218,7 @@ public interface PartialInterpretation extends EObject {
218 * <!-- end-user-doc --> 218 * <!-- end-user-doc -->
219 * @return the value of the '<em>Open World Element Prototypes</em>' containment reference list. 219 * @return the value of the '<em>Open World Element Prototypes</em>' containment reference list.
220 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_OpenWorldElementPrototypes() 220 * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getPartialInterpretation_OpenWorldElementPrototypes()
221 * @model containment="true" required="true" 221 * @model containment="true"
222 * @generated 222 * @generated
223 */ 223 */
224 EList<DefinedElement> getOpenWorldElementPrototypes(); 224 EList<DefinedElement> getOpenWorldElementPrototypes();
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java
index 6e0d4051..5fae0d4e 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java
@@ -853,7 +853,7 @@ public class PartialinterpretationPackageImpl extends EPackageImpl implements Pa
853 initEReference(getPartialInterpretation_Partialtypeinterpratation(), this.getPartialTypeInterpratation(), null, "partialtypeinterpratation", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 853 initEReference(getPartialInterpretation_Partialtypeinterpratation(), this.getPartialTypeInterpratation(), null, "partialtypeinterpratation", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
854 initEAttribute(getPartialInterpretation_MinNewElements(), ecorePackage.getEInt(), "minNewElements", "0", 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 854 initEAttribute(getPartialInterpretation_MinNewElements(), ecorePackage.getEInt(), "minNewElements", "0", 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
855 initEAttribute(getPartialInterpretation_MaxNewElements(), ecorePackage.getEInt(), "maxNewElements", "0", 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 855 initEAttribute(getPartialInterpretation_MaxNewElements(), ecorePackage.getEInt(), "maxNewElements", "0", 1, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
856 initEReference(getPartialInterpretation_OpenWorldElementPrototypes(), theLogiclanguagePackage.getDefinedElement(), null, "openWorldElementPrototypes", null, 1, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 856 initEReference(getPartialInterpretation_OpenWorldElementPrototypes(), theLogiclanguagePackage.getDefinedElement(), null, "openWorldElementPrototypes", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
857 initEReference(getPartialInterpretation_ProblemConainer(), theLogicproblemPackage.getLogicProblem(), null, "problemConainer", null, 0, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 857 initEReference(getPartialInterpretation_ProblemConainer(), theLogicproblemPackage.getLogicProblem(), null, "problemConainer", null, 0, 1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
858 initEReference(getPartialInterpretation_Stringelement(), this.getStringElement(), null, "stringelement", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 858 initEReference(getPartialInterpretation_Stringelement(), this.getStringElement(), null, "stringelement", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
859 initEReference(getPartialInterpretation_Stringelements(), this.getStringElement(), null, "stringelements", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 859 initEReference(getPartialInterpretation_Stringelements(), this.getStringElement(), null, "stringelements", null, 0, -1, PartialInterpretation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird
index 3c02a085..c54a1e10 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.aird
@@ -58,16 +58,6 @@
58 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> 58 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
59 </endLabelStyleDescription> 59 </endLabelStyleDescription>
60 </computedStyleDescriptions> 60 </computedStyleDescriptions>
61 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_UkL5ML5UEea19paI6HZj1w" sourceArrow="FillDiamond" routingStyle="manhattan">
62 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
63 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_UkL5Mb5UEea19paI6HZj1w" showIcon="false" labelExpression="service:render">
64 <labelFormat>bold</labelFormat>
65 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
66 </centerLabelStyleDescription>
67 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_UkL5Mr5UEea19paI6HZj1w" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
68 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
69 </endLabelStyleDescription>
70 </computedStyleDescriptions>
71 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_1w95sIFNEeeA1-_2v4gJKA" labelExpression="service:renderAsNode" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1"> 61 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_1w95sIFNEeeA1-_2v4gJKA" labelExpression="service:renderAsNode" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
72 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> 62 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
73 <labelFormat>bold</labelFormat> 63 <labelFormat>bold</labelFormat>
@@ -637,17 +627,17 @@
637 </edges> 627 </edges>
638 <edges xmi:type="notation:Edge" xmi:id="_H4oCgLXCEeamG-Ij7YnW7w" type="4001" element="_H4YK4LXCEeamG-Ij7YnW7w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_5LGwELW_EeamG-Ij7YnW7w"> 628 <edges xmi:type="notation:Edge" xmi:id="_H4oCgLXCEeamG-Ij7YnW7w" type="4001" element="_H4YK4LXCEeamG-Ij7YnW7w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_5LGwELW_EeamG-Ij7YnW7w">
639 <children xmi:type="notation:Node" xmi:id="_H4oChLXCEeamG-Ij7YnW7w" type="6001"> 629 <children xmi:type="notation:Node" xmi:id="_H4oChLXCEeamG-Ij7YnW7w" type="6001">
640 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H4oChbXCEeamG-Ij7YnW7w" x="71" y="11"/> 630 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H4oChbXCEeamG-Ij7YnW7w" x="53" y="10"/>
641 </children> 631 </children>
642 <children xmi:type="notation:Node" xmi:id="_H4oChrXCEeamG-Ij7YnW7w" type="6002"> 632 <children xmi:type="notation:Node" xmi:id="_H4oChrXCEeamG-Ij7YnW7w" type="6002">
643 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H4oCh7XCEeamG-Ij7YnW7w" x="349" y="142"/> 633 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H4oCh7XCEeamG-Ij7YnW7w" x="344" y="147"/>
644 </children> 634 </children>
645 <children xmi:type="notation:Node" xmi:id="_H4opkLXCEeamG-Ij7YnW7w" type="6003"> 635 <children xmi:type="notation:Node" xmi:id="_H4opkLXCEeamG-Ij7YnW7w" type="6003">
646 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H4opkbXCEeamG-Ij7YnW7w" x="60" y="10"/> 636 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H4opkbXCEeamG-Ij7YnW7w" x="60" y="10"/>
647 </children> 637 </children>
648 <styles xmi:type="notation:ConnectorStyle" xmi:id="_H4oCgbXCEeamG-Ij7YnW7w" routing="Rectilinear"/> 638 <styles xmi:type="notation:ConnectorStyle" xmi:id="_H4oCgbXCEeamG-Ij7YnW7w" routing="Rectilinear"/>
649 <styles xmi:type="notation:FontStyle" xmi:id="_H4oCgrXCEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> 639 <styles xmi:type="notation:FontStyle" xmi:id="_H4oCgrXCEeamG-Ij7YnW7w" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
650 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H4oCg7XCEeamG-Ij7YnW7w" points="[56, 0, 443, 296]$[56, -50, 443, 246]$[-335, -50, 52, 246]$[-335, -279, 52, 17]"/> 640 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H4oCg7XCEeamG-Ij7YnW7w" points="[56, 0, 443, 296]$[56, -45, 443, 251]$[-335, -45, 52, 251]$[-335, -279, 52, 17]"/>
651 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H4opkrXCEeamG-Ij7YnW7w" id="(0.28735632183908044,0.0)"/> 641 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H4opkrXCEeamG-Ij7YnW7w" id="(0.28735632183908044,0.0)"/>
652 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H4opk7XCEeamG-Ij7YnW7w" id="(0.38135593220338976,0.6964285714285714)"/> 642 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H4opk7XCEeamG-Ij7YnW7w" id="(0.38135593220338976,0.6964285714285714)"/>
653 </edges> 643 </edges>
@@ -701,7 +691,7 @@
701 </edges> 691 </edges>
702 <edges xmi:type="notation:Edge" xmi:id="_Qrl3AL5UEea19paI6HZj1w" type="4001" element="_QrIkAL5UEea19paI6HZj1w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_5LGwELW_EeamG-Ij7YnW7w"> 692 <edges xmi:type="notation:Edge" xmi:id="_Qrl3AL5UEea19paI6HZj1w" type="4001" element="_QrIkAL5UEea19paI6HZj1w" source="_ggJ5QLW_EeamG-Ij7YnW7w" target="_5LGwELW_EeamG-Ij7YnW7w">
703 <children xmi:type="notation:Node" xmi:id="_QrphYL5UEea19paI6HZj1w" type="6001"> 693 <children xmi:type="notation:Node" xmi:id="_QrphYL5UEea19paI6HZj1w" type="6001">
704 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QrphYb5UEea19paI6HZj1w" x="296" y="-97"/> 694 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QrphYb5UEea19paI6HZj1w" x="294" y="-142"/>
705 </children> 695 </children>
706 <children xmi:type="notation:Node" xmi:id="_QrqvgL5UEea19paI6HZj1w" type="6002"> 696 <children xmi:type="notation:Node" xmi:id="_QrqvgL5UEea19paI6HZj1w" type="6002">
707 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qrqvgb5UEea19paI6HZj1w" x="57" y="-10"/> 697 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qrqvgb5UEea19paI6HZj1w" x="57" y="-10"/>
@@ -1616,14 +1606,12 @@
1616 </ownedStyle> 1606 </ownedStyle>
1617 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1607 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1618 </ownedDiagramElements> 1608 </ownedDiagramElements>
1619 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_QrIkAL5UEea19paI6HZj1w" name="[1..*] openWorldElementPrototypes" sourceNode="_gf_hMLW_EeamG-Ij7YnW7w" targetNode="_5KnA0LW_EeamG-Ij7YnW7w"> 1609 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_QrIkAL5UEea19paI6HZj1w" name="[0..*] openWorldElementPrototypes" sourceNode="_gf_hMLW_EeamG-Ij7YnW7w" targetNode="_5KnA0LW_EeamG-Ij7YnW7w">
1620 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/openWorldElementPrototypes"/> 1610 <target xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/openWorldElementPrototypes"/>
1621 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/openWorldElementPrototypes"/> 1611 <semanticElements xmi:type="ecore:EReference" href="PartialInterpretation.ecore#//PartialInterpretation/openWorldElementPrototypes"/>
1622 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_UkL5M75UEea19paI6HZj1w" description="_UkL5ML5UEea19paI6HZj1w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> 1612 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_aL9fYIkKEeejWs9jCa7v5Q" description="_5K7J4LW_EeamG-Ij7YnW7w" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1623 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_UkL5NL5UEea19paI6HZj1w" showIcon="false"> 1613 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_aL9fYYkKEeejWs9jCa7v5Q" showIcon="false"/>
1624 <labelFormat>bold</labelFormat> 1614 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_aL9fYokKEeejWs9jCa7v5Q" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1625 </centerLabelStyle>
1626 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_UkL5Nb5UEea19paI6HZj1w" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1627 </ownedStyle> 1615 </ownedStyle>
1628 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1616 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1629 </ownedDiagramElements> 1617 </ownedDiagramElements>
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore
index 174e4508..3c235851 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore
@@ -22,7 +22,7 @@
22 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxNewElements" lowerBound="1" 22 <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxNewElements" lowerBound="1"
23 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/> 23 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/>
24 <eStructuralFeatures xsi:type="ecore:EReference" name="openWorldElementPrototypes" 24 <eStructuralFeatures xsi:type="ecore:EReference" name="openWorldElementPrototypes"
25 lowerBound="1" upperBound="-1" eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement" 25 upperBound="-1" eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//DefinedElement"
26 containment="true"/> 26 containment="true"/>
27 <eStructuralFeatures xsi:type="ecore:EReference" name="problemConainer" eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem" 27 <eStructuralFeatures xsi:type="ecore:EReference" name="problemConainer" eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//LogicProblem"
28 containment="true"/> 28 containment="true"/>