aboutsummaryrefslogtreecommitdiffstats
path: root/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'Framework')
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird1078
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend10
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend76
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2CSV.xtend2
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2Print.xtend2
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend55
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath23
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore1
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF3
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java37
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/VariableMapping.java71
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java9
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java163
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java2
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java116
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java2
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/VariableMappingImpl.java230
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java16
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java85
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java18
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java21
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/lib/.gitignore0
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird290
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore12
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel14
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend6
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/ExampleRecreation.java120
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/ExpressionEvaluation2Logic.xtend10
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/FakeIntegerElement.java169
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java473
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericTranslator.xtend80
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend7
32 files changed, 2539 insertions, 662 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird
index 2336933d..6d0f06b7 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird
@@ -1,527 +1,575 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_8ji8MMArEeaaj7sYFz2QKg" selectedViews="_8mY00MArEeaaj7sYFz2QKg _8mhXsMArEeaaj7sYFz2QKg _8mrIsMArEeaaj7sYFz2QKg _8mydcMArEeaaj7sYFz2QKg" version="10.1.0.201509162000"> 2<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style">
3 <semanticResources>ecore2logicannotations.ecore</semanticResources> 3 <viewpoint:DAnalysis uid="_8ji8MMArEeaaj7sYFz2QKg" selectedViews="_8mY00MArEeaaj7sYFz2QKg _8mhXsMArEeaaj7sYFz2QKg _8mrIsMArEeaaj7sYFz2QKg _8mydcMArEeaaj7sYFz2QKg" version="14.1.0.201810161215">
4 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore</semanticResources> 4 <semanticResources>ecore2logicannotations.ecore</semanticResources>
5 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore</semanticResources> 5 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore</semanticResources>
6 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources> 6 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore</semanticResources>
7 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mY00MArEeaaj7sYFz2QKg"> 7 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
8 <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_9rgp0MArEeaaj7sYFz2QKg" name="ecore2logicannotations class diagram"> 8 <ownedViews xmi:type="viewpoint:DView" uid="_8mY00MArEeaaj7sYFz2QKg">
9 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_9rgp0cArEeaaj7sYFz2QKg" source="DANNOTATION_CUSTOMIZATION_KEY"> 9 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
10 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_9rgp0sArEeaaj7sYFz2QKg"> 10 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_mYtLUKPiEemFddEW7ouAfg" name="ecore2logicannotations class diagram" repPath="#_9rgp0MArEeaaj7sYFz2QKg">
11 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_DwMwIcAsEeaaj7sYFz2QKg" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1"> 11 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
12 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> 12 <target xmi:type="ecore:EPackage" href="ecore2logicannotations.ecore#/"/>
13 </ownedRepresentationDescriptors>
14 </ownedViews>
15 <ownedViews xmi:type="viewpoint:DView" uid="_8mhXsMArEeaaj7sYFz2QKg">
16 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
17 </ownedViews>
18 <ownedViews xmi:type="viewpoint:DView" uid="_8mrIsMArEeaaj7sYFz2QKg">
19 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
20 </ownedViews>
21 <ownedViews xmi:type="viewpoint:DView" uid="_8mydcMArEeaaj7sYFz2QKg">
22 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
23 </ownedViews>
24 </viewpoint:DAnalysis>
25 <diagram:DSemanticDiagram uid="_9rgp0MArEeaaj7sYFz2QKg" name="ecore2logicannotations class diagram">
26 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_9rgp0cArEeaaj7sYFz2QKg" source="DANNOTATION_CUSTOMIZATION_KEY">
27 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_9rgp0sArEeaaj7sYFz2QKg">
28 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_DwMwIcAsEeaaj7sYFz2QKg" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
29 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
30 <labelFormat>bold</labelFormat>
31 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
32 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
33 </computedStyleDescriptions>
34 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan">
35 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
36 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_DwN-QcAsEeaaj7sYFz2QKg" showIcon="false" labelExpression="service:render">
13 <labelFormat>bold</labelFormat> 37 <labelFormat>bold</labelFormat>
14 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> 38 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
15 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> 39 </centerLabelStyleDescription>
16 </computedStyleDescriptions> 40 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_DwN-QsAsEeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
17 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan"> 41 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
18 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> 42 </endLabelStyleDescription>
19 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_DwN-QcAsEeaaj7sYFz2QKg" showIcon="false" labelExpression="service:render"> 43 </computedStyleDescriptions>
20 <labelFormat>bold</labelFormat> 44 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_XIVCYMDwEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan">
21 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> 45 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
22 </centerLabelStyleDescription> 46 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_XIVCYcDwEea_b6UyFzv22g" showIcon="false" labelExpression="service:renderEOpposite">
23 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_DwN-QsAsEeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
24 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
25 </endLabelStyleDescription>
26 </computedStyleDescriptions>
27 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_XIVCYMDwEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan">
28 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
29 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_XIVCYcDwEea_b6UyFzv22g" showIcon="false" labelExpression="service:renderEOpposite">
30 <labelFormat>bold</labelFormat>
31 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
32 </beginLabelStyleDescription>
33 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_XIVCYsDwEea_b6UyFzv22g" showIcon="false" labelExpression="service:render">
34 <labelFormat>bold</labelFormat>
35 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
36 </endLabelStyleDescription>
37 </computedStyleDescriptions>
38 </data>
39 </ownedAnnotationEntries>
40 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_9rjtIMArEeaaj7sYFz2QKg" source="GMF_DIAGRAMS">
41 <data xmi:type="notation:Diagram" xmi:id="_9rjtIcArEeaaj7sYFz2QKg" type="Sirius" element="_9rgp0MArEeaaj7sYFz2QKg" measurementUnit="Pixel">
42 <children xmi:type="notation:Node" xmi:id="_-SNdcMArEeaaj7sYFz2QKg" type="2003" element="_-SH94MArEeaaj7sYFz2QKg">
43 <children xmi:type="notation:Node" xmi:id="_-SOEgMArEeaaj7sYFz2QKg" type="5007"/>
44 <children xmi:type="notation:Node" xmi:id="_-SOrkMArEeaaj7sYFz2QKg" type="7004">
45 <styles xmi:type="notation:SortingStyle" xmi:id="_-SOrkcArEeaaj7sYFz2QKg"/>
46 <styles xmi:type="notation:FilteringStyle" xmi:id="_-SOrksArEeaaj7sYFz2QKg"/>
47 </children>
48 <styles xmi:type="notation:ShapeStyle" xmi:id="_-SNdccArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
49 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-SNdcsArEeaaj7sYFz2QKg" x="100" y="180"/>
50 </children>
51 <children xmi:type="notation:Node" xmi:id="_-5TSoMArEeaaj7sYFz2QKg" type="2003" element="_-5OaIMArEeaaj7sYFz2QKg">
52 <children xmi:type="notation:Node" xmi:id="_-5T5sMArEeaaj7sYFz2QKg" type="5007"/>
53 <children xmi:type="notation:Node" xmi:id="_-5T5scArEeaaj7sYFz2QKg" type="7004">
54 <styles xmi:type="notation:SortingStyle" xmi:id="_-5T5ssArEeaaj7sYFz2QKg"/>
55 <styles xmi:type="notation:FilteringStyle" xmi:id="_-5T5s8ArEeaaj7sYFz2QKg"/>
56 </children>
57 <styles xmi:type="notation:ShapeStyle" xmi:id="_-5TSocArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
58 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5TSosArEeaaj7sYFz2QKg" x="260" y="15"/>
59 </children>
60 <children xmi:type="notation:Node" xmi:id="_ABlJUMAsEeaaj7sYFz2QKg" type="2003" element="_ABfpwMAsEeaaj7sYFz2QKg">
61 <children xmi:type="notation:Node" xmi:id="_ABlwYMAsEeaaj7sYFz2QKg" type="5007"/>
62 <children xmi:type="notation:Node" xmi:id="_ABlwYcAsEeaaj7sYFz2QKg" type="7004">
63 <styles xmi:type="notation:SortingStyle" xmi:id="_ABlwYsAsEeaaj7sYFz2QKg"/>
64 <styles xmi:type="notation:FilteringStyle" xmi:id="_ABlwY8AsEeaaj7sYFz2QKg"/>
65 </children>
66 <styles xmi:type="notation:ShapeStyle" xmi:id="_ABlJUcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
67 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ABlJUsAsEeaaj7sYFz2QKg" x="520" y="180" width="168" height="100"/>
68 </children>
69 <children xmi:type="notation:Node" xmi:id="_DwQagMAsEeaaj7sYFz2QKg" type="2003" element="_DwH3oMAsEeaaj7sYFz2QKg">
70 <children xmi:type="notation:Node" xmi:id="_DwRBkMAsEeaaj7sYFz2QKg" type="5007"/>
71 <children xmi:type="notation:Node" xmi:id="_DwRBkcAsEeaaj7sYFz2QKg" type="7004">
72 <children xmi:type="notation:Node" xmi:id="_DwRBlMAsEeaaj7sYFz2QKg" type="3010" element="_DwMwIMAsEeaaj7sYFz2QKg">
73 <styles xmi:type="notation:FontStyle" xmi:id="_DwRBlcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
74 <layoutConstraint xmi:type="notation:Location" xmi:id="_DwRBlsAsEeaaj7sYFz2QKg"/>
75 </children>
76 <styles xmi:type="notation:SortingStyle" xmi:id="_DwRBksAsEeaaj7sYFz2QKg"/>
77 <styles xmi:type="notation:FilteringStyle" xmi:id="_DwRBk8AsEeaaj7sYFz2QKg"/>
78 </children>
79 <styles xmi:type="notation:ShapeStyle" xmi:id="_DwQagcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
80 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DwQagsAsEeaaj7sYFz2QKg" x="500" y="15"/>
81 </children>
82 <children xmi:type="notation:Node" xmi:id="_Cu2ycMAtEeaaj7sYFz2QKg" type="2003" element="_CuwEwMAtEeaaj7sYFz2QKg">
83 <children xmi:type="notation:Node" xmi:id="_Cu2yc8AtEeaaj7sYFz2QKg" type="5007"/>
84 <children xmi:type="notation:Node" xmi:id="_Cu2ydMAtEeaaj7sYFz2QKg" type="7004">
85 <children xmi:type="notation:Node" xmi:id="_GeXKEMAtEeaaj7sYFz2QKg" type="3010" element="_JJ28cMAsEeaaj7sYFz2QKg">
86 <styles xmi:type="notation:FontStyle" xmi:id="_GeXKEcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
87 <layoutConstraint xmi:type="notation:Location" xmi:id="_GeXKEsAtEeaaj7sYFz2QKg"/>
88 </children>
89 <styles xmi:type="notation:SortingStyle" xmi:id="_Cu2ydcAtEeaaj7sYFz2QKg"/>
90 <styles xmi:type="notation:FilteringStyle" xmi:id="_Cu2ydsAtEeaaj7sYFz2QKg"/>
91 </children>
92 <styles xmi:type="notation:ShapeStyle" xmi:id="_Cu2yccAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
93 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cu2ycsAtEeaaj7sYFz2QKg" x="25" y="330" width="120" height="100"/>
94 </children>
95 <children xmi:type="notation:Node" xmi:id="_EQinoMAtEeaaj7sYFz2QKg" type="2003" element="_EQaEwMAtEeaaj7sYFz2QKg">
96 <children xmi:type="notation:Node" xmi:id="_EQjOsMAtEeaaj7sYFz2QKg" type="5007"/>
97 <children xmi:type="notation:Node" xmi:id="_EQjOscAtEeaaj7sYFz2QKg" type="7004">
98 <children xmi:type="notation:Node" xmi:id="_GLWugMAtEeaaj7sYFz2QKg" type="3010" element="_KDnO8MAsEeaaj7sYFz2QKg">
99 <styles xmi:type="notation:FontStyle" xmi:id="_GLWugcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
100 <layoutConstraint xmi:type="notation:Location" xmi:id="_GLWugsAtEeaaj7sYFz2QKg"/>
101 </children>
102 <styles xmi:type="notation:SortingStyle" xmi:id="_EQjOssAtEeaaj7sYFz2QKg"/>
103 <styles xmi:type="notation:FilteringStyle" xmi:id="_EQjOs8AtEeaaj7sYFz2QKg"/>
104 </children>
105 <styles xmi:type="notation:ShapeStyle" xmi:id="_EQinocAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
106 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EQinosAtEeaaj7sYFz2QKg" x="163" y="330" width="120" height="100"/>
107 </children>
108 <children xmi:type="notation:Node" xmi:id="_LJwiMMAtEeaaj7sYFz2QKg" type="2003" element="_LJomYMAtEeaaj7sYFz2QKg">
109 <children xmi:type="notation:Node" xmi:id="_LJwiM8AtEeaaj7sYFz2QKg" type="5007"/>
110 <children xmi:type="notation:Node" xmi:id="_LJxJQMAtEeaaj7sYFz2QKg" type="7004">
111 <styles xmi:type="notation:SortingStyle" xmi:id="_LJxJQcAtEeaaj7sYFz2QKg"/>
112 <styles xmi:type="notation:FilteringStyle" xmi:id="_LJxJQsAtEeaaj7sYFz2QKg"/>
113 </children>
114 <styles xmi:type="notation:ShapeStyle" xmi:id="_LJwiMcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
115 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJwiMsAtEeaaj7sYFz2QKg" x="280" y="-150"/>
116 </children>
117 <children xmi:type="notation:Node" xmi:id="_OgZt4MAtEeaaj7sYFz2QKg" type="2003" element="_OgM5kMAtEeaaj7sYFz2QKg">
118 <children xmi:type="notation:Node" xmi:id="_OgZt48AtEeaaj7sYFz2QKg" type="5007"/>
119 <children xmi:type="notation:Node" xmi:id="_OgZt5MAtEeaaj7sYFz2QKg" type="7004">
120 <styles xmi:type="notation:SortingStyle" xmi:id="_OgZt5cAtEeaaj7sYFz2QKg"/>
121 <styles xmi:type="notation:FilteringStyle" xmi:id="_OgZt5sAtEeaaj7sYFz2QKg"/>
122 </children>
123 <styles xmi:type="notation:ShapeStyle" xmi:id="_OgZt4cAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" italic="true"/>
124 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgZt4sAtEeaaj7sYFz2QKg" x="315" y="180"/>
125 </children>
126 <styles xmi:type="notation:DiagramStyle" xmi:id="_9rjtIsArEeaaj7sYFz2QKg"/>
127 <edges xmi:type="notation:Edge" xmi:id="_-5VH0MArEeaaj7sYFz2QKg" type="4001" element="_-5SEgcArEeaaj7sYFz2QKg" source="_-SNdcMArEeaaj7sYFz2QKg" target="_-5TSoMArEeaaj7sYFz2QKg">
128 <children xmi:type="notation:Node" xmi:id="_-5Vu4MArEeaaj7sYFz2QKg" type="6001">
129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu4cArEeaaj7sYFz2QKg" y="-10"/>
130 </children>
131 <children xmi:type="notation:Node" xmi:id="_-5Vu4sArEeaaj7sYFz2QKg" type="6002">
132 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu48ArEeaaj7sYFz2QKg" y="10"/>
133 </children>
134 <children xmi:type="notation:Node" xmi:id="_-5Vu5MArEeaaj7sYFz2QKg" type="6003">
135 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu5cArEeaaj7sYFz2QKg" y="10"/>
136 </children>
137 <styles xmi:type="notation:ConnectorStyle" xmi:id="_-5VH0cArEeaaj7sYFz2QKg" routing="Tree"/>
138 <styles xmi:type="notation:FontStyle" xmi:id="_-5VH0sArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
139 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-5VH08ArEeaaj7sYFz2QKg" points="[210, 135, 210, 135]$[0, 0, 0, 0]"/>
140 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-5WV8MArEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
141 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-5WV8cArEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
142 </edges>
143 <edges xmi:type="notation:Edge" xmi:id="_u58dgMAsEeaaj7sYFz2QKg" type="4001" element="_u5ysgMAsEeaaj7sYFz2QKg" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_-5TSoMArEeaaj7sYFz2QKg">
144 <children xmi:type="notation:Node" xmi:id="_u58dhMAsEeaaj7sYFz2QKg" type="6001">
145 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59EkMAsEeaaj7sYFz2QKg" y="-10"/>
146 </children>
147 <children xmi:type="notation:Node" xmi:id="_u59EkcAsEeaaj7sYFz2QKg" type="6002">
148 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59EksAsEeaaj7sYFz2QKg" y="10"/>
149 </children>
150 <children xmi:type="notation:Node" xmi:id="_u59Ek8AsEeaaj7sYFz2QKg" type="6003">
151 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59ElMAsEeaaj7sYFz2QKg" y="10"/>
152 </children>
153 <styles xmi:type="notation:ConnectorStyle" xmi:id="_u58dgcAsEeaaj7sYFz2QKg" routing="Tree"/>
154 <styles xmi:type="notation:FontStyle" xmi:id="_u58dgsAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
155 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_u58dg8AsEeaaj7sYFz2QKg" points="[0, 0, 101, 67]$[-101, -67, 0, 0]"/>
156 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u59ElcAsEeaaj7sYFz2QKg" id="(0.8132530120481928,0.0)"/>
157 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u59ElsAsEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
158 </edges>
159 <edges xmi:type="notation:Edge" xmi:id="_HR0nUMAtEeaaj7sYFz2QKg" type="4001" element="_HRrdYMAtEeaaj7sYFz2QKg" source="_Cu2ycMAtEeaaj7sYFz2QKg" target="_-SNdcMArEeaaj7sYFz2QKg">
160 <children xmi:type="notation:Node" xmi:id="_HR1OYMAtEeaaj7sYFz2QKg" type="6001">
161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OYcAtEeaaj7sYFz2QKg" y="-10"/>
162 </children>
163 <children xmi:type="notation:Node" xmi:id="_HR1OYsAtEeaaj7sYFz2QKg" type="6002">
164 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OY8AtEeaaj7sYFz2QKg" y="10"/>
165 </children>
166 <children xmi:type="notation:Node" xmi:id="_HR1OZMAtEeaaj7sYFz2QKg" type="6003">
167 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OZcAtEeaaj7sYFz2QKg" y="10"/>
168 </children>
169 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HR0nUcAtEeaaj7sYFz2QKg" routing="Tree"/>
170 <styles xmi:type="notation:FontStyle" xmi:id="_HR0nUsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
171 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HR0nU8AtEeaaj7sYFz2QKg" points="[0, 0, -35, 52]$[35, -52, 0, 0]"/>
172 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HR1OZsAtEeaaj7sYFz2QKg" id="(0.635593220338983,0.0)"/>
173 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HR1OZ8AtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
174 </edges>
175 <edges xmi:type="notation:Edge" xmi:id="_HuNoYMAtEeaaj7sYFz2QKg" type="4001" element="_HuEecMAtEeaaj7sYFz2QKg" source="_EQinoMAtEeaaj7sYFz2QKg" target="_-SNdcMArEeaaj7sYFz2QKg">
176 <children xmi:type="notation:Node" xmi:id="_HuNoZMAtEeaaj7sYFz2QKg" type="6001">
177 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoZcAtEeaaj7sYFz2QKg" y="-10"/>
178 </children>
179 <children xmi:type="notation:Node" xmi:id="_HuNoZsAtEeaaj7sYFz2QKg" type="6002">
180 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoZ8AtEeaaj7sYFz2QKg" y="10"/>
181 </children>
182 <children xmi:type="notation:Node" xmi:id="_HuNoaMAtEeaaj7sYFz2QKg" type="6003">
183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoacAtEeaaj7sYFz2QKg" y="10"/>
184 </children>
185 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HuNoYcAtEeaaj7sYFz2QKg" routing="Tree"/>
186 <styles xmi:type="notation:FontStyle" xmi:id="_HuNoYsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
187 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HuNoY8AtEeaaj7sYFz2QKg" points="[0, 0, 112, 52]$[-112, -52, 0, 0]"/>
188 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HuNoasAtEeaaj7sYFz2QKg" id="(0.5,0.0)"/>
189 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HuNoa8AtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
190 </edges>
191 <edges xmi:type="notation:Edge" xmi:id="_LJyXYMAtEeaaj7sYFz2QKg" type="4001" element="_LJutAMAtEeaaj7sYFz2QKg" source="_-5TSoMArEeaaj7sYFz2QKg" target="_LJwiMMAtEeaaj7sYFz2QKg">
192 <children xmi:type="notation:Node" xmi:id="_LJyXZMAtEeaaj7sYFz2QKg" type="6001">
193 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXZcAtEeaaj7sYFz2QKg" y="-10"/>
194 </children>
195 <children xmi:type="notation:Node" xmi:id="_LJyXZsAtEeaaj7sYFz2QKg" type="6002">
196 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXZ8AtEeaaj7sYFz2QKg" y="10"/>
197 </children>
198 <children xmi:type="notation:Node" xmi:id="_LJyXaMAtEeaaj7sYFz2QKg" type="6003">
199 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXacAtEeaaj7sYFz2QKg" y="10"/>
200 </children>
201 <styles xmi:type="notation:ConnectorStyle" xmi:id="_LJyXYcAtEeaaj7sYFz2QKg" routing="Tree"/>
202 <styles xmi:type="notation:FontStyle" xmi:id="_LJyXYsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
203 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LJyXY8AtEeaaj7sYFz2QKg" points="[260, 15, 260, 15]$[0, 0, 0, 0]"/>
204 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LJzlgMAtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
205 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LJzlgcAtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
206 </edges>
207 <edges xmi:type="notation:Edge" xmi:id="_QkxZYMAtEeaaj7sYFz2QKg" type="4001" element="_Qko2gMAtEeaaj7sYFz2QKg" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg">
208 <children xmi:type="notation:Node" xmi:id="_QkxZZMAtEeaaj7sYFz2QKg" type="6001">
209 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZZcAtEeaaj7sYFz2QKg" x="1" y="12"/>
210 </children>
211 <children xmi:type="notation:Node" xmi:id="_QkxZZsAtEeaaj7sYFz2QKg" type="6002">
212 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZZ8AtEeaaj7sYFz2QKg" y="-10"/>
213 </children>
214 <children xmi:type="notation:Node" xmi:id="_QkxZaMAtEeaaj7sYFz2QKg" type="6003">
215 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZacAtEeaaj7sYFz2QKg" y="-10"/>
216 </children>
217 <styles xmi:type="notation:ConnectorStyle" xmi:id="_QkxZYcAtEeaaj7sYFz2QKg" routing="Rectilinear"/>
218 <styles xmi:type="notation:FontStyle" xmi:id="_QkxZYsAtEeaaj7sYFz2QKg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
219 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QkxZY8AtEeaaj7sYFz2QKg" points="[-166, 30, 205, 30]$[-253, 30, 118, 30]"/>
220 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QkyAcMAtEeaaj7sYFz2QKg" id="(1.0,0.0)"/>
221 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QkyAccAtEeaaj7sYFz2QKg" id="(0.0,0.0)"/>
222 </edges>
223 <edges xmi:type="notation:Edge" xmi:id="_wTbfUMA0Eeaaj7sYFz2QKg" type="4001" element="_wTP5IMA0Eeaaj7sYFz2QKg" source="_-SNdcMArEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg">
224 <children xmi:type="notation:Node" xmi:id="_wTbfVMA0Eeaaj7sYFz2QKg" type="6001">
225 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTbfVcA0Eeaaj7sYFz2QKg" x="-2" y="-12"/>
226 </children>
227 <children xmi:type="notation:Node" xmi:id="_wTbfVsA0Eeaaj7sYFz2QKg" type="6002">
228 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTbfV8A0Eeaaj7sYFz2QKg" x="21" y="10"/>
229 </children>
230 <children xmi:type="notation:Node" xmi:id="_wTcGYMA0Eeaaj7sYFz2QKg" type="6003">
231 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTcGYcA0Eeaaj7sYFz2QKg" y="10"/>
232 </children>
233 <styles xmi:type="notation:ConnectorStyle" xmi:id="_wTbfUcA0Eeaaj7sYFz2QKg" routing="Rectilinear"/>
234 <styles xmi:type="notation:FontStyle" xmi:id="_wTbfUsA0Eeaaj7sYFz2QKg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
235 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wTbfU8A0Eeaaj7sYFz2QKg" points="[0, 20, -124, 60]$[89, 20, -35, 60]"/>
236 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wTcGYsA0Eeaaj7sYFz2QKg" id="(1.0,0.40816326530612246)"/>
237 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wTcGY8A0Eeaaj7sYFz2QKg" id="(0.2966101694915254,0.0)"/>
238 </edges>
239 <edges xmi:type="notation:Edge" xmi:id="_D6-y0MDnEea_b6UyFzv22g" type="4001" element="_D6viQMDnEea_b6UyFzv22g" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg">
240 <children xmi:type="notation:Node" xmi:id="_D6_Z4MDnEea_b6UyFzv22g" type="6001">
241 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z4cDnEea_b6UyFzv22g" y="-6"/>
242 </children>
243 <children xmi:type="notation:Node" xmi:id="_D6_Z4sDnEea_b6UyFzv22g" type="6002">
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z48DnEea_b6UyFzv22g" x="1" y="10"/>
245 </children>
246 <children xmi:type="notation:Node" xmi:id="_D6_Z5MDnEea_b6UyFzv22g" type="6003">
247 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z5cDnEea_b6UyFzv22g" x="-2" y="10"/>
248 </children>
249 <styles xmi:type="notation:ConnectorStyle" xmi:id="_D6-y0cDnEea_b6UyFzv22g" routing="Rectilinear"/>
250 <styles xmi:type="notation:FontStyle" xmi:id="_D6-y0sDnEea_b6UyFzv22g" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
251 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D6-y08DnEea_b6UyFzv22g" points="[0, 0, 87, 10]$[-87, 0, 0, 10]"/>
252 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D6_Z5sDnEea_b6UyFzv22g" id="(0.0,0.8673469387755102)"/>
253 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D7AA8MDnEea_b6UyFzv22g" id="(1.0,0.7653061224489796)"/>
254 </edges>
255 <edges xmi:type="notation:Edge" xmi:id="_NpFP0MDnEea_b6UyFzv22g" type="4001" element="_NozjAMDnEea_b6UyFzv22g" source="_-5TSoMArEeaaj7sYFz2QKg" target="_DwQagMAsEeaaj7sYFz2QKg">
256 <children xmi:type="notation:Node" xmi:id="_NpFP1MDnEea_b6UyFzv22g" type="6001">
257 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpFP1cDnEea_b6UyFzv22g" y="-10"/>
258 </children>
259 <children xmi:type="notation:Node" xmi:id="_NpF24MDnEea_b6UyFzv22g" type="6002">
260 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpF24cDnEea_b6UyFzv22g" y="10"/>
261 </children>
262 <children xmi:type="notation:Node" xmi:id="_NpF24sDnEea_b6UyFzv22g" type="6003">
263 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpF248DnEea_b6UyFzv22g" y="10"/>
264 </children>
265 <styles xmi:type="notation:ConnectorStyle" xmi:id="_NpFP0cDnEea_b6UyFzv22g" routing="Rectilinear"/>
266 <styles xmi:type="notation:FontStyle" xmi:id="_NpFP0sDnEea_b6UyFzv22g" fontName="Segoe UI" fontHeight="8" bold="true"/>
267 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NpFP08DnEea_b6UyFzv22g" points="[260, 15, 260, 15]$[500, 15, 500, 15]"/>
268 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NpF25MDnEea_b6UyFzv22g" id="(0.5,0.5)"/>
269 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NpF25cDnEea_b6UyFzv22g" id="(0.5,0.5)"/>
270 </edges>
271 </data>
272 </ownedAnnotationEntries>
273 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_-SH94MArEeaaj7sYFz2QKg" name="MultiplicityAssertion" tooltipText="" outgoingEdges="_-5SEgcArEeaaj7sYFz2QKg _wTP5IMA0Eeaaj7sYFz2QKg" incomingEdges="_HRrdYMAtEeaaj7sYFz2QKg _HuEecMAtEeaaj7sYFz2QKg" width="12" height="10">
274 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
275 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
276 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
277 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
278 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
279 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_BQSisMAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
280 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
281 </ownedStyle>
282 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
283 </ownedDiagramElements>
284 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_-5OaIMArEeaaj7sYFz2QKg" name="AssertionAnnotation" tooltipText="" outgoingEdges="_LJutAMAtEeaaj7sYFz2QKg _NozjAMDnEea_b6UyFzv22g" incomingEdges="_-5SEgcArEeaaj7sYFz2QKg _u5ysgMAsEeaaj7sYFz2QKg" width="12" height="10">
285 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
286 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
287 <decorations xmi:type="viewpoint:Decoration" xmi:id="_-5SEgMArEeaaj7sYFz2QKg">
288 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
289 </decorations>
290 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
291 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
292 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
293 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XIPi0MDwEea_b6UyFzv22g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
294 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
295 </ownedStyle>
296 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
297 </ownedDiagramElements>
298 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_-5SEgcArEeaaj7sYFz2QKg" sourceNode="_-SH94MArEeaaj7sYFz2QKg" targetNode="_-5OaIMArEeaaj7sYFz2QKg">
299 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
300 <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//MultiplicityAssertion/@eGenericSuperTypes.0"/>
301 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_BQWNEMAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree">
302 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
303 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_BQWNEcAtEeaaj7sYFz2QKg" showIcon="false">
304 <labelFormat>italic</labelFormat>
305 </beginLabelStyle>
306 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_BQWNEsAtEeaaj7sYFz2QKg" showIcon="false"/>
307 </ownedStyle>
308 <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%20ESupertypes']"/>
309 </ownedDiagramElements>
310 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ABfpwMAsEeaaj7sYFz2QKg" name="InverseRelationAssertion" tooltipText="" outgoingEdges="_u5ysgMAsEeaaj7sYFz2QKg _Qko2gMAtEeaaj7sYFz2QKg _D6viQMDnEea_b6UyFzv22g" width="12" height="10">
311 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/>
312 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/>
313 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
314 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
315 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
316 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ABfpwcAsEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
317 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
318 </ownedStyle>
319 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
320 </ownedDiagramElements>
321 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_DwH3oMAsEeaaj7sYFz2QKg" name="Assertion" tooltipText="" incomingEdges="_NozjAMDnEea_b6UyFzv22g" width="12" height="10">
322 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion"/>
323 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion"/>
324 <decorations xmi:type="viewpoint:Decoration" xmi:id="_DwNXMMAsEeaaj7sYFz2QKg">
325 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
326 </decorations>
327 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
328 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
329 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
330 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_DwH3ocAsEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
331 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
332 </ownedStyle>
333 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
334 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_DwMwIMAsEeaaj7sYFz2QKg" name="name : EString" tooltipText="">
335 <target xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/name"/>
336 <semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/name"/>
337 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_DwMwIsAsEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg">
338 <labelFormat>bold</labelFormat> 47 <labelFormat>bold</labelFormat>
339 </ownedStyle> 48 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
340 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 49 </beginLabelStyleDescription>
341 </ownedElements> 50 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_XIVCYsDwEea_b6UyFzv22g" showIcon="false" labelExpression="service:render">
342 </ownedDiagramElements>
343 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_u5ysgMAsEeaaj7sYFz2QKg" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_-5OaIMArEeaaj7sYFz2QKg">
344 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/>
345 <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//InverseRelationAssertion/@eGenericSuperTypes.0"/>
346 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_u5zTkMAsEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree">
347 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
348 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_u5zTkcAsEeaaj7sYFz2QKg" showIcon="false">
349 <labelFormat>italic</labelFormat>
350 </beginLabelStyle>
351 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_u5zTksAsEeaaj7sYFz2QKg" showIcon="false"/>
352 </ownedStyle>
353 <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%20ESupertypes']"/>
354 </ownedDiagramElements>
355 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_CuwEwMAtEeaaj7sYFz2QKg" name="LowerMultiplicityAssertion" tooltipText="" outgoingEdges="_HRrdYMAtEeaaj7sYFz2QKg" width="12" height="10">
356 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/>
357 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/>
358 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
359 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
360 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
361 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_CuwEwcAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
362 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
363 </ownedStyle>
364 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
365 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_JJ28cMAsEeaaj7sYFz2QKg" name="lower : EInt" tooltipText="">
366 <target xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/lower"/>
367 <semanticElements xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/lower"/>
368 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_Alvw4MAtEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg">
369 <labelFormat>bold</labelFormat>
370 </ownedStyle>
371 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
372 </ownedElements>
373 </ownedDiagramElements>
374 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_EQaEwMAtEeaaj7sYFz2QKg" name="UpperMultiplicityAssertion" tooltipText="" outgoingEdges="_HuEecMAtEeaaj7sYFz2QKg" width="12" height="10">
375 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/>
376 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/>
377 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
378 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
379 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
380 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_EQar0MAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
381 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
382 </ownedStyle>
383 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
384 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_KDnO8MAsEeaaj7sYFz2QKg" name="upper : EInt" tooltipText="">
385 <target xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/upper"/>
386 <semanticElements xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/upper"/>
387 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_F2B-wMAtEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg">
388 <labelFormat>bold</labelFormat> 51 <labelFormat>bold</labelFormat>
389 </ownedStyle> 52 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
390 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 53 </endLabelStyleDescription>
391 </ownedElements> 54 </computedStyleDescriptions>
392 </ownedDiagramElements> 55 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_nza10KPiEemFddEW7ouAfg" labelExpression="service:renderAsNode" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
393 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HRrdYMAtEeaaj7sYFz2QKg" sourceNode="_CuwEwMAtEeaaj7sYFz2QKg" targetNode="_-SH94MArEeaaj7sYFz2QKg"> 56 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
394 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/> 57 <labelFormat>bold</labelFormat>
395 <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/@eGenericSuperTypes.0"/> 58 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
396 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_HRsEcMAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree"> 59 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
397 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> 60 </computedStyleDescriptions>
398 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_HRsEccAtEeaaj7sYFz2QKg" showIcon="false"> 61 </data>
399 <labelFormat>italic</labelFormat> 62 </ownedAnnotationEntries>
400 </beginLabelStyle> 63 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_9rjtIMArEeaaj7sYFz2QKg" source="GMF_DIAGRAMS">
401 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_HRsEcsAtEeaaj7sYFz2QKg" showIcon="false"/> 64 <data xmi:type="notation:Diagram" xmi:id="_9rjtIcArEeaaj7sYFz2QKg" type="Sirius" element="_9rgp0MArEeaaj7sYFz2QKg" measurementUnit="Pixel">
402 </ownedStyle> 65 <children xmi:type="notation:Node" xmi:id="_-SNdcMArEeaaj7sYFz2QKg" type="2003" element="_-SH94MArEeaaj7sYFz2QKg">
403 <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%20ESupertypes']"/> 66 <children xmi:type="notation:Node" xmi:id="_-SOEgMArEeaaj7sYFz2QKg" type="5007"/>
404 </ownedDiagramElements> 67 <children xmi:type="notation:Node" xmi:id="_-SOrkMArEeaaj7sYFz2QKg" type="7004">
405 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HuEecMAtEeaaj7sYFz2QKg" sourceNode="_EQaEwMAtEeaaj7sYFz2QKg" targetNode="_-SH94MArEeaaj7sYFz2QKg"> 68 <styles xmi:type="notation:SortingStyle" xmi:id="_-SOrkcArEeaaj7sYFz2QKg"/>
406 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/> 69 <styles xmi:type="notation:FilteringStyle" xmi:id="_-SOrksArEeaaj7sYFz2QKg"/>
407 <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/@eGenericSuperTypes.0"/> 70 </children>
408 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_HuEeccAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree"> 71 <styles xmi:type="notation:ShapeStyle" xmi:id="_-SNdccArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
409 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> 72 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-SNdcsArEeaaj7sYFz2QKg" x="100" y="180"/>
410 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_HuEecsAtEeaaj7sYFz2QKg" showIcon="false"> 73 </children>
411 <labelFormat>italic</labelFormat> 74 <children xmi:type="notation:Node" xmi:id="_-5TSoMArEeaaj7sYFz2QKg" type="2003" element="_-5OaIMArEeaaj7sYFz2QKg">
412 </beginLabelStyle> 75 <children xmi:type="notation:Node" xmi:id="_-5T5sMArEeaaj7sYFz2QKg" type="5007"/>
413 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_HuEec8AtEeaaj7sYFz2QKg" showIcon="false"/> 76 <children xmi:type="notation:Node" xmi:id="_-5T5scArEeaaj7sYFz2QKg" type="7004">
414 </ownedStyle> 77 <styles xmi:type="notation:SortingStyle" xmi:id="_-5T5ssArEeaaj7sYFz2QKg"/>
415 <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%20ESupertypes']"/> 78 <styles xmi:type="notation:FilteringStyle" xmi:id="_-5T5s8ArEeaaj7sYFz2QKg"/>
416 </ownedDiagramElements> 79 </children>
417 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_LJomYMAtEeaaj7sYFz2QKg" name="Annotation" tooltipText="" incomingEdges="_LJutAMAtEeaaj7sYFz2QKg" width="12" height="10"> 80 <styles xmi:type="notation:ShapeStyle" xmi:id="_-5TSocArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
418 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/> 81 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5TSosArEeaaj7sYFz2QKg" x="260" y="15"/>
419 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/> 82 </children>
420 <decorations xmi:type="viewpoint:Decoration" xmi:id="_LJte4MAtEeaaj7sYFz2QKg"> 83 <children xmi:type="notation:Node" xmi:id="_ABlJUMAsEeaaj7sYFz2QKg" type="2003" element="_ABfpwMAsEeaaj7sYFz2QKg">
421 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> 84 <children xmi:type="notation:Node" xmi:id="_ABlwYMAsEeaaj7sYFz2QKg" type="5007"/>
422 </decorations> 85 <children xmi:type="notation:Node" xmi:id="_ABlwYcAsEeaaj7sYFz2QKg" type="7004">
423 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 86 <styles xmi:type="notation:SortingStyle" xmi:id="_ABlwYsAsEeaaj7sYFz2QKg"/>
424 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 87 <styles xmi:type="notation:FilteringStyle" xmi:id="_ABlwY8AsEeaaj7sYFz2QKg"/>
425 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 88 </children>
426 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_LJomYcAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> 89 <styles xmi:type="notation:ShapeStyle" xmi:id="_ABlJUcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
427 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> 90 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ABlJUsAsEeaaj7sYFz2QKg" x="520" y="180" width="168" height="100"/>
91 </children>
92 <children xmi:type="notation:Node" xmi:id="_DwQagMAsEeaaj7sYFz2QKg" type="2003" element="_DwH3oMAsEeaaj7sYFz2QKg">
93 <children xmi:type="notation:Node" xmi:id="_DwRBkMAsEeaaj7sYFz2QKg" type="5007"/>
94 <children xmi:type="notation:Node" xmi:id="_DwRBkcAsEeaaj7sYFz2QKg" type="7004">
95 <children xmi:type="notation:Node" xmi:id="_DwRBlMAsEeaaj7sYFz2QKg" type="3010" element="_DwMwIMAsEeaaj7sYFz2QKg">
96 <styles xmi:type="notation:FontStyle" xmi:id="_DwRBlcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
97 <layoutConstraint xmi:type="notation:Location" xmi:id="_DwRBlsAsEeaaj7sYFz2QKg"/>
98 </children>
99 <children xmi:type="notation:Node" xmi:id="_n0E9IKPiEemFddEW7ouAfg" type="3010" element="_nzRr5aPiEemFddEW7ouAfg">
100 <styles xmi:type="notation:FontStyle" xmi:id="_n0E9IaPiEemFddEW7ouAfg" fontName="Segoe UI" fontHeight="8" bold="true"/>
101 <layoutConstraint xmi:type="notation:Location" xmi:id="_n0E9IqPiEemFddEW7ouAfg"/>
102 </children>
103 <styles xmi:type="notation:SortingStyle" xmi:id="_DwRBksAsEeaaj7sYFz2QKg"/>
104 <styles xmi:type="notation:FilteringStyle" xmi:id="_DwRBk8AsEeaaj7sYFz2QKg"/>
105 </children>
106 <styles xmi:type="notation:ShapeStyle" xmi:id="_DwQagcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
107 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DwQagsAsEeaaj7sYFz2QKg" x="500" y="15"/>
108 </children>
109 <children xmi:type="notation:Node" xmi:id="_Cu2ycMAtEeaaj7sYFz2QKg" type="2003" element="_CuwEwMAtEeaaj7sYFz2QKg">
110 <children xmi:type="notation:Node" xmi:id="_Cu2yc8AtEeaaj7sYFz2QKg" type="5007"/>
111 <children xmi:type="notation:Node" xmi:id="_Cu2ydMAtEeaaj7sYFz2QKg" type="7004">
112 <children xmi:type="notation:Node" xmi:id="_GeXKEMAtEeaaj7sYFz2QKg" type="3010" element="_JJ28cMAsEeaaj7sYFz2QKg">
113 <styles xmi:type="notation:FontStyle" xmi:id="_GeXKEcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
114 <layoutConstraint xmi:type="notation:Location" xmi:id="_GeXKEsAtEeaaj7sYFz2QKg"/>
115 </children>
116 <styles xmi:type="notation:SortingStyle" xmi:id="_Cu2ydcAtEeaaj7sYFz2QKg"/>
117 <styles xmi:type="notation:FilteringStyle" xmi:id="_Cu2ydsAtEeaaj7sYFz2QKg"/>
118 </children>
119 <styles xmi:type="notation:ShapeStyle" xmi:id="_Cu2yccAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
120 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cu2ycsAtEeaaj7sYFz2QKg" x="25" y="330" width="120" height="100"/>
121 </children>
122 <children xmi:type="notation:Node" xmi:id="_EQinoMAtEeaaj7sYFz2QKg" type="2003" element="_EQaEwMAtEeaaj7sYFz2QKg">
123 <children xmi:type="notation:Node" xmi:id="_EQjOsMAtEeaaj7sYFz2QKg" type="5007"/>
124 <children xmi:type="notation:Node" xmi:id="_EQjOscAtEeaaj7sYFz2QKg" type="7004">
125 <children xmi:type="notation:Node" xmi:id="_GLWugMAtEeaaj7sYFz2QKg" type="3010" element="_KDnO8MAsEeaaj7sYFz2QKg">
126 <styles xmi:type="notation:FontStyle" xmi:id="_GLWugcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/>
127 <layoutConstraint xmi:type="notation:Location" xmi:id="_GLWugsAtEeaaj7sYFz2QKg"/>
128 </children>
129 <styles xmi:type="notation:SortingStyle" xmi:id="_EQjOssAtEeaaj7sYFz2QKg"/>
130 <styles xmi:type="notation:FilteringStyle" xmi:id="_EQjOs8AtEeaaj7sYFz2QKg"/>
131 </children>
132 <styles xmi:type="notation:ShapeStyle" xmi:id="_EQinocAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
133 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EQinosAtEeaaj7sYFz2QKg" x="163" y="330" width="120" height="100"/>
134 </children>
135 <children xmi:type="notation:Node" xmi:id="_LJwiMMAtEeaaj7sYFz2QKg" type="2003" element="_LJomYMAtEeaaj7sYFz2QKg">
136 <children xmi:type="notation:Node" xmi:id="_LJwiM8AtEeaaj7sYFz2QKg" type="5007"/>
137 <children xmi:type="notation:Node" xmi:id="_LJxJQMAtEeaaj7sYFz2QKg" type="7004">
138 <styles xmi:type="notation:SortingStyle" xmi:id="_LJxJQcAtEeaaj7sYFz2QKg"/>
139 <styles xmi:type="notation:FilteringStyle" xmi:id="_LJxJQsAtEeaaj7sYFz2QKg"/>
140 </children>
141 <styles xmi:type="notation:ShapeStyle" xmi:id="_LJwiMcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
142 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJwiMsAtEeaaj7sYFz2QKg" x="280" y="-150"/>
143 </children>
144 <children xmi:type="notation:Node" xmi:id="_OgZt4MAtEeaaj7sYFz2QKg" type="2003" element="_OgM5kMAtEeaaj7sYFz2QKg">
145 <children xmi:type="notation:Node" xmi:id="_OgZt48AtEeaaj7sYFz2QKg" type="5007"/>
146 <children xmi:type="notation:Node" xmi:id="_OgZt5MAtEeaaj7sYFz2QKg" type="7004">
147 <children xmi:type="notation:Node" xmi:id="_n0OuIKPiEemFddEW7ouAfg" type="3010" element="_nza106PiEemFddEW7ouAfg">
148 <styles xmi:type="notation:FontStyle" xmi:id="_n0OuIaPiEemFddEW7ouAfg" fontName="Segoe UI" fontHeight="8"/>
149 <layoutConstraint xmi:type="notation:Location" xmi:id="_n0OuIqPiEemFddEW7ouAfg"/>
150 </children>
151 <children xmi:type="notation:Node" xmi:id="_n0OuI6PiEemFddEW7ouAfg" type="3010" element="_nza11aPiEemFddEW7ouAfg">
152 <styles xmi:type="notation:FontStyle" xmi:id="_n0OuJKPiEemFddEW7ouAfg" fontName="Segoe UI" fontHeight="8"/>
153 <layoutConstraint xmi:type="notation:Location" xmi:id="_n0OuJaPiEemFddEW7ouAfg"/>
154 </children>
155 <styles xmi:type="notation:SortingStyle" xmi:id="_OgZt5cAtEeaaj7sYFz2QKg"/>
156 <styles xmi:type="notation:FilteringStyle" xmi:id="_OgZt5sAtEeaaj7sYFz2QKg"/>
157 </children>
158 <styles xmi:type="notation:ShapeStyle" xmi:id="_OgZt4cAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" italic="true"/>
159 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgZt4sAtEeaaj7sYFz2QKg" x="397" y="312"/>
160 </children>
161 <styles xmi:type="notation:DiagramStyle" xmi:id="_9rjtIsArEeaaj7sYFz2QKg"/>
162 <edges xmi:type="notation:Edge" xmi:id="_-5VH0MArEeaaj7sYFz2QKg" type="4001" element="_-5SEgcArEeaaj7sYFz2QKg" source="_-SNdcMArEeaaj7sYFz2QKg" target="_-5TSoMArEeaaj7sYFz2QKg">
163 <children xmi:type="notation:Node" xmi:id="_-5Vu4MArEeaaj7sYFz2QKg" type="6001">
164 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu4cArEeaaj7sYFz2QKg" y="-10"/>
165 </children>
166 <children xmi:type="notation:Node" xmi:id="_-5Vu4sArEeaaj7sYFz2QKg" type="6002">
167 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu48ArEeaaj7sYFz2QKg" y="10"/>
168 </children>
169 <children xmi:type="notation:Node" xmi:id="_-5Vu5MArEeaaj7sYFz2QKg" type="6003">
170 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu5cArEeaaj7sYFz2QKg" y="10"/>
171 </children>
172 <styles xmi:type="notation:ConnectorStyle" xmi:id="_-5VH0cArEeaaj7sYFz2QKg" routing="Tree"/>
173 <styles xmi:type="notation:FontStyle" xmi:id="_-5VH0sArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
174 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-5VH08ArEeaaj7sYFz2QKg" points="[210, 135, 210, 135]$[0, 0, 0, 0]"/>
175 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-5WV8MArEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
176 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-5WV8cArEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
177 </edges>
178 <edges xmi:type="notation:Edge" xmi:id="_u58dgMAsEeaaj7sYFz2QKg" type="4001" element="_u5ysgMAsEeaaj7sYFz2QKg" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_-5TSoMArEeaaj7sYFz2QKg">
179 <children xmi:type="notation:Node" xmi:id="_u58dhMAsEeaaj7sYFz2QKg" type="6001">
180 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59EkMAsEeaaj7sYFz2QKg" y="-10"/>
181 </children>
182 <children xmi:type="notation:Node" xmi:id="_u59EkcAsEeaaj7sYFz2QKg" type="6002">
183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59EksAsEeaaj7sYFz2QKg" y="10"/>
184 </children>
185 <children xmi:type="notation:Node" xmi:id="_u59Ek8AsEeaaj7sYFz2QKg" type="6003">
186 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59ElMAsEeaaj7sYFz2QKg" y="10"/>
187 </children>
188 <styles xmi:type="notation:ConnectorStyle" xmi:id="_u58dgcAsEeaaj7sYFz2QKg" routing="Tree"/>
189 <styles xmi:type="notation:FontStyle" xmi:id="_u58dgsAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
190 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_u58dg8AsEeaaj7sYFz2QKg" points="[0, 0, 397, 166]$[-395, -165, 2, 1]"/>
191 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u59ElcAsEeaaj7sYFz2QKg" id="(0.8132530120481928,0.0)"/>
192 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u59ElsAsEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
193 </edges>
194 <edges xmi:type="notation:Edge" xmi:id="_HR0nUMAtEeaaj7sYFz2QKg" type="4001" element="_HRrdYMAtEeaaj7sYFz2QKg" source="_Cu2ycMAtEeaaj7sYFz2QKg" target="_-SNdcMArEeaaj7sYFz2QKg">
195 <children xmi:type="notation:Node" xmi:id="_HR1OYMAtEeaaj7sYFz2QKg" type="6001">
196 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OYcAtEeaaj7sYFz2QKg" y="-10"/>
197 </children>
198 <children xmi:type="notation:Node" xmi:id="_HR1OYsAtEeaaj7sYFz2QKg" type="6002">
199 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OY8AtEeaaj7sYFz2QKg" y="10"/>
200 </children>
201 <children xmi:type="notation:Node" xmi:id="_HR1OZMAtEeaaj7sYFz2QKg" type="6003">
202 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OZcAtEeaaj7sYFz2QKg" y="10"/>
203 </children>
204 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HR0nUcAtEeaaj7sYFz2QKg" routing="Tree"/>
205 <styles xmi:type="notation:FontStyle" xmi:id="_HR0nUsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
206 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HR0nU8AtEeaaj7sYFz2QKg" points="[0, 0, 2, 151]$[-2, -110, 0, 41]"/>
207 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HR1OZsAtEeaaj7sYFz2QKg" id="(0.635593220338983,0.0)"/>
208 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HR1OZ8AtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
209 </edges>
210 <edges xmi:type="notation:Edge" xmi:id="_HuNoYMAtEeaaj7sYFz2QKg" type="4001" element="_HuEecMAtEeaaj7sYFz2QKg" source="_EQinoMAtEeaaj7sYFz2QKg" target="_-SNdcMArEeaaj7sYFz2QKg">
211 <children xmi:type="notation:Node" xmi:id="_HuNoZMAtEeaaj7sYFz2QKg" type="6001">
212 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoZcAtEeaaj7sYFz2QKg" y="-10"/>
213 </children>
214 <children xmi:type="notation:Node" xmi:id="_HuNoZsAtEeaaj7sYFz2QKg" type="6002">
215 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoZ8AtEeaaj7sYFz2QKg" y="10"/>
216 </children>
217 <children xmi:type="notation:Node" xmi:id="_HuNoaMAtEeaaj7sYFz2QKg" type="6003">
218 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoacAtEeaaj7sYFz2QKg" y="10"/>
219 </children>
220 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HuNoYcAtEeaaj7sYFz2QKg" routing="Tree"/>
221 <styles xmi:type="notation:FontStyle" xmi:id="_HuNoYsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
222 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HuNoY8AtEeaaj7sYFz2QKg" points="[0, 0, 124, 151]$[-124, -150, 0, 1]"/>
223 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HuNoasAtEeaaj7sYFz2QKg" id="(0.5,0.0)"/>
224 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HuNoa8AtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
225 </edges>
226 <edges xmi:type="notation:Edge" xmi:id="_LJyXYMAtEeaaj7sYFz2QKg" type="4001" element="_LJutAMAtEeaaj7sYFz2QKg" source="_-5TSoMArEeaaj7sYFz2QKg" target="_LJwiMMAtEeaaj7sYFz2QKg">
227 <children xmi:type="notation:Node" xmi:id="_LJyXZMAtEeaaj7sYFz2QKg" type="6001">
228 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXZcAtEeaaj7sYFz2QKg" y="-10"/>
229 </children>
230 <children xmi:type="notation:Node" xmi:id="_LJyXZsAtEeaaj7sYFz2QKg" type="6002">
231 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXZ8AtEeaaj7sYFz2QKg" y="10"/>
232 </children>
233 <children xmi:type="notation:Node" xmi:id="_LJyXaMAtEeaaj7sYFz2QKg" type="6003">
234 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXacAtEeaaj7sYFz2QKg" y="10"/>
235 </children>
236 <styles xmi:type="notation:ConnectorStyle" xmi:id="_LJyXYcAtEeaaj7sYFz2QKg" routing="Tree"/>
237 <styles xmi:type="notation:FontStyle" xmi:id="_LJyXYsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/>
238 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LJyXY8AtEeaaj7sYFz2QKg" points="[260, 15, 260, 15]$[0, 0, 0, 0]"/>
239 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LJzlgMAtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
240 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LJzlgcAtEeaaj7sYFz2QKg" id="(0.5,0.5)"/>
241 </edges>
242 <edges xmi:type="notation:Edge" xmi:id="_QkxZYMAtEeaaj7sYFz2QKg" type="4001" element="_Qko2gMAtEeaaj7sYFz2QKg" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg">
243 <children xmi:type="notation:Node" xmi:id="_QkxZZMAtEeaaj7sYFz2QKg" type="6001">
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZZcAtEeaaj7sYFz2QKg" x="-60" y="10"/>
245 </children>
246 <children xmi:type="notation:Node" xmi:id="_QkxZZsAtEeaaj7sYFz2QKg" type="6002">
247 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZZ8AtEeaaj7sYFz2QKg" x="10"/>
248 </children>
249 <children xmi:type="notation:Node" xmi:id="_QkxZaMAtEeaaj7sYFz2QKg" type="6003">
250 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZacAtEeaaj7sYFz2QKg" y="-10"/>
251 </children>
252 <styles xmi:type="notation:ConnectorStyle" xmi:id="_QkxZYcAtEeaaj7sYFz2QKg" routing="Rectilinear"/>
253 <styles xmi:type="notation:FontStyle" xmi:id="_QkxZYsAtEeaaj7sYFz2QKg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
254 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QkxZY8AtEeaaj7sYFz2QKg" points="[-14, 98, 275, -34]$[-14, 182, 275, 50]$[-83, 182, 206, 50]"/>
255 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QkyAcMAtEeaaj7sYFz2QKg" id="(1.0,0.0)"/>
256 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QkyAccAtEeaaj7sYFz2QKg" id="(0.0,0.0)"/>
257 </edges>
258 <edges xmi:type="notation:Edge" xmi:id="_wTbfUMA0Eeaaj7sYFz2QKg" type="4001" element="_wTP5IMA0Eeaaj7sYFz2QKg" source="_-SNdcMArEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg">
259 <children xmi:type="notation:Node" xmi:id="_wTbfVMA0Eeaaj7sYFz2QKg" type="6001">
260 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTbfVcA0Eeaaj7sYFz2QKg" x="18" y="-12"/>
261 </children>
262 <children xmi:type="notation:Node" xmi:id="_wTbfVsA0Eeaaj7sYFz2QKg" type="6002">
263 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTbfV8A0Eeaaj7sYFz2QKg" x="70" y="10"/>
264 </children>
265 <children xmi:type="notation:Node" xmi:id="_wTcGYMA0Eeaaj7sYFz2QKg" type="6003">
266 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTcGYcA0Eeaaj7sYFz2QKg" x="-11" y="10"/>
267 </children>
268 <styles xmi:type="notation:ConnectorStyle" xmi:id="_wTbfUcA0Eeaaj7sYFz2QKg" routing="Rectilinear"/>
269 <styles xmi:type="notation:FontStyle" xmi:id="_wTbfUsA0Eeaaj7sYFz2QKg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
270 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wTbfU8A0Eeaaj7sYFz2QKg" points="[0, 0, -232, -92]$[110, 0, -122, -92]$[110, 152, -122, 60]$[171, 152, -61, 60]"/>
271 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wTcGYsA0Eeaaj7sYFz2QKg" id="(1.0,0.40816326530612246)"/>
272 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wTcGY8A0Eeaaj7sYFz2QKg" id="(0.2966101694915254,0.0)"/>
273 </edges>
274 <edges xmi:type="notation:Edge" xmi:id="_D6-y0MDnEea_b6UyFzv22g" type="4001" element="_D6viQMDnEea_b6UyFzv22g" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg">
275 <children xmi:type="notation:Node" xmi:id="_D6_Z4MDnEea_b6UyFzv22g" type="6001">
276 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z4cDnEea_b6UyFzv22g" x="-58" y="-6"/>
277 </children>
278 <children xmi:type="notation:Node" xmi:id="_D6_Z4sDnEea_b6UyFzv22g" type="6002">
279 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z48DnEea_b6UyFzv22g" x="40" y="10"/>
280 </children>
281 <children xmi:type="notation:Node" xmi:id="_D6_Z5MDnEea_b6UyFzv22g" type="6003">
282 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z5cDnEea_b6UyFzv22g" x="4" y="-10"/>
283 </children>
284 <styles xmi:type="notation:ConnectorStyle" xmi:id="_D6-y0cDnEea_b6UyFzv22g" routing="Rectilinear"/>
285 <styles xmi:type="notation:FontStyle" xmi:id="_D6-y0sDnEea_b6UyFzv22g" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
286 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D6-y08DnEea_b6UyFzv22g" points="[166, -35, 83, -157]$[200, -35, 117, -157]$[200, 119, 117, -3]$[83, 119, 0, -3]"/>
287 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D6_Z5sDnEea_b6UyFzv22g" id="(0.0,0.8673469387755102)"/>
288 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D7AA8MDnEea_b6UyFzv22g" id="(1.0,0.7653061224489796)"/>
289 </edges>
290 <edges xmi:type="notation:Edge" xmi:id="_NpFP0MDnEea_b6UyFzv22g" type="4001" element="_NozjAMDnEea_b6UyFzv22g" source="_-5TSoMArEeaaj7sYFz2QKg" target="_DwQagMAsEeaaj7sYFz2QKg">
291 <children xmi:type="notation:Node" xmi:id="_NpFP1MDnEea_b6UyFzv22g" type="6001">
292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpFP1cDnEea_b6UyFzv22g" y="-10"/>
293 </children>
294 <children xmi:type="notation:Node" xmi:id="_NpF24MDnEea_b6UyFzv22g" type="6002">
295 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpF24cDnEea_b6UyFzv22g" y="10"/>
296 </children>
297 <children xmi:type="notation:Node" xmi:id="_NpF24sDnEea_b6UyFzv22g" type="6003">
298 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpF248DnEea_b6UyFzv22g" y="10"/>
299 </children>
300 <styles xmi:type="notation:ConnectorStyle" xmi:id="_NpFP0cDnEea_b6UyFzv22g" routing="Rectilinear"/>
301 <styles xmi:type="notation:FontStyle" xmi:id="_NpFP0sDnEea_b6UyFzv22g" fontName="Segoe UI" fontHeight="8" bold="true"/>
302 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NpFP08DnEea_b6UyFzv22g" points="[260, 15, 260, 15]$[500, 15, 500, 15]"/>
303 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NpF25MDnEea_b6UyFzv22g" id="(0.5,0.5)"/>
304 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NpF25cDnEea_b6UyFzv22g" id="(0.5,0.5)"/>
305 </edges>
306 </data>
307 </ownedAnnotationEntries>
308 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_-SH94MArEeaaj7sYFz2QKg" name="MultiplicityAssertion" tooltipText="" outgoingEdges="_-5SEgcArEeaaj7sYFz2QKg _wTP5IMA0Eeaaj7sYFz2QKg" incomingEdges="_HRrdYMAtEeaaj7sYFz2QKg _HuEecMAtEeaaj7sYFz2QKg" width="12" height="10">
309 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
310 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
311 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
312 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
313 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
314 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_BQSisMAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
315 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
316 </ownedStyle>
317 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
318 </ownedDiagramElements>
319 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_-5OaIMArEeaaj7sYFz2QKg" name="AssertionAnnotation" tooltipText="" outgoingEdges="_LJutAMAtEeaaj7sYFz2QKg _NozjAMDnEea_b6UyFzv22g" incomingEdges="_-5SEgcArEeaaj7sYFz2QKg _u5ysgMAsEeaaj7sYFz2QKg" width="12" height="10">
320 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
321 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
322 <decorations xmi:type="viewpoint:Decoration" uid="_-5SEgMArEeaaj7sYFz2QKg">
323 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
324 </decorations>
325 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
326 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
327 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
328 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_XIPi0MDwEea_b6UyFzv22g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
329 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
330 </ownedStyle>
331 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
332 </ownedDiagramElements>
333 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_-5SEgcArEeaaj7sYFz2QKg" sourceNode="_-SH94MArEeaaj7sYFz2QKg" targetNode="_-5OaIMArEeaaj7sYFz2QKg">
334 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
335 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/>
336 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_BQWNEMAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree">
337 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
338 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_BQWNEcAtEeaaj7sYFz2QKg" showIcon="false">
339 <labelFormat>italic</labelFormat>
340 </beginLabelStyle>
341 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_BQWNEsAtEeaaj7sYFz2QKg" showIcon="false"/>
342 </ownedStyle>
343 <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%20ESupertypes']"/>
344 </ownedDiagramElements>
345 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_ABfpwMAsEeaaj7sYFz2QKg" name="InverseRelationAssertion" tooltipText="" outgoingEdges="_u5ysgMAsEeaaj7sYFz2QKg _Qko2gMAtEeaaj7sYFz2QKg _D6viQMDnEea_b6UyFzv22g" width="12" height="10">
346 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/>
347 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/>
348 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
349 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
350 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
351 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_ABfpwcAsEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
352 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
353 </ownedStyle>
354 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
355 </ownedDiagramElements>
356 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_DwH3oMAsEeaaj7sYFz2QKg" name="Assertion" tooltipText="" incomingEdges="_NozjAMDnEea_b6UyFzv22g" width="12" height="10">
357 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion"/>
358 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion"/>
359 <decorations xmi:type="viewpoint:Decoration" uid="_DwNXMMAsEeaaj7sYFz2QKg">
360 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
361 </decorations>
362 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
363 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
364 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
365 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_DwH3ocAsEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
366 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
367 </ownedStyle>
368 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
369 <ownedElements xmi:type="diagram:DNodeListElement" uid="_DwMwIMAsEeaaj7sYFz2QKg" name="name : EString" tooltipText="">
370 <target xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/name"/>
371 <semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/name"/>
372 <ownedStyle xmi:type="diagram:BundledImage" uid="_DwMwIsAsEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg">
373 <labelFormat>bold</labelFormat>
428 </ownedStyle> 374 </ownedStyle>
429 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 375 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
430 </ownedDiagramElements> 376 </ownedElements>
431 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_LJutAMAtEeaaj7sYFz2QKg" sourceNode="_-5OaIMArEeaaj7sYFz2QKg" targetNode="_LJomYMAtEeaaj7sYFz2QKg"> 377 <ownedElements xmi:type="diagram:DNodeListElement" uid="_nzRr5aPiEemFddEW7ouAfg" name=" value : Term" tooltipText="">
432 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/> 378 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/value"/>
433 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/@eGenericSuperTypes.0"/> 379 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/value"/>
434 <decorations xmi:type="viewpoint:Decoration" xmi:id="_QknoYMAtEeaaj7sYFz2QKg"> 380 <ownedStyle xmi:type="diagram:BundledImage" uid="_nza10aPiEemFddEW7ouAfg" labelAlignment="LEFT" description="_nza10KPiEemFddEW7ouAfg" color="114,159,207">
435 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> 381 <labelFormat>bold</labelFormat>
436 </decorations>
437 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XIT0QMDwEea_b6UyFzv22g" targetArrow="InputClosedArrow" routingStyle="tree">
438 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
439 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XIUbUMDwEea_b6UyFzv22g" showIcon="false">
440 <labelFormat>italic</labelFormat>
441 </beginLabelStyle>
442 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XIUbUcDwEea_b6UyFzv22g" showIcon="false"/>
443 </ownedStyle> 382 </ownedStyle>
444 <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%20ESupertypes']"/> 383 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
445 </ownedDiagramElements> 384 </ownedElements>
446 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_OgM5kMAtEeaaj7sYFz2QKg" name="Relation" tooltipText="" incomingEdges="_Qko2gMAtEeaaj7sYFz2QKg _wTP5IMA0Eeaaj7sYFz2QKg _D6viQMDnEea_b6UyFzv22g" width="12" height="10"> 385 </ownedDiagramElements>
447 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/> 386 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_u5ysgMAsEeaaj7sYFz2QKg" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_-5OaIMArEeaaj7sYFz2QKg">
448 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/> 387 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/>
449 <decorations xmi:type="viewpoint:Decoration" xmi:id="_OgTnQMAtEeaaj7sYFz2QKg"> 388 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/>
450 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> 389 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_u5zTkMAsEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree">
451 </decorations> 390 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
452 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 391 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_u5zTkcAsEeaaj7sYFz2QKg" showIcon="false">
453 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
454 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
455 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_OgNgoMAtEeaaj7sYFz2QKg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
456 <labelFormat>italic</labelFormat> 392 <labelFormat>italic</labelFormat>
457 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/> 393 </beginLabelStyle>
458 </ownedStyle> 394 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_u5zTksAsEeaaj7sYFz2QKg" showIcon="false"/>
459 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 395 </ownedStyle>
460 </ownedDiagramElements> 396 <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%20ESupertypes']"/>
461 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Qko2gMAtEeaaj7sYFz2QKg" name="[1..1] inverseA" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg"> 397 </ownedDiagramElements>
462 <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseA"/> 398 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_CuwEwMAtEeaaj7sYFz2QKg" name="LowerMultiplicityAssertion" tooltipText="" outgoingEdges="_HRrdYMAtEeaaj7sYFz2QKg" width="12" height="10">
463 <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseA"/> 399 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/>
464 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_UKs-QMAtEeaaj7sYFz2QKg" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0"> 400 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/>
465 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_UKs-QcAtEeaaj7sYFz2QKg" showIcon="false"> 401 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
466 <labelFormat>bold</labelFormat> 402 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
467 </centerLabelStyle> 403 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
468 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_UKs-QsAtEeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelColor="39,76,114"/> 404 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_CuwEwcAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
405 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
406 </ownedStyle>
407 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
408 <ownedElements xmi:type="diagram:DNodeListElement" uid="_JJ28cMAsEeaaj7sYFz2QKg" name="lower : EInt" tooltipText="">
409 <target xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/lower"/>
410 <semanticElements xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/lower"/>
411 <ownedStyle xmi:type="diagram:BundledImage" uid="_Alvw4MAtEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg">
412 <labelFormat>bold</labelFormat>
469 </ownedStyle> 413 </ownedStyle>
470 <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']"/> 414 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
471 </ownedDiagramElements> 415 </ownedElements>
472 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_wTP5IMA0Eeaaj7sYFz2QKg" name="[1..1] relation" sourceNode="_-SH94MArEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg"> 416 </ownedDiagramElements>
473 <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//MultiplicityAssertion/relation"/> 417 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_EQaEwMAtEeaaj7sYFz2QKg" name="UpperMultiplicityAssertion" tooltipText="" outgoingEdges="_HuEecMAtEeaaj7sYFz2QKg" width="12" height="10">
474 <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//MultiplicityAssertion/relation"/> 418 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/>
475 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_x7xWIMA0Eeaaj7sYFz2QKg" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0"> 419 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/>
476 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_x7xWIcA0Eeaaj7sYFz2QKg" showIcon="false"> 420 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
477 <labelFormat>bold</labelFormat> 421 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
478 </centerLabelStyle> 422 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
479 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_x7xWIsA0Eeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelColor="39,76,114"/> 423 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_EQar0MAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
424 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
425 </ownedStyle>
426 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
427 <ownedElements xmi:type="diagram:DNodeListElement" uid="_KDnO8MAsEeaaj7sYFz2QKg" name="upper : EInt" tooltipText="">
428 <target xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/upper"/>
429 <semanticElements xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/upper"/>
430 <ownedStyle xmi:type="diagram:BundledImage" uid="_F2B-wMAtEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg">
431 <labelFormat>bold</labelFormat>
480 </ownedStyle> 432 </ownedStyle>
481 <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']"/> 433 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
482 </ownedDiagramElements> 434 </ownedElements>
483 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_D6viQMDnEea_b6UyFzv22g" name="[1..1] inverseB" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg"> 435 </ownedDiagramElements>
484 <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseB"/> 436 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_HRrdYMAtEeaaj7sYFz2QKg" sourceNode="_CuwEwMAtEeaaj7sYFz2QKg" targetNode="_-SH94MArEeaaj7sYFz2QKg">
485 <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseB"/> 437 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/>
486 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_F6Fj0MDnEea_b6UyFzv22g" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0"> 438 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/>
487 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_F6Fj0cDnEea_b6UyFzv22g" showIcon="false"> 439 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_HRsEcMAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree">
488 <labelFormat>bold</labelFormat> 440 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
489 </centerLabelStyle> 441 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_HRsEccAtEeaaj7sYFz2QKg" showIcon="false">
490 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_F6Fj0sDnEea_b6UyFzv22g" labelSize="6" showIcon="false" labelColor="39,76,114"/> 442 <labelFormat>italic</labelFormat>
443 </beginLabelStyle>
444 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_HRsEcsAtEeaaj7sYFz2QKg" showIcon="false"/>
445 </ownedStyle>
446 <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%20ESupertypes']"/>
447 </ownedDiagramElements>
448 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_HuEecMAtEeaaj7sYFz2QKg" sourceNode="_EQaEwMAtEeaaj7sYFz2QKg" targetNode="_-SH94MArEeaaj7sYFz2QKg">
449 <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/>
450 <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/>
451 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_HuEeccAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree">
452 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
453 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_HuEecsAtEeaaj7sYFz2QKg" showIcon="false">
454 <labelFormat>italic</labelFormat>
455 </beginLabelStyle>
456 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_HuEec8AtEeaaj7sYFz2QKg" showIcon="false"/>
457 </ownedStyle>
458 <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%20ESupertypes']"/>
459 </ownedDiagramElements>
460 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_LJomYMAtEeaaj7sYFz2QKg" name="Annotation" tooltipText="" incomingEdges="_LJutAMAtEeaaj7sYFz2QKg" width="12" height="10">
461 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/>
462 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/>
463 <decorations xmi:type="viewpoint:Decoration" uid="_LJte4MAtEeaaj7sYFz2QKg">
464 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
465 </decorations>
466 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
467 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
468 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
469 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_LJomYcAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
470 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
471 </ownedStyle>
472 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
473 </ownedDiagramElements>
474 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_LJutAMAtEeaaj7sYFz2QKg" sourceNode="_-5OaIMArEeaaj7sYFz2QKg" targetNode="_LJomYMAtEeaaj7sYFz2QKg">
475 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
476 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
477 <decorations xmi:type="viewpoint:Decoration" uid="_QknoYMAtEeaaj7sYFz2QKg">
478 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
479 </decorations>
480 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_XIT0QMDwEea_b6UyFzv22g" targetArrow="InputClosedArrow" routingStyle="tree">
481 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
482 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_XIUbUMDwEea_b6UyFzv22g" showIcon="false">
483 <labelFormat>italic</labelFormat>
484 </beginLabelStyle>
485 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_XIUbUcDwEea_b6UyFzv22g" showIcon="false"/>
486 </ownedStyle>
487 <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%20ESupertypes']"/>
488 </ownedDiagramElements>
489 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_OgM5kMAtEeaaj7sYFz2QKg" name="Relation" tooltipText="" incomingEdges="_Qko2gMAtEeaaj7sYFz2QKg _wTP5IMA0Eeaaj7sYFz2QKg _D6viQMDnEea_b6UyFzv22g" width="12" height="10">
490 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
491 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/>
492 <decorations xmi:type="viewpoint:Decoration" uid="_OgTnQMAtEeaaj7sYFz2QKg">
493 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
494 </decorations>
495 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
496 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
497 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
498 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_OgNgoMAtEeaaj7sYFz2QKg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
499 <labelFormat>italic</labelFormat>
500 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
501 </ownedStyle>
502 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
503 <ownedElements xmi:type="diagram:DNodeListElement" uid="_nza106PiEemFddEW7ouAfg" name=" parameters : TypeReference" tooltipText="">
504 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation/parameters"/>
505 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation/parameters"/>
506 <ownedStyle xmi:type="diagram:BundledImage" uid="_nza11KPiEemFddEW7ouAfg" labelAlignment="LEFT" color="114,159,207">
507 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@style"/>
491 </ownedStyle> 508 </ownedStyle>
492 <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']"/> 509 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
493 </ownedDiagramElements> 510 </ownedElements>
494 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_NozjAMDnEea_b6UyFzv22g" sourceNode="_-5OaIMArEeaaj7sYFz2QKg" targetNode="_DwH3oMAsEeaaj7sYFz2QKg" beginLabel="[0..*] annotations" endLabel="[1..1] target"> 511 <ownedElements xmi:type="diagram:DNodeListElement" uid="_nza11aPiEemFddEW7ouAfg" name=" annotations : RelationAnnotation" tooltipText="">
495 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/> 512 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation/annotations"/>
496 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/annotations"/> 513 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation/annotations"/>
497 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/> 514 <ownedStyle xmi:type="diagram:BundledImage" uid="_nza11qPiEemFddEW7ouAfg" labelAlignment="LEFT" color="114,159,207">
498 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XIVpcMDwEea_b6UyFzv22g" description="_XIVCYMDwEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0"> 515 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@style"/>
499 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XIVpccDwEea_b6UyFzv22g" showIcon="false">
500 <labelFormat>bold</labelFormat>
501 </beginLabelStyle>
502 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XIVpcsDwEea_b6UyFzv22g" showIcon="false">
503 <labelFormat>bold</labelFormat>
504 </endLabelStyle>
505 </ownedStyle> 516 </ownedStyle>
506 <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='Bi-directional%20EC_EReference%20']"/> 517 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
507 </ownedDiagramElements> 518 </ownedElements>
508 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 519 </ownedDiagramElements>
509 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_9rgp1cArEeaaj7sYFz2QKg"/> 520 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Qko2gMAtEeaaj7sYFz2QKg" name="[1..1] inverseA" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg">
510 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> 521 <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseA"/>
511 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/> 522 <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseA"/>
512 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/> 523 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_UKs-QMAtEeaaj7sYFz2QKg" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0">
513 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/> 524 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_UKs-QcAtEeaaj7sYFz2QKg" showIcon="false">
514 <target xmi:type="ecore:EPackage" href="ecore2logicannotations.ecore#/"/> 525 <labelFormat>bold</labelFormat>
515 </ownedRepresentations> 526 </centerLabelStyle>
516 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> 527 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_UKs-QsAtEeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
517 </ownedViews> 528 </ownedStyle>
518 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mhXsMArEeaaj7sYFz2QKg"> 529 <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']"/>
519 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/> 530 </ownedDiagramElements>
520 </ownedViews> 531 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_wTP5IMA0Eeaaj7sYFz2QKg" name="[1..1] relation" sourceNode="_-SH94MArEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg">
521 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mrIsMArEeaaj7sYFz2QKg"> 532 <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//MultiplicityAssertion/relation"/>
522 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/> 533 <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//MultiplicityAssertion/relation"/>
523 </ownedViews> 534 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_x7xWIMA0Eeaaj7sYFz2QKg" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0">
524 <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mydcMArEeaaj7sYFz2QKg"> 535 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_x7xWIcA0Eeaaj7sYFz2QKg" showIcon="false">
525 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/> 536 <labelFormat>bold</labelFormat>
526 </ownedViews> 537 </centerLabelStyle>
527</viewpoint:DAnalysis> 538 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_x7xWIsA0Eeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
539 </ownedStyle>
540 <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']"/>
541 </ownedDiagramElements>
542 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_D6viQMDnEea_b6UyFzv22g" name="[1..1] inverseB" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg">
543 <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseB"/>
544 <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseB"/>
545 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_F6Fj0MDnEea_b6UyFzv22g" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0">
546 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_F6Fj0cDnEea_b6UyFzv22g" showIcon="false">
547 <labelFormat>bold</labelFormat>
548 </centerLabelStyle>
549 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_F6Fj0sDnEea_b6UyFzv22g" labelSize="6" showIcon="false" labelColor="39,76,114"/>
550 </ownedStyle>
551 <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']"/>
552 </ownedDiagramElements>
553 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_NozjAMDnEea_b6UyFzv22g" sourceNode="_-5OaIMArEeaaj7sYFz2QKg" targetNode="_DwH3oMAsEeaaj7sYFz2QKg" beginLabel="[0..*] annotations" endLabel="[1..1] target">
554 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/>
555 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/annotations"/>
556 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/>
557 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_XIVpcMDwEea_b6UyFzv22g" description="_XIVCYMDwEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0">
558 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_XIVpccDwEea_b6UyFzv22g" showIcon="false">
559 <labelFormat>bold</labelFormat>
560 </beginLabelStyle>
561 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_XIVpcsDwEea_b6UyFzv22g" showIcon="false">
562 <labelFormat>bold</labelFormat>
563 </endLabelStyle>
564 </ownedStyle>
565 <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='Bi-directional%20EC_EReference%20']"/>
566 </ownedDiagramElements>
567 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
568 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_9rgp1cArEeaaj7sYFz2QKg"/>
569 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
570 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
571 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
572 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
573 <target xmi:type="ecore:EPackage" href="ecore2logicannotations.ecore#/"/>
574 </diagram:DSemanticDiagram>
575</xmi:XMI>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend
index cae489e3..85b488eb 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend
@@ -1,7 +1,13 @@
1package hu.bme.mit.inf.dslreasoner.ecore2logic 1package hu.bme.mit.inf.dslreasoner.ecore2logic
2 2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem 8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4import java.util.List 9import java.util.List
10import java.util.Set
5import org.eclipse.emf.ecore.EAttribute 11import org.eclipse.emf.ecore.EAttribute
6import org.eclipse.emf.ecore.EClass 12import org.eclipse.emf.ecore.EClass
7import org.eclipse.emf.ecore.EEnum 13import org.eclipse.emf.ecore.EEnum
@@ -9,10 +15,6 @@ import org.eclipse.emf.ecore.EEnumLiteral
9import org.eclipse.emf.ecore.EReference 15import org.eclipse.emf.ecore.EReference
10import org.eclipse.xtend.lib.annotations.Data 16import org.eclipse.xtend.lib.annotations.Data
11import org.eclipse.xtend.lib.annotations.Delegate 17import org.eclipse.xtend.lib.annotations.Delegate
12import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
13import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
14import java.util.Set
15import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy
16 18
17@Data class EcoreMetamodelDescriptor { 19@Data class EcoreMetamodelDescriptor {
18 val List<EClass> classes; 20 val List<EClass> classes;
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend
index 905859eb..cdcbb48a 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend
@@ -3,22 +3,27 @@ package hu.bme.mit.inf.dslreasoner.logic.model.builder
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration 3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement 4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration 5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration 7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type 9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration 10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition 11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
12import java.math.BigDecimal
10import java.util.List 13import java.util.List
14import java.util.Map
15import java.util.SortedSet
16import java.util.TreeSet
11 17
12import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* 18import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
13import java.util.SortedSet
14import java.math.BigDecimal
15 19
16interface LogicModelInterpretation{ 20interface LogicModelInterpretation {
17 21
18 /** 22 /**
19 * Returns the elements of a type. 23 * Returns the elements of a type.
20 */ 24 */
21 def List<DefinedElement> getElements(Type type) 25 def List<DefinedElement> getElements(Type type)
26
22 /** 27 /**
23 * Returns the interpretation of a function. The parameters and the return values are encoded to primitive java objects defined by the following table: 28 * Returns the interpretation of a function. The parameters and the return values are encoded to primitive java objects defined by the following table:
24 * <p><table> 29 * <p><table>
@@ -34,6 +39,7 @@ interface LogicModelInterpretation{
34 * @return The result of the function call encoded as defined in the table. 39 * @return The result of the function call encoded as defined in the table.
35 */ 40 */
36 def Object getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution) 41 def Object getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution)
42
37 /** 43 /**
38 * Returns the interpretation of a relation. The parameters are encoded to primitive java objects defined by the following table: 44 * Returns the interpretation of a relation. The parameters are encoded to primitive java objects defined by the following table:
39 * <p><table> 45 * <p><table>
@@ -49,6 +55,7 @@ interface LogicModelInterpretation{
49 * @return If the parameter tuple is in the relation. 55 * @return If the parameter tuple is in the relation.
50 */ 56 */
51 def boolean getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) 57 def boolean getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution)
58
52 /** 59 /**
53 * Returns the interpretation of a constant. The value is encoded to primitive java objects defined by the following table: 60 * Returns the interpretation of a constant. The value is encoded to primitive java objects defined by the following table:
54 * <p><table> 61 * <p><table>
@@ -63,60 +70,89 @@ interface LogicModelInterpretation{
63 * @return The value of the constant encoded as specified in the table. 70 * @return The value of the constant encoded as specified in the table.
64 */ 71 */
65 def Object getInterpretation(ConstantDeclaration constant) 72 def Object getInterpretation(ConstantDeclaration constant)
66 73
67 /** 74 /**
68 * Returns all integers relevant to the logic structure. Not all integer is necessarily used. 75 * Returns all integers relevant to the logic structure. Not all integer is necessarily used.
69 */ 76 */
70 def SortedSet<Integer> getAllIntegersInStructure() 77 def SortedSet<Integer> getAllIntegersInStructure()
78
79 def Map<TermDescription, Integer> getAllIntegersWithInterpretation() {
80 allIntegersInStructure.toMap [ integer |
81 (LogiclanguageFactory.eINSTANCE.createIntLiteral => [value = integer]) as TermDescription
82 ]
83 }
84
71 /** 85 /**
72 * Returns all real numbers relevant to the logic structure. Not all integer is necessarily used. 86 * Returns all real numbers relevant to the logic structure. Not all integer is necessarily used.
73 */ 87 */
74 def SortedSet<BigDecimal> getAllRealsInStructure() 88 def SortedSet<BigDecimal> getAllRealsInStructure()
75 /** 89
90 def Map<TermDescription, BigDecimal> getAllRealsWithInterpretation() {
91 allRealsInStructure.toMap [ real |
92 (LogiclanguageFactory.eINSTANCE.createRealLiteral => [value = real]) as TermDescription
93 ]
94 }
95
96 /**
76 * Returns all string values relevant to the logic structure. Not all integer is necessarily used. 97 * Returns all string values relevant to the logic structure. Not all integer is necessarily used.
77 */ 98 */
78 def SortedSet<String> getAllStringsInStructure() 99 def SortedSet<String> getAllStringsInStructure()
100
101 def Map<TermDescription, String> getAllStringsWithInterpretation() {
102 allStringsInStructure.toMap [ string |
103 (LogiclanguageFactory.eINSTANCE.createStringLiteral => [value = string]) as TermDescription
104 ]
105 }
106
107 def SortedSet<Boolean> getAllBooleansInStructure() {
108 new TreeSet(#{true, false})
109 }
110
111 def Map<TermDescription, Boolean> getAllBooleansWithInterpretation() {
112 allBooleansInStructure.toMap [ bool |
113 (LogiclanguageFactory.eINSTANCE.createBoolLiteral => [value = bool]) as TermDescription
114 ]
115 }
79} 116}
80 117
81class Uninterpreted implements LogicModelInterpretation { 118class Uninterpreted implements LogicModelInterpretation {
82 /*private val static unknownBecauseUninterpreted = LogiclanguageFactory.eINSTANCE.createUnknownBecauseUninterpreted 119 /*private val static unknownBecauseUninterpreted = LogiclanguageFactory.eINSTANCE.createUnknownBecauseUninterpreted
83 public def static getUnknownBecauseUninterpreted() {return Uninterpreted.unknownBecauseUninterpreted}*/ 120 public def static getUnknownBecauseUninterpreted() {return Uninterpreted.unknownBecauseUninterpreted}*/
84
85 override getElements(Type type) { 121 override getElements(Type type) {
86 throw new UnsupportedOperationException("The interpteration is unknown.") 122 throw new UnsupportedOperationException("The interpteration is unknown.")
87 } 123 }
88 124
89 def getKnownElements(Type type) { 125 def getKnownElements(Type type) {
90 val allSubtypes = type.transitiveClosureStar[it.subtypes] 126 val allSubtypes = type.transitiveClosureStar[it.subtypes]
91 return allSubtypes.filter(TypeDefinition).map[elements].flatten.toList 127 return allSubtypes.filter(TypeDefinition).map[elements].flatten.toList
92 } 128 }
93 129
94 def allElementsAreInterpreted(Type type) { 130 def allElementsAreInterpreted(Type type) {
95 val allSubtypes = type.transitiveClosureStar[it.subtypes] 131 val allSubtypes = type.transitiveClosureStar[it.subtypes]
96 return allSubtypes.exists[it instanceof TypeDeclaration] 132 return allSubtypes.exists[it instanceof TypeDeclaration]
97 } 133 }
98 134
99 override getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution) { 135 override getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution) {
100 throw new UnsupportedOperationException("The interpteration is unknown.") 136 throw new UnsupportedOperationException("The interpteration is unknown.")
101 } 137 }
102 138
103 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) { 139 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) {
104 throw new UnsupportedOperationException("The interpteration is unknown.") 140 throw new UnsupportedOperationException("The interpteration is unknown.")
105 } 141 }
106 142
107 override getInterpretation(ConstantDeclaration constant) { 143 override getInterpretation(ConstantDeclaration constant) {
108 throw new UnsupportedOperationException("The interpteration is unknown.") 144 throw new UnsupportedOperationException("The interpteration is unknown.")
109 } 145 }
110 146
111 override getAllIntegersInStructure() { 147 override getAllIntegersInStructure() {
112 throw new UnsupportedOperationException("The interpteration is unknown.") 148 throw new UnsupportedOperationException("The interpteration is unknown.")
113 } 149 }
114 150
115 override getAllRealsInStructure() { 151 override getAllRealsInStructure() {
116 throw new UnsupportedOperationException("The interpteration is unknown.") 152 throw new UnsupportedOperationException("The interpteration is unknown.")
117 } 153 }
118 154
119 override getAllStringsInStructure() { 155 override getAllStringsInStructure() {
120 throw new UnsupportedOperationException("The interpteration is unknown.") 156 throw new UnsupportedOperationException("The interpteration is unknown.")
121 } 157 }
122} \ No newline at end of file 158}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2CSV.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2CSV.xtend
index d673cb17..a78ceb19 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2CSV.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2CSV.xtend
@@ -17,7 +17,7 @@ class StatisticsData {
17} 17}
18 18
19class StatisticSections2CSV { 19class StatisticSections2CSV {
20 static val separator = ';' 20 static val separator = ','
21 static val empty = "" 21 static val empty = ""
22 22
23 private def getValue(Map<String, String> map,String key) { 23 private def getValue(Map<String, String> map,String key) {
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2Print.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2Print.xtend
index 39370d75..c5e81f94 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2Print.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/statistics/StatisticSections2Print.xtend
@@ -12,7 +12,7 @@ class StatisticSections2Print {
12 { 12 {
13 var result = ""; 13 var result = "";
14 for(statistic : statistics) { 14 for(statistic : statistics) {
15 result+= '''«statistic.readValue»;''' 15 result+= '''«statistic.readValue»,'''
16 } 16 }
17 return result 17 return result
18 } 18 }
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend
index 92deeae6..8d6b565a 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend
@@ -3,23 +3,24 @@ package hu.bme.mit.inf.dslreasoner.logic2ecore
3import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic 3import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
4import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace 4import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation 5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicStructureBuilder 7import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicStructureBuilder
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
9import java.math.BigDecimal
7import java.util.Collection 10import java.util.Collection
8import java.util.HashMap 11import java.util.HashMap
9import java.util.HashSet 12import java.util.HashSet
10import java.util.List 13import java.util.List
14import java.util.Map
11import java.util.Set 15import java.util.Set
12import org.eclipse.emf.ecore.EClass 16import org.eclipse.emf.ecore.EClass
17import org.eclipse.emf.ecore.EDataType
18import org.eclipse.emf.ecore.EEnum
13import org.eclipse.emf.ecore.EObject 19import org.eclipse.emf.ecore.EObject
14import org.eclipse.emf.ecore.EStructuralFeature 20import org.eclipse.emf.ecore.EStructuralFeature
21import org.eclipse.emf.ecore.EcorePackage
15 22
16import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* 23import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
17import org.eclipse.emf.ecore.EEnum
18import org.eclipse.emf.ecore.EDataType
19import org.eclipse.emf.ecore.EcorePackage
20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription
21import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
22import java.util.Map
23 24
24class Logic2Ecore { 25class Logic2Ecore {
25 val extension LogicStructureBuilder structureBuilder = new LogicStructureBuilder 26 val extension LogicStructureBuilder structureBuilder = new LogicStructureBuilder
@@ -84,15 +85,15 @@ class Logic2Ecore {
84 if(attributeType.EContainingClass.isSuperTypeOf(sourceObject.eClass)) { 85 if(attributeType.EContainingClass.isSuperTypeOf(sourceObject.eClass)) {
85 val allElementsOfTargetDatatype = getAllElementsOfDatatype(attributeType.EAttributeType,forwardTrace,interpretation) 86 val allElementsOfTargetDatatype = getAllElementsOfDatatype(attributeType.EAttributeType,forwardTrace,interpretation)
86 for(l : allElementsOfTargetDatatype.entrySet) { 87 for(l : allElementsOfTargetDatatype.entrySet) {
87 val expression = ecore2Logic.IsAttributeValue(forwardTrace,sourceElement,l.value,attributeType) 88 val expression = ecore2Logic.IsAttributeValue(forwardTrace,sourceElement,l.key,attributeType)
88 val linkExist = interpretation.evalAsBool(expression) 89 val linkExist = interpretation.evalAsBool(expression)
89 if(linkExist) { 90 if(linkExist) {
90 if(attributeType.isMany) { 91 if(attributeType.isMany) {
91 val list = sourceObject.eGet(attributeType) as List<? super Object> 92 val list = sourceObject.eGet(attributeType) as List<? super Object>
92 list += l.key 93 list += l.value
93 } else { 94 } else {
94 try { 95 try {
95 sourceObject.eSet(attributeType,l.key) 96 sourceObject.eSet(attributeType,translateType(attributeType.EAttributeType,l.value))
96 } catch(Exception e) { 97 } catch(Exception e) {
97 e.printStackTrace 98 e.printStackTrace
98 } 99 }
@@ -107,34 +108,30 @@ class Logic2Ecore {
107 return element2Object.values.root 108 return element2Object.values.root
108 } 109 }
109 110
111 def translateType(EDataType type, Object value) {
112 if(type == EcorePackage.eINSTANCE.EFloat) {
113 val bd = value as BigDecimal
114 return bd.floatValue
115 } else if( type == EcorePackage.eINSTANCE.EDouble ) {
116 val bd = value as BigDecimal
117 return bd.doubleValue
118 } else return value
119 }
110 120
111// if(attributeType.EAttributeType.isSuperTypeOf(targetObject.eClass)) { 121 protected dispatch def Map<? extends TermDescription, ? extends Object> getAllElementsOfDatatype(EEnum type, Ecore2Logic_Trace forwardTrace, LogicModelInterpretation interpretation) {
112// val expression = ecore2Logic.IsAttributeValue(forwardTrace,sourceElement,targetElement,attributeType) 122 ecore2Logic.allLiteralsInScope(forwardTrace).toMap[ecore2Logic.Literal(forwardTrace,it)]
113// val linkExist = interpretation.evalAsBool(expression)
114// if(linkExist) {
115// if(attributeType.isMany) {
116// val list = sourceObject.eGet(attributeType) as List<? super EObject>
117// list+= targetObject
118// } else {
119// sourceObject.eSet(referenceType,targetObject)
120// }
121// }
122// }
123
124 protected dispatch def Map<? extends Object, ? extends TermDescription> getAllElementsOfDatatype(EEnum type, Ecore2Logic_Trace forwardTrace, LogicModelInterpretation interpretation) {
125 ecore2Logic.allLiteralsInScope(forwardTrace).toInvertedMap[ecore2Logic.Literal(forwardTrace,it)]
126 } 123 }
127 124
128 protected dispatch def Map<? extends Object, ? extends TermDescription> getAllElementsOfDatatype(EDataType primitive, Ecore2Logic_Trace forwardTrace, LogicModelInterpretation interpretation) { 125 protected dispatch def Map<? extends TermDescription, ? extends Object> getAllElementsOfDatatype(EDataType primitive, Ecore2Logic_Trace forwardTrace, LogicModelInterpretation interpretation) {
129 val extension LogicProblemBuilder b = new LogicProblemBuilder 126 val extension LogicProblemBuilder b = new LogicProblemBuilder
130 if(primitive === EcorePackage.eINSTANCE.EInt || primitive === EcorePackage.eINSTANCE.EShort || primitive === EcorePackage.eINSTANCE.ELong) { 127 if(primitive === EcorePackage.eINSTANCE.EInt || primitive === EcorePackage.eINSTANCE.EShort || primitive === EcorePackage.eINSTANCE.ELong) {
131 interpretation.allIntegersInStructure.toInvertedMap[it.asTerm] 128 interpretation.allIntegersWithInterpretation
132 } else if(primitive === EcorePackage.eINSTANCE.EDouble || primitive === EcorePackage.eINSTANCE.EFloat) { 129 } else if(primitive === EcorePackage.eINSTANCE.EDouble || primitive === EcorePackage.eINSTANCE.EFloat) {
133 interpretation.allRealsInStructure.toInvertedMap[it.asTerm] 130 interpretation.allRealsWithInterpretation
134 } else if(primitive === EcorePackage.eINSTANCE.EString) { 131 } else if(primitive === EcorePackage.eINSTANCE.EString) {
135 interpretation.allStringsInStructure.toInvertedMap[it.asTerm] 132 interpretation.allStringsWithInterpretation
136 } else if(primitive === EcorePackage.eINSTANCE.EBoolean) { 133 } else if(primitive === EcorePackage.eINSTANCE.EBoolean) {
137 return #[false,true].toInvertedMap[it.asTerm] 134 interpretation.allBooleansWithInterpretation
138 } 135 }
139 } 136 }
140 137
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath
index 75ccaa90..849e2a7b 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.classpath
@@ -1,9 +1,14 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<classpath> 2<classpath>
3 <classpathentry kind="src" path="ecore-gen"/> 3 <classpathentry kind="src" path="ecore-gen"/>
4 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> 4 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
5 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 5 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
6 <classpathentry kind="src" path="src"/> 6 <classpathentry kind="src" path="src"/>
7 <classpathentry kind="src" path="xtend-gen"/> 7 <classpathentry kind="src" path="xtend-gen"/>
8 <classpathentry kind="output" path="bin"/> 8 <classpathentry kind="lib" path="lib/com.microsoft.z3.jar">
9</classpath> 9 <attributes>
10 <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="hu.bme.mit.inf.dslreasoner.viatra2logic/lib"/>
11 </attributes>
12 </classpathentry>
13 <classpathentry kind="output" path="bin"/>
14</classpath>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore
index 8ae4e44d..40206e28 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/.gitignore
@@ -2,3 +2,4 @@
2/src-gen/ 2/src-gen/
3/vql-gen/ 3/vql-gen/
4/xtend-gen/ 4/xtend-gen/
5/lib/*
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF
index 5f185f88..c7242106 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/META-INF/MANIFEST.MF
@@ -19,7 +19,8 @@ Require-Bundle: com.google.guava,
19 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0", 19 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0",
20 org.eclipse.viatra.query.patternlanguage.emf;bundle-version="2.0.0", 20 org.eclipse.viatra.query.patternlanguage.emf;bundle-version="2.0.0",
21 org.eclipse.xtext, 21 org.eclipse.xtext,
22 org.eclipse.xtext.xbase;bundle-version="2.17.0" 22 org.eclipse.xtext.xbase;bundle-version="2.18.0",
23 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0"
23Bundle-ActivationPolicy: lazy 24Bundle-ActivationPolicy: lazy
24Export-Package: hu.bme.mit.inf.dslreasoner.viatra2logic, 25Export-Package: hu.bme.mit.inf.dslreasoner.viatra2logic,
25 hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations, 26 hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations,
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java
index 717b0436..a4654103 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/TransfomedViatraQuery.java
@@ -3,6 +3,7 @@
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations; 3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4 4
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation; 5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
6import org.eclipse.emf.common.util.EList;
6 7
7/** 8/**
8 * <!-- begin-user-doc --> 9 * <!-- begin-user-doc -->
@@ -15,6 +16,8 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.RelationAnnotation;
15 * <ul> 16 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}</li> 17 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternPQuery <em>Pattern PQuery</em>}</li> 18 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getPatternPQuery <em>Pattern PQuery</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getVariableTrace <em>Variable Trace</em>}</li>
20 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getOptimizedDisjunction <em>Optimized Disjunction</em>}</li>
18 * </ul> 21 * </ul>
19 * 22 *
20 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransfomedViatraQuery() 23 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransfomedViatraQuery()
@@ -74,4 +77,38 @@ public interface TransfomedViatraQuery extends RelationAnnotation {
74 * @generated 77 * @generated
75 */ 78 */
76 void setPatternPQuery(Object value); 79 void setPatternPQuery(Object value);
80
81 /**
82 * Returns the value of the '<em><b>Variable Trace</b></em>' containment reference list.
83 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping}.
84 * <!-- begin-user-doc -->
85 * <!-- end-user-doc -->
86 * @return the value of the '<em>Variable Trace</em>' containment reference list.
87 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransfomedViatraQuery_VariableTrace()
88 * @model containment="true"
89 * @generated
90 */
91 EList<VariableMapping> getVariableTrace();
92
93 /**
94 * Returns the value of the '<em><b>Optimized Disjunction</b></em>' attribute.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @return the value of the '<em>Optimized Disjunction</em>' attribute.
98 * @see #setOptimizedDisjunction(Object)
99 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getTransfomedViatraQuery_OptimizedDisjunction()
100 * @model required="true" transient="true"
101 * @generated
102 */
103 Object getOptimizedDisjunction();
104
105 /**
106 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getOptimizedDisjunction <em>Optimized Disjunction</em>}' attribute.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @param value the new value of the '<em>Optimized Disjunction</em>' attribute.
110 * @see #getOptimizedDisjunction()
111 * @generated
112 */
113 void setOptimizedDisjunction(Object value);
77} // TransfomedViatraQuery 114} // TransfomedViatraQuery
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/VariableMapping.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/VariableMapping.java
new file mode 100644
index 00000000..f2b88394
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/VariableMapping.java
@@ -0,0 +1,71 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Variable Mapping</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getSourcePVariable <em>Source PVariable</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getTargetLogicVariable <em>Target Logic Variable</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getVariableMapping()
23 * @model
24 * @generated
25 */
26public interface VariableMapping extends EObject {
27 /**
28 * Returns the value of the '<em><b>Source PVariable</b></em>' attribute.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Source PVariable</em>' attribute.
32 * @see #setSourcePVariable(Object)
33 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getVariableMapping_SourcePVariable()
34 * @model required="true" transient="true"
35 * @generated
36 */
37 Object getSourcePVariable();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getSourcePVariable <em>Source PVariable</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Source PVariable</em>' attribute.
44 * @see #getSourcePVariable()
45 * @generated
46 */
47 void setSourcePVariable(Object value);
48
49 /**
50 * Returns the value of the '<em><b>Target Logic Variable</b></em>' reference.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Target Logic Variable</em>' reference.
54 * @see #setTargetLogicVariable(Variable)
55 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage#getVariableMapping_TargetLogicVariable()
56 * @model required="true"
57 * @generated
58 */
59 Variable getTargetLogicVariable();
60
61 /**
62 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getTargetLogicVariable <em>Target Logic Variable</em>}' reference.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Target Logic Variable</em>' reference.
66 * @see #getTargetLogicVariable()
67 * @generated
68 */
69 void setTargetLogicVariable(Variable value);
70
71} // VariableMapping
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java
index 1343bee3..f9ad485a 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsFactory.java
@@ -49,6 +49,15 @@ public interface Viatra2LogicAnnotationsFactory extends EFactory {
49 DefinedByDerivedFeature createDefinedByDerivedFeature(); 49 DefinedByDerivedFeature createDefinedByDerivedFeature();
50 50
51 /** 51 /**
52 * Returns a new object of class '<em>Variable Mapping</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Variable Mapping</em>'.
56 * @generated
57 */
58 VariableMapping createVariableMapping();
59
60 /**
52 * Returns the package supported by this factory. 61 * Returns the package supported by this factory.
53 * <!-- begin-user-doc --> 62 * <!-- begin-user-doc -->
54 * <!-- end-user-doc --> 63 * <!-- end-user-doc -->
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java
index 97df7608..a5dcda78 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/Viatra2LogicAnnotationsPackage.java
@@ -96,13 +96,31 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage {
96 int TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 1; 96 int TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 1;
97 97
98 /** 98 /**
99 * The feature id for the '<em><b>Variable Trace</b></em>' containment reference list.
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 * @ordered
104 */
105 int TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 2;
106
107 /**
108 * The feature id for the '<em><b>Optimized Disjunction</b></em>' attribute.
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 * @ordered
113 */
114 int TRANSFOMED_VIATRA_QUERY__OPTIMIZED_DISJUNCTION = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 3;
115
116 /**
99 * The number of structural features of the '<em>Transfomed Viatra Query</em>' class. 117 * The number of structural features of the '<em>Transfomed Viatra Query</em>' class.
100 * <!-- begin-user-doc --> 118 * <!-- begin-user-doc -->
101 * <!-- end-user-doc --> 119 * <!-- end-user-doc -->
102 * @generated 120 * @generated
103 * @ordered 121 * @ordered
104 */ 122 */
105 int TRANSFOMED_VIATRA_QUERY_FEATURE_COUNT = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 2; 123 int TRANSFOMED_VIATRA_QUERY_FEATURE_COUNT = LogicproblemPackage.RELATION_ANNOTATION_FEATURE_COUNT + 4;
106 124
107 /** 125 /**
108 * The number of operations of the '<em>Transfomed Viatra Query</em>' class. 126 * The number of operations of the '<em>Transfomed Viatra Query</em>' class.
@@ -208,6 +226,53 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage {
208 226
209 227
210 /** 228 /**
229 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.VariableMappingImpl <em>Variable Mapping</em>}' class.
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.VariableMappingImpl
233 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getVariableMapping()
234 * @generated
235 */
236 int VARIABLE_MAPPING = 3;
237
238 /**
239 * The feature id for the '<em><b>Source PVariable</b></em>' attribute.
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 * @ordered
244 */
245 int VARIABLE_MAPPING__SOURCE_PVARIABLE = 0;
246
247 /**
248 * The feature id for the '<em><b>Target Logic Variable</b></em>' reference.
249 * <!-- begin-user-doc -->
250 * <!-- end-user-doc -->
251 * @generated
252 * @ordered
253 */
254 int VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE = 1;
255
256 /**
257 * The number of structural features of the '<em>Variable Mapping</em>' class.
258 * <!-- begin-user-doc -->
259 * <!-- end-user-doc -->
260 * @generated
261 * @ordered
262 */
263 int VARIABLE_MAPPING_FEATURE_COUNT = 2;
264
265 /**
266 * The number of operations of the '<em>Variable Mapping</em>' class.
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 * @ordered
271 */
272 int VARIABLE_MAPPING_OPERATION_COUNT = 0;
273
274
275 /**
211 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery <em>Transfomed Viatra Query</em>}'. 276 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery <em>Transfomed Viatra Query</em>}'.
212 * <!-- begin-user-doc --> 277 * <!-- begin-user-doc -->
213 * <!-- end-user-doc --> 278 * <!-- end-user-doc -->
@@ -240,6 +305,28 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage {
240 EAttribute getTransfomedViatraQuery_PatternPQuery(); 305 EAttribute getTransfomedViatraQuery_PatternPQuery();
241 306
242 /** 307 /**
308 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getVariableTrace <em>Variable Trace</em>}'.
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @return the meta object for the containment reference list '<em>Variable Trace</em>'.
312 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getVariableTrace()
313 * @see #getTransfomedViatraQuery()
314 * @generated
315 */
316 EReference getTransfomedViatraQuery_VariableTrace();
317
318 /**
319 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getOptimizedDisjunction <em>Optimized Disjunction</em>}'.
320 * <!-- begin-user-doc -->
321 * <!-- end-user-doc -->
322 * @return the meta object for the attribute '<em>Optimized Disjunction</em>'.
323 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery#getOptimizedDisjunction()
324 * @see #getTransfomedViatraQuery()
325 * @generated
326 */
327 EAttribute getTransfomedViatraQuery_OptimizedDisjunction();
328
329 /**
243 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint <em>Transformed Viatra Wellformedness Constraint</em>}'. 330 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint <em>Transformed Viatra Wellformedness Constraint</em>}'.
244 * <!-- begin-user-doc --> 331 * <!-- begin-user-doc -->
245 * <!-- end-user-doc --> 332 * <!-- end-user-doc -->
@@ -282,6 +369,38 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage {
282 EReference getDefinedByDerivedFeature_Query(); 369 EReference getDefinedByDerivedFeature_Query();
283 370
284 /** 371 /**
372 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping <em>Variable Mapping</em>}'.
373 * <!-- begin-user-doc -->
374 * <!-- end-user-doc -->
375 * @return the meta object for class '<em>Variable Mapping</em>'.
376 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping
377 * @generated
378 */
379 EClass getVariableMapping();
380
381 /**
382 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getSourcePVariable <em>Source PVariable</em>}'.
383 * <!-- begin-user-doc -->
384 * <!-- end-user-doc -->
385 * @return the meta object for the attribute '<em>Source PVariable</em>'.
386 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getSourcePVariable()
387 * @see #getVariableMapping()
388 * @generated
389 */
390 EAttribute getVariableMapping_SourcePVariable();
391
392 /**
393 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getTargetLogicVariable <em>Target Logic Variable</em>}'.
394 * <!-- begin-user-doc -->
395 * <!-- end-user-doc -->
396 * @return the meta object for the reference '<em>Target Logic Variable</em>'.
397 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping#getTargetLogicVariable()
398 * @see #getVariableMapping()
399 * @generated
400 */
401 EReference getVariableMapping_TargetLogicVariable();
402
403 /**
285 * Returns the factory that creates the instances of the model. 404 * Returns the factory that creates the instances of the model.
286 * <!-- begin-user-doc --> 405 * <!-- begin-user-doc -->
287 * <!-- end-user-doc --> 406 * <!-- end-user-doc -->
@@ -331,6 +450,22 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage {
331 EAttribute TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY = eINSTANCE.getTransfomedViatraQuery_PatternPQuery(); 450 EAttribute TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY = eINSTANCE.getTransfomedViatraQuery_PatternPQuery();
332 451
333 /** 452 /**
453 * The meta object literal for the '<em><b>Variable Trace</b></em>' containment reference list feature.
454 * <!-- begin-user-doc -->
455 * <!-- end-user-doc -->
456 * @generated
457 */
458 EReference TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE = eINSTANCE.getTransfomedViatraQuery_VariableTrace();
459
460 /**
461 * The meta object literal for the '<em><b>Optimized Disjunction</b></em>' attribute feature.
462 * <!-- begin-user-doc -->
463 * <!-- end-user-doc -->
464 * @generated
465 */
466 EAttribute TRANSFOMED_VIATRA_QUERY__OPTIMIZED_DISJUNCTION = eINSTANCE.getTransfomedViatraQuery_OptimizedDisjunction();
467
468 /**
334 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl <em>Transformed Viatra Wellformedness Constraint</em>}' class. 469 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransformedViatraWellformednessConstraintImpl <em>Transformed Viatra Wellformedness Constraint</em>}' class.
335 * <!-- begin-user-doc --> 470 * <!-- begin-user-doc -->
336 * <!-- end-user-doc --> 471 * <!-- end-user-doc -->
@@ -366,6 +501,32 @@ public interface Viatra2LogicAnnotationsPackage extends EPackage {
366 */ 501 */
367 EReference DEFINED_BY_DERIVED_FEATURE__QUERY = eINSTANCE.getDefinedByDerivedFeature_Query(); 502 EReference DEFINED_BY_DERIVED_FEATURE__QUERY = eINSTANCE.getDefinedByDerivedFeature_Query();
368 503
504 /**
505 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.VariableMappingImpl <em>Variable Mapping</em>}' class.
506 * <!-- begin-user-doc -->
507 * <!-- end-user-doc -->
508 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.VariableMappingImpl
509 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.Viatra2LogicAnnotationsPackageImpl#getVariableMapping()
510 * @generated
511 */
512 EClass VARIABLE_MAPPING = eINSTANCE.getVariableMapping();
513
514 /**
515 * The meta object literal for the '<em><b>Source PVariable</b></em>' attribute feature.
516 * <!-- begin-user-doc -->
517 * <!-- end-user-doc -->
518 * @generated
519 */
520 EAttribute VARIABLE_MAPPING__SOURCE_PVARIABLE = eINSTANCE.getVariableMapping_SourcePVariable();
521
522 /**
523 * The meta object literal for the '<em><b>Target Logic Variable</b></em>' reference feature.
524 * <!-- begin-user-doc -->
525 * <!-- end-user-doc -->
526 * @generated
527 */
528 EReference VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE = eINSTANCE.getVariableMapping_TargetLogicVariable();
529
369 } 530 }
370 531
371} //Viatra2LogicAnnotationsPackage 532} //Viatra2LogicAnnotationsPackage
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java
index c2098ed0..a489c673 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/DefinedByDerivedFeatureImpl.java
@@ -63,6 +63,7 @@ public class DefinedByDerivedFeatureImpl extends RelationAnnotationImpl implemen
63 * <!-- end-user-doc --> 63 * <!-- end-user-doc -->
64 * @generated 64 * @generated
65 */ 65 */
66 @Override
66 public TransfomedViatraQuery getQuery() { 67 public TransfomedViatraQuery getQuery() {
67 if (query != null && query.eIsProxy()) { 68 if (query != null && query.eIsProxy()) {
68 InternalEObject oldQuery = (InternalEObject)query; 69 InternalEObject oldQuery = (InternalEObject)query;
@@ -89,6 +90,7 @@ public class DefinedByDerivedFeatureImpl extends RelationAnnotationImpl implemen
89 * <!-- end-user-doc --> 90 * <!-- end-user-doc -->
90 * @generated 91 * @generated
91 */ 92 */
93 @Override
92 public void setQuery(TransfomedViatraQuery newQuery) { 94 public void setQuery(TransfomedViatraQuery newQuery) {
93 TransfomedViatraQuery oldQuery = query; 95 TransfomedViatraQuery oldQuery = query;
94 query = newQuery; 96 query = newQuery;
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java
index d7f9ff68..d0233450 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransfomedViatraQueryImpl.java
@@ -5,11 +5,18 @@ package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl; 5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.RelationAnnotationImpl;
6 6
7import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery; 7import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery;
8import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping;
8import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage; 9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
9 10
11import java.util.Collection;
10import org.eclipse.emf.common.notify.Notification; 12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14import org.eclipse.emf.common.util.EList;
11import org.eclipse.emf.ecore.EClass; 15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 17import org.eclipse.emf.ecore.impl.ENotificationImpl;
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
13 20
14/** 21/**
15 * <!-- begin-user-doc --> 22 * <!-- begin-user-doc -->
@@ -21,6 +28,8 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
21 * <ul> 28 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}</li> 29 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl#getPatternFullyQualifiedName <em>Pattern Fully Qualified Name</em>}</li>
23 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl#getPatternPQuery <em>Pattern PQuery</em>}</li> 30 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl#getPatternPQuery <em>Pattern PQuery</em>}</li>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl#getVariableTrace <em>Variable Trace</em>}</li>
32 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.TransfomedViatraQueryImpl#getOptimizedDisjunction <em>Optimized Disjunction</em>}</li>
24 * </ul> 33 * </ul>
25 * 34 *
26 * @generated 35 * @generated
@@ -64,6 +73,33 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
64 */ 73 */
65 protected Object patternPQuery = PATTERN_PQUERY_EDEFAULT; 74 protected Object patternPQuery = PATTERN_PQUERY_EDEFAULT;
66 /** 75 /**
76 * The cached value of the '{@link #getVariableTrace() <em>Variable Trace</em>}' containment reference list.
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @see #getVariableTrace()
80 * @generated
81 * @ordered
82 */
83 protected EList<VariableMapping> variableTrace;
84 /**
85 * The default value of the '{@link #getOptimizedDisjunction() <em>Optimized Disjunction</em>}' attribute.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @see #getOptimizedDisjunction()
89 * @generated
90 * @ordered
91 */
92 protected static final Object OPTIMIZED_DISJUNCTION_EDEFAULT = null;
93 /**
94 * The cached value of the '{@link #getOptimizedDisjunction() <em>Optimized Disjunction</em>}' attribute.
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @see #getOptimizedDisjunction()
98 * @generated
99 * @ordered
100 */
101 protected Object optimizedDisjunction = OPTIMIZED_DISJUNCTION_EDEFAULT;
102 /**
67 * <!-- begin-user-doc --> 103 * <!-- begin-user-doc -->
68 * <!-- end-user-doc --> 104 * <!-- end-user-doc -->
69 * @generated 105 * @generated
@@ -87,6 +123,7 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
87 * <!-- end-user-doc --> 123 * <!-- end-user-doc -->
88 * @generated 124 * @generated
89 */ 125 */
126 @Override
90 public String getPatternFullyQualifiedName() { 127 public String getPatternFullyQualifiedName() {
91 return patternFullyQualifiedName; 128 return patternFullyQualifiedName;
92 } 129 }
@@ -96,6 +133,7 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
96 * <!-- end-user-doc --> 133 * <!-- end-user-doc -->
97 * @generated 134 * @generated
98 */ 135 */
136 @Override
99 public void setPatternFullyQualifiedName(String newPatternFullyQualifiedName) { 137 public void setPatternFullyQualifiedName(String newPatternFullyQualifiedName) {
100 String oldPatternFullyQualifiedName = patternFullyQualifiedName; 138 String oldPatternFullyQualifiedName = patternFullyQualifiedName;
101 patternFullyQualifiedName = newPatternFullyQualifiedName; 139 patternFullyQualifiedName = newPatternFullyQualifiedName;
@@ -108,6 +146,7 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
108 * <!-- end-user-doc --> 146 * <!-- end-user-doc -->
109 * @generated 147 * @generated
110 */ 148 */
149 @Override
111 public Object getPatternPQuery() { 150 public Object getPatternPQuery() {
112 return patternPQuery; 151 return patternPQuery;
113 } 152 }
@@ -117,6 +156,7 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
117 * <!-- end-user-doc --> 156 * <!-- end-user-doc -->
118 * @generated 157 * @generated
119 */ 158 */
159 @Override
120 public void setPatternPQuery(Object newPatternPQuery) { 160 public void setPatternPQuery(Object newPatternPQuery) {
121 Object oldPatternPQuery = patternPQuery; 161 Object oldPatternPQuery = patternPQuery;
122 patternPQuery = newPatternPQuery; 162 patternPQuery = newPatternPQuery;
@@ -130,12 +170,66 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
130 * @generated 170 * @generated
131 */ 171 */
132 @Override 172 @Override
173 public EList<VariableMapping> getVariableTrace() {
174 if (variableTrace == null) {
175 variableTrace = new EObjectContainmentEList<VariableMapping>(VariableMapping.class, this, Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE);
176 }
177 return variableTrace;
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public Object getOptimizedDisjunction() {
187 return optimizedDisjunction;
188 }
189
190 /**
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 @Override
196 public void setOptimizedDisjunction(Object newOptimizedDisjunction) {
197 Object oldOptimizedDisjunction = optimizedDisjunction;
198 optimizedDisjunction = newOptimizedDisjunction;
199 if (eNotificationRequired())
200 eNotify(new ENotificationImpl(this, Notification.SET, Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__OPTIMIZED_DISJUNCTION, oldOptimizedDisjunction, optimizedDisjunction));
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
210 switch (featureID) {
211 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE:
212 return ((InternalEList<?>)getVariableTrace()).basicRemove(otherEnd, msgs);
213 }
214 return super.eInverseRemove(otherEnd, featureID, msgs);
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
133 public Object eGet(int featureID, boolean resolve, boolean coreType) { 223 public Object eGet(int featureID, boolean resolve, boolean coreType) {
134 switch (featureID) { 224 switch (featureID) {
135 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME: 225 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME:
136 return getPatternFullyQualifiedName(); 226 return getPatternFullyQualifiedName();
137 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY: 227 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY:
138 return getPatternPQuery(); 228 return getPatternPQuery();
229 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE:
230 return getVariableTrace();
231 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__OPTIMIZED_DISJUNCTION:
232 return getOptimizedDisjunction();
139 } 233 }
140 return super.eGet(featureID, resolve, coreType); 234 return super.eGet(featureID, resolve, coreType);
141 } 235 }
@@ -145,6 +239,7 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
145 * <!-- end-user-doc --> 239 * <!-- end-user-doc -->
146 * @generated 240 * @generated
147 */ 241 */
242 @SuppressWarnings("unchecked")
148 @Override 243 @Override
149 public void eSet(int featureID, Object newValue) { 244 public void eSet(int featureID, Object newValue) {
150 switch (featureID) { 245 switch (featureID) {
@@ -154,6 +249,13 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
154 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY: 249 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY:
155 setPatternPQuery(newValue); 250 setPatternPQuery(newValue);
156 return; 251 return;
252 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE:
253 getVariableTrace().clear();
254 getVariableTrace().addAll((Collection<? extends VariableMapping>)newValue);
255 return;
256 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__OPTIMIZED_DISJUNCTION:
257 setOptimizedDisjunction(newValue);
258 return;
157 } 259 }
158 super.eSet(featureID, newValue); 260 super.eSet(featureID, newValue);
159 } 261 }
@@ -172,6 +274,12 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
172 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY: 274 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY:
173 setPatternPQuery(PATTERN_PQUERY_EDEFAULT); 275 setPatternPQuery(PATTERN_PQUERY_EDEFAULT);
174 return; 276 return;
277 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE:
278 getVariableTrace().clear();
279 return;
280 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__OPTIMIZED_DISJUNCTION:
281 setOptimizedDisjunction(OPTIMIZED_DISJUNCTION_EDEFAULT);
282 return;
175 } 283 }
176 super.eUnset(featureID); 284 super.eUnset(featureID);
177 } 285 }
@@ -188,6 +296,10 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
188 return PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT == null ? patternFullyQualifiedName != null : !PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT.equals(patternFullyQualifiedName); 296 return PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT == null ? patternFullyQualifiedName != null : !PATTERN_FULLY_QUALIFIED_NAME_EDEFAULT.equals(patternFullyQualifiedName);
189 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY: 297 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY:
190 return PATTERN_PQUERY_EDEFAULT == null ? patternPQuery != null : !PATTERN_PQUERY_EDEFAULT.equals(patternPQuery); 298 return PATTERN_PQUERY_EDEFAULT == null ? patternPQuery != null : !PATTERN_PQUERY_EDEFAULT.equals(patternPQuery);
299 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE:
300 return variableTrace != null && !variableTrace.isEmpty();
301 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY__OPTIMIZED_DISJUNCTION:
302 return OPTIMIZED_DISJUNCTION_EDEFAULT == null ? optimizedDisjunction != null : !OPTIMIZED_DISJUNCTION_EDEFAULT.equals(optimizedDisjunction);
191 } 303 }
192 return super.eIsSet(featureID); 304 return super.eIsSet(featureID);
193 } 305 }
@@ -201,11 +313,13 @@ public class TransfomedViatraQueryImpl extends RelationAnnotationImpl implements
201 public String toString() { 313 public String toString() {
202 if (eIsProxy()) return super.toString(); 314 if (eIsProxy()) return super.toString();
203 315
204 StringBuffer result = new StringBuffer(super.toString()); 316 StringBuilder result = new StringBuilder(super.toString());
205 result.append(" (patternFullyQualifiedName: "); 317 result.append(" (patternFullyQualifiedName: ");
206 result.append(patternFullyQualifiedName); 318 result.append(patternFullyQualifiedName);
207 result.append(", patternPQuery: "); 319 result.append(", patternPQuery: ");
208 result.append(patternPQuery); 320 result.append(patternPQuery);
321 result.append(", optimizedDisjunction: ");
322 result.append(optimizedDisjunction);
209 result.append(')'); 323 result.append(')');
210 return result.toString(); 324 return result.toString();
211 } 325 }
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java
index be0c3078..3e41c3fd 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/TransformedViatraWellformednessConstraintImpl.java
@@ -63,6 +63,7 @@ public class TransformedViatraWellformednessConstraintImpl extends AssertionAnno
63 * <!-- end-user-doc --> 63 * <!-- end-user-doc -->
64 * @generated 64 * @generated
65 */ 65 */
66 @Override
66 public TransfomedViatraQuery getQuery() { 67 public TransfomedViatraQuery getQuery() {
67 if (query != null && query.eIsProxy()) { 68 if (query != null && query.eIsProxy()) {
68 InternalEObject oldQuery = (InternalEObject)query; 69 InternalEObject oldQuery = (InternalEObject)query;
@@ -89,6 +90,7 @@ public class TransformedViatraWellformednessConstraintImpl extends AssertionAnno
89 * <!-- end-user-doc --> 90 * <!-- end-user-doc -->
90 * @generated 91 * @generated
91 */ 92 */
93 @Override
92 public void setQuery(TransfomedViatraQuery newQuery) { 94 public void setQuery(TransfomedViatraQuery newQuery) {
93 TransfomedViatraQuery oldQuery = query; 95 TransfomedViatraQuery oldQuery = query;
94 query = newQuery; 96 query = newQuery;
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/VariableMappingImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/VariableMappingImpl.java
new file mode 100644
index 00000000..020c71c7
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/VariableMappingImpl.java
@@ -0,0 +1,230 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl;
4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable;
6
7import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping;
8import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
9
10import org.eclipse.emf.common.notify.Notification;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Variable Mapping</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.VariableMappingImpl#getSourcePVariable <em>Source PVariable</em>}</li>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.impl.VariableMappingImpl#getTargetLogicVariable <em>Target Logic Variable</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VariableMappingImpl extends MinimalEObjectImpl.Container implements VariableMapping {
33 /**
34 * The default value of the '{@link #getSourcePVariable() <em>Source PVariable</em>}' attribute.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getSourcePVariable()
38 * @generated
39 * @ordered
40 */
41 protected static final Object SOURCE_PVARIABLE_EDEFAULT = null;
42
43 /**
44 * The cached value of the '{@link #getSourcePVariable() <em>Source PVariable</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getSourcePVariable()
48 * @generated
49 * @ordered
50 */
51 protected Object sourcePVariable = SOURCE_PVARIABLE_EDEFAULT;
52
53 /**
54 * The cached value of the '{@link #getTargetLogicVariable() <em>Target Logic Variable</em>}' reference.
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @see #getTargetLogicVariable()
58 * @generated
59 * @ordered
60 */
61 protected Variable targetLogicVariable;
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected VariableMappingImpl() {
69 super();
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 protected EClass eStaticClass() {
79 return Viatra2LogicAnnotationsPackage.Literals.VARIABLE_MAPPING;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public Object getSourcePVariable() {
89 return sourcePVariable;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public void setSourcePVariable(Object newSourcePVariable) {
99 Object oldSourcePVariable = sourcePVariable;
100 sourcePVariable = newSourcePVariable;
101 if (eNotificationRequired())
102 eNotify(new ENotificationImpl(this, Notification.SET, Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__SOURCE_PVARIABLE, oldSourcePVariable, sourcePVariable));
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public Variable getTargetLogicVariable() {
112 if (targetLogicVariable != null && targetLogicVariable.eIsProxy()) {
113 InternalEObject oldTargetLogicVariable = (InternalEObject)targetLogicVariable;
114 targetLogicVariable = (Variable)eResolveProxy(oldTargetLogicVariable);
115 if (targetLogicVariable != oldTargetLogicVariable) {
116 if (eNotificationRequired())
117 eNotify(new ENotificationImpl(this, Notification.RESOLVE, Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE, oldTargetLogicVariable, targetLogicVariable));
118 }
119 }
120 return targetLogicVariable;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public Variable basicGetTargetLogicVariable() {
129 return targetLogicVariable;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 @Override
138 public void setTargetLogicVariable(Variable newTargetLogicVariable) {
139 Variable oldTargetLogicVariable = targetLogicVariable;
140 targetLogicVariable = newTargetLogicVariable;
141 if (eNotificationRequired())
142 eNotify(new ENotificationImpl(this, Notification.SET, Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE, oldTargetLogicVariable, targetLogicVariable));
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public Object eGet(int featureID, boolean resolve, boolean coreType) {
152 switch (featureID) {
153 case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__SOURCE_PVARIABLE:
154 return getSourcePVariable();
155 case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE:
156 if (resolve) return getTargetLogicVariable();
157 return basicGetTargetLogicVariable();
158 }
159 return super.eGet(featureID, resolve, coreType);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public void eSet(int featureID, Object newValue) {
169 switch (featureID) {
170 case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__SOURCE_PVARIABLE:
171 setSourcePVariable(newValue);
172 return;
173 case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE:
174 setTargetLogicVariable((Variable)newValue);
175 return;
176 }
177 super.eSet(featureID, newValue);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public void eUnset(int featureID) {
187 switch (featureID) {
188 case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__SOURCE_PVARIABLE:
189 setSourcePVariable(SOURCE_PVARIABLE_EDEFAULT);
190 return;
191 case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE:
192 setTargetLogicVariable((Variable)null);
193 return;
194 }
195 super.eUnset(featureID);
196 }
197
198 /**
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 */
203 @Override
204 public boolean eIsSet(int featureID) {
205 switch (featureID) {
206 case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__SOURCE_PVARIABLE:
207 return SOURCE_PVARIABLE_EDEFAULT == null ? sourcePVariable != null : !SOURCE_PVARIABLE_EDEFAULT.equals(sourcePVariable);
208 case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE:
209 return targetLogicVariable != null;
210 }
211 return super.eIsSet(featureID);
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public String toString() {
221 if (eIsProxy()) return super.toString();
222
223 StringBuilder result = new StringBuilder(super.toString());
224 result.append(" (sourcePVariable: ");
225 result.append(sourcePVariable);
226 result.append(')');
227 return result.toString();
228 }
229
230} //VariableMappingImpl
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java
index fc8f23c7..33b726c2 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsFactoryImpl.java
@@ -59,6 +59,7 @@ public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements
59 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY: return createTransfomedViatraQuery(); 59 case Viatra2LogicAnnotationsPackage.TRANSFOMED_VIATRA_QUERY: return createTransfomedViatraQuery();
60 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT: return createTransformedViatraWellformednessConstraint(); 60 case Viatra2LogicAnnotationsPackage.TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT: return createTransformedViatraWellformednessConstraint();
61 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE: return createDefinedByDerivedFeature(); 61 case Viatra2LogicAnnotationsPackage.DEFINED_BY_DERIVED_FEATURE: return createDefinedByDerivedFeature();
62 case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING: return createVariableMapping();
62 default: 63 default:
63 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); 64 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
64 } 65 }
@@ -69,6 +70,7 @@ public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements
69 * <!-- end-user-doc --> 70 * <!-- end-user-doc -->
70 * @generated 71 * @generated
71 */ 72 */
73 @Override
72 public TransfomedViatraQuery createTransfomedViatraQuery() { 74 public TransfomedViatraQuery createTransfomedViatraQuery() {
73 TransfomedViatraQueryImpl transfomedViatraQuery = new TransfomedViatraQueryImpl(); 75 TransfomedViatraQueryImpl transfomedViatraQuery = new TransfomedViatraQueryImpl();
74 return transfomedViatraQuery; 76 return transfomedViatraQuery;
@@ -79,6 +81,7 @@ public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements
79 * <!-- end-user-doc --> 81 * <!-- end-user-doc -->
80 * @generated 82 * @generated
81 */ 83 */
84 @Override
82 public TransformedViatraWellformednessConstraint createTransformedViatraWellformednessConstraint() { 85 public TransformedViatraWellformednessConstraint createTransformedViatraWellformednessConstraint() {
83 TransformedViatraWellformednessConstraintImpl transformedViatraWellformednessConstraint = new TransformedViatraWellformednessConstraintImpl(); 86 TransformedViatraWellformednessConstraintImpl transformedViatraWellformednessConstraint = new TransformedViatraWellformednessConstraintImpl();
84 return transformedViatraWellformednessConstraint; 87 return transformedViatraWellformednessConstraint;
@@ -89,6 +92,7 @@ public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements
89 * <!-- end-user-doc --> 92 * <!-- end-user-doc -->
90 * @generated 93 * @generated
91 */ 94 */
95 @Override
92 public DefinedByDerivedFeature createDefinedByDerivedFeature() { 96 public DefinedByDerivedFeature createDefinedByDerivedFeature() {
93 DefinedByDerivedFeatureImpl definedByDerivedFeature = new DefinedByDerivedFeatureImpl(); 97 DefinedByDerivedFeatureImpl definedByDerivedFeature = new DefinedByDerivedFeatureImpl();
94 return definedByDerivedFeature; 98 return definedByDerivedFeature;
@@ -99,6 +103,18 @@ public class Viatra2LogicAnnotationsFactoryImpl extends EFactoryImpl implements
99 * <!-- end-user-doc --> 103 * <!-- end-user-doc -->
100 * @generated 104 * @generated
101 */ 105 */
106 @Override
107 public VariableMapping createVariableMapping() {
108 VariableMappingImpl variableMapping = new VariableMappingImpl();
109 return variableMapping;
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
102 public Viatra2LogicAnnotationsPackage getViatra2LogicAnnotationsPackage() { 118 public Viatra2LogicAnnotationsPackage getViatra2LogicAnnotationsPackage() {
103 return (Viatra2LogicAnnotationsPackage)getEPackage(); 119 return (Viatra2LogicAnnotationsPackage)getEPackage();
104 } 120 }
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java
index 06965e87..ae96f617 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/impl/Viatra2LogicAnnotationsPackageImpl.java
@@ -9,6 +9,7 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage;
9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature; 9import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.DefinedByDerivedFeature;
10import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery; 10import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransfomedViatraQuery;
11import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint; 11import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.TransformedViatraWellformednessConstraint;
12import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping;
12import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsFactory; 13import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsFactory;
13import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage; 14import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage;
14 15
@@ -48,6 +49,13 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
48 private EClass definedByDerivedFeatureEClass = null; 49 private EClass definedByDerivedFeatureEClass = null;
49 50
50 /** 51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 private EClass variableMappingEClass = null;
57
58 /**
51 * Creates an instance of the model <b>Package</b>, registered with 59 * Creates an instance of the model <b>Package</b>, registered with
52 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package 60 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
53 * package URI value. 61 * package URI value.
@@ -75,7 +83,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
75 83
76 /** 84 /**
77 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. 85 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
78 * 86 *
79 * <p>This method is used to initialize {@link Viatra2LogicAnnotationsPackage#eINSTANCE} when that field is accessed. 87 * <p>This method is used to initialize {@link Viatra2LogicAnnotationsPackage#eINSTANCE} when that field is accessed.
80 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. 88 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
81 * <!-- begin-user-doc --> 89 * <!-- begin-user-doc -->
@@ -89,7 +97,8 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
89 if (isInited) return (Viatra2LogicAnnotationsPackage)EPackage.Registry.INSTANCE.getEPackage(Viatra2LogicAnnotationsPackage.eNS_URI); 97 if (isInited) return (Viatra2LogicAnnotationsPackage)EPackage.Registry.INSTANCE.getEPackage(Viatra2LogicAnnotationsPackage.eNS_URI);
90 98
91 // Obtain or create and register package 99 // Obtain or create and register package
92 Viatra2LogicAnnotationsPackageImpl theViatra2LogicAnnotationsPackage = (Viatra2LogicAnnotationsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof Viatra2LogicAnnotationsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new Viatra2LogicAnnotationsPackageImpl()); 100 Object registeredViatra2LogicAnnotationsPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
101 Viatra2LogicAnnotationsPackageImpl theViatra2LogicAnnotationsPackage = registeredViatra2LogicAnnotationsPackage instanceof Viatra2LogicAnnotationsPackageImpl ? (Viatra2LogicAnnotationsPackageImpl)registeredViatra2LogicAnnotationsPackage : new Viatra2LogicAnnotationsPackageImpl();
93 102
94 isInited = true; 103 isInited = true;
95 104
@@ -106,7 +115,6 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
106 // Mark meta-data to indicate it can't be changed 115 // Mark meta-data to indicate it can't be changed
107 theViatra2LogicAnnotationsPackage.freeze(); 116 theViatra2LogicAnnotationsPackage.freeze();
108 117
109
110 // Update the registry and return the package 118 // Update the registry and return the package
111 EPackage.Registry.INSTANCE.put(Viatra2LogicAnnotationsPackage.eNS_URI, theViatra2LogicAnnotationsPackage); 119 EPackage.Registry.INSTANCE.put(Viatra2LogicAnnotationsPackage.eNS_URI, theViatra2LogicAnnotationsPackage);
112 return theViatra2LogicAnnotationsPackage; 120 return theViatra2LogicAnnotationsPackage;
@@ -117,6 +125,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
117 * <!-- end-user-doc --> 125 * <!-- end-user-doc -->
118 * @generated 126 * @generated
119 */ 127 */
128 @Override
120 public EClass getTransfomedViatraQuery() { 129 public EClass getTransfomedViatraQuery() {
121 return transfomedViatraQueryEClass; 130 return transfomedViatraQueryEClass;
122 } 131 }
@@ -126,6 +135,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
126 * <!-- end-user-doc --> 135 * <!-- end-user-doc -->
127 * @generated 136 * @generated
128 */ 137 */
138 @Override
129 public EAttribute getTransfomedViatraQuery_PatternFullyQualifiedName() { 139 public EAttribute getTransfomedViatraQuery_PatternFullyQualifiedName() {
130 return (EAttribute)transfomedViatraQueryEClass.getEStructuralFeatures().get(0); 140 return (EAttribute)transfomedViatraQueryEClass.getEStructuralFeatures().get(0);
131 } 141 }
@@ -135,6 +145,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
135 * <!-- end-user-doc --> 145 * <!-- end-user-doc -->
136 * @generated 146 * @generated
137 */ 147 */
148 @Override
138 public EAttribute getTransfomedViatraQuery_PatternPQuery() { 149 public EAttribute getTransfomedViatraQuery_PatternPQuery() {
139 return (EAttribute)transfomedViatraQueryEClass.getEStructuralFeatures().get(1); 150 return (EAttribute)transfomedViatraQueryEClass.getEStructuralFeatures().get(1);
140 } 151 }
@@ -144,6 +155,27 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
144 * <!-- end-user-doc --> 155 * <!-- end-user-doc -->
145 * @generated 156 * @generated
146 */ 157 */
158 @Override
159 public EReference getTransfomedViatraQuery_VariableTrace() {
160 return (EReference)transfomedViatraQueryEClass.getEStructuralFeatures().get(2);
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public EAttribute getTransfomedViatraQuery_OptimizedDisjunction() {
170 return (EAttribute)transfomedViatraQueryEClass.getEStructuralFeatures().get(3);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
147 public EClass getTransformedViatraWellformednessConstraint() { 179 public EClass getTransformedViatraWellformednessConstraint() {
148 return transformedViatraWellformednessConstraintEClass; 180 return transformedViatraWellformednessConstraintEClass;
149 } 181 }
@@ -153,6 +185,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
153 * <!-- end-user-doc --> 185 * <!-- end-user-doc -->
154 * @generated 186 * @generated
155 */ 187 */
188 @Override
156 public EReference getTransformedViatraWellformednessConstraint_Query() { 189 public EReference getTransformedViatraWellformednessConstraint_Query() {
157 return (EReference)transformedViatraWellformednessConstraintEClass.getEStructuralFeatures().get(0); 190 return (EReference)transformedViatraWellformednessConstraintEClass.getEStructuralFeatures().get(0);
158 } 191 }
@@ -162,6 +195,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
162 * <!-- end-user-doc --> 195 * <!-- end-user-doc -->
163 * @generated 196 * @generated
164 */ 197 */
198 @Override
165 public EClass getDefinedByDerivedFeature() { 199 public EClass getDefinedByDerivedFeature() {
166 return definedByDerivedFeatureEClass; 200 return definedByDerivedFeatureEClass;
167 } 201 }
@@ -171,6 +205,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
171 * <!-- end-user-doc --> 205 * <!-- end-user-doc -->
172 * @generated 206 * @generated
173 */ 207 */
208 @Override
174 public EReference getDefinedByDerivedFeature_Query() { 209 public EReference getDefinedByDerivedFeature_Query() {
175 return (EReference)definedByDerivedFeatureEClass.getEStructuralFeatures().get(0); 210 return (EReference)definedByDerivedFeatureEClass.getEStructuralFeatures().get(0);
176 } 211 }
@@ -180,6 +215,37 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
180 * <!-- end-user-doc --> 215 * <!-- end-user-doc -->
181 * @generated 216 * @generated
182 */ 217 */
218 @Override
219 public EClass getVariableMapping() {
220 return variableMappingEClass;
221 }
222
223 /**
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @generated
227 */
228 @Override
229 public EAttribute getVariableMapping_SourcePVariable() {
230 return (EAttribute)variableMappingEClass.getEStructuralFeatures().get(0);
231 }
232
233 /**
234 * <!-- begin-user-doc -->
235 * <!-- end-user-doc -->
236 * @generated
237 */
238 @Override
239 public EReference getVariableMapping_TargetLogicVariable() {
240 return (EReference)variableMappingEClass.getEStructuralFeatures().get(1);
241 }
242
243 /**
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @generated
247 */
248 @Override
183 public Viatra2LogicAnnotationsFactory getViatra2LogicAnnotationsFactory() { 249 public Viatra2LogicAnnotationsFactory getViatra2LogicAnnotationsFactory() {
184 return (Viatra2LogicAnnotationsFactory)getEFactoryInstance(); 250 return (Viatra2LogicAnnotationsFactory)getEFactoryInstance();
185 } 251 }
@@ -206,12 +272,18 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
206 transfomedViatraQueryEClass = createEClass(TRANSFOMED_VIATRA_QUERY); 272 transfomedViatraQueryEClass = createEClass(TRANSFOMED_VIATRA_QUERY);
207 createEAttribute(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME); 273 createEAttribute(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__PATTERN_FULLY_QUALIFIED_NAME);
208 createEAttribute(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY); 274 createEAttribute(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__PATTERN_PQUERY);
275 createEReference(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__VARIABLE_TRACE);
276 createEAttribute(transfomedViatraQueryEClass, TRANSFOMED_VIATRA_QUERY__OPTIMIZED_DISJUNCTION);
209 277
210 transformedViatraWellformednessConstraintEClass = createEClass(TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT); 278 transformedViatraWellformednessConstraintEClass = createEClass(TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT);
211 createEReference(transformedViatraWellformednessConstraintEClass, TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY); 279 createEReference(transformedViatraWellformednessConstraintEClass, TRANSFORMED_VIATRA_WELLFORMEDNESS_CONSTRAINT__QUERY);
212 280
213 definedByDerivedFeatureEClass = createEClass(DEFINED_BY_DERIVED_FEATURE); 281 definedByDerivedFeatureEClass = createEClass(DEFINED_BY_DERIVED_FEATURE);
214 createEReference(definedByDerivedFeatureEClass, DEFINED_BY_DERIVED_FEATURE__QUERY); 282 createEReference(definedByDerivedFeatureEClass, DEFINED_BY_DERIVED_FEATURE__QUERY);
283
284 variableMappingEClass = createEClass(VARIABLE_MAPPING);
285 createEAttribute(variableMappingEClass, VARIABLE_MAPPING__SOURCE_PVARIABLE);
286 createEReference(variableMappingEClass, VARIABLE_MAPPING__TARGET_LOGIC_VARIABLE);
215 } 287 }
216 288
217 /** 289 /**
@@ -239,6 +311,7 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
239 311
240 // Obtain other dependent packages 312 // Obtain other dependent packages
241 LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI); 313 LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI);
314 LogiclanguagePackage theLogiclanguagePackage = (LogiclanguagePackage)EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI);
242 315
243 // Create type parameters 316 // Create type parameters
244 317
@@ -253,6 +326,8 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
253 initEClass(transfomedViatraQueryEClass, TransfomedViatraQuery.class, "TransfomedViatraQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 326 initEClass(transfomedViatraQueryEClass, TransfomedViatraQuery.class, "TransfomedViatraQuery", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
254 initEAttribute(getTransfomedViatraQuery_PatternFullyQualifiedName(), ecorePackage.getEString(), "patternFullyQualifiedName", null, 1, 1, TransfomedViatraQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 327 initEAttribute(getTransfomedViatraQuery_PatternFullyQualifiedName(), ecorePackage.getEString(), "patternFullyQualifiedName", null, 1, 1, TransfomedViatraQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
255 initEAttribute(getTransfomedViatraQuery_PatternPQuery(), ecorePackage.getEJavaObject(), "patternPQuery", null, 1, 1, TransfomedViatraQuery.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 328 initEAttribute(getTransfomedViatraQuery_PatternPQuery(), ecorePackage.getEJavaObject(), "patternPQuery", null, 1, 1, TransfomedViatraQuery.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
329 initEReference(getTransfomedViatraQuery_VariableTrace(), this.getVariableMapping(), null, "variableTrace", null, 0, -1, TransfomedViatraQuery.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
330 initEAttribute(getTransfomedViatraQuery_OptimizedDisjunction(), ecorePackage.getEJavaObject(), "optimizedDisjunction", null, 1, 1, TransfomedViatraQuery.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
256 331
257 initEClass(transformedViatraWellformednessConstraintEClass, TransformedViatraWellformednessConstraint.class, "TransformedViatraWellformednessConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 332 initEClass(transformedViatraWellformednessConstraintEClass, TransformedViatraWellformednessConstraint.class, "TransformedViatraWellformednessConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
258 initEReference(getTransformedViatraWellformednessConstraint_Query(), this.getTransfomedViatraQuery(), null, "query", null, 1, 1, TransformedViatraWellformednessConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 333 initEReference(getTransformedViatraWellformednessConstraint_Query(), this.getTransfomedViatraQuery(), null, "query", null, 1, 1, TransformedViatraWellformednessConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -260,6 +335,10 @@ public class Viatra2LogicAnnotationsPackageImpl extends EPackageImpl implements
260 initEClass(definedByDerivedFeatureEClass, DefinedByDerivedFeature.class, "DefinedByDerivedFeature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 335 initEClass(definedByDerivedFeatureEClass, DefinedByDerivedFeature.class, "DefinedByDerivedFeature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
261 initEReference(getDefinedByDerivedFeature_Query(), this.getTransfomedViatraQuery(), null, "query", null, 1, 1, DefinedByDerivedFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 336 initEReference(getDefinedByDerivedFeature_Query(), this.getTransfomedViatraQuery(), null, "query", null, 1, 1, DefinedByDerivedFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
262 337
338 initEClass(variableMappingEClass, VariableMapping.class, "VariableMapping", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
339 initEAttribute(getVariableMapping_SourcePVariable(), ecorePackage.getEJavaObject(), "sourcePVariable", null, 1, 1, VariableMapping.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
340 initEReference(getVariableMapping_TargetLogicVariable(), theLogiclanguagePackage.getVariable(), null, "targetLogicVariable", null, 1, 1, VariableMapping.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
341
263 // Create resource 342 // Create resource
264 createResource(eNS_URI); 343 createResource(eNS_URI);
265 } 344 }
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java
index 91bbdc9f..f66f480f 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsAdapterFactory.java
@@ -84,6 +84,10 @@ public class Viatra2LogicAnnotationsAdapterFactory extends AdapterFactoryImpl {
84 return createDefinedByDerivedFeatureAdapter(); 84 return createDefinedByDerivedFeatureAdapter();
85 } 85 }
86 @Override 86 @Override
87 public Adapter caseVariableMapping(VariableMapping object) {
88 return createVariableMappingAdapter();
89 }
90 @Override
87 public Adapter caseAnnotation(Annotation object) { 91 public Adapter caseAnnotation(Annotation object) {
88 return createAnnotationAdapter(); 92 return createAnnotationAdapter();
89 } 93 }
@@ -158,6 +162,20 @@ public class Viatra2LogicAnnotationsAdapterFactory extends AdapterFactoryImpl {
158 } 162 }
159 163
160 /** 164 /**
165 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping <em>Variable Mapping</em>}'.
166 * <!-- begin-user-doc -->
167 * This default implementation returns null so that we can easily ignore cases;
168 * it's useful to ignore a case when inheritance will catch all the cases anyway.
169 * <!-- end-user-doc -->
170 * @return the new adapter.
171 * @see hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.VariableMapping
172 * @generated
173 */
174 public Adapter createVariableMappingAdapter() {
175 return null;
176 }
177
178 /**
161 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation <em>Annotation</em>}'. 179 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation <em>Annotation</em>}'.
162 * <!-- begin-user-doc --> 180 * <!-- begin-user-doc -->
163 * This default implementation returns null so that we can easily ignore cases; 181 * This default implementation returns null so that we can easily ignore cases;
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java
index 09288a62..72b2fc4c 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/viatra2logic/viatra2logicannotations/util/Viatra2LogicAnnotationsSwitch.java
@@ -94,6 +94,12 @@ public class Viatra2LogicAnnotationsSwitch<T> extends Switch<T> {
94 if (result == null) result = defaultCase(theEObject); 94 if (result == null) result = defaultCase(theEObject);
95 return result; 95 return result;
96 } 96 }
97 case Viatra2LogicAnnotationsPackage.VARIABLE_MAPPING: {
98 VariableMapping variableMapping = (VariableMapping)theEObject;
99 T result = caseVariableMapping(variableMapping);
100 if (result == null) result = defaultCase(theEObject);
101 return result;
102 }
97 default: return defaultCase(theEObject); 103 default: return defaultCase(theEObject);
98 } 104 }
99 } 105 }
@@ -144,6 +150,21 @@ public class Viatra2LogicAnnotationsSwitch<T> extends Switch<T> {
144 } 150 }
145 151
146 /** 152 /**
153 * Returns the result of interpreting the object as an instance of '<em>Variable Mapping</em>'.
154 * <!-- begin-user-doc -->
155 * This implementation returns null;
156 * returning a non-null result will terminate the switch.
157 * <!-- end-user-doc -->
158 * @param object the target of the switch.
159 * @return the result of interpreting the object as an instance of '<em>Variable Mapping</em>'.
160 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
161 * @generated
162 */
163 public T caseVariableMapping(VariableMapping object) {
164 return null;
165 }
166
167 /**
147 * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'. 168 * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'.
148 * <!-- begin-user-doc --> 169 * <!-- begin-user-doc -->
149 * This implementation returns null; 170 * This implementation returns null;
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/lib/.gitignore b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/lib/.gitignore
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/lib/.gitignore
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird
index 1af6ebf0..b6bc57b7 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.aird
@@ -1,30 +1,30 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style"> 2<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style">
3 <viewpoint:DAnalysis xmi:id="_hKMI0LzSEeaj7tVusjQpHg" selectedViews="_hMdZsLzSEeaj7tVusjQpHg _hMvGgLzSEeaj7tVusjQpHg _hM760LzSEeaj7tVusjQpHg _hNNAkLzSEeaj7tVusjQpHg" version="11.1.0.201608251200"> 3 <viewpoint:DAnalysis uid="_hKMI0LzSEeaj7tVusjQpHg" selectedViews="_hMdZsLzSEeaj7tVusjQpHg _hMvGgLzSEeaj7tVusjQpHg _hM760LzSEeaj7tVusjQpHg _hNNAkLzSEeaj7tVusjQpHg" version="14.1.0.201810161215">
4 <semanticResources>ViatraModelAnnotations.ecore</semanticResources> 4 <semanticResources>ViatraModelAnnotations.ecore</semanticResources>
5 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore</semanticResources> 5 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore</semanticResources>
6 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore</semanticResources> 6 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore</semanticResources>
7 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources> 7 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
8 <ownedViews xmi:type="viewpoint:DView" xmi:id="_hMdZsLzSEeaj7tVusjQpHg"> 8 <ownedViews xmi:type="viewpoint:DView" uid="_hMdZsLzSEeaj7tVusjQpHg">
9 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> 9 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
10 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_HjHhMBfyEeiKzNmzswRwjA" name="viatra2logicannotations class diagram" representation="_h6EtoLzSEeaj7tVusjQpHg"> 10 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_HjHhMBfyEeiKzNmzswRwjA" name="viatra2logicannotations class diagram" repPath="#_h6EtoLzSEeaj7tVusjQpHg">
11 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 11 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
12 <target xmi:type="ecore:EPackage" href="ViatraModelAnnotations.ecore#/"/> 12 <target xmi:type="ecore:EPackage" href="ViatraModelAnnotations.ecore#/"/>
13 </ownedRepresentationDescriptors> 13 </ownedRepresentationDescriptors>
14 </ownedViews> 14 </ownedViews>
15 <ownedViews xmi:type="viewpoint:DView" xmi:id="_hMvGgLzSEeaj7tVusjQpHg"> 15 <ownedViews xmi:type="viewpoint:DView" uid="_hMvGgLzSEeaj7tVusjQpHg">
16 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/> 16 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
17 </ownedViews> 17 </ownedViews>
18 <ownedViews xmi:type="viewpoint:DView" xmi:id="_hM760LzSEeaj7tVusjQpHg"> 18 <ownedViews xmi:type="viewpoint:DView" uid="_hM760LzSEeaj7tVusjQpHg">
19 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/> 19 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
20 </ownedViews> 20 </ownedViews>
21 <ownedViews xmi:type="viewpoint:DView" xmi:id="_hNNAkLzSEeaj7tVusjQpHg"> 21 <ownedViews xmi:type="viewpoint:DView" uid="_hNNAkLzSEeaj7tVusjQpHg">
22 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/> 22 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
23 </ownedViews> 23 </ownedViews>
24 </viewpoint:DAnalysis> 24 </viewpoint:DAnalysis>
25 <diagram:DSemanticDiagram xmi:id="_h6EtoLzSEeaj7tVusjQpHg" name="viatra2logicannotations class diagram"> 25 <diagram:DSemanticDiagram uid="_h6EtoLzSEeaj7tVusjQpHg" name="viatra2logicannotations class diagram">
26 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_h6EtobzSEeaj7tVusjQpHg" source="DANNOTATION_CUSTOMIZATION_KEY"> 26 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_h6EtobzSEeaj7tVusjQpHg" source="DANNOTATION_CUSTOMIZATION_KEY">
27 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_h6EtorzSEeaj7tVusjQpHg"> 27 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_h6EtorzSEeaj7tVusjQpHg">
28 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan"> 28 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan">
29 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> 29 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
30 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_JijTsbzTEeaj7tVusjQpHg" showIcon="false" labelExpression="service:render"> 30 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_JijTsbzTEeaj7tVusjQpHg" showIcon="false" labelExpression="service:render">
@@ -47,9 +47,18 @@
47 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> 47 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
48 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/> 48 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
49 </computedStyleDescriptions> 49 </computedStyleDescriptions>
50 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_k8aWcH8uEeq2t8kgC8VWrg" sourceArrow="FillDiamond" routingStyle="manhattan">
51 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
52 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_k8aWcX8uEeq2t8kgC8VWrg" showIcon="false" labelExpression="service:render">
53 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
54 </centerLabelStyleDescription>
55 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_k8aWcn8uEeq2t8kgC8VWrg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
56 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
57 </endLabelStyleDescription>
58 </computedStyleDescriptions>
50 </data> 59 </data>
51 </ownedAnnotationEntries> 60 </ownedAnnotationEntries>
52 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_h6IYALzSEeaj7tVusjQpHg" source="GMF_DIAGRAMS"> 61 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_h6IYALzSEeaj7tVusjQpHg" source="GMF_DIAGRAMS">
53 <data xmi:type="notation:Diagram" xmi:id="_h6IYAbzSEeaj7tVusjQpHg" type="Sirius" element="_h6EtoLzSEeaj7tVusjQpHg" measurementUnit="Pixel"> 62 <data xmi:type="notation:Diagram" xmi:id="_h6IYAbzSEeaj7tVusjQpHg" type="Sirius" element="_h6EtoLzSEeaj7tVusjQpHg" measurementUnit="Pixel">
54 <children xmi:type="notation:Node" xmi:id="_8vuhcLzSEeaj7tVusjQpHg" type="2003" element="_8vqQALzSEeaj7tVusjQpHg"> 63 <children xmi:type="notation:Node" xmi:id="_8vuhcLzSEeaj7tVusjQpHg" type="2003" element="_8vqQALzSEeaj7tVusjQpHg">
55 <children xmi:type="notation:Node" xmi:id="_8vuhc7zSEeaj7tVusjQpHg" type="5007"/> 64 <children xmi:type="notation:Node" xmi:id="_8vuhc7zSEeaj7tVusjQpHg" type="5007"/>
@@ -62,11 +71,15 @@
62 <styles xmi:type="notation:FontStyle" xmi:id="_NFBDgRfyEeiKzNmzswRwjA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> 71 <styles xmi:type="notation:FontStyle" xmi:id="_NFBDgRfyEeiKzNmzswRwjA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
63 <layoutConstraint xmi:type="notation:Location" xmi:id="_NFBDghfyEeiKzNmzswRwjA"/> 72 <layoutConstraint xmi:type="notation:Location" xmi:id="_NFBDghfyEeiKzNmzswRwjA"/>
64 </children> 73 </children>
74 <children xmi:type="notation:Node" xmi:id="_QQ2LII_pEeqlOMjO9MPV6g" type="3010" element="_QQIZcI_pEeqlOMjO9MPV6g">
75 <styles xmi:type="notation:FontStyle" xmi:id="_QQ2LIY_pEeqlOMjO9MPV6g" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
76 <layoutConstraint xmi:type="notation:Location" xmi:id="_QQ2LIo_pEeqlOMjO9MPV6g"/>
77 </children>
65 <styles xmi:type="notation:SortingStyle" xmi:id="_8vuhdbzSEeaj7tVusjQpHg"/> 78 <styles xmi:type="notation:SortingStyle" xmi:id="_8vuhdbzSEeaj7tVusjQpHg"/>
66 <styles xmi:type="notation:FilteringStyle" xmi:id="_8vuhdrzSEeaj7tVusjQpHg"/> 79 <styles xmi:type="notation:FilteringStyle" xmi:id="_8vuhdrzSEeaj7tVusjQpHg"/>
67 </children> 80 </children>
68 <styles xmi:type="notation:ShapeStyle" xmi:id="_8vuhcbzSEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/> 81 <styles xmi:type="notation:ShapeStyle" xmi:id="_8vuhcbzSEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
69 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8vuhcrzSEeaj7tVusjQpHg" x="5" y="390" width="228" height="68"/> 82 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8vuhcrzSEeaj7tVusjQpHg" x="5" y="390" width="228" height="81"/>
70 </children> 83 </children>
71 <children xmi:type="notation:Node" xmi:id="_Ci29sLzTEeaj7tVusjQpHg" type="2003" element="_Ciz6YLzTEeaj7tVusjQpHg"> 84 <children xmi:type="notation:Node" xmi:id="_Ci29sLzTEeaj7tVusjQpHg" type="2003" element="_Ciz6YLzTEeaj7tVusjQpHg">
72 <children xmi:type="notation:Node" xmi:id="_Ci29s7zTEeaj7tVusjQpHg" type="5007"/> 85 <children xmi:type="notation:Node" xmi:id="_Ci29s7zTEeaj7tVusjQpHg" type="5007"/>
@@ -121,6 +134,32 @@
121 <styles xmi:type="notation:ShapeStyle" xmi:id="_7hZUIfObEeauOJk-5mBnBg" fontName="Segoe UI" fontHeight="8"/> 134 <styles xmi:type="notation:ShapeStyle" xmi:id="_7hZUIfObEeauOJk-5mBnBg" fontName="Segoe UI" fontHeight="8"/>
122 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7hZUIvObEeauOJk-5mBnBg" x="245" y="390" width="263" height="53"/> 135 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7hZUIvObEeauOJk-5mBnBg" x="245" y="390" width="263" height="53"/>
123 </children> 136 </children>
137 <children xmi:type="notation:Node" xmi:id="_hAwZMH8uEeq2t8kgC8VWrg" type="2003" element="_hAAyUH8uEeq2t8kgC8VWrg">
138 <children xmi:type="notation:Node" xmi:id="_hA7YUH8uEeq2t8kgC8VWrg" type="5007"/>
139 <children xmi:type="notation:Node" xmi:id="_hA7_YH8uEeq2t8kgC8VWrg" type="7004">
140 <children xmi:type="notation:Node" xmi:id="_qqHgIH8uEeq2t8kgC8VWrg" type="3010" element="_qpvFoH8uEeq2t8kgC8VWrg">
141 <styles xmi:type="notation:FontStyle" xmi:id="_qqHgIX8uEeq2t8kgC8VWrg" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
142 <layoutConstraint xmi:type="notation:Location" xmi:id="_qqHgIn8uEeq2t8kgC8VWrg"/>
143 </children>
144 <styles xmi:type="notation:SortingStyle" xmi:id="_hA7_YX8uEeq2t8kgC8VWrg"/>
145 <styles xmi:type="notation:FilteringStyle" xmi:id="_hA7_Yn8uEeq2t8kgC8VWrg"/>
146 </children>
147 <styles xmi:type="notation:ShapeStyle" xmi:id="_hAwZMX8uEeq2t8kgC8VWrg" fontName="Segoe UI" fontHeight="8"/>
148 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hAwZMn8uEeq2t8kgC8VWrg" x="-24" y="528" width="120" height="100"/>
149 </children>
150 <children xmi:type="notation:Node" xmi:id="_VjcL4H8vEeq2t8kgC8VWrg" type="2003" element="_VjIp4H8vEeq2t8kgC8VWrg">
151 <children xmi:type="notation:Node" xmi:id="_Vjcy8H8vEeq2t8kgC8VWrg" type="5007"/>
152 <children xmi:type="notation:Node" xmi:id="_Vjcy8X8vEeq2t8kgC8VWrg" type="7004">
153 <children xmi:type="notation:Node" xmi:id="_VjeBEH8vEeq2t8kgC8VWrg" type="3010" element="_VjP-oX8vEeq2t8kgC8VWrg">
154 <styles xmi:type="notation:FontStyle" xmi:id="_VjeBEX8vEeq2t8kgC8VWrg" fontName="Segoe UI" fontHeight="8" bold="true"/>
155 <layoutConstraint xmi:type="notation:Location" xmi:id="_VjeBEn8vEeq2t8kgC8VWrg"/>
156 </children>
157 <styles xmi:type="notation:SortingStyle" xmi:id="_Vjcy8n8vEeq2t8kgC8VWrg"/>
158 <styles xmi:type="notation:FilteringStyle" xmi:id="_Vjcy838vEeq2t8kgC8VWrg"/>
159 </children>
160 <styles xmi:type="notation:ShapeStyle" xmi:id="_VjcL4X8vEeq2t8kgC8VWrg" fontName="Segoe UI" fontHeight="8"/>
161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VjcL4n8vEeq2t8kgC8VWrg" x="-24" y="672"/>
162 </children>
124 <styles xmi:type="notation:DiagramStyle" xmi:id="_h6IYArzSEeaj7tVusjQpHg"/> 163 <styles xmi:type="notation:DiagramStyle" xmi:id="_h6IYArzSEeaj7tVusjQpHg"/>
125 <edges xmi:type="notation:Edge" xmi:id="_HcowELzTEeaj7tVusjQpHg" type="4001" element="_HcjQgLzTEeaj7tVusjQpHg" source="_Ci29sLzTEeaj7tVusjQpHg" target="_8vuhcLzSEeaj7tVusjQpHg"> 164 <edges xmi:type="notation:Edge" xmi:id="_HcowELzTEeaj7tVusjQpHg" type="4001" element="_HcjQgLzTEeaj7tVusjQpHg" source="_Ci29sLzTEeaj7tVusjQpHg" target="_8vuhcLzSEeaj7tVusjQpHg">
126 <children xmi:type="notation:Node" xmi:id="_HcowFLzTEeaj7tVusjQpHg" type="6001"> 165 <children xmi:type="notation:Node" xmi:id="_HcowFLzTEeaj7tVusjQpHg" type="6001">
@@ -136,7 +175,7 @@
136 <styles xmi:type="notation:FontStyle" xmi:id="_HcowErzTEeaj7tVusjQpHg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> 175 <styles xmi:type="notation:FontStyle" xmi:id="_HcowErzTEeaj7tVusjQpHg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
137 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HcowE7zTEeaj7tVusjQpHg" points="[131, 21, 420, 26]$[131, 150, 420, 155]$[-401, 150, -112, 155]$[-401, 26, -112, 31]"/> 176 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HcowE7zTEeaj7tVusjQpHg" points="[131, 21, 420, 26]$[131, 150, 420, 155]$[-401, 150, -112, 155]$[-401, 26, -112, 31]"/>
138 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HcpXILzTEeaj7tVusjQpHg" id="(0.0,0.49019607843137253)"/> 177 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HcpXILzTEeaj7tVusjQpHg" id="(0.0,0.49019607843137253)"/>
139 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HcpXIbzTEeaj7tVusjQpHg" id="(1.0,0.30303030303030304)"/> 178 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HcpXIbzTEeaj7tVusjQpHg" id="(1.0,0.25316455696202533)"/>
140 </edges> 179 </edges>
141 <edges xmi:type="notation:Edge" xmi:id="_hotbZLzTEeaj7tVusjQpHg" type="4001" element="_hormMLzTEeaj7tVusjQpHg" source="_8vuhcLzSEeaj7tVusjQpHg" target="_hos0ULzTEeaj7tVusjQpHg"> 180 <edges xmi:type="notation:Edge" xmi:id="_hotbZLzTEeaj7tVusjQpHg" type="4001" element="_hormMLzTEeaj7tVusjQpHg" source="_8vuhcLzSEeaj7tVusjQpHg" target="_hos0ULzTEeaj7tVusjQpHg">
142 <children xmi:type="notation:Node" xmi:id="_houCcLzTEeaj7tVusjQpHg" type="6001"> 181 <children xmi:type="notation:Node" xmi:id="_houCcLzTEeaj7tVusjQpHg" type="6001">
@@ -151,7 +190,7 @@
151 <styles xmi:type="notation:ConnectorStyle" xmi:id="_hotbZbzTEeaj7tVusjQpHg" routing="Tree"/> 190 <styles xmi:type="notation:ConnectorStyle" xmi:id="_hotbZbzTEeaj7tVusjQpHg" routing="Tree"/>
152 <styles xmi:type="notation:FontStyle" xmi:id="_hotbZrzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/> 191 <styles xmi:type="notation:FontStyle" xmi:id="_hotbZrzTEeaj7tVusjQpHg" fontName="Segoe UI" fontHeight="8"/>
153 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hotbZ7zTEeaj7tVusjQpHg" points="[115, 240, 115, 240]$[0, 0, 0, 0]"/> 192 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hotbZ7zTEeaj7tVusjQpHg" points="[115, 240, 115, 240]$[0, 0, 0, 0]"/>
154 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_howesLzTEeaj7tVusjQpHg" id="(0.6769911504424779,0.3033826638477801)"/> 193 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_howesLzTEeaj7tVusjQpHg" id="(0.6769911504424779,0.2534589343538416)"/>
155 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_howesbzTEeaj7tVusjQpHg" id="(0.5,2.3333333333333335)"/> 194 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_howesbzTEeaj7tVusjQpHg" id="(0.5,2.3333333333333335)"/>
156 </edges> 195 </edges>
157 <edges xmi:type="notation:Edge" xmi:id="_kYdmMLzTEeaj7tVusjQpHg" type="4001" element="_kYbxALzTEeaj7tVusjQpHg" source="_hos0ULzTEeaj7tVusjQpHg" target="_kYcYELzTEeaj7tVusjQpHg"> 196 <edges xmi:type="notation:Edge" xmi:id="_kYdmMLzTEeaj7tVusjQpHg" type="4001" element="_kYbxALzTEeaj7tVusjQpHg" source="_hos0ULzTEeaj7tVusjQpHg" target="_kYcYELzTEeaj7tVusjQpHg">
@@ -232,207 +271,312 @@
232 <styles xmi:type="notation:FontStyle" xmi:id="_fhjIovOcEeauOJk-5mBnBg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> 271 <styles xmi:type="notation:FontStyle" xmi:id="_fhjIovOcEeauOJk-5mBnBg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
233 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fhjIo_OcEeauOJk-5mBnBg" points="[131, 26, 145, 26]$[131, 80, 145, 80]$[-110, 80, -96, 80]$[-110, 26, -96, 26]"/> 272 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fhjIo_OcEeauOJk-5mBnBg" points="[131, 26, 145, 26]$[131, 80, 145, 80]$[-110, 80, -96, 80]$[-110, 26, -96, 26]"/>
234 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fhjvtvOcEeauOJk-5mBnBg" id="(0.0,0.49019607843137253)"/> 273 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fhjvtvOcEeauOJk-5mBnBg" id="(0.0,0.49019607843137253)"/>
235 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fhjvt_OcEeauOJk-5mBnBg" id="(1.0,0.3787878787878788)"/> 274 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fhjvt_OcEeauOJk-5mBnBg" id="(1.0,0.31645569620253167)"/>
275 </edges>
276 <edges xmi:type="notation:Edge" xmi:id="_k843kH8uEeq2t8kgC8VWrg" type="4001" element="_k8ZvYH8uEeq2t8kgC8VWrg" source="_8vuhcLzSEeaj7tVusjQpHg" target="_hAwZMH8uEeq2t8kgC8VWrg">
277 <children xmi:type="notation:Node" xmi:id="_k87T0H8uEeq2t8kgC8VWrg" type="6001">
278 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k87T0X8uEeq2t8kgC8VWrg" x="-6" y="61"/>
279 </children>
280 <children xmi:type="notation:Node" xmi:id="_k89JAH8uEeq2t8kgC8VWrg" type="6002">
281 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k89JAX8uEeq2t8kgC8VWrg" y="10"/>
282 </children>
283 <children xmi:type="notation:Node" xmi:id="_k89wEH8uEeq2t8kgC8VWrg" type="6003">
284 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_k89wEX8uEeq2t8kgC8VWrg" y="10"/>
285 </children>
286 <styles xmi:type="notation:ConnectorStyle" xmi:id="_k843kX8uEeq2t8kgC8VWrg" routing="Rectilinear"/>
287 <styles xmi:type="notation:FontStyle" xmi:id="_k843kn8uEeq2t8kgC8VWrg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
288 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_k843k38uEeq2t8kgC8VWrg" points="[0, 0, 0, -72]$[0, 72, 0, 0]"/>
289 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_k8_lQH8uEeq2t8kgC8VWrg" id="(0.13274336283185842,0.8354430379746836)"/>
290 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_k8_lQX8uEeq2t8kgC8VWrg" id="(0.5,0.0)"/>
291 </edges>
292 <edges xmi:type="notation:Edge" xmi:id="_XY6fwH8vEeq2t8kgC8VWrg" type="4001" element="_XYlIkH8vEeq2t8kgC8VWrg" source="_hAwZMH8uEeq2t8kgC8VWrg" target="_VjcL4H8vEeq2t8kgC8VWrg">
293 <children xmi:type="notation:Node" xmi:id="_XY7G0H8vEeq2t8kgC8VWrg" type="6001">
294 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XY7G0X8vEeq2t8kgC8VWrg" x="5" y="38"/>
295 </children>
296 <children xmi:type="notation:Node" xmi:id="_XY7G0n8vEeq2t8kgC8VWrg" type="6002">
297 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XY7G038vEeq2t8kgC8VWrg" y="10"/>
298 </children>
299 <children xmi:type="notation:Node" xmi:id="_XY8U8H8vEeq2t8kgC8VWrg" type="6003">
300 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XY8U8X8vEeq2t8kgC8VWrg" y="10"/>
301 </children>
302 <styles xmi:type="notation:ConnectorStyle" xmi:id="_XY6fwX8vEeq2t8kgC8VWrg" routing="Rectilinear"/>
303 <styles xmi:type="notation:FontStyle" xmi:id="_XY6fwn8vEeq2t8kgC8VWrg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
304 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XY6fw38vEeq2t8kgC8VWrg" points="[0, 0, 0, -46]$[0, 46, 0, 0]"/>
305 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XY88AH8vEeq2t8kgC8VWrg" id="(0.8135593220338984,1.0)"/>
306 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XY88AX8vEeq2t8kgC8VWrg" id="(0.6530612244897959,0.0)"/>
236 </edges> 307 </edges>
237 </data> 308 </data>
238 </ownedAnnotationEntries> 309 </ownedAnnotationEntries>
239 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_8vqQALzSEeaj7tVusjQpHg" name="TransfomedViatraQuery" tooltipText="" outgoingEdges="_hormMLzTEeaj7tVusjQpHg" incomingEdges="_HcjQgLzTEeaj7tVusjQpHg _fhW7YPOcEeauOJk-5mBnBg" width="12" height="10"> 310 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_8vqQALzSEeaj7tVusjQpHg" name="TransfomedViatraQuery" tooltipText="" outgoingEdges="_hormMLzTEeaj7tVusjQpHg _k8ZvYH8uEeq2t8kgC8VWrg" incomingEdges="_HcjQgLzTEeaj7tVusjQpHg _fhW7YPOcEeauOJk-5mBnBg" width="12" height="10">
240 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/> 311 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
241 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/> 312 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
242 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 313 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
243 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 314 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
244 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 315 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
245 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_Sxe3EBfyEeiKzNmzswRwjA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> 316 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_YFdW8Y_pEeqlOMjO9MPV6g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
246 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> 317 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
247 </ownedStyle> 318 </ownedStyle>
248 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 319 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
249 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_4Dt3gL2REeaj7tVusjQpHg" name="patternFullyQualifiedName : EString" tooltipText=""> 320 <ownedElements xmi:type="diagram:DNodeListElement" uid="_4Dt3gL2REeaj7tVusjQpHg" name="patternFullyQualifiedName : EString" tooltipText="">
250 <target xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternFullyQualifiedName"/> 321 <target xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternFullyQualifiedName"/>
251 <semanticElements xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternFullyQualifiedName"/> 322 <semanticElements xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternFullyQualifiedName"/>
252 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="__q-j0b2REeaj7tVusjQpHg" labelAlignment="LEFT" description="__q-j0L2REeaj7tVusjQpHg"> 323 <ownedStyle xmi:type="diagram:BundledImage" uid="__q-j0b2REeaj7tVusjQpHg" labelAlignment="LEFT" description="__q-j0L2REeaj7tVusjQpHg">
253 <labelFormat>bold</labelFormat> 324 <labelFormat>bold</labelFormat>
254 </ownedStyle> 325 </ownedStyle>
255 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 326 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
256 </ownedElements> 327 </ownedElements>
257 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_NEcbwBfyEeiKzNmzswRwjA" name="patternPQuery : EJavaObject" tooltipText=""> 328 <ownedElements xmi:type="diagram:DNodeListElement" uid="_NEcbwBfyEeiKzNmzswRwjA" name="patternPQuery : EJavaObject" tooltipText="">
258 <target xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternPQuery"/> 329 <target xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternPQuery"/>
259 <semanticElements xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternPQuery"/> 330 <semanticElements xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternPQuery"/>
260 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_c0t2kBfyEeiKzNmzswRwjA" labelAlignment="LEFT" description="__q-j0L2REeaj7tVusjQpHg"> 331 <ownedStyle xmi:type="diagram:BundledImage" uid="_c0t2kBfyEeiKzNmzswRwjA" labelAlignment="LEFT" description="__q-j0L2REeaj7tVusjQpHg">
332 <labelFormat>bold</labelFormat>
333 </ownedStyle>
334 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
335 </ownedElements>
336 <ownedElements xmi:type="diagram:DNodeListElement" uid="_QQIZcI_pEeqlOMjO9MPV6g" name="optimizedDisjunction : EJavaObject" tooltipText="">
337 <target xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/optimizedDisjunction"/>
338 <semanticElements xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/optimizedDisjunction"/>
339 <ownedStyle xmi:type="diagram:BundledImage" uid="_YFoWEY_pEeqlOMjO9MPV6g" labelAlignment="LEFT" description="__q-j0L2REeaj7tVusjQpHg">
261 <labelFormat>bold</labelFormat> 340 <labelFormat>bold</labelFormat>
262 </ownedStyle> 341 </ownedStyle>
263 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 342 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
264 </ownedElements> 343 </ownedElements>
265 </ownedDiagramElements> 344 </ownedDiagramElements>
266 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_Ciz6YLzTEeaj7tVusjQpHg" name="TransformedViatraWellformednessConstraint" tooltipText="" outgoingEdges="_HcjQgLzTEeaj7tVusjQpHg _rIFf4LzTEeaj7tVusjQpHg" width="12" height="10"> 345 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_Ciz6YLzTEeaj7tVusjQpHg" name="TransformedViatraWellformednessConstraint" tooltipText="" outgoingEdges="_HcjQgLzTEeaj7tVusjQpHg _rIFf4LzTEeaj7tVusjQpHg" width="12" height="10">
267 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/> 346 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/>
268 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/> 347 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/>
269 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 348 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
270 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 349 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
271 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 350 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
272 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_Ci0hcLzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> 351 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_Ci0hcLzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
273 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> 352 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
274 </ownedStyle> 353 </ownedStyle>
275 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 354 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
276 </ownedDiagramElements> 355 </ownedDiagramElements>
277 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HcjQgLzTEeaj7tVusjQpHg" name="[1..1] query" sourceNode="_Ciz6YLzTEeaj7tVusjQpHg" targetNode="_8vqQALzSEeaj7tVusjQpHg"> 356 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_HcjQgLzTEeaj7tVusjQpHg" name="[1..1] query" sourceNode="_Ciz6YLzTEeaj7tVusjQpHg" targetNode="_8vqQALzSEeaj7tVusjQpHg">
278 <target xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/> 357 <target xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/>
279 <semanticElements xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/> 358 <semanticElements xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/>
280 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_JijTs7zTEeaj7tVusjQpHg" description="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0"> 359 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_JijTs7zTEeaj7tVusjQpHg" description="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
281 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_JijTtLzTEeaj7tVusjQpHg" showIcon="false"> 360 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_JijTtLzTEeaj7tVusjQpHg" showIcon="false">
282 <labelFormat>bold</labelFormat> 361 <labelFormat>bold</labelFormat>
283 </centerLabelStyle> 362 </centerLabelStyle>
284 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_JijTtbzTEeaj7tVusjQpHg" labelSize="6" showIcon="false" labelColor="39,76,114"/> 363 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_JijTtbzTEeaj7tVusjQpHg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
285 </ownedStyle> 364 </ownedStyle>
286 <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']"/> 365 <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']"/>
287 </ownedDiagramElements> 366 </ownedDiagramElements>
288 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_hon70LzTEeaj7tVusjQpHg" name="RelationAnnotation" tooltipText="" outgoingEdges="_kYbxALzTEeaj7tVusjQpHg" incomingEdges="_hormMLzTEeaj7tVusjQpHg _Fff8APOcEeauOJk-5mBnBg" width="12" height="10"> 367 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_hon70LzTEeaj7tVusjQpHg" name="RelationAnnotation" tooltipText="" outgoingEdges="_kYbxALzTEeaj7tVusjQpHg" incomingEdges="_hormMLzTEeaj7tVusjQpHg _Fff8APOcEeauOJk-5mBnBg" width="12" height="10">
289 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/> 368 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/>
290 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/> 369 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/>
291 <decorations xmi:type="viewpoint:Decoration" xmi:id="_hoq_ILzTEeaj7tVusjQpHg"> 370 <decorations xmi:type="viewpoint:Decoration" uid="_hoq_ILzTEeaj7tVusjQpHg">
292 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> 371 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
293 </decorations> 372 </decorations>
294 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 373 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
295 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 374 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
296 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 375 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
297 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_hon70bzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> 376 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_hon70bzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
298 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> 377 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
299 </ownedStyle> 378 </ownedStyle>
300 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 379 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
301 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_JMX-ABfyEeiKzNmzswRwjA" name=" target : Relation" tooltipText=""> 380 <ownedElements xmi:type="diagram:DNodeListElement" uid="_JMX-ABfyEeiKzNmzswRwjA" name=" target : Relation" tooltipText="">
302 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation/target"/> 381 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation/target"/>
303 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation/target"/> 382 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation/target"/>
304 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_JMhH8BfyEeiKzNmzswRwjA" labelAlignment="LEFT" description="_JMersBfyEeiKzNmzswRwjA" color="114,159,207"> 383 <ownedStyle xmi:type="diagram:BundledImage" uid="_JMhH8BfyEeiKzNmzswRwjA" labelAlignment="LEFT" description="_JMersBfyEeiKzNmzswRwjA" color="114,159,207">
305 <labelFormat>bold</labelFormat> 384 <labelFormat>bold</labelFormat>
306 </ownedStyle> 385 </ownedStyle>
307 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/> 386 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
308 </ownedElements> 387 </ownedElements>
309 </ownedDiagramElements> 388 </ownedDiagramElements>
310 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_hormMLzTEeaj7tVusjQpHg" sourceNode="_8vqQALzSEeaj7tVusjQpHg" targetNode="_hon70LzTEeaj7tVusjQpHg"> 389 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_hormMLzTEeaj7tVusjQpHg" sourceNode="_8vqQALzSEeaj7tVusjQpHg" targetNode="_hon70LzTEeaj7tVusjQpHg">
311 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/> 390 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
312 <semanticElements xmi:type="ecore:EGenericType" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/@eGenericSuperTypes.0"/> 391 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/>
313 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_SxrrYBfyEeiKzNmzswRwjA" targetArrow="InputClosedArrow" routingStyle="tree"> 392 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_YFyHEI_pEeqlOMjO9MPV6g" targetArrow="InputClosedArrow" routingStyle="tree">
314 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> 393 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
315 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_SxrrYRfyEeiKzNmzswRwjA" showIcon="false"> 394 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_YFyHEY_pEeqlOMjO9MPV6g" showIcon="false">
316 <labelFormat>italic</labelFormat> 395 <labelFormat>italic</labelFormat>
317 </beginLabelStyle> 396 </beginLabelStyle>
318 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_SxrrYhfyEeiKzNmzswRwjA" showIcon="false"/> 397 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_YFyHEo_pEeqlOMjO9MPV6g" showIcon="false"/>
319 </ownedStyle> 398 </ownedStyle>
320 <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%20ESupertypes']"/> 399 <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%20ESupertypes']"/>
321 </ownedDiagramElements> 400 </ownedDiagramElements>
322 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_kYYGoLzTEeaj7tVusjQpHg" name="Annotation" tooltipText="" incomingEdges="_kYbxALzTEeaj7tVusjQpHg _pqp4kLzTEeaj7tVusjQpHg" width="12" height="10"> 401 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_kYYGoLzTEeaj7tVusjQpHg" name="Annotation" tooltipText="" incomingEdges="_kYbxALzTEeaj7tVusjQpHg _pqp4kLzTEeaj7tVusjQpHg" width="12" height="10">
323 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/> 402 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/>
324 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/> 403 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/>
325 <decorations xmi:type="viewpoint:Decoration" xmi:id="_kYai4LzTEeaj7tVusjQpHg"> 404 <decorations xmi:type="viewpoint:Decoration" uid="_kYai4LzTEeaj7tVusjQpHg">
326 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> 405 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
327 </decorations> 406 </decorations>
328 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 407 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
329 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 408 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
330 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 409 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
331 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_kYYGobzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> 410 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_kYYGobzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
332 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> 411 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
333 </ownedStyle> 412 </ownedStyle>
334 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 413 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
335 </ownedDiagramElements> 414 </ownedDiagramElements>
336 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_kYbxALzTEeaj7tVusjQpHg" sourceNode="_hon70LzTEeaj7tVusjQpHg" targetNode="_kYYGoLzTEeaj7tVusjQpHg"> 415 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_kYbxALzTEeaj7tVusjQpHg" sourceNode="_hon70LzTEeaj7tVusjQpHg" targetNode="_kYYGoLzTEeaj7tVusjQpHg">
337 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/> 416 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/>
338 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation/@eGenericSuperTypes.0"/> 417 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"/>
339 <decorations xmi:type="viewpoint:Decoration" xmi:id="_rIE40LzTEeaj7tVusjQpHg"> 418 <decorations xmi:type="viewpoint:Decoration" uid="_rIE40LzTEeaj7tVusjQpHg">
340 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> 419 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
341 </decorations> 420 </decorations>
342 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_kYbxAbzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree"> 421 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_kYbxAbzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
343 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> 422 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
344 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_kYbxArzTEeaj7tVusjQpHg" showIcon="false"> 423 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_kYbxArzTEeaj7tVusjQpHg" showIcon="false">
345 <labelFormat>italic</labelFormat> 424 <labelFormat>italic</labelFormat>
346 </beginLabelStyle> 425 </beginLabelStyle>
347 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_kYbxA7zTEeaj7tVusjQpHg" showIcon="false"/> 426 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_kYbxA7zTEeaj7tVusjQpHg" showIcon="false"/>
348 </ownedStyle> 427 </ownedStyle>
349 <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%20ESupertypes']"/> 428 <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%20ESupertypes']"/>
350 </ownedDiagramElements> 429 </ownedDiagramElements>
351 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_pqmOMLzTEeaj7tVusjQpHg" name="AssertionAnnotation" tooltipText="" outgoingEdges="_pqp4kLzTEeaj7tVusjQpHg" incomingEdges="_rIFf4LzTEeaj7tVusjQpHg" width="12" height="10"> 430 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_pqmOMLzTEeaj7tVusjQpHg" name="AssertionAnnotation" tooltipText="" outgoingEdges="_pqp4kLzTEeaj7tVusjQpHg" incomingEdges="_rIFf4LzTEeaj7tVusjQpHg" width="12" height="10">
352 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/> 431 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
353 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/> 432 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
354 <decorations xmi:type="viewpoint:Decoration" xmi:id="_pqpRgLzTEeaj7tVusjQpHg"> 433 <decorations xmi:type="viewpoint:Decoration" uid="_pqpRgLzTEeaj7tVusjQpHg">
355 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> 434 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
356 </decorations> 435 </decorations>
357 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 436 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
358 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 437 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
359 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 438 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
360 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_pqmOMbzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> 439 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_pqmOMbzTEeaj7tVusjQpHg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
361 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> 440 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
362 </ownedStyle> 441 </ownedStyle>
363 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 442 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
364 <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_JMjkMBfyEeiKzNmzswRwjA" name=" target : Assertion" tooltipText=""> 443 <ownedElements xmi:type="diagram:DNodeListElement" uid="_JMjkMBfyEeiKzNmzswRwjA" name=" target : Assertion" tooltipText="">
365 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/> 444 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/>
366 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/> 445 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/>
367 <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_JMkyUBfyEeiKzNmzswRwjA" labelAlignment="LEFT" description="_JMersBfyEeiKzNmzswRwjA" color="114,159,207"> 446 <ownedStyle xmi:type="diagram:BundledImage" uid="_JMkyUBfyEeiKzNmzswRwjA" labelAlignment="LEFT" description="_JMersBfyEeiKzNmzswRwjA" color="114,159,207">
368 <labelFormat>bold</labelFormat> 447 <labelFormat>bold</labelFormat>
369 </ownedStyle> 448 </ownedStyle>
370 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/> 449 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
371 </ownedElements> 450 </ownedElements>
372 </ownedDiagramElements> 451 </ownedDiagramElements>
373 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_pqp4kLzTEeaj7tVusjQpHg" sourceNode="_pqmOMLzTEeaj7tVusjQpHg" targetNode="_kYYGoLzTEeaj7tVusjQpHg"> 452 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_pqp4kLzTEeaj7tVusjQpHg" sourceNode="_pqmOMLzTEeaj7tVusjQpHg" targetNode="_kYYGoLzTEeaj7tVusjQpHg">
374 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/> 453 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
375 <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/@eGenericSuperTypes.0"/> 454 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/>
376 <decorations xmi:type="viewpoint:Decoration" xmi:id="_rIE40bzTEeaj7tVusjQpHg"> 455 <decorations xmi:type="viewpoint:Decoration" uid="_rIE40bzTEeaj7tVusjQpHg">
377 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> 456 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
378 </decorations> 457 </decorations>
379 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_pqqfoLzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree"> 458 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_pqqfoLzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
380 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> 459 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
381 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_pqqfobzTEeaj7tVusjQpHg" showIcon="false"> 460 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_pqqfobzTEeaj7tVusjQpHg" showIcon="false">
382 <labelFormat>italic</labelFormat> 461 <labelFormat>italic</labelFormat>
383 </beginLabelStyle> 462 </beginLabelStyle>
384 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_pqqforzTEeaj7tVusjQpHg" showIcon="false"/> 463 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_pqqforzTEeaj7tVusjQpHg" showIcon="false"/>
385 </ownedStyle> 464 </ownedStyle>
386 <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%20ESupertypes']"/> 465 <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%20ESupertypes']"/>
387 </ownedDiagramElements> 466 </ownedDiagramElements>
388 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_rIFf4LzTEeaj7tVusjQpHg" sourceNode="_Ciz6YLzTEeaj7tVusjQpHg" targetNode="_pqmOMLzTEeaj7tVusjQpHg"> 467 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_rIFf4LzTEeaj7tVusjQpHg" sourceNode="_Ciz6YLzTEeaj7tVusjQpHg" targetNode="_pqmOMLzTEeaj7tVusjQpHg">
389 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/> 468 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/>
390 <semanticElements xmi:type="ecore:EGenericType" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/@eGenericSuperTypes.0"/> 469 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"/>
391 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_rIGG8LzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree"> 470 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_rIGG8LzTEeaj7tVusjQpHg" targetArrow="InputClosedArrow" routingStyle="tree">
392 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> 471 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
393 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_rIGG8bzTEeaj7tVusjQpHg" showIcon="false"> 472 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_rIGG8bzTEeaj7tVusjQpHg" showIcon="false">
394 <labelFormat>italic</labelFormat> 473 <labelFormat>italic</labelFormat>
395 </beginLabelStyle> 474 </beginLabelStyle>
396 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_rIGG8rzTEeaj7tVusjQpHg" showIcon="false"/> 475 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_rIGG8rzTEeaj7tVusjQpHg" showIcon="false"/>
397 </ownedStyle> 476 </ownedStyle>
398 <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%20ESupertypes']"/> 477 <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%20ESupertypes']"/>
399 </ownedDiagramElements> 478 </ownedDiagramElements>
400 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7gtXoPObEeauOJk-5mBnBg" name="DefinedByDerivedFeature" tooltipText="" outgoingEdges="_Fff8APOcEeauOJk-5mBnBg _fhW7YPOcEeauOJk-5mBnBg" width="12" height="10"> 479 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_7gtXoPObEeauOJk-5mBnBg" name="DefinedByDerivedFeature" tooltipText="" outgoingEdges="_Fff8APOcEeauOJk-5mBnBg _fhW7YPOcEeauOJk-5mBnBg" width="12" height="10">
401 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/> 480 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/>
402 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/> 481 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/>
403 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 482 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
404 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 483 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
405 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 484 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
406 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7gvM0PObEeauOJk-5mBnBg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> 485 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_7gvM0PObEeauOJk-5mBnBg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
407 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> 486 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
408 </ownedStyle> 487 </ownedStyle>
409 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 488 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
410 </ownedDiagramElements> 489 </ownedDiagramElements>
411 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Fff8APOcEeauOJk-5mBnBg" sourceNode="_7gtXoPObEeauOJk-5mBnBg" targetNode="_hon70LzTEeaj7tVusjQpHg"> 490 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Fff8APOcEeauOJk-5mBnBg" sourceNode="_7gtXoPObEeauOJk-5mBnBg" targetNode="_hon70LzTEeaj7tVusjQpHg">
412 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/> 491 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/>
413 <semanticElements xmi:type="ecore:EGenericType" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/@eGenericSuperTypes.0"/> 492 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature"/>
414 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_FfgjEPOcEeauOJk-5mBnBg" targetArrow="InputClosedArrow" routingStyle="tree"> 493 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_FfgjEPOcEeauOJk-5mBnBg" targetArrow="InputClosedArrow" routingStyle="tree">
415 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> 494 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
416 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_FfgjEfOcEeauOJk-5mBnBg" showIcon="false"> 495 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_FfgjEfOcEeauOJk-5mBnBg" showIcon="false">
417 <labelFormat>italic</labelFormat> 496 <labelFormat>italic</labelFormat>
418 </beginLabelStyle> 497 </beginLabelStyle>
419 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_FfgjEvOcEeauOJk-5mBnBg" showIcon="false"/> 498 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_FfgjEvOcEeauOJk-5mBnBg" showIcon="false"/>
420 </ownedStyle> 499 </ownedStyle>
421 <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%20ESupertypes']"/> 500 <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%20ESupertypes']"/>
422 </ownedDiagramElements> 501 </ownedDiagramElements>
423 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_fhW7YPOcEeauOJk-5mBnBg" name="[1..1] query" sourceNode="_7gtXoPObEeauOJk-5mBnBg" targetNode="_8vqQALzSEeaj7tVusjQpHg"> 502 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_fhW7YPOcEeauOJk-5mBnBg" name="[1..1] query" sourceNode="_7gtXoPObEeauOJk-5mBnBg" targetNode="_8vqQALzSEeaj7tVusjQpHg">
424 <target xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/query"/> 503 <target xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/query"/>
425 <semanticElements xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/query"/> 504 <semanticElements xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/query"/>
426 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_hzsKYPOcEeauOJk-5mBnBg" description="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0"> 505 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_hzsKYPOcEeauOJk-5mBnBg" description="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
427 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_hzsKYfOcEeauOJk-5mBnBg" showIcon="false"> 506 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_hzsKYfOcEeauOJk-5mBnBg" showIcon="false">
507 <labelFormat>bold</labelFormat>
508 </centerLabelStyle>
509 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_hzsKYvOcEeauOJk-5mBnBg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
510 </ownedStyle>
511 <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']"/>
512 </ownedDiagramElements>
513 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_hAAyUH8uEeq2t8kgC8VWrg" name="VariableMapping" tooltipText="" outgoingEdges="_XYlIkH8vEeq2t8kgC8VWrg" incomingEdges="_k8ZvYH8uEeq2t8kgC8VWrg" width="12" height="10">
514 <target xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//VariableMapping"/>
515 <semanticElements xmi:type="ecore:EClass" href="ViatraModelAnnotations.ecore#//VariableMapping"/>
516 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
517 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
518 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
519 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_EXh5gn8vEeq2t8kgC8VWrg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
520 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
521 </ownedStyle>
522 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
523 <ownedElements xmi:type="diagram:DNodeListElement" uid="_qpvFoH8uEeq2t8kgC8VWrg" name="sourcePVariable : EJavaObject" tooltipText="">
524 <target xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//VariableMapping/sourcePVariable"/>
525 <semanticElements xmi:type="ecore:EAttribute" href="ViatraModelAnnotations.ecore#//VariableMapping/sourcePVariable"/>
526 <ownedStyle xmi:type="diagram:BundledImage" uid="_EXmyAH8vEeq2t8kgC8VWrg" labelAlignment="LEFT" description="__q-j0L2REeaj7tVusjQpHg">
527 <labelFormat>bold</labelFormat>
528 </ownedStyle>
529 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
530 </ownedElements>
531 </ownedDiagramElements>
532 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_k8ZvYH8uEeq2t8kgC8VWrg" name="[0..*] variableTrace" sourceNode="_8vqQALzSEeaj7tVusjQpHg" targetNode="_hAAyUH8uEeq2t8kgC8VWrg">
533 <target xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/variableTrace"/>
534 <semanticElements xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//TransfomedViatraQuery/variableTrace"/>
535 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_k8a9gH8uEeq2t8kgC8VWrg" description="_k8aWcH8uEeq2t8kgC8VWrg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
536 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_k8a9gn8uEeq2t8kgC8VWrg" showIcon="false">
537 <customFeatures>labelSize</customFeatures>
538 </centerLabelStyle>
539 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_k8a9gX8uEeq2t8kgC8VWrg" showIcon="false" labelColor="39,76,114">
540 <customFeatures>labelSize</customFeatures>
541 </endLabelStyle>
542 </ownedStyle>
543 <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']"/>
544 </ownedDiagramElements>
545 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_VjIp4H8vEeq2t8kgC8VWrg" name="Variable" tooltipText="" incomingEdges="_XYlIkH8vEeq2t8kgC8VWrg" width="12" height="10">
546 <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Variable"/>
547 <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Variable"/>
548 <decorations xmi:type="viewpoint:Decoration" uid="_VjJ4AH8vEeq2t8kgC8VWrg">
549 <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
550 </decorations>
551 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
552 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
553 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
554 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_VjJQ8H8vEeq2t8kgC8VWrg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
555 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
556 </ownedStyle>
557 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
558 <ownedElements xmi:type="diagram:DNodeListElement" uid="_VjP-oX8vEeq2t8kgC8VWrg" name=" range : TypeReference" tooltipText="">
559 <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Variable/range"/>
560 <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Variable/range"/>
561 <ownedStyle xmi:type="diagram:BundledImage" uid="_VjQlsH8vEeq2t8kgC8VWrg" labelAlignment="LEFT" description="_JMersBfyEeiKzNmzswRwjA" color="114,159,207">
562 <labelFormat>bold</labelFormat>
563 </ownedStyle>
564 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
565 </ownedElements>
566 </ownedDiagramElements>
567 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_XYlIkH8vEeq2t8kgC8VWrg" name="[1..1] targetLogicVariable" sourceNode="_hAAyUH8uEeq2t8kgC8VWrg" targetNode="_VjIp4H8vEeq2t8kgC8VWrg">
568 <target xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//VariableMapping/targetLogicVariable"/>
569 <semanticElements xmi:type="ecore:EReference" href="ViatraModelAnnotations.ecore#//VariableMapping/targetLogicVariable"/>
570 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_bTqeFn8vEeq2t8kgC8VWrg" description="_JijTsLzTEeaj7tVusjQpHg" routingStyle="manhattan" strokeColor="0,0,0">
571 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_bTqeGH8vEeq2t8kgC8VWrg" showIcon="false">
428 <labelFormat>bold</labelFormat> 572 <labelFormat>bold</labelFormat>
429 </centerLabelStyle> 573 </centerLabelStyle>
430 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_hzsKYvOcEeauOJk-5mBnBg" labelSize="6" showIcon="false" labelColor="39,76,114"/> 574 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_bTqeF38vEeq2t8kgC8VWrg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
431 </ownedStyle> 575 </ownedStyle>
432 <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']"/> 576 <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']"/>
433 </ownedDiagramElements> 577 </ownedDiagramElements>
434 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 578 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
435 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_h6FUsrzSEeaj7tVusjQpHg"/> 579 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_h6FUsrzSEeaj7tVusjQpHg"/>
436 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> 580 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
437 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/> 581 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
438 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/> 582 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore
index b7d2dcc3..0da2bde6 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.ecore
@@ -8,6 +8,11 @@
8 <eStructuralFeatures xsi:type="ecore:EAttribute" name="patternPQuery" lowerBound="1" 8 <eStructuralFeatures xsi:type="ecore:EAttribute" name="patternPQuery" lowerBound="1"
9 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject" 9 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
10 transient="true"/> 10 transient="true"/>
11 <eStructuralFeatures xsi:type="ecore:EReference" name="variableTrace" upperBound="-1"
12 eType="#//VariableMapping" containment="true"/>
13 <eStructuralFeatures xsi:type="ecore:EAttribute" name="optimizedDisjunction" lowerBound="1"
14 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
15 transient="true"/>
11 </eClassifiers> 16 </eClassifiers>
12 <eClassifiers xsi:type="ecore:EClass" name="TransformedViatraWellformednessConstraint" 17 <eClassifiers xsi:type="ecore:EClass" name="TransformedViatraWellformednessConstraint"
13 eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"> 18 eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation">
@@ -16,4 +21,11 @@
16 <eClassifiers xsi:type="ecore:EClass" name="DefinedByDerivedFeature" eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation"> 21 <eClassifiers xsi:type="ecore:EClass" name="DefinedByDerivedFeature" eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//RelationAnnotation">
17 <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="#//TransfomedViatraQuery"/> 22 <eStructuralFeatures xsi:type="ecore:EReference" name="query" lowerBound="1" eType="#//TransfomedViatraQuery"/>
18 </eClassifiers> 23 </eClassifiers>
24 <eClassifiers xsi:type="ecore:EClass" name="VariableMapping">
25 <eStructuralFeatures xsi:type="ecore:EAttribute" name="sourcePVariable" lowerBound="1"
26 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
27 transient="true"/>
28 <eStructuralFeatures xsi:type="ecore:EReference" name="targetLogicVariable" lowerBound="1"
29 eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Variable"/>
30 </eClassifiers>
19</ecore:EPackage> 31</ecore:EPackage>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel
index 7a367c7e..ccac6f83 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/model/ViatraModelAnnotations.genmodel
@@ -8,9 +8,21 @@
8 <foreignModel>ViatraModelAnnotations.ecore</foreignModel> 8 <foreignModel>ViatraModelAnnotations.ecore</foreignModel>
9 <genPackages prefix="Viatra2LogicAnnotations" basePackage="hu.bme.mit.inf.dslreasoner.viatra2logic" 9 <genPackages prefix="Viatra2LogicAnnotations" basePackage="hu.bme.mit.inf.dslreasoner.viatra2logic"
10 disposableProviderFactory="true" ecorePackage="ViatraModelAnnotations.ecore#/"> 10 disposableProviderFactory="true" ecorePackage="ViatraModelAnnotations.ecore#/">
11 <genClasses ecoreClass="ViatraModelAnnotations.ecore#//TransfomedViatraQuery"/> 11 <genClasses ecoreClass="ViatraModelAnnotations.ecore#//TransfomedViatraQuery">
12 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternFullyQualifiedName"/>
13 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ViatraModelAnnotations.ecore#//TransfomedViatraQuery/patternPQuery"/>
14 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ViatraModelAnnotations.ecore#//TransfomedViatraQuery/variableTrace"/>
15 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ViatraModelAnnotations.ecore#//TransfomedViatraQuery/optimizedDisjunction"/>
16 </genClasses>
12 <genClasses ecoreClass="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint"> 17 <genClasses ecoreClass="ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint">
13 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/> 18 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ViatraModelAnnotations.ecore#//TransformedViatraWellformednessConstraint/query"/>
14 </genClasses> 19 </genClasses>
20 <genClasses ecoreClass="ViatraModelAnnotations.ecore#//DefinedByDerivedFeature">
21 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ViatraModelAnnotations.ecore#//DefinedByDerivedFeature/query"/>
22 </genClasses>
23 <genClasses ecoreClass="ViatraModelAnnotations.ecore#//VariableMapping">
24 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ViatraModelAnnotations.ecore#//VariableMapping/sourcePVariable"/>
25 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ViatraModelAnnotations.ecore#//VariableMapping/targetLogicVariable"/>
26 </genClasses>
15 </genPackages> 27 </genPackages>
16</genmodel:GenModel> 28</genmodel:GenModel>
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend
index ffbca0af..b8c52af4 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Constraint2Logic.xtend
@@ -335,7 +335,11 @@ class Constraint2Logic {
335 { 335 {
336 val outputVariable = constraint.outputVariable 336 val outputVariable = constraint.outputVariable
337 val expression = expressionExtractor.extractExpression(constraint.evaluator) 337 val expression = expressionExtractor.extractExpression(constraint.evaluator)
338 return expressionEvaliation2Logic.transformEval(outputVariable,expression,variable2Variable) 338 if(outputVariable === null) {
339 return expressionEvaliation2Logic.transformCheck(expression,variable2Variable)
340 } else {
341 return expressionEvaliation2Logic.transformEval(outputVariable,expression,variable2Variable)
342 }
339 } 343 }
340 344
341 def dispatch Term transformConstraint(PConstraint constraint, 345 def dispatch Term transformConstraint(PConstraint constraint,
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/ExampleRecreation.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/ExampleRecreation.java
new file mode 100644
index 00000000..a3d25ccf
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/ExampleRecreation.java
@@ -0,0 +1,120 @@
1package hu.bme.mit.inf.dslreasoner.viatra2logic;
2
3import java.util.HashMap;
4
5import com.microsoft.z3.*;
6
7public class ExampleRecreation {
8
9
10 public static void sudoku(Context ctx) {
11
12 // 9 * 9 int matrix
13 IntExpr[][] X = new IntExpr[9][];
14 for (int i = 0; i < 9; i++) {
15 X[i] = new IntExpr[9];
16 for (int j = 0; j < 9; j++) {
17 X[i][j] = (IntExpr) ctx.mkConst(ctx.mkSymbol("x_" + (i + 1) + "_" + (j + 1)), ctx.getIntSort());
18 }
19 }
20
21 // Cell value from 1 - 9
22 BoolExpr[][] cells = new BoolExpr[9][];
23 for (int i = 0; i < 9; i++) {
24 cells[i] = new BoolExpr[9];
25 for (int j = 0; j < 9; j++) {
26 cells[i][j] = ctx.mkAnd(ctx.mkLe(ctx.mkInt(1), X[i][j]), ctx.mkLe(X[i][j], ctx.mkInt(9)));
27 }
28 }
29
30 // Each value in a row is distinct
31 BoolExpr[] row = new BoolExpr[9];
32 for (int i = 0; i < 9; i++) {
33 row[i] = ctx.mkDistinct(X[i]);
34 }
35
36 // Each value in a col is distinct
37 BoolExpr[] col = new BoolExpr[9];
38 for (int j = 0; j < 9; j++) {
39 IntExpr[] one_col = new IntExpr[9];
40 for (int i = 0; i < 9; i++) {
41 one_col[i] = X[i][j];
42 }
43 col[j] = ctx.mkDistinct(one_col);
44 }
45
46
47 // Each value in a 3*3 square is distinct
48 BoolExpr[][] squares = new BoolExpr[3][];
49 for (int x = 0; x < 3; x++) {
50 squares[x] = new BoolExpr[3];
51 for (int y = 0; y < 3; y++) {
52 IntExpr[] square = new IntExpr[9];
53 for (int i = 0; i < 3; i++) {
54 for (int j = 0; j < 3; j++) {
55 square[3 * i + j] = X[3 * x + i][3 * y + j];
56 }
57 }
58 squares[x][y] = ctx.mkDistinct(square);
59 }
60 }
61
62 // Combine all conditions
63 BoolExpr sudoku = ctx.mkTrue();
64 for (BoolExpr[] e: cells) {
65 sudoku = ctx.mkAnd(ctx.mkAnd(e), sudoku);
66 }
67 sudoku = ctx.mkAnd(ctx.mkAnd(row), sudoku);
68 sudoku = ctx.mkAnd(ctx.mkAnd(col), sudoku);
69 for (BoolExpr[] e: squares) {
70 sudoku = ctx.mkAnd(ctx.mkAnd(e), sudoku);
71 }
72
73 int[][] instance = { { 0, 0, 0, 0, 9, 4, 0, 3, 0 },
74 { 0, 0, 0, 5, 1, 0, 0, 0, 7 }, { 0, 8, 9, 0, 0, 0, 0, 4, 0 },
75 { 0, 0, 0, 0, 0, 0, 2, 0, 8 }, { 0, 6, 0, 2, 0, 1, 0, 5, 0 },
76 { 1, 0, 2, 0, 0, 0, 0, 0, 0 }, { 0, 7, 0, 0, 0, 0, 5, 2, 0 },
77 { 9, 0, 0, 0, 6, 5, 0, 0, 0 }, { 0, 4, 0, 9, 7, 0, 0, 0, 0 } };
78
79 // Set assertions enforced by the instance
80 BoolExpr inst = ctx.mkTrue();
81 for (int i = 0; i < 9; i++) {
82 for (int j = 0; j < 9; j++) {
83 inst = ctx.mkAnd(inst, (BoolExpr) ctx.mkITE(ctx.mkEq(ctx.mkInt(instance[i][j]), ctx.mkInt(0)), ctx.mkTrue(), ctx.mkEq(X[i][j], ctx.mkInt(instance[i][j]))));
84 }
85 }
86
87 Solver s = ctx.mkSolver();
88 s.add(sudoku);
89 s.add(inst);
90
91 if (s.check() == Status.SATISFIABLE) {
92 Model m = s.getModel();
93 Expr[][] solution = new Expr[9][9];
94 for (int i = 0; i < 9; i++) {
95 for (int j = 0; j < 9; j++) {
96 solution[i][j] = m.evaluate(X[i][j], false);
97 }
98 }
99
100 System.out.println("Sudoku solution:\n");
101 for (int i = 0; i < 9; i++) {
102 for (int j = 0; j < 9; j++) {
103 System.out.print(solution[i][j] + " ");
104 }
105 System.out.println();
106 }
107 }
108 else {
109 System.out.println("No solution");
110 }
111 }
112
113 public static void main (String []args) {
114 HashMap<String, String> cfg = new HashMap<String, String>();
115 cfg.put("model", "true");
116 Context ctx = new Context(cfg);
117 sudoku(ctx);
118 }
119
120} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/ExpressionEvaluation2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/ExpressionEvaluation2Logic.xtend
index f474ded4..b4303739 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/ExpressionEvaluation2Logic.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/ExpressionEvaluation2Logic.xtend
@@ -16,12 +16,20 @@ import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
16 16
17class ExpressionEvaluation2Logic { 17class ExpressionEvaluation2Logic {
18 val extension LogicProblemBuilder builder = new LogicProblemBuilder 18 val extension LogicProblemBuilder builder = new LogicProblemBuilder
19 val NumericProblemSolver numericSolver = new NumericProblemSolver
19 20
20 def Term transformCheck(XExpression expression, Map<PVariable, Variable> variable2Variable) { 21 def Term transformCheck(XExpression expression, Map<PVariable, Variable> variable2Variable) {
21 return expression.transform(variable2Variable) 22 return expression.transform(variable2Variable)
22 } 23 }
24
23 def Term transformEval(PVariable target, XExpression expression, Map<PVariable, Variable> variable2Variable) { 25 def Term transformEval(PVariable target, XExpression expression, Map<PVariable, Variable> variable2Variable) {
24 return target.lookup(variable2Variable) == expression.transform(variable2Variable) 26// numericSolver.testIsNotSat(expression, expression.transform(variable2Variable));
27// numericSolver.testGetOneSol(expression, expression.transform(variable2Variable));
28// numericSolver.testGetOneSol2(expression, expression.transform(variable2Variable));
29// numericSolver.testGetOneSol3(expression, expression.transform(variable2Variable));
30// numericSolver.testIsSat(expression, expression.transform(variable2Variable));
31
32 return expression.transform(variable2Variable)
25 } 33 }
26 34
27 static val N_Base = "org.eclipse.xtext.xbase.lib." 35 static val N_Base = "org.eclipse.xtext.xbase.lib."
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/FakeIntegerElement.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/FakeIntegerElement.java
new file mode 100644
index 00000000..7b8634c4
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/FakeIntegerElement.java
@@ -0,0 +1,169 @@
1package hu.bme.mit.inf.dslreasoner.viatra2logic;
2
3import java.lang.reflect.InvocationTargetException;
4
5import org.eclipse.emf.common.notify.Adapter;
6import org.eclipse.emf.common.notify.Notification;
7import org.eclipse.emf.common.util.EList;
8import org.eclipse.emf.common.util.TreeIterator;
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.EObject;
11import org.eclipse.emf.ecore.EOperation;
12import org.eclipse.emf.ecore.EReference;
13import org.eclipse.emf.ecore.EStructuralFeature;
14import org.eclipse.emf.ecore.resource.Resource;
15
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition;
17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PrimitiveElement;
18
19public class FakeIntegerElement implements PrimitiveElement{
20
21 public FakeIntegerElement() {
22
23 }
24
25 @Override
26 public EList<TypeDefinition> getDefinedInType() {
27 // TODO Auto-generated method stub
28 return null;
29 }
30
31 @Override
32 public String getName() {
33 // TODO Auto-generated method stub
34 return null;
35 }
36
37 @Override
38 public void setName(String value) {
39 // TODO Auto-generated method stub
40
41 }
42
43 @Override
44 public EClass eClass() {
45 // TODO Auto-generated method stub
46 return null;
47 }
48
49 @Override
50 public Resource eResource() {
51 // TODO Auto-generated method stub
52 return null;
53 }
54
55 @Override
56 public EObject eContainer() {
57 // TODO Auto-generated method stub
58 return null;
59 }
60
61 @Override
62 public EStructuralFeature eContainingFeature() {
63 // TODO Auto-generated method stub
64 return null;
65 }
66
67 @Override
68 public EReference eContainmentFeature() {
69 // TODO Auto-generated method stub
70 return null;
71 }
72
73 @Override
74 public EList<EObject> eContents() {
75 // TODO Auto-generated method stub
76 return null;
77 }
78
79 @Override
80 public TreeIterator<EObject> eAllContents() {
81 // TODO Auto-generated method stub
82 return null;
83 }
84
85 @Override
86 public boolean eIsProxy() {
87 // TODO Auto-generated method stub
88 return false;
89 }
90
91 @Override
92 public EList<EObject> eCrossReferences() {
93 // TODO Auto-generated method stub
94 return null;
95 }
96
97 @Override
98 public Object eGet(EStructuralFeature feature) {
99 // TODO Auto-generated method stub
100 return null;
101 }
102
103 @Override
104 public Object eGet(EStructuralFeature feature, boolean resolve) {
105 // TODO Auto-generated method stub
106 return null;
107 }
108
109 @Override
110 public void eSet(EStructuralFeature feature, Object newValue) {
111 // TODO Auto-generated method stub
112
113 }
114
115 @Override
116 public boolean eIsSet(EStructuralFeature feature) {
117 // TODO Auto-generated method stub
118 return false;
119 }
120
121 @Override
122 public void eUnset(EStructuralFeature feature) {
123 // TODO Auto-generated method stub
124
125 }
126
127 @Override
128 public Object eInvoke(EOperation operation, EList<?> arguments) throws InvocationTargetException {
129 // TODO Auto-generated method stub
130 return null;
131 }
132
133 @Override
134 public EList<Adapter> eAdapters() {
135 // TODO Auto-generated method stub
136 return null;
137 }
138
139 @Override
140 public boolean eDeliver() {
141 // TODO Auto-generated method stub
142 return false;
143 }
144
145 @Override
146 public void eSetDeliver(boolean deliver) {
147 // TODO Auto-generated method stub
148
149 }
150
151 @Override
152 public void eNotify(Notification notification) {
153 // TODO Auto-generated method stub
154
155 }
156
157 @Override
158 public boolean isValueSet() {
159 // TODO Auto-generated method stub
160 return false;
161 }
162
163 @Override
164 public void setValueSet(boolean value) {
165 // TODO Auto-generated method stub
166
167 }
168
169}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java
new file mode 100644
index 00000000..0b249962
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java
@@ -0,0 +1,473 @@
1package hu.bme.mit.inf.dslreasoner.viatra2logic;
2
3import java.math.BigDecimal;
4import java.util.ArrayList;
5import java.util.HashMap;
6import java.util.HashSet;
7import java.util.List;
8import java.util.Map;
9import java.util.Map.Entry;
10import java.util.Random;
11import java.util.Set;
12
13import org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint;
14import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation;
15import org.eclipse.xtext.common.types.JvmIdentifiableElement;
16import org.eclipse.xtext.xbase.XBinaryOperation;
17import org.eclipse.xtext.xbase.XExpression;
18import org.eclipse.xtext.xbase.XFeatureCall;
19import org.eclipse.xtext.xbase.XNumberLiteral;
20
21import com.microsoft.z3.ArithExpr;
22import com.microsoft.z3.BoolExpr;
23import com.microsoft.z3.Context;
24import com.microsoft.z3.Expr;
25import com.microsoft.z3.IntExpr;
26import com.microsoft.z3.Model;
27import com.microsoft.z3.RealExpr;
28import com.microsoft.z3.Solver;
29import com.microsoft.z3.Status;
30import com.microsoft.z3.enumerations.Z3_ast_print_mode;
31
32import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term;
33import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.IntegerElement;
34import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RealElement;
35import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PrimitiveElement;
36
37
38public class NumericProblemSolver {
39 private static final String N_Base = "org.eclipse.xtext.xbase.lib.";
40 private static final String N_PLUS = "operator_plus";
41 private static final String N_MINUS = "operator_minus";
42 private static final String N_POWER = "operator_power";
43 private static final String N_MULTIPLY = "operator_multiply";
44 private static final String N_DIVIDE = "operator_divide";
45 private static final String N_MODULO = "operator_modulo";
46 private static final String N_LESSTHAN = "operator_lessThan";
47 private static final String N_LESSEQUALSTHAN = "operator_lessEqualsThan";
48 private static final String N_GREATERTHAN = "operator_greaterThan";
49 private static final String N_GREATEREQUALTHAN = "operator_greaterEqualsThan";
50 private static final String N_EQUALS = "operator_equals";
51 private static final String N_NOTEQUALS = "operator_notEquals";
52 private static final String N_EQUALS3 = "operator_tripleEquals";
53 private static final String N_NOTEQUALS3 = "operator_tripleNotEquals";
54
55
56 private Context ctx;
57 private Solver s;
58 private Map<Object, Expr> varMap;
59
60 long endformingProblem=0;
61 long endSolvingProblem=0;
62 long endFormingSolution=0;
63
64 public NumericProblemSolver() {
65 HashMap<String, String> cfg = new HashMap<String, String>();
66 cfg.put("model", "true");
67 ctx = new Context(cfg);
68 ctx.setPrintMode(Z3_ast_print_mode.Z3_PRINT_SMTLIB_FULL);
69 s = ctx.mkSolver();
70 varMap = new HashMap<Object, Expr>();
71 }
72
73 public Context getNumericProblemContext() {
74 return ctx;
75 }
76
77 public long getEndformingProblem() {
78 return endformingProblem;
79 }
80
81 public long getEndSolvingProblem() {
82 return endSolvingProblem;
83 }
84
85 public long getEndFormingSolution() {
86 return endFormingSolution;
87 }
88
89 private ArrayList<JvmIdentifiableElement> getJvmIdentifiableElements(XExpression expression) {
90 ArrayList<JvmIdentifiableElement> allElem = new ArrayList<JvmIdentifiableElement>();
91 XExpression left = ((XBinaryOperation) expression).getLeftOperand();
92 XExpression right = ((XBinaryOperation) expression).getRightOperand();
93
94 getJvmIdentifiableElementsHelper(left, allElem);
95 getJvmIdentifiableElementsHelper(right, allElem);
96 return allElem;
97 }
98
99 private void getJvmIdentifiableElementsHelper(XExpression e, List<JvmIdentifiableElement> allElem) {
100 if (e instanceof XFeatureCall) {
101 allElem.add(((XFeatureCall) e).getFeature());
102 } else if (e instanceof XBinaryOperation) {
103 getJvmIdentifiableElementsHelper(((XBinaryOperation) e).getLeftOperand(), allElem);
104 getJvmIdentifiableElementsHelper(((XBinaryOperation) e).getRightOperand(), allElem);
105 }
106 }
107
108 public boolean isSatisfiable(Map<XExpression, Iterable<Map<JvmIdentifiableElement,PrimitiveElement>>> matches) throws Exception {
109 long startformingProblem = System.nanoTime();
110 BoolExpr problemInstance = formNumericProblemInstance(matches);
111 s.add(problemInstance);
112 endformingProblem = System.nanoTime()-startformingProblem;
113 long startSolvingProblem = System.nanoTime();
114 boolean result = (s.check() == Status.SATISFIABLE);
115 endSolvingProblem = System.nanoTime()-startSolvingProblem;
116 this.ctx.close();
117 return result;
118 }
119
120 public Map<PrimitiveElement,Number> getOneSolution(List<PrimitiveElement> objs, Map<XExpression, Iterable<Map<JvmIdentifiableElement,PrimitiveElement>>> matches) throws Exception {
121 Map<PrimitiveElement,Number> sol = new HashMap<PrimitiveElement, Number>();
122 long startformingProblem = System.nanoTime();
123 BoolExpr problemInstance = formNumericProblemInstance(matches);
124 endformingProblem = System.nanoTime()-startformingProblem;
125 //System.out.println("Forming problem: " + (endformingProblem - startformingProblem));
126 s.add(problemInstance);
127 long startSolvingProblem = System.nanoTime();
128 if (s.check() == Status.SATISFIABLE) {
129 Model m = s.getModel();
130 endSolvingProblem = System.nanoTime()-startSolvingProblem;
131 //System.out.println("Solving problem: " + (endSolvingProblem - startSolvingProblem));
132 long startFormingSolution = System.nanoTime();
133 for (PrimitiveElement o: objs) {
134 if(varMap.containsKey(o)) {
135 if (o instanceof IntegerElement) {
136 IntExpr val =(IntExpr) m.evaluate(varMap.get(o), false);
137 Integer oSol = Integer.parseInt(val.toString());
138 sol.put(o, oSol);
139 } else {
140 RealExpr val = (RealExpr) m.evaluate(varMap.get(o), false);
141 Double oSol = Double.parseDouble(val.toString());
142 sol.put(o, oSol);
143 }
144 //System.out.println("Solution:" + o + "->" + oSol);
145
146 } else {
147 //System.out.println("not used var:" + o);
148 }
149 }
150 endFormingSolution = System.nanoTime()-startFormingSolution;
151 //System.out.println("Forming solution: " + (endFormingSolution - startFormingSolution));
152 } else {
153 System.out.println("Unsatisfiable numerical problem");
154 }
155 this.ctx.close();
156 return sol;
157 }
158
159 private BoolExpr formNumericConstraint(XExpression e, Map<JvmIdentifiableElement, PrimitiveElement> aMatch) throws Exception {
160 if (!(e instanceof XBinaryOperation)) {
161 throw new Exception ("error in check expression!!!");
162 }
163
164 String name = ((XBinaryOperation) e).getFeature().getQualifiedName();
165
166 BoolExpr constraint = null;
167
168 ArithExpr left_operand = formNumericConstraintHelper(((XBinaryOperation) e).getLeftOperand(), aMatch);
169 ArithExpr right_operand = formNumericConstraintHelper(((XBinaryOperation) e).getRightOperand(), aMatch);
170
171 if (nameEndsWith(name, N_LESSTHAN)) {
172 constraint = ctx.mkLt(left_operand, right_operand);
173 } else if (nameEndsWith(name, N_LESSEQUALSTHAN)) {
174 constraint = ctx.mkLe(left_operand, right_operand);
175 } else if (nameEndsWith(name, N_GREATERTHAN)) {
176 constraint = ctx.mkGt(left_operand, right_operand);
177 } else if (nameEndsWith(name, N_GREATEREQUALTHAN)) {
178 constraint = ctx.mkGe(left_operand, right_operand);
179 } else if (nameEndsWith(name, N_EQUALS)) {
180 constraint = ctx.mkEq(left_operand, right_operand);
181 } else if (nameEndsWith(name, N_NOTEQUALS)) {
182 constraint = ctx.mkDistinct(left_operand, right_operand);
183 } else if (nameEndsWith(name, N_EQUALS3)) {
184 constraint = ctx.mkGe(left_operand, right_operand); // ???
185 } else if (nameEndsWith(name, N_NOTEQUALS3)) {
186 constraint = ctx.mkGe(left_operand, right_operand); // ???
187 } else {
188 throw new Exception ("Unsupported binary operation " + name);
189 }
190
191 return constraint;
192 }
193
194 private ArithExpr formNumericConstraintHelper(XExpression e, Map<JvmIdentifiableElement, PrimitiveElement> aMatch) throws Exception {
195 ArithExpr expr = null;
196 // Variables
197 if (e instanceof XFeatureCall) {
198 PrimitiveElement matchedObj = aMatch.get(((XFeatureCall) e).getFeature());
199 boolean isInt = matchedObj instanceof IntegerElement;
200 if (!matchedObj.isValueSet()) {
201 if (varMap.get(matchedObj) == null) {
202 String var_name = ((XFeatureCall) e).getFeature().getQualifiedName() + matchedObj.toString();
203 if (isInt) {
204 expr = (ArithExpr) ctx.mkConst(ctx.mkSymbol(var_name), ctx.getIntSort());
205 } else {
206 expr = (ArithExpr) ctx.mkConst(ctx.mkSymbol(var_name), ctx.getRealSort());
207 }
208 varMap.put(matchedObj, expr);
209 } else {
210 expr = (ArithExpr) varMap.get(matchedObj);
211 }
212 } else {
213 if (isInt) {
214 int value = ((IntegerElement) matchedObj).getValue();
215 expr = (ArithExpr) ctx.mkInt(value);
216 } else {
217 double value = ((RealElement) matchedObj).getValue().doubleValue();
218 expr = (ArithExpr) ctx.mkReal(String.valueOf(value));
219 }
220 varMap.put(matchedObj, expr);
221 }
222 }
223 // Constants
224 else if (e instanceof XNumberLiteral) {
225 String value = ((XNumberLiteral) e).getValue();
226 try{
227 int val = Integer.parseInt(value);
228 expr = (ArithExpr) ctx.mkInt(val);
229 } catch(NumberFormatException err){
230 try{
231 expr = (ArithExpr) ctx.mkReal(value);
232 } catch(NumberFormatException err2){}
233 }
234 }
235 // Expressions with operators
236 else if (e instanceof XBinaryOperation) {
237 String name = ((XBinaryOperation) e).getFeature().getQualifiedName();
238 ArithExpr left_operand = formNumericConstraintHelper(((XBinaryOperation) e).getLeftOperand(), aMatch);
239 ArithExpr right_operand = formNumericConstraintHelper(((XBinaryOperation) e).getRightOperand(), aMatch);
240
241 if (nameEndsWith(name, N_PLUS)) {
242 expr = ctx.mkAdd(left_operand, right_operand);
243 } else if (nameEndsWith(name, N_MINUS)) {
244 expr = ctx.mkAdd(left_operand, ctx.mkUnaryMinus(right_operand));
245 } else if (nameEndsWith(name, N_POWER)) {
246 expr = ctx.mkPower(left_operand, right_operand);
247 } else if (nameEndsWith(name, N_MULTIPLY)) {
248 expr = ctx.mkMul(left_operand, right_operand);
249 } else if (nameEndsWith(name, N_DIVIDE)) {
250 expr = ctx.mkDiv(left_operand, right_operand);
251 } else if (nameEndsWith(name, N_MODULO)) {
252 expr = ctx.mkMod((IntExpr)left_operand, (IntExpr)right_operand);
253 } else {
254 throw new Exception ("Unsupported binary operation " + name);
255 }
256 } else {
257 throw new Exception ("Unsupported expression " + e.getClass().getSimpleName());
258 }
259 return expr;
260
261 }
262
263 private boolean nameEndsWith(String name, String end) {
264 return name.startsWith(N_Base) && name.endsWith(end);
265 }
266
267 private BoolExpr formNumericProblemInstance(Map<XExpression, Iterable<Map<JvmIdentifiableElement,PrimitiveElement>>> matches) throws Exception {
268 BoolExpr constraintInstances = ctx.mkTrue();
269 for (XExpression e: matches.keySet()) {
270 Iterable<Map<JvmIdentifiableElement, PrimitiveElement>> matchSets = matches.get(e);
271 for (Map<JvmIdentifiableElement, PrimitiveElement> aMatch: matchSets) {
272 BoolExpr constraintInstance = ctx.mkNot(formNumericConstraint(e, aMatch));
273 constraintInstances = ctx.mkAnd(constraintInstances, constraintInstance);
274 }
275 }
276 return constraintInstances;
277 }
278
279
280 /*
281 public void testIsSat(XExpression expression, Term t) throws Exception {
282 int count = 10000;
283 Map<XExpression, Set<Map<JvmIdentifiableElement,PrimitiveElement>>> matches = new HashMap<XExpression, Set<Map<JvmIdentifiableElement,PrimitiveElement>>>();
284 Set<Map<JvmIdentifiableElement,PrimitiveElement>> matchSet = new HashSet<Map<JvmIdentifiableElement,PrimitiveElement>>();
285 ArrayList<JvmIdentifiableElement> allElem = getJvmIdentifiableElements(expression);
286
287 for (int i = 0; i < count; i++) {
288 Map<JvmIdentifiableElement,PrimitiveElement> match = new HashMap<JvmIdentifiableElement,PrimitiveElement>();
289 for (JvmIdentifiableElement e: allElem) {
290 FakeIntegerElement intE = new FakeIntegerElement();
291 match.put(e, intE);
292 }
293 matchSet.add(match);
294 }
295
296 matches.put(expression, matchSet);
297 long start = System.currentTimeMillis();
298 boolean sat = isSatisfiable(matches);
299 long end = System.currentTimeMillis();
300 System.out.println(sat);
301 System.out.println("Number of matches: " + count);
302 System.out.println("Running time:" + (end - start));
303 }
304
305 public void testIsNotSat(XExpression expression, Term t) throws Exception {
306 Map<XExpression, Set<Map<JvmIdentifiableElement,PrimitiveElement>>> matches = new HashMap<XExpression, Set<Map<JvmIdentifiableElement,PrimitiveElement>>>();
307 Set<Map<JvmIdentifiableElement,PrimitiveElement>> matchSet = new HashSet<Map<JvmIdentifiableElement,PrimitiveElement>>();
308 Map<JvmIdentifiableElement,PrimitiveElement> match = new HashMap<JvmIdentifiableElement,PrimitiveElement>();
309 ArrayList<JvmIdentifiableElement> allElem = getJvmIdentifiableElements(expression);
310 FakeIntegerElement int1 = null;
311 FakeIntegerElement int2 = null;
312 boolean first = true;
313 for (JvmIdentifiableElement e: allElem) {
314 FakeIntegerElement intE = new FakeIntegerElement();
315 if (first) {
316 int1 = intE;
317 first = false;
318 } else {
319 int2 = intE;
320 }
321
322 match.put(e, intE);
323 }
324 matchSet.add(match);
325
326 Map<JvmIdentifiableElement,PrimitiveElement> match2 = new HashMap<JvmIdentifiableElement,PrimitiveElement>();
327 boolean first2 = true;
328 for (JvmIdentifiableElement e: allElem) {
329 if (first2) {
330 match2.put(e, int2);
331 first2 = false;
332 } else {
333 match2.put(e, int1);
334 }
335 }
336 matchSet.add(match2);
337
338 matches.put(expression, matchSet);
339 long start = System.currentTimeMillis();
340 boolean sat = isSatisfiable(matches);
341 long end = System.currentTimeMillis();
342 System.out.println(sat);
343 System.out.println("Number of matches: ");
344 System.out.println("Running time:" + (end - start));
345 }
346 */
347
348 /* public void testGetOneSol(XExpression expression, Term t) throws Exception {
349 int count = 10;
350 Map<XExpression, Iterable<Map<JvmIdentifiableElement,PrimitiveElement>>> matches = new HashMap<XExpression, Iterable<Map<JvmIdentifiableElement,PrimitiveElement>>>();
351 Iterable<Map<JvmIdentifiableElement,PrimitiveElement>> matchSet = new ArrayList<Map<JvmIdentifiableElement,PrimitiveElement>>();
352
353 ArrayList<JvmIdentifiableElement> allElem = getJvmIdentifiableElements(expression);
354 List<PrimitiveElement> obj = new ArrayList<PrimitiveElement>();
355
356 for (int i = 0; i < count; i++) {
357 Map<JvmIdentifiableElement,PrimitiveElement> match = new HashMap<JvmIdentifiableElement,PrimitiveElement>();
358 for (JvmIdentifiableElement e: allElem) {
359 FakeIntegerElement intE = new FakeIntegerElement();
360 obj.add(intE);
361 match.put(e, intE);
362 }
363 ((ArrayList) matchSet).add(match);
364 matches.put(expression, matchSet);
365 }
366
367 long start = System.currentTimeMillis();
368 Map<PrimitiveElement,Integer> sol = getOneSolution(obj, matches);
369 long end = System.currentTimeMillis();
370
371
372 // Print sol
373 for (Object o: sol.keySet()) {
374 System.out.println(o + " :" + sol.get(o));
375 }
376
377
378 System.out.println("Number of matches: " + count);
379 System.out.println("Running time:" + (end - start));
380 }*/
381 /*
382 public void testGetOneSol2(XExpression expression, Term t) throws Exception {
383 int count = 250;
384 Map<XExpression, Set<Map<JvmIdentifiableElement,PrimitiveElement>>> matches = new HashMap<XExpression, Set<Map<JvmIdentifiableElement,PrimitiveElement>>>();
385 Set<Map<JvmIdentifiableElement,PrimitiveElement>> matchSet = new HashSet<Map<JvmIdentifiableElement,PrimitiveElement>>();
386 ArrayList<JvmIdentifiableElement> allElem = getJvmIdentifiableElements(expression);
387 List<Object> obj = new ArrayList<Object>();
388 for (int i = 0; i < count; i++) {
389 Map<JvmIdentifiableElement,PrimitiveElement> match = new HashMap<JvmIdentifiableElement,PrimitiveElement>();
390 FakeIntegerElement int2 = null;
391 boolean first = false;
392 for (JvmIdentifiableElement e: allElem) {
393 FakeIntegerElement intE = new FakeIntegerElement();
394 if (first) {
395 first = false;
396 } else {
397 int2 = intE;
398 }
399 obj.add(intE);
400 match.put(e, intE);
401 }
402
403 Map<JvmIdentifiableElement,PrimitiveElement> match2 = new HashMap<JvmIdentifiableElement,PrimitiveElement>();
404 boolean first2 = true;
405 for (JvmIdentifiableElement e: allElem) {
406 FakeIntegerElement intE = null;
407 if (first2) {
408 intE = int2;
409 first2 = false;
410 } else {
411 intE = new FakeIntegerElement();
412 }
413 obj.add(intE);
414 match2.put(e, intE);
415 }
416
417
418 matchSet.add(match);
419 matchSet.add(match2);
420 }
421 matches.put(expression, matchSet);
422
423 System.out.println("Number of matches: " + matchSet.size());
424 for (int i = 0; i < 10; i++) {
425 Map<Object,Integer> sol = getOneSolution(obj, matches);
426 System.out.println("**********************");
427 Thread.sleep(3000);
428 }
429 }
430
431 public void testGetOneSol3(XExpression expression, Term t) throws Exception {
432 int count = 15000;
433 Random rand = new Random();
434 Map<XExpression, Set<Map<JvmIdentifiableElement,PrimitiveElement>>> matches = new HashMap<XExpression, Set<Map<JvmIdentifiableElement,PrimitiveElement>>>();
435 Set<Map<JvmIdentifiableElement,PrimitiveElement>> matchSet = new HashSet<Map<JvmIdentifiableElement,PrimitiveElement>>();
436 ArrayList<JvmIdentifiableElement> allElem = getJvmIdentifiableElements(expression);
437 List<Object> obj = new ArrayList<Object>();
438 for (int i = 0; i < count; i++) {
439 Map<JvmIdentifiableElement,PrimitiveElement> match = new HashMap<JvmIdentifiableElement,PrimitiveElement>();
440 if (obj.size() > 1) {
441 for (JvmIdentifiableElement e: allElem) {
442 FakeIntegerElement intE = null;
443 int useOld = rand.nextInt(10);
444 if (useOld == 1) {
445 System.out.println("here ");
446 int index = rand.nextInt(obj.size());
447 intE = (FakeIntegerElement) obj.get(index);
448 } else {
449 intE = new FakeIntegerElement();
450 }
451 obj.add(intE);
452 match.put(e, intE);
453 }
454 } else {
455 for (JvmIdentifiableElement e: allElem) {
456 FakeIntegerElement intE = new FakeIntegerElement();
457 obj.add(intE);
458 match.put(e, intE);
459 }
460 }
461 matchSet.add(match);
462 }
463 matches.put(expression, matchSet);
464
465 System.out.println("Number of matches: " + matchSet.size());
466 for (int i = 0; i < 10; i++) {
467 Map<Object,Integer> sol = getOneSolution(obj, matches);
468 System.out.println("**********************");
469 Thread.sleep(3000);
470 }
471 }
472 */
473}
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericTranslator.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericTranslator.xtend
new file mode 100644
index 00000000..81bc1796
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericTranslator.xtend
@@ -0,0 +1,80 @@
1package hu.bme.mit.inf.dslreasoner.viatra2logic
2
3import org.eclipse.xtext.xbase.XExpression
4import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation
5import org.eclipse.xtext.common.types.JvmIdentifiableElement
6import java.util.Set
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PrimitiveElement
8import java.util.Map
9import com.microsoft.z3.BoolExpr
10import org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint
11import java.util.Map.Entry
12import org.eclipse.xtext.xbase.XFeatureCall
13import java.util.Comparator
14import java.util.ArrayList
15import java.util.HashMap
16import java.util.List
17
18class NumericTranslator {
19
20 private XExpressionExtractor extractor = new XExpressionExtractor();
21
22 long formingProblemTime=0;
23 long solvingProblemTime=0;
24 long formingSolutionTime=0;
25
26 val comparator = new Comparator<JvmIdentifiableElement>(){
27 override compare(JvmIdentifiableElement o1, JvmIdentifiableElement o2) {
28 //println('''«o1.simpleName» - «o2.simpleName»''')
29 o1.simpleName.compareTo(o2.simpleName)
30 }
31 }
32 def Map<JvmIdentifiableElement, PrimitiveElement> arrayToMap(Object[] tuple, ArrayList<JvmIdentifiableElement> variablesInOrder) {
33 val res = new HashMap
34 for(var i=0; i<tuple.length; i++) {
35 res.put(variablesInOrder.get(i),tuple.get(i) as PrimitiveElement)
36 }
37 return res
38 }
39 def formNumericProblemInstance(Map<PConstraint, Iterable<Object[]>> matches) throws Exception {
40 val res = new HashMap
41 for (Entry<PConstraint, Iterable<Object[]>> entry: matches.entrySet()) {
42 val ExpressionEvaluation constraint = entry.getKey() as ExpressionEvaluation;
43 val XExpression expression = extractor.extractExpression(constraint.getEvaluator());
44 val Iterable<Object[]> tuples = entry.getValue();
45 val features = expression.eAllContents.filter(XFeatureCall).map[it.feature].toSet
46 val variablesInOrder = new ArrayList(features)
47 variablesInOrder.toList.sort(comparator)
48 //println(variablesInOrder)
49 val map = tuples.map[it.arrayToMap(variablesInOrder)]
50 res.put(expression,map)
51 }
52 return res
53 }
54
55 def delegateIsSatisfiable(Map<PConstraint, Iterable<Object[]>> matches) {
56 val input = formNumericProblemInstance(matches)
57 val solver = new NumericProblemSolver
58 val satisfiability = solver.isSatisfiable(input)
59 solver.updateTimes
60 return satisfiability
61 }
62
63 def delegateGetSolution(List<PrimitiveElement> primitiveElements, Map<PConstraint, Iterable<Object[]>> matches) {
64 val input = formNumericProblemInstance(matches)
65 val solver = new NumericProblemSolver
66 val solution = solver.getOneSolution(primitiveElements,input)
67 solver.updateTimes
68 return solution
69 }
70
71 private def updateTimes(NumericProblemSolver s) {
72 this.formingProblemTime += s.getEndformingProblem
73 this.solvingProblemTime += s.getEndSolvingProblem
74 this.formingSolutionTime += s.getEndFormingSolution
75 }
76
77 def getFormingProblemTime() {formingProblemTime}
78 def getSolvingProblemTime() {solvingProblemTime}
79 def getFormingSolutionTime() {formingSolutionTime}
80} \ No newline at end of file
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend
index 0f97d3fe..74e03f71 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend
@@ -144,6 +144,7 @@ class Viatra2Logic {
144 it.target = lRelation 144 it.target = lRelation
145 it.patternFullyQualifiedName = pquery.fullyQualifiedName 145 it.patternFullyQualifiedName = pquery.fullyQualifiedName
146 it.patternPQuery = pquery 146 it.patternPQuery = pquery
147 it.optimizedDisjunction = viatra2LogicTrace.query2Disjunction.get(pquery)
147 ] 148 ]
148 viatra2LogicTrace.query2Annotation.put(pquery,annotation) 149 viatra2LogicTrace.query2Annotation.put(pquery,annotation)
149 ecore2LogicTrace.output.annotations += annotation 150 ecore2LogicTrace.output.annotations += annotation
@@ -248,6 +249,10 @@ class Viatra2Logic {
248 innerPositiveVariables += logicVariable 249 innerPositiveVariables += logicVariable
249 } 250 }
250 variable2Variable.put(innerVariable,logicVariable) 251 variable2Variable.put(innerVariable,logicVariable)
252 body.pattern.lookup(viatra2LogicTrace.query2Annotation).variableTrace += createVariableMapping=>[
253 it.sourcePVariable = innerVariable
254 it.targetLogicVariable = logicVariable
255 ]
251 } 256 }
252 } 257 }
253 } 258 }
@@ -267,7 +272,7 @@ class Viatra2Logic {
267 } else { 272 } else {
268 Exists(innerPositiveVariables,allNegativeVariablesAreSatisfied); 273 Exists(innerPositiveVariables,allNegativeVariablesAreSatisfied);
269 } 274 }
270 275
271 return allVariablesAreExisting 276 return allVariablesAreExisting
272 } 277 }
273 278