aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2024-02-20 01:27:51 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2024-04-07 14:55:46 +0200
commit01960723de5ca42e28dc8f162d4fe9e24c23c0b8 (patch)
treec391738a378d079d4c3b1aa8966c6b66d60ee4c9
parentfeat: subproject for z3 integration (diff)
downloadrefinery-01960723de5ca42e28dc8f162d4fe9e24c23c0b8.tar.gz
refinery-01960723de5ca42e28dc8f162d4fe9e24c23c0b8.tar.zst
refinery-01960723de5ca42e28dc8f162d4fe9e24c23c0b8.zip
feat(language): datatype declarations
Also changes ReferenceDeclaration to declare attributes, since reference and attributes can only be distinguished at linking time.
-rw-r--r--subprojects/frontend/src/editor/EditorTheme.ts5
-rw-r--r--subprojects/frontend/src/language/problem.grammar19
-rw-r--r--subprojects/frontend/src/language/problemLanguageSupport.ts8
-rw-r--r--subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java5
-rw-r--r--subprojects/language-model/problem.aird527
-rw-r--r--subprojects/language-model/src/main/resources/model/problem.ecore23
-rw-r--r--subprojects/language-model/src/main/resources/model/problem.genmodel14
-rw-r--r--subprojects/language-semantics/src/main/java/tools/refinery/language/semantics/ModelInitializer.java28
-rw-r--r--subprojects/language/src/main/java/tools/refinery/language/Problem.xtext19
-rw-r--r--subprojects/language/src/main/java/tools/refinery/language/resource/state/ProblemDerivedStateComputer.java15
-rw-r--r--subprojects/language/src/main/java/tools/refinery/language/utils/ProblemDesugarer.java6
-rw-r--r--subprojects/language/src/main/java/tools/refinery/language/utils/ProblemUtil.java10
-rw-r--r--subprojects/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java5
-rw-r--r--subprojects/language/src/main/resources/tools/refinery/language/library/builtin.refinery6
-rw-r--r--subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedClassDeclaration.java6
15 files changed, 288 insertions, 408 deletions
diff --git a/subprojects/frontend/src/editor/EditorTheme.ts b/subprojects/frontend/src/editor/EditorTheme.ts
index 6deda080..b211f2a7 100644
--- a/subprojects/frontend/src/editor/EditorTheme.ts
+++ b/subprojects/frontend/src/editor/EditorTheme.ts
@@ -166,6 +166,11 @@ export default styled('div', {
166 '.tok-problem-abstract': { 166 '.tok-problem-abstract': {
167 fontStyle: 'italic', 167 fontStyle: 'italic',
168 }, 168 },
169 '.tok-problem-datatype': {
170 '&, & .tok-typeName': {
171 color: theme.palette.primary.main,
172 },
173 },
169 '.tok-problem-containment': { 174 '.tok-problem-containment': {
170 fontWeight: theme.typography.fontWeightEditorBold, 175 fontWeight: theme.typography.fontWeightEditorBold,
171 textDecorationSkipInk: 'none', 176 textDecorationSkipInk: 'none',
diff --git a/subprojects/frontend/src/language/problem.grammar b/subprojects/frontend/src/language/problem.grammar
index b69ee73f..32f76f6a 100644
--- a/subprojects/frontend/src/language/problem.grammar
+++ b/subprojects/frontend/src/language/problem.grammar
@@ -42,6 +42,9 @@ statement {
42 kw<"enum"> RelationName 42 kw<"enum"> RelationName
43 (EnumBody { "{" sep<",", AtomNodeName> "}" } | ".") 43 (EnumBody { "{" sep<",", AtomNodeName> "}" } | ".")
44 } | 44 } |
45 DatatypeDeclaration {
46 kw<"extern"> kw<"datatype"> DatatypeName "."
47 } |
45 PredicateDefinition { 48 PredicateDefinition {
46 ( 49 (
47 (kw<"error"> | ckw<"contained"> | kw<"containment">)? kw<"pred"> | 50 (kw<"error"> | ckw<"contained"> | kw<"containment">)? kw<"pred"> |
@@ -50,10 +53,10 @@ statement {
50 RelationName ParameterList<Parameter>? 53 RelationName ParameterList<Parameter>?
51 PredicateBody { ("<->" sep<OrOp, Conjunction>)? "." } 54 PredicateBody { ("<->" sep<OrOp, Conjunction>)? "." }
52 } | 55 } |
53 FunctionDefinition { 56 // FunctionDefinition {
54 kw<"fn"> PrimitiveType RelationName ParameterList<Parameter>? 57 // kw<"fn"> RelationName RelationName ParameterList<Parameter>?
55 FunctionBody { ("=" sep<OrOp, Case>)? "." } 58 // FunctionBody { ("=" sep<OrOp, Case>)? "." }
56 } | 59 // } |
57 //RuleDefinition { 60 //RuleDefinition {
58 // kw<"rule"> 61 // kw<"rule">
59 // RuleName ParameterList<Parameter>? 62 // RuleName ParameterList<Parameter>?
@@ -77,7 +80,7 @@ FeatureDeclaration {
77 ReferenceKind !feature ~featureHead 80 ReferenceKind !feature ~featureHead
78 } | 81 } |
79 FeatureDeclarationHeadWithoutKind { 82 FeatureDeclarationHeadWithoutKind {
80 (PrimitiveType | kw<"bool">)? ~featureHead 83 ~featureHead
81 } 84 }
82 ) 85 )
83 RelationName 86 RelationName
@@ -137,10 +140,6 @@ ReferenceKind {
137 kw<"refers"> | ckw<"contains"> | kw<"container"> 140 kw<"refers"> | ckw<"contains"> | kw<"container">
138} 141}
139 142
140PrimitiveType {
141 kw<"int"> | kw<"real"> | kw<"string">
142}
143
144LogicValue { 143LogicValue {
145 kw<"true"> | kw<"false"> | kw<"unknown"> | kw<"error"> 144 kw<"true"> | kw<"false"> | kw<"unknown"> | kw<"error">
146} 145}
@@ -165,6 +164,8 @@ Multiplicity { (IntMult "..")? (IntMult | StarMult)}
165// but will go with the transtive closure (and highlight `a` as a relation) if forced. 164// but will go with the transtive closure (and highlight `a` as a relation) if forced.
166RelationName { QualifiedName ~name } 165RelationName { QualifiedName ~name }
167 166
167DatatypeName { QualifiedName }
168
168//RuleName { QualifiedName } 169//RuleName { QualifiedName }
169 170
170AtomNodeName { QualifiedName } 171AtomNodeName { QualifiedName }
diff --git a/subprojects/frontend/src/language/problemLanguageSupport.ts b/subprojects/frontend/src/language/problemLanguageSupport.ts
index 14826363..9500fbf2 100644
--- a/subprojects/frontend/src/language/problemLanguageSupport.ts
+++ b/subprojects/frontend/src/language/problemLanguageSupport.ts
@@ -28,11 +28,10 @@ const parserWithMetadata = parser.configure({
28 LineComment: t.lineComment, 28 LineComment: t.lineComment,
29 BlockComment: t.blockComment, 29 BlockComment: t.blockComment,
30 'module problem class enum pred fn scope': t.definitionKeyword, 30 'module problem class enum pred fn scope': t.definitionKeyword,
31 'import as declare atom multi': t.definitionKeyword, 31 'import as declare atom multi extern datatype': t.definitionKeyword,
32 'abstract extends refers contains container opposite': t.modifier, 32 'abstract extends refers contains container opposite': t.modifier,
33 'default error contained containment': t.modifier, 33 'default error contained containment': t.modifier,
34 'true false unknown error': t.keyword, 34 'true false unknown error': t.keyword,
35 'int real string bool': t.keyword,
36 'may must current count': t.operatorKeyword, 35 'may must current count': t.operatorKeyword,
37 'sum prod min max in': t.operatorKeyword, 36 'sum prod min max in': t.operatorKeyword,
38 // 'new delete': t.keyword, 37 // 'new delete': t.keyword,
@@ -44,6 +43,7 @@ const parserWithMetadata = parser.configure({
44 StarMult: t.number, 43 StarMult: t.number,
45 String: t.string, 44 String: t.string,
46 'RelationName/QualifiedName': t.typeName, 45 'RelationName/QualifiedName': t.typeName,
46 'DatatypeName/QualifiedName': t.keyword,
47 // 'RuleName/QualifiedName': t.typeName, 47 // 'RuleName/QualifiedName': t.typeName,
48 'AtomNodeName/QualifiedName': t.atom, 48 'AtomNodeName/QualifiedName': t.atom,
49 'VariableName/QualifiedName': t.variableName, 49 'VariableName/QualifiedName': t.variableName,
@@ -60,7 +60,7 @@ const parserWithMetadata = parser.configure({
60 NodeDeclaration: indentDeclaration, 60 NodeDeclaration: indentDeclaration,
61 ScopeDeclaration: indentDeclaration, 61 ScopeDeclaration: indentDeclaration,
62 PredicateBody: indentPredicateOrRule, 62 PredicateBody: indentPredicateOrRule,
63 FunctionBody: indentPredicateOrRule, 63 // FunctionBody: indentPredicateOrRule,
64 // RuleBody: indentPredicateOrRule, 64 // RuleBody: indentPredicateOrRule,
65 BlockComment: indentBlockComment, 65 BlockComment: indentBlockComment,
66 }), 66 }),
@@ -69,7 +69,7 @@ const parserWithMetadata = parser.configure({
69 EnumBody: foldInside, 69 EnumBody: foldInside,
70 ParameterList: foldInside, 70 ParameterList: foldInside,
71 PredicateBody: foldInside, 71 PredicateBody: foldInside,
72 FunctionBody: foldInside, 72 // FunctionBody: foldInside,
73 // RuleBody: foldInside, 73 // RuleBody: foldInside,
74 Conjunction: foldConjunction, 74 Conjunction: foldConjunction,
75 // Consequent: foldWholeNode, 75 // Consequent: foldWholeNode,
diff --git a/subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java b/subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
index 891c73c7..587f9acb 100644
--- a/subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
+++ b/subprojects/language-ide/src/main/java/tools/refinery/language/ide/syntaxcoloring/ProblemSemanticHighlightingCalculator.java
@@ -21,11 +21,13 @@ import tools.refinery.language.model.problem.*;
21import tools.refinery.language.utils.ProblemDesugarer; 21import tools.refinery.language.utils.ProblemDesugarer;
22import tools.refinery.language.utils.ProblemUtil; 22import tools.refinery.language.utils.ProblemUtil;
23 23
24import javax.xml.crypto.Data;
24import java.util.List; 25import java.util.List;
25 26
26public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighlightingCalculator { 27public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighlightingCalculator {
27 private static final String BUILTIN_CLASS = "builtin"; 28 private static final String BUILTIN_CLASS = "builtin";
28 private static final String ABSTRACT_CLASS = "abstract"; 29 private static final String ABSTRACT_CLASS = "abstract";
30 private static final String DATATYPE_CLASS = "datatype";
29 private static final String CONTAINMENT_CLASS = "containment"; 31 private static final String CONTAINMENT_CLASS = "containment";
30 private static final String ERROR_CLASS = "error"; 32 private static final String ERROR_CLASS = "error";
31 private static final String NODE_CLASS = "node"; 33 private static final String NODE_CLASS = "node";
@@ -112,6 +114,9 @@ public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighli
112 if (eObject instanceof ClassDeclaration classDeclaration && classDeclaration.isAbstract()) { 114 if (eObject instanceof ClassDeclaration classDeclaration && classDeclaration.isAbstract()) {
113 classesBuilder.add(ABSTRACT_CLASS); 115 classesBuilder.add(ABSTRACT_CLASS);
114 } 116 }
117 if (eObject instanceof DatatypeDeclaration) {
118 classesBuilder.add(DATATYPE_CLASS);
119 }
115 if (eObject instanceof ReferenceDeclaration referenceDeclaration 120 if (eObject instanceof ReferenceDeclaration referenceDeclaration
116 && desugarer.isContainmentReference(referenceDeclaration)) { 121 && desugarer.isContainmentReference(referenceDeclaration)) {
117 classesBuilder.add(CONTAINMENT_CLASS); 122 classesBuilder.add(CONTAINMENT_CLASS);
diff --git a/subprojects/language-model/problem.aird b/subprojects/language-model/problem.aird
index cbe413cd..37516af1 100644
--- a/subprojects/language-model/problem.aird
+++ b/subprojects/language-model/problem.aird
@@ -7,7 +7,7 @@
7 <semanticResources>build/resources/main/model/problem.genmodel</semanticResources> 7 <semanticResources>build/resources/main/model/problem.genmodel</semanticResources>
8 <ownedViews xmi:type="viewpoint:DView" uid="_CsAAYKA4EeuqkpDnuik1sg"> 8 <ownedViews xmi:type="viewpoint:DView" uid="_CsAAYKA4EeuqkpDnuik1sg">
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" uid="_CsYa4KA4EeuqkpDnuik1sg" name="declarations" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="1707609830791"> 10 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_CsYa4KA4EeuqkpDnuik1sg" name="declarations" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="1708374464734">
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="src/main/resources/model/problem.ecore#/"/> 12 <target xmi:type="ecore:EPackage" href="src/main/resources/model/problem.ecore#/"/>
13 </ownedRepresentationDescriptors> 13 </ownedRepresentationDescriptors>
@@ -69,7 +69,7 @@
69 <styles xmi:type="notation:FilteringStyle" xmi:id="_c-HCRqA4EeuqkpDnuik1sg"/> 69 <styles xmi:type="notation:FilteringStyle" xmi:id="_c-HCRqA4EeuqkpDnuik1sg"/>
70 </children> 70 </children>
71 <styles xmi:type="notation:ShapeStyle" xmi:id="_c-HCQaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 71 <styles xmi:type="notation:ShapeStyle" xmi:id="_c-HCQaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
72 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-HCQqA4EeuqkpDnuik1sg" x="560" y="1124" width="147" height="100"/> 72 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-HCQqA4EeuqkpDnuik1sg" x="560" y="1104" width="147" height="100"/>
73 </children> 73 </children>
74 <children xmi:type="notation:Node" xmi:id="_RzZA0KA5EeuqkpDnuik1sg" type="2003" element="_RzK-YKA5EeuqkpDnuik1sg"> 74 <children xmi:type="notation:Node" xmi:id="_RzZA0KA5EeuqkpDnuik1sg" type="2003" element="_RzK-YKA5EeuqkpDnuik1sg">
75 <children xmi:type="notation:Node" xmi:id="_RzZn4KA5EeuqkpDnuik1sg" type="5007"/> 75 <children xmi:type="notation:Node" xmi:id="_RzZn4KA5EeuqkpDnuik1sg" type="5007"/>
@@ -95,7 +95,7 @@
95 <styles xmi:type="notation:FilteringStyle" xmi:id="_fit3lqA5EeuqkpDnuik1sg"/> 95 <styles xmi:type="notation:FilteringStyle" xmi:id="_fit3lqA5EeuqkpDnuik1sg"/>
96 </children> 96 </children>
97 <styles xmi:type="notation:ShapeStyle" xmi:id="_fit3kaA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 97 <styles xmi:type="notation:ShapeStyle" xmi:id="_fit3kaA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
98 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fit3kqA5EeuqkpDnuik1sg" x="1340" y="716" width="150" height="100"/> 98 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fit3kqA5EeuqkpDnuik1sg" x="1524" y="716" width="150" height="100"/>
99 </children> 99 </children>
100 <children xmi:type="notation:Node" xmi:id="_QKLK0KA6EeuqkpDnuik1sg" type="2003" element="_QKD2EKA6EeuqkpDnuik1sg"> 100 <children xmi:type="notation:Node" xmi:id="_QKLK0KA6EeuqkpDnuik1sg" type="2003" element="_QKD2EKA6EeuqkpDnuik1sg">
101 <children xmi:type="notation:Node" xmi:id="_QKLK06A6EeuqkpDnuik1sg" type="5007"/> 101 <children xmi:type="notation:Node" xmi:id="_QKLK06A6EeuqkpDnuik1sg" type="5007"/>
@@ -104,7 +104,7 @@
104 <styles xmi:type="notation:FilteringStyle" xmi:id="_QKLK1qA6EeuqkpDnuik1sg"/> 104 <styles xmi:type="notation:FilteringStyle" xmi:id="_QKLK1qA6EeuqkpDnuik1sg"/>
105 </children> 105 </children>
106 <styles xmi:type="notation:ShapeStyle" xmi:id="_QKLK0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 106 <styles xmi:type="notation:ShapeStyle" xmi:id="_QKLK0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
107 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QKLK0qA6EeuqkpDnuik1sg" x="1347" y="530" width="120" height="100"/> 107 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QKLK0qA6EeuqkpDnuik1sg" x="1531" y="530" width="120" height="100"/>
108 </children> 108 </children>
109 <children xmi:type="notation:Node" xmi:id="_jP6FkKA6EeuqkpDnuik1sg" type="2003" element="_jPpm4KA6EeuqkpDnuik1sg"> 109 <children xmi:type="notation:Node" xmi:id="_jP6FkKA6EeuqkpDnuik1sg" type="2003" element="_jPpm4KA6EeuqkpDnuik1sg">
110 <children xmi:type="notation:Node" xmi:id="_jP6soKA6EeuqkpDnuik1sg" type="5007"/> 110 <children xmi:type="notation:Node" xmi:id="_jP6soKA6EeuqkpDnuik1sg" type="5007"/>
@@ -113,7 +113,7 @@
113 <styles xmi:type="notation:FilteringStyle" xmi:id="_jP6so6A6EeuqkpDnuik1sg"/> 113 <styles xmi:type="notation:FilteringStyle" xmi:id="_jP6so6A6EeuqkpDnuik1sg"/>
114 </children> 114 </children>
115 <styles xmi:type="notation:ShapeStyle" xmi:id="_jP6FkaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 115 <styles xmi:type="notation:ShapeStyle" xmi:id="_jP6FkaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
116 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jP6FkqA6EeuqkpDnuik1sg" x="1172" y="332" width="120" height="100"/> 116 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jP6FkqA6EeuqkpDnuik1sg" x="1356" y="332" width="120" height="100"/>
117 </children> 117 </children>
118 <children xmi:type="notation:Node" xmi:id="_xsq_MKA8EeuqkpDnuik1sg" type="2003" element="_xsYrUKA8EeuqkpDnuik1sg"> 118 <children xmi:type="notation:Node" xmi:id="_xsq_MKA8EeuqkpDnuik1sg" type="2003" element="_xsYrUKA8EeuqkpDnuik1sg">
119 <children xmi:type="notation:Node" xmi:id="_xsrmQKA8EeuqkpDnuik1sg" type="5007"/> 119 <children xmi:type="notation:Node" xmi:id="_xsrmQKA8EeuqkpDnuik1sg" type="5007"/>
@@ -241,7 +241,7 @@
241 <styles xmi:type="notation:FilteringStyle" xmi:id="_A9eK0irZEeyyC-O0_LlY9w"/> 241 <styles xmi:type="notation:FilteringStyle" xmi:id="_A9eK0irZEeyyC-O0_LlY9w"/>
242 </children> 242 </children>
243 <styles xmi:type="notation:ShapeStyle" xmi:id="_A9YrQSrZEeyyC-O0_LlY9w" fontName="Segoe UI" fontHeight="8"/> 243 <styles xmi:type="notation:ShapeStyle" xmi:id="_A9YrQSrZEeyyC-O0_LlY9w" fontName="Segoe UI" fontHeight="8"/>
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A9YrQirZEeyyC-O0_LlY9w" x="1685" y="530" width="148" height="100"/> 244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A9YrQirZEeyyC-O0_LlY9w" x="1869" y="530" width="148" height="100"/>
245 </children> 245 </children>
246 <children xmi:type="notation:Node" xmi:id="_N0FQ4CrZEeyyC-O0_LlY9w" type="2003" element="_NzpMACrZEeyyC-O0_LlY9w"> 246 <children xmi:type="notation:Node" xmi:id="_N0FQ4CrZEeyyC-O0_LlY9w" type="2003" element="_NzpMACrZEeyyC-O0_LlY9w">
247 <children xmi:type="notation:Node" xmi:id="_N0F38CrZEeyyC-O0_LlY9w" type="5007"/> 247 <children xmi:type="notation:Node" xmi:id="_N0F38CrZEeyyC-O0_LlY9w" type="5007"/>
@@ -250,7 +250,7 @@
250 <styles xmi:type="notation:FilteringStyle" xmi:id="_N0F38yrZEeyyC-O0_LlY9w"/> 250 <styles xmi:type="notation:FilteringStyle" xmi:id="_N0F38yrZEeyyC-O0_LlY9w"/>
251 </children> 251 </children>
252 <styles xmi:type="notation:ShapeStyle" xmi:id="_N0FQ4SrZEeyyC-O0_LlY9w" fontName="Segoe UI" fontHeight="8"/> 252 <styles xmi:type="notation:ShapeStyle" xmi:id="_N0FQ4SrZEeyyC-O0_LlY9w" fontName="Segoe UI" fontHeight="8"/>
253 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N0FQ4irZEeyyC-O0_LlY9w" x="1952" y="716" width="132" height="100"/> 253 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N0FQ4irZEeyyC-O0_LlY9w" x="2136" y="716" width="132" height="100"/>
254 </children> 254 </children>
255 <children xmi:type="notation:Node" xmi:id="_jzknACrZEeyyC-O0_LlY9w" type="2003" element="_jzRFACrZEeyyC-O0_LlY9w"> 255 <children xmi:type="notation:Node" xmi:id="_jzknACrZEeyyC-O0_LlY9w" type="2003" element="_jzRFACrZEeyyC-O0_LlY9w">
256 <children xmi:type="notation:Node" xmi:id="_jzknAyrZEeyyC-O0_LlY9w" type="5007"/> 256 <children xmi:type="notation:Node" xmi:id="_jzknAyrZEeyyC-O0_LlY9w" type="5007"/>
@@ -259,7 +259,7 @@
259 <styles xmi:type="notation:FilteringStyle" xmi:id="_jzknBirZEeyyC-O0_LlY9w"/> 259 <styles xmi:type="notation:FilteringStyle" xmi:id="_jzknBirZEeyyC-O0_LlY9w"/>
260 </children> 260 </children>
261 <styles xmi:type="notation:ShapeStyle" xmi:id="_jzknASrZEeyyC-O0_LlY9w" fontName="Segoe UI" fontHeight="8"/> 261 <styles xmi:type="notation:ShapeStyle" xmi:id="_jzknASrZEeyyC-O0_LlY9w" fontName="Segoe UI" fontHeight="8"/>
262 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jzknAirZEeyyC-O0_LlY9w" x="1952" y="956" width="120" height="100"/> 262 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jzknAirZEeyyC-O0_LlY9w" x="2136" y="956" width="120" height="100"/>
263 </children> 263 </children>
264 <children xmi:type="notation:Node" xmi:id="_re7JICrZEeyyC-O0_LlY9w" type="2003" element="_remZACrZEeyyC-O0_LlY9w"> 264 <children xmi:type="notation:Node" xmi:id="_re7JICrZEeyyC-O0_LlY9w" type="2003" element="_remZACrZEeyyC-O0_LlY9w">
265 <children xmi:type="notation:Node" xmi:id="_re7JIyrZEeyyC-O0_LlY9w" type="5007"/> 265 <children xmi:type="notation:Node" xmi:id="_re7JIyrZEeyyC-O0_LlY9w" type="5007"/>
@@ -268,24 +268,24 @@
268 <styles xmi:type="notation:FilteringStyle" xmi:id="_re7JJirZEeyyC-O0_LlY9w"/> 268 <styles xmi:type="notation:FilteringStyle" xmi:id="_re7JJirZEeyyC-O0_LlY9w"/>
269 </children> 269 </children>
270 <styles xmi:type="notation:ShapeStyle" xmi:id="_re7JISrZEeyyC-O0_LlY9w" fontName="Segoe UI" fontHeight="8"/> 270 <styles xmi:type="notation:ShapeStyle" xmi:id="_re7JISrZEeyyC-O0_LlY9w" fontName="Segoe UI" fontHeight="8"/>
271 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_re7JIirZEeyyC-O0_LlY9w" x="1958" y="1124" width="120" height="100"/> 271 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_re7JIirZEeyyC-O0_LlY9w" x="2142" y="1124" width="120" height="100"/>
272 </children> 272 </children>
273 <children xmi:type="notation:Node" xmi:id="_eKvl8BEKEe2AArBmfNpEZA" type="2003" element="_eKVWQBEKEe2AArBmfNpEZA"> 273 <children xmi:type="notation:Node" xmi:id="_eKvl8BEKEe2AArBmfNpEZA" visible="false" type="2003" element="_eKVWQBEKEe2AArBmfNpEZA">
274 <children xmi:type="notation:Node" xmi:id="_eKwNABEKEe2AArBmfNpEZA" type="5007"/> 274 <children xmi:type="notation:Node" xmi:id="_eKwNABEKEe2AArBmfNpEZA" type="5007"/>
275 <children xmi:type="notation:Node" xmi:id="_eKwNAREKEe2AArBmfNpEZA" type="7004"> 275 <children xmi:type="notation:Node" xmi:id="_eKwNAREKEe2AArBmfNpEZA" type="7004">
276 <children xmi:type="notation:Node" xmi:id="_ftnt8BEKEe2AArBmfNpEZA" type="3010" element="_fs9moBEKEe2AArBmfNpEZA"> 276 <children xmi:type="notation:Node" xmi:id="_ftnt8BEKEe2AArBmfNpEZA" visible="false" type="3010" element="_fs9moBEKEe2AArBmfNpEZA">
277 <styles xmi:type="notation:FontStyle" xmi:id="_ftnt8REKEe2AArBmfNpEZA" fontName="Noto Sans" fontHeight="8"/> 277 <styles xmi:type="notation:FontStyle" xmi:id="_ftnt8REKEe2AArBmfNpEZA" fontName="Noto Sans" fontHeight="8"/>
278 <layoutConstraint xmi:type="notation:Location" xmi:id="_ftnt8hEKEe2AArBmfNpEZA"/> 278 <layoutConstraint xmi:type="notation:Location" xmi:id="_ftnt8hEKEe2AArBmfNpEZA"/>
279 </children> 279 </children>
280 <children xmi:type="notation:Node" xmi:id="_gPRpgBEKEe2AArBmfNpEZA" type="3010" element="_gO3Z0BEKEe2AArBmfNpEZA"> 280 <children xmi:type="notation:Node" xmi:id="_gPRpgBEKEe2AArBmfNpEZA" visible="false" type="3010" element="_gO3Z0BEKEe2AArBmfNpEZA">
281 <styles xmi:type="notation:FontStyle" xmi:id="_gPRpgREKEe2AArBmfNpEZA" fontName="Noto Sans" fontHeight="8"/> 281 <styles xmi:type="notation:FontStyle" xmi:id="_gPRpgREKEe2AArBmfNpEZA" fontName="Noto Sans" fontHeight="8"/>
282 <layoutConstraint xmi:type="notation:Location" xmi:id="_gPRpghEKEe2AArBmfNpEZA"/> 282 <layoutConstraint xmi:type="notation:Location" xmi:id="_gPRpghEKEe2AArBmfNpEZA"/>
283 </children> 283 </children>
284 <children xmi:type="notation:Node" xmi:id="_gppRUBEKEe2AArBmfNpEZA" type="3010" element="_gpdEEBEKEe2AArBmfNpEZA"> 284 <children xmi:type="notation:Node" xmi:id="_gppRUBEKEe2AArBmfNpEZA" visible="false" type="3010" element="_gpdEEBEKEe2AArBmfNpEZA">
285 <styles xmi:type="notation:FontStyle" xmi:id="_gppRUREKEe2AArBmfNpEZA" fontName="Noto Sans" fontHeight="8"/> 285 <styles xmi:type="notation:FontStyle" xmi:id="_gppRUREKEe2AArBmfNpEZA" fontName="Noto Sans" fontHeight="8"/>
286 <layoutConstraint xmi:type="notation:Location" xmi:id="_gppRUhEKEe2AArBmfNpEZA"/> 286 <layoutConstraint xmi:type="notation:Location" xmi:id="_gppRUhEKEe2AArBmfNpEZA"/>
287 </children> 287 </children>
288 <children xmi:type="notation:Node" xmi:id="_uvSwUF4MEe2m7IaHDkh2Xg" type="3010" element="_uumz0F4MEe2m7IaHDkh2Xg"> 288 <children xmi:type="notation:Node" xmi:id="_uvSwUF4MEe2m7IaHDkh2Xg" visible="false" type="3010" element="_uumz0F4MEe2m7IaHDkh2Xg">
289 <styles xmi:type="notation:FontStyle" xmi:id="_uvSwUV4MEe2m7IaHDkh2Xg" fontName="Noto Sans" fontHeight="8"/> 289 <styles xmi:type="notation:FontStyle" xmi:id="_uvSwUV4MEe2m7IaHDkh2Xg" fontName="Noto Sans" fontHeight="8"/>
290 <layoutConstraint xmi:type="notation:Location" xmi:id="_uvSwUl4MEe2m7IaHDkh2Xg"/> 290 <layoutConstraint xmi:type="notation:Location" xmi:id="_uvSwUl4MEe2m7IaHDkh2Xg"/>
291 </children> 291 </children>
@@ -293,7 +293,7 @@
293 <styles xmi:type="notation:FilteringStyle" xmi:id="_eKwNAxEKEe2AArBmfNpEZA"/> 293 <styles xmi:type="notation:FilteringStyle" xmi:id="_eKwNAxEKEe2AArBmfNpEZA"/>
294 </children> 294 </children>
295 <styles xmi:type="notation:ShapeStyle" xmi:id="_eKvl8REKEe2AArBmfNpEZA" fontName="Noto Sans" fontHeight="8"/> 295 <styles xmi:type="notation:ShapeStyle" xmi:id="_eKvl8REKEe2AArBmfNpEZA" fontName="Noto Sans" fontHeight="8"/>
296 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eKvl8hEKEe2AArBmfNpEZA" x="1124" y="1280" width="120" height="100"/> 296 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eKvl8hEKEe2AArBmfNpEZA" x="1308" y="1280" width="120" height="100"/>
297 </children> 297 </children>
298 <children xmi:type="notation:Node" xmi:id="_xp1icDNlEe2fD4dIhR_vzA" type="2003" element="_xpDfUDNlEe2fD4dIhR_vzA"> 298 <children xmi:type="notation:Node" xmi:id="_xp1icDNlEe2fD4dIhR_vzA" type="2003" element="_xpDfUDNlEe2fD4dIhR_vzA">
299 <children xmi:type="notation:Node" xmi:id="_xp2JgDNlEe2fD4dIhR_vzA" type="5007"/> 299 <children xmi:type="notation:Node" xmi:id="_xp2JgDNlEe2fD4dIhR_vzA" type="5007"/>
@@ -310,6 +310,10 @@
310 <styles xmi:type="notation:FontStyle" xmi:id="_5M7gcTNlEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> 310 <styles xmi:type="notation:FontStyle" xmi:id="_5M7gcTNlEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/>
311 <layoutConstraint xmi:type="notation:Location" xmi:id="_5M7gcjNlEe2fD4dIhR_vzA"/> 311 <layoutConstraint xmi:type="notation:Location" xmi:id="_5M7gcjNlEe2fD4dIhR_vzA"/>
312 </children> 312 </children>
313 <children xmi:type="notation:Node" xmi:id="_9ZwJoM9jEe6T2u19X9cqmQ" type="3010" element="_9ZHQcM9jEe6T2u19X9cqmQ">
314 <styles xmi:type="notation:FontStyle" xmi:id="_9ZwJoc9jEe6T2u19X9cqmQ" fontName="Noto Sans" fontHeight="8"/>
315 <layoutConstraint xmi:type="notation:Location" xmi:id="_9ZwJos9jEe6T2u19X9cqmQ"/>
316 </children>
313 <styles xmi:type="notation:SortingStyle" xmi:id="_xp2JgjNlEe2fD4dIhR_vzA"/> 317 <styles xmi:type="notation:SortingStyle" xmi:id="_xp2JgjNlEe2fD4dIhR_vzA"/>
314 <styles xmi:type="notation:FilteringStyle" xmi:id="_xp2JgzNlEe2fD4dIhR_vzA"/> 318 <styles xmi:type="notation:FilteringStyle" xmi:id="_xp2JgzNlEe2fD4dIhR_vzA"/>
315 </children> 319 </children>
@@ -319,15 +323,11 @@
319 <children xmi:type="notation:Node" xmi:id="_782skF9mEe2rXNsIDUvqhw" type="2003" element="_78pRMF9mEe2rXNsIDUvqhw"> 323 <children xmi:type="notation:Node" xmi:id="_782skF9mEe2rXNsIDUvqhw" type="2003" element="_78pRMF9mEe2rXNsIDUvqhw">
320 <children xmi:type="notation:Node" xmi:id="_783ToF9mEe2rXNsIDUvqhw" type="5007"/> 324 <children xmi:type="notation:Node" xmi:id="_783ToF9mEe2rXNsIDUvqhw" type="5007"/>
321 <children xmi:type="notation:Node" xmi:id="_783ToV9mEe2rXNsIDUvqhw" type="7004"> 325 <children xmi:type="notation:Node" xmi:id="_783ToV9mEe2rXNsIDUvqhw" type="7004">
322 <children xmi:type="notation:Node" xmi:id="_WXcHIGg9Ee25oofngfVl_A" type="3010" element="_WWiIMGg9Ee25oofngfVl_A">
323 <styles xmi:type="notation:FontStyle" xmi:id="_WXcHIWg9Ee25oofngfVl_A" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
324 <layoutConstraint xmi:type="notation:Location" xmi:id="_WXcHImg9Ee25oofngfVl_A"/>
325 </children>
326 <styles xmi:type="notation:SortingStyle" xmi:id="_783Tol9mEe2rXNsIDUvqhw"/> 326 <styles xmi:type="notation:SortingStyle" xmi:id="_783Tol9mEe2rXNsIDUvqhw"/>
327 <styles xmi:type="notation:FilteringStyle" xmi:id="_783To19mEe2rXNsIDUvqhw"/> 327 <styles xmi:type="notation:FilteringStyle" xmi:id="_783To19mEe2rXNsIDUvqhw"/>
328 </children> 328 </children>
329 <styles xmi:type="notation:ShapeStyle" xmi:id="_782skV9mEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8"/> 329 <styles xmi:type="notation:ShapeStyle" xmi:id="_782skV9mEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8"/>
330 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_782skl9mEe2rXNsIDUvqhw" x="1550" y="716" width="132" height="100"/> 330 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_782skl9mEe2rXNsIDUvqhw" x="1734" y="716" width="132" height="100"/>
331 </children> 331 </children>
332 <children xmi:type="notation:Node" xmi:id="_rsftYF9vEe2rXNsIDUvqhw" type="2003" element="_rsVVUF9vEe2rXNsIDUvqhw"> 332 <children xmi:type="notation:Node" xmi:id="_rsftYF9vEe2rXNsIDUvqhw" type="2003" element="_rsVVUF9vEe2rXNsIDUvqhw">
333 <children xmi:type="notation:Node" xmi:id="_rsgUcF9vEe2rXNsIDUvqhw" type="5007"/> 333 <children xmi:type="notation:Node" xmi:id="_rsgUcF9vEe2rXNsIDUvqhw" type="5007"/>
@@ -336,7 +336,7 @@
336 <styles xmi:type="notation:FilteringStyle" xmi:id="_rsgUc19vEe2rXNsIDUvqhw"/> 336 <styles xmi:type="notation:FilteringStyle" xmi:id="_rsgUc19vEe2rXNsIDUvqhw"/>
337 </children> 337 </children>
338 <styles xmi:type="notation:ShapeStyle" xmi:id="_rsftYV9vEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8"/> 338 <styles xmi:type="notation:ShapeStyle" xmi:id="_rsftYV9vEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8"/>
339 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rsftYl9vEe2rXNsIDUvqhw" x="1784" y="956" width="120" height="100"/> 339 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rsftYl9vEe2rXNsIDUvqhw" x="1968" y="956" width="120" height="100"/>
340 </children> 340 </children>
341 <children xmi:type="notation:Node" xmi:id="_thrGUF9vEe2rXNsIDUvqhw" type="2003" element="_thaAkF9vEe2rXNsIDUvqhw"> 341 <children xmi:type="notation:Node" xmi:id="_thrGUF9vEe2rXNsIDUvqhw" type="2003" element="_thaAkF9vEe2rXNsIDUvqhw">
342 <children xmi:type="notation:Node" xmi:id="_thrGU19vEe2rXNsIDUvqhw" type="5007"/> 342 <children xmi:type="notation:Node" xmi:id="_thrGU19vEe2rXNsIDUvqhw" type="5007"/>
@@ -345,7 +345,7 @@
345 <styles xmi:type="notation:FilteringStyle" xmi:id="_thrGVl9vEe2rXNsIDUvqhw"/> 345 <styles xmi:type="notation:FilteringStyle" xmi:id="_thrGVl9vEe2rXNsIDUvqhw"/>
346 </children> 346 </children>
347 <styles xmi:type="notation:ShapeStyle" xmi:id="_thrGUV9vEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8"/> 347 <styles xmi:type="notation:ShapeStyle" xmi:id="_thrGUV9vEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8"/>
348 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_thrGUl9vEe2rXNsIDUvqhw" x="1562" y="1124" width="120" height="100"/> 348 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_thrGUl9vEe2rXNsIDUvqhw" x="1746" y="1124" width="120" height="100"/>
349 </children> 349 </children>
350 <children xmi:type="notation:Node" xmi:id="_uqERwF9vEe2rXNsIDUvqhw" type="2003" element="_up7H0F9vEe2rXNsIDUvqhw"> 350 <children xmi:type="notation:Node" xmi:id="_uqERwF9vEe2rXNsIDUvqhw" type="2003" element="_up7H0F9vEe2rXNsIDUvqhw">
351 <children xmi:type="notation:Node" xmi:id="_uqERw19vEe2rXNsIDUvqhw" type="5007"/> 351 <children xmi:type="notation:Node" xmi:id="_uqERw19vEe2rXNsIDUvqhw" type="5007"/>
@@ -354,7 +354,7 @@
354 <styles xmi:type="notation:FilteringStyle" xmi:id="_uqE40l9vEe2rXNsIDUvqhw"/> 354 <styles xmi:type="notation:FilteringStyle" xmi:id="_uqE40l9vEe2rXNsIDUvqhw"/>
355 </children> 355 </children>
356 <styles xmi:type="notation:ShapeStyle" xmi:id="_uqERwV9vEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8"/> 356 <styles xmi:type="notation:ShapeStyle" xmi:id="_uqERwV9vEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8"/>
357 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uqERwl9vEe2rXNsIDUvqhw" x="1784" y="1124" width="120" height="100"/> 357 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uqERwl9vEe2rXNsIDUvqhw" x="1968" y="1124" width="120" height="100"/>
358 </children> 358 </children>
359 <children xmi:type="notation:Node" xmi:id="_1HBuIF9vEe2rXNsIDUvqhw" type="2003" element="_1G5LQF9vEe2rXNsIDUvqhw"> 359 <children xmi:type="notation:Node" xmi:id="_1HBuIF9vEe2rXNsIDUvqhw" type="2003" element="_1G5LQF9vEe2rXNsIDUvqhw">
360 <children xmi:type="notation:Node" xmi:id="_1HBuI19vEe2rXNsIDUvqhw" type="5007"/> 360 <children xmi:type="notation:Node" xmi:id="_1HBuI19vEe2rXNsIDUvqhw" type="5007"/>
@@ -363,7 +363,7 @@
363 <styles xmi:type="notation:FilteringStyle" xmi:id="_1HBuJl9vEe2rXNsIDUvqhw"/> 363 <styles xmi:type="notation:FilteringStyle" xmi:id="_1HBuJl9vEe2rXNsIDUvqhw"/>
364 </children> 364 </children>
365 <styles xmi:type="notation:ShapeStyle" xmi:id="_1HBuIV9vEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8" italic="true"/> 365 <styles xmi:type="notation:ShapeStyle" xmi:id="_1HBuIV9vEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8" italic="true"/>
366 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1HBuIl9vEe2rXNsIDUvqhw" x="1347" y="956" width="135"/> 366 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1HBuIl9vEe2rXNsIDUvqhw" x="1531" y="956" width="135"/>
367 </children> 367 </children>
368 <children xmi:type="notation:Node" xmi:id="_286RsF9vEe2rXNsIDUvqhw" type="2003" element="_28xu0F9vEe2rXNsIDUvqhw"> 368 <children xmi:type="notation:Node" xmi:id="_286RsF9vEe2rXNsIDUvqhw" type="2003" element="_28xu0F9vEe2rXNsIDUvqhw">
369 <children xmi:type="notation:Node" xmi:id="_2864wF9vEe2rXNsIDUvqhw" type="5007"/> 369 <children xmi:type="notation:Node" xmi:id="_2864wF9vEe2rXNsIDUvqhw" type="5007"/>
@@ -372,7 +372,7 @@
372 <styles xmi:type="notation:FilteringStyle" xmi:id="_2864w19vEe2rXNsIDUvqhw"/> 372 <styles xmi:type="notation:FilteringStyle" xmi:id="_2864w19vEe2rXNsIDUvqhw"/>
373 </children> 373 </children>
374 <styles xmi:type="notation:ShapeStyle" xmi:id="_286RsV9vEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8"/> 374 <styles xmi:type="notation:ShapeStyle" xmi:id="_286RsV9vEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8"/>
375 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_286Rsl9vEe2rXNsIDUvqhw" x="1124" y="956"/> 375 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_286Rsl9vEe2rXNsIDUvqhw" x="1308" y="956"/>
376 </children> 376 </children>
377 <children xmi:type="notation:Node" xmi:id="_HyypsF9wEe2rXNsIDUvqhw" type="2003" element="_HynqkF9wEe2rXNsIDUvqhw"> 377 <children xmi:type="notation:Node" xmi:id="_HyypsF9wEe2rXNsIDUvqhw" type="2003" element="_HynqkF9wEe2rXNsIDUvqhw">
378 <children xmi:type="notation:Node" xmi:id="_Hyyps19wEe2rXNsIDUvqhw" type="5007"/> 378 <children xmi:type="notation:Node" xmi:id="_Hyyps19wEe2rXNsIDUvqhw" type="5007"/>
@@ -381,7 +381,7 @@
381 <styles xmi:type="notation:FilteringStyle" xmi:id="_Hyyptl9wEe2rXNsIDUvqhw"/> 381 <styles xmi:type="notation:FilteringStyle" xmi:id="_Hyyptl9wEe2rXNsIDUvqhw"/>
382 </children> 382 </children>
383 <styles xmi:type="notation:ShapeStyle" xmi:id="_HyypsV9wEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8" italic="true"/> 383 <styles xmi:type="notation:ShapeStyle" xmi:id="_HyypsV9wEe2rXNsIDUvqhw" fontName="Noto Sans" fontHeight="8" italic="true"/>
384 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hyypsl9wEe2rXNsIDUvqhw" x="1679" y="1280"/> 384 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hyypsl9wEe2rXNsIDUvqhw" x="1863" y="1280"/>
385 </children> 385 </children>
386 <children xmi:type="notation:Node" xmi:id="_dzfLYGTvEe2qdtyPWAtoxA" type="2003" element="_dzVaYGTvEe2qdtyPWAtoxA"> 386 <children xmi:type="notation:Node" xmi:id="_dzfLYGTvEe2qdtyPWAtoxA" type="2003" element="_dzVaYGTvEe2qdtyPWAtoxA">
387 <children xmi:type="notation:Node" xmi:id="_dzfLY2TvEe2qdtyPWAtoxA" type="5007"/> 387 <children xmi:type="notation:Node" xmi:id="_dzfLY2TvEe2qdtyPWAtoxA" type="5007"/>
@@ -392,58 +392,6 @@
392 <styles xmi:type="notation:ShapeStyle" xmi:id="_dzfLYWTvEe2qdtyPWAtoxA" fontName="Noto Sans" fontHeight="8" italic="true"/> 392 <styles xmi:type="notation:ShapeStyle" xmi:id="_dzfLYWTvEe2qdtyPWAtoxA" fontName="Noto Sans" fontHeight="8" italic="true"/>
393 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dzfLYmTvEe2qdtyPWAtoxA" x="497" y="524"/> 393 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dzfLYmTvEe2qdtyPWAtoxA" x="497" y="524"/>
394 </children> 394 </children>
395 <children xmi:type="notation:Node" xmi:id="_O9jk8Gg8Ee25oofngfVl_A" type="2003" element="_O8gcEGg8Ee25oofngfVl_A">
396 <children xmi:type="notation:Node" xmi:id="_O9rgwGg8Ee25oofngfVl_A" type="5007"/>
397 <children xmi:type="notation:Node" xmi:id="_O9sH0Gg8Ee25oofngfVl_A" type="7004">
398 <styles xmi:type="notation:SortingStyle" xmi:id="_O9sH0Wg8Ee25oofngfVl_A"/>
399 <styles xmi:type="notation:FilteringStyle" xmi:id="_O9sH0mg8Ee25oofngfVl_A"/>
400 </children>
401 <styles xmi:type="notation:ShapeStyle" xmi:id="_O9jk8Wg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
402 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O9jk8mg8Ee25oofngfVl_A" x="572" y="956" width="124" height="100"/>
403 </children>
404 <children xmi:type="notation:Node" xmi:id="_cVTpMGg8Ee25oofngfVl_A" type="2003" element="_cU9D4Gg8Ee25oofngfVl_A">
405 <children xmi:type="notation:Node" xmi:id="_cVTpM2g8Ee25oofngfVl_A" type="5007"/>
406 <children xmi:type="notation:Node" xmi:id="_cVTpNGg8Ee25oofngfVl_A" type="7004">
407 <children xmi:type="notation:Node" xmi:id="_ECnr8Gg9Ee25oofngfVl_A" type="3010" element="_EB7vcGg9Ee25oofngfVl_A">
408 <styles xmi:type="notation:FontStyle" xmi:id="_ECnr8Wg9Ee25oofngfVl_A" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
409 <layoutConstraint xmi:type="notation:Location" xmi:id="_ECnr8mg9Ee25oofngfVl_A"/>
410 </children>
411 <styles xmi:type="notation:SortingStyle" xmi:id="_cVTpNWg8Ee25oofngfVl_A"/>
412 <styles xmi:type="notation:FilteringStyle" xmi:id="_cVTpNmg8Ee25oofngfVl_A"/>
413 </children>
414 <styles xmi:type="notation:ShapeStyle" xmi:id="_cVTpMWg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
415 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cVTpMmg8Ee25oofngfVl_A" x="768" y="1124" width="135" height="100"/>
416 </children>
417 <children xmi:type="notation:Node" xmi:id="_jZNw0Gg8Ee25oofngfVl_A" type="2003" element="_jY5nwGg8Ee25oofngfVl_A">
418 <children xmi:type="notation:Node" xmi:id="_jZNw02g8Ee25oofngfVl_A" type="5007"/>
419 <children xmi:type="notation:Node" xmi:id="_jZNw1Gg8Ee25oofngfVl_A" type="7004">
420 <styles xmi:type="notation:SortingStyle" xmi:id="_jZNw1Wg8Ee25oofngfVl_A"/>
421 <styles xmi:type="notation:FilteringStyle" xmi:id="_jZNw1mg8Ee25oofngfVl_A"/>
422 </children>
423 <styles xmi:type="notation:ShapeStyle" xmi:id="_jZNw0Wg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
424 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jZNw0mg8Ee25oofngfVl_A" x="956" y="1124" width="120" height="100"/>
425 </children>
426 <children xmi:type="notation:Node" xmi:id="_pOTU4Gg8Ee25oofngfVl_A" type="2003" element="_pOBoEGg8Ee25oofngfVl_A">
427 <children xmi:type="notation:Node" xmi:id="_pOT78Gg8Ee25oofngfVl_A" type="5007"/>
428 <children xmi:type="notation:Node" xmi:id="_pOT78Wg8Ee25oofngfVl_A" type="7004">
429 <children xmi:type="notation:Node" xmi:id="_qPXJQGg8Ee25oofngfVl_A" type="3010" element="_qOtpAGg8Ee25oofngfVl_A">
430 <styles xmi:type="notation:FontStyle" xmi:id="_qPXJQWg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
431 <layoutConstraint xmi:type="notation:Location" xmi:id="_qPXJQmg8Ee25oofngfVl_A"/>
432 </children>
433 <children xmi:type="notation:Node" xmi:id="_qqPucGg8Ee25oofngfVl_A" type="3010" element="_qp-BoGg8Ee25oofngfVl_A">
434 <styles xmi:type="notation:FontStyle" xmi:id="_qqPucWg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
435 <layoutConstraint xmi:type="notation:Location" xmi:id="_qqPucmg8Ee25oofngfVl_A"/>
436 </children>
437 <children xmi:type="notation:Node" xmi:id="_rAE0gGg8Ee25oofngfVl_A" type="3010" element="_q_vdUGg8Ee25oofngfVl_A">
438 <styles xmi:type="notation:FontStyle" xmi:id="_rAE0gWg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
439 <layoutConstraint xmi:type="notation:Location" xmi:id="_rAE0gmg8Ee25oofngfVl_A"/>
440 </children>
441 <styles xmi:type="notation:SortingStyle" xmi:id="_pOT78mg8Ee25oofngfVl_A"/>
442 <styles xmi:type="notation:FilteringStyle" xmi:id="_pOT782g8Ee25oofngfVl_A"/>
443 </children>
444 <styles xmi:type="notation:ShapeStyle" xmi:id="_pOTU4Wg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
445 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pOTU4mg8Ee25oofngfVl_A" x="776" y="1280" width="120" height="100"/>
446 </children>
447 <children xmi:type="notation:Node" xmi:id="_ZcIsoL_JEe6Mo_-4--GvQg" type="2003" element="_ZbwSIL_JEe6Mo_-4--GvQg"> 395 <children xmi:type="notation:Node" xmi:id="_ZcIsoL_JEe6Mo_-4--GvQg" type="2003" element="_ZbwSIL_JEe6Mo_-4--GvQg">
448 <children xmi:type="notation:Node" xmi:id="_ZcJTsL_JEe6Mo_-4--GvQg" type="5007"/> 396 <children xmi:type="notation:Node" xmi:id="_ZcJTsL_JEe6Mo_-4--GvQg" type="5007"/>
449 <children xmi:type="notation:Node" xmi:id="_ZcJTsb_JEe6Mo_-4--GvQg" type="7004"> 397 <children xmi:type="notation:Node" xmi:id="_ZcJTsb_JEe6Mo_-4--GvQg" type="7004">
@@ -495,6 +443,15 @@
495 <styles xmi:type="notation:ShapeStyle" xmi:id="_GTtOgcBeEe6Mo_-4--GvQg" fontName="Noto Sans" fontHeight="8"/> 443 <styles xmi:type="notation:ShapeStyle" xmi:id="_GTtOgcBeEe6Mo_-4--GvQg" fontName="Noto Sans" fontHeight="8"/>
496 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GTtOgsBeEe6Mo_-4--GvQg" x="-48" y="524" width="120" height="100"/> 444 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GTtOgsBeEe6Mo_-4--GvQg" x="-48" y="524" width="120" height="100"/>
497 </children> 445 </children>
446 <children xmi:type="notation:Node" xmi:id="_uuYr8M9kEe6T2u19X9cqmQ" type="2003" element="_uuKCcM9kEe6T2u19X9cqmQ">
447 <children xmi:type="notation:Node" xmi:id="_uudkcM9kEe6T2u19X9cqmQ" type="5007"/>
448 <children xmi:type="notation:Node" xmi:id="_uudkcc9kEe6T2u19X9cqmQ" type="7004">
449 <styles xmi:type="notation:SortingStyle" xmi:id="_uudkcs9kEe6T2u19X9cqmQ"/>
450 <styles xmi:type="notation:FilteringStyle" xmi:id="_uudkc89kEe6T2u19X9cqmQ"/>
451 </children>
452 <styles xmi:type="notation:ShapeStyle" xmi:id="_uuYr8c9kEe6T2u19X9cqmQ" fontName="Noto Sans" fontHeight="8"/>
453 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uuYr8s9kEe6T2u19X9cqmQ" x="1174" y="716" width="137" height="100"/>
454 </children>
498 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/> 455 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/>
499 <edges xmi:type="notation:Edge" xmi:id="_4eaYwKA8EeuqkpDnuik1sg" type="4001" element="_4eU5TqA8EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg"> 456 <edges xmi:type="notation:Edge" xmi:id="_4eaYwKA8EeuqkpDnuik1sg" type="4001" element="_4eU5TqA8EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg">
500 <children xmi:type="notation:Node" xmi:id="_4ea_06A8EeuqkpDnuik1sg" type="6001"> 457 <children xmi:type="notation:Node" xmi:id="_4ea_06A8EeuqkpDnuik1sg" type="6001">
@@ -604,7 +561,7 @@
604 </children> 561 </children>
605 <styles xmi:type="notation:ConnectorStyle" xmi:id="_p1cRUaBJEeuqkpDnuik1sg" routing="Rectilinear"/> 562 <styles xmi:type="notation:ConnectorStyle" xmi:id="_p1cRUaBJEeuqkpDnuik1sg" routing="Rectilinear"/>
606 <styles xmi:type="notation:FontStyle" xmi:id="_p1cRUqBJEeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 563 <styles xmi:type="notation:FontStyle" xmi:id="_p1cRUqBJEeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
607 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_p1cRU6BJEeuqkpDnuik1sg" points="[0, 2, 134, 2]$[-134, 2, 0, 2]"/> 564 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_p1cRU6BJEeuqkpDnuik1sg" points="[0, 2, 134, -18]$[-134, 2, 0, -18]"/>
608 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4ZqBJEeuqkpDnuik1sg" id="(0.0,0.5918367346938775)"/> 565 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4ZqBJEeuqkpDnuik1sg" id="(0.0,0.5918367346938775)"/>
609 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4Z6BJEeuqkpDnuik1sg" id="(1.0,0.5918367346938775)"/> 566 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4Z6BJEeuqkpDnuik1sg" id="(1.0,0.5918367346938775)"/>
610 </edges> 567 </edges>
@@ -1218,17 +1175,17 @@
1218 </edges> 1175 </edges>
1219 <edges xmi:type="notation:Edge" xmi:id="_Nr78MGTzEe2qdtyPWAtoxA" type="4001" element="_NrtSzmTzEe2qdtyPWAtoxA" source="_c-HCQKA4EeuqkpDnuik1sg" target="_dzfLYGTvEe2qdtyPWAtoxA"> 1176 <edges xmi:type="notation:Edge" xmi:id="_Nr78MGTzEe2qdtyPWAtoxA" type="4001" element="_NrtSzmTzEe2qdtyPWAtoxA" source="_c-HCQKA4EeuqkpDnuik1sg" target="_dzfLYGTvEe2qdtyPWAtoxA">
1220 <children xmi:type="notation:Node" xmi:id="_Nr78NGTzEe2qdtyPWAtoxA" type="6001"> 1177 <children xmi:type="notation:Node" xmi:id="_Nr78NGTzEe2qdtyPWAtoxA" type="6001">
1221 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nr78NWTzEe2qdtyPWAtoxA" x="79"/> 1178 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nr78NWTzEe2qdtyPWAtoxA" x="69"/>
1222 </children> 1179 </children>
1223 <children xmi:type="notation:Node" xmi:id="_Nr78NmTzEe2qdtyPWAtoxA" type="6002"> 1180 <children xmi:type="notation:Node" xmi:id="_Nr78NmTzEe2qdtyPWAtoxA" type="6002">
1224 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nr78N2TzEe2qdtyPWAtoxA" x="193" y="10"/> 1181 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nr78N2TzEe2qdtyPWAtoxA" x="176" y="10"/>
1225 </children> 1182 </children>
1226 <children xmi:type="notation:Node" xmi:id="_Nr78OGTzEe2qdtyPWAtoxA" type="6003"> 1183 <children xmi:type="notation:Node" xmi:id="_Nr78OGTzEe2qdtyPWAtoxA" type="6003">
1227 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nr78OWTzEe2qdtyPWAtoxA" x="19" y="10"/> 1184 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Nr78OWTzEe2qdtyPWAtoxA" x="16" y="10"/>
1228 </children> 1185 </children>
1229 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Nr78MWTzEe2qdtyPWAtoxA" routing="Rectilinear"/> 1186 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Nr78MWTzEe2qdtyPWAtoxA" routing="Rectilinear"/>
1230 <styles xmi:type="notation:FontStyle" xmi:id="_Nr78MmTzEe2qdtyPWAtoxA" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 1187 <styles xmi:type="notation:FontStyle" xmi:id="_Nr78MmTzEe2qdtyPWAtoxA" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1231 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Nr78M2TzEe2qdtyPWAtoxA" points="[-60, 24, 24, 526]$[-80, 24, 4, 526]$[-80, -502, 4, 0]"/> 1188 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Nr78M2TzEe2qdtyPWAtoxA" points="[-60, 24, 24, 506]$[-80, 24, 4, 506]$[-80, -482, 4, 0]"/>
1232 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Nr78OmTzEe2qdtyPWAtoxA" id="(0.41379310344827586,0.0)"/> 1189 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Nr78OmTzEe2qdtyPWAtoxA" id="(0.41379310344827586,0.0)"/>
1233 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Nr78O2TzEe2qdtyPWAtoxA" id="(0.3305084745762712,1.0)"/> 1190 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Nr78O2TzEe2qdtyPWAtoxA" id="(0.3305084745762712,1.0)"/>
1234 </edges> 1191 </edges>
@@ -1250,17 +1207,17 @@
1250 </edges> 1207 </edges>
1251 <edges xmi:type="notation:Edge" xmi:id="_iXIY4GTzEe2qdtyPWAtoxA" type="4001" element="_iWzpAmTzEe2qdtyPWAtoxA" source="_QKLK0KA6EeuqkpDnuik1sg" target="_dzfLYGTvEe2qdtyPWAtoxA"> 1208 <edges xmi:type="notation:Edge" xmi:id="_iXIY4GTzEe2qdtyPWAtoxA" type="4001" element="_iWzpAmTzEe2qdtyPWAtoxA" source="_QKLK0KA6EeuqkpDnuik1sg" target="_dzfLYGTvEe2qdtyPWAtoxA">
1252 <children xmi:type="notation:Node" xmi:id="_iXIY5GTzEe2qdtyPWAtoxA" type="6001"> 1209 <children xmi:type="notation:Node" xmi:id="_iXIY5GTzEe2qdtyPWAtoxA" type="6001">
1253 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iXIY5WTzEe2qdtyPWAtoxA" x="-298" y="10"/> 1210 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iXIY5WTzEe2qdtyPWAtoxA" x="-396" y="18"/>
1254 </children> 1211 </children>
1255 <children xmi:type="notation:Node" xmi:id="_iXIY5mTzEe2qdtyPWAtoxA" type="6002"> 1212 <children xmi:type="notation:Node" xmi:id="_iXIY5mTzEe2qdtyPWAtoxA" type="6002">
1256 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iXIY52TzEe2qdtyPWAtoxA" x="79" y="-10"/> 1213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iXIY52TzEe2qdtyPWAtoxA" x="235" y="-10"/>
1257 </children> 1214 </children>
1258 <children xmi:type="notation:Node" xmi:id="_iXIY6GTzEe2qdtyPWAtoxA" type="6003"> 1215 <children xmi:type="notation:Node" xmi:id="_iXIY6GTzEe2qdtyPWAtoxA" type="6003">
1259 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iXIY6WTzEe2qdtyPWAtoxA" x="-42" y="10"/> 1216 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iXIY6WTzEe2qdtyPWAtoxA" x="-14" y="10"/>
1260 </children> 1217 </children>
1261 <styles xmi:type="notation:ConnectorStyle" xmi:id="_iXIY4WTzEe2qdtyPWAtoxA" routing="Rectilinear"/> 1218 <styles xmi:type="notation:ConnectorStyle" xmi:id="_iXIY4WTzEe2qdtyPWAtoxA" routing="Rectilinear"/>
1262 <styles xmi:type="notation:FontStyle" xmi:id="_iXIY4mTzEe2qdtyPWAtoxA" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 1219 <styles xmi:type="notation:FontStyle" xmi:id="_iXIY4mTzEe2qdtyPWAtoxA" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1263 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iXIY42TzEe2qdtyPWAtoxA" points="[-72, 48, 791, 5]$[-804, 48, 59, 5]"/> 1220 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iXIY42TzEe2qdtyPWAtoxA" points="[-72, 48, 975, 5]$[-988, 48, 59, 5]"/>
1264 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iXIY6mTzEe2qdtyPWAtoxA" id="(0.6101694915254238,0.0)"/> 1221 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iXIY6mTzEe2qdtyPWAtoxA" id="(0.6101694915254238,0.0)"/>
1265 </edges> 1222 </edges>
1266 <edges xmi:type="notation:Edge" xmi:id="_q7DhwGTzEe2qdtyPWAtoxA" type="4001" element="_q604amTzEe2qdtyPWAtoxA" source="_zaq8oKA9EeuqkpDnuik1sg" target="_dzfLYGTvEe2qdtyPWAtoxA"> 1223 <edges xmi:type="notation:Edge" xmi:id="_q7DhwGTzEe2qdtyPWAtoxA" type="4001" element="_q604amTzEe2qdtyPWAtoxA" source="_zaq8oKA9EeuqkpDnuik1sg" target="_dzfLYGTvEe2qdtyPWAtoxA">
@@ -1279,98 +1236,19 @@
1279 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q7EI1mTzEe2qdtyPWAtoxA" id="(0.711864406779661,0.0)"/> 1236 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q7EI1mTzEe2qdtyPWAtoxA" id="(0.711864406779661,0.0)"/>
1280 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q7EI12TzEe2qdtyPWAtoxA" id="(0.0,0.5612244897959183)"/> 1237 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q7EI12TzEe2qdtyPWAtoxA" id="(0.0,0.5612244897959183)"/>
1281 </edges> 1238 </edges>
1282 <edges xmi:type="notation:Edge" xmi:id="_Rq3fwGg8Ee25oofngfVl_A" type="4001" element="_jk6-PKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_O9jk8Gg8Ee25oofngfVl_A">
1283 <children xmi:type="notation:Node" xmi:id="_Rq4t4Gg8Ee25oofngfVl_A" type="6001">
1284 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rq4t4Wg8Ee25oofngfVl_A" x="-53" y="-19"/>
1285 </children>
1286 <children xmi:type="notation:Node" xmi:id="_Rq5U8Gg8Ee25oofngfVl_A" type="6002">
1287 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rq5U8Wg8Ee25oofngfVl_A" x="8" y="10"/>
1288 </children>
1289 <children xmi:type="notation:Node" xmi:id="_Rq58AGg8Ee25oofngfVl_A" type="6003">
1290 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rq58AWg8Ee25oofngfVl_A" x="-8" y="10"/>
1291 </children>
1292 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Rq3fwWg8Ee25oofngfVl_A" routing="Rectilinear"/>
1293 <styles xmi:type="notation:FontStyle" xmi:id="_Rq3fwmg8Ee25oofngfVl_A" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1294 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Rq3fw2g8Ee25oofngfVl_A" points="[-24, 0, 35, -191]$[-24, 71, 35, -120]$[-60, 71, -1, -120]$[-60, 142, -1, -49]"/>
1295 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rq8YQGg8Ee25oofngfVl_A" id="(0.4067796610169492,1.0)"/>
1296 </edges>
1297 <edges xmi:type="notation:Edge" xmi:id="_WnX2AGg8Ee25oofngfVl_A" type="4001" element="_nxr57GTvEe2qdtyPWAtoxA" source="_O9jk8Gg8Ee25oofngfVl_A" target="_dzfLYGTvEe2qdtyPWAtoxA">
1298 <children xmi:type="notation:Node" xmi:id="_WnX2BGg8Ee25oofngfVl_A" type="6001">
1299 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WnX2BWg8Ee25oofngfVl_A" y="-10"/>
1300 </children>
1301 <children xmi:type="notation:Node" xmi:id="_WnX2Bmg8Ee25oofngfVl_A" type="6002">
1302 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WnX2B2g8Ee25oofngfVl_A" y="10"/>
1303 </children>
1304 <children xmi:type="notation:Node" xmi:id="_WnX2CGg8Ee25oofngfVl_A" type="6003">
1305 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WnX2CWg8Ee25oofngfVl_A" y="10"/>
1306 </children>
1307 <styles xmi:type="notation:ConnectorStyle" xmi:id="_WnX2AWg8Ee25oofngfVl_A" routing="Tree"/>
1308 <styles xmi:type="notation:FontStyle" xmi:id="_WnX2Amg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
1309 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WnX2A2g8Ee25oofngfVl_A" points="[0, -56, 44, 383]$[0, -316, 44, 123]$[-43, -316, 1, 123]$[-43, -390, 1, 49]"/>
1310 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WnZEIGg8Ee25oofngfVl_A" id="(0.22950819672131148,0.5714285714285714)"/>
1311 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WnZEIWg8Ee25oofngfVl_A" id="(0.5,0.5)"/>
1312 </edges>
1313 <edges xmi:type="notation:Edge" xmi:id="_bOAC4Gg8Ee25oofngfVl_A" type="4001" element="_bNXJs2g8Ee25oofngfVl_A" source="_c-HCQKA4EeuqkpDnuik1sg" target="_O9jk8Gg8Ee25oofngfVl_A">
1314 <children xmi:type="notation:Node" xmi:id="_bOAp8Gg8Ee25oofngfVl_A" type="6001">
1315 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bOAp8Wg8Ee25oofngfVl_A" y="-10"/>
1316 </children>
1317 <children xmi:type="notation:Node" xmi:id="_bOAp8mg8Ee25oofngfVl_A" type="6002">
1318 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bOAp82g8Ee25oofngfVl_A" y="10"/>
1319 </children>
1320 <children xmi:type="notation:Node" xmi:id="_bOAp9Gg8Ee25oofngfVl_A" type="6003">
1321 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bOAp9Wg8Ee25oofngfVl_A" y="10"/>
1322 </children>
1323 <styles xmi:type="notation:ConnectorStyle" xmi:id="_bOAC4Wg8Ee25oofngfVl_A" routing="Tree"/>
1324 <styles xmi:type="notation:FontStyle" xmi:id="_bOAC4mg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
1325 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bOAC42g8Ee25oofngfVl_A" points="[0, 0, -1, 119]$[0, -52, -1, 67]$[2, -52, 1, 67]$[2, -70, 1, 49]"/>
1326 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bOAp9mg8Ee25oofngfVl_A" id="(0.22758620689655173,0.05102040816326531)"/>
1327 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bOAp92g8Ee25oofngfVl_A" id="(0.5,0.5)"/>
1328 </edges>
1329 <edges xmi:type="notation:Edge" xmi:id="_lSXq0Gg8Ee25oofngfVl_A" type="4001" element="_lSCTtWg8Ee25oofngfVl_A" source="_cVTpMGg8Ee25oofngfVl_A" target="_O9jk8Gg8Ee25oofngfVl_A">
1330 <children xmi:type="notation:Node" xmi:id="_lSXq1Gg8Ee25oofngfVl_A" type="6001">
1331 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lSXq1Wg8Ee25oofngfVl_A" y="-10"/>
1332 </children>
1333 <children xmi:type="notation:Node" xmi:id="_lSXq1mg8Ee25oofngfVl_A" type="6002">
1334 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lSXq12g8Ee25oofngfVl_A" y="10"/>
1335 </children>
1336 <children xmi:type="notation:Node" xmi:id="_lSXq2Gg8Ee25oofngfVl_A" type="6003">
1337 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lSXq2Wg8Ee25oofngfVl_A" y="10"/>
1338 </children>
1339 <styles xmi:type="notation:ConnectorStyle" xmi:id="_lSXq0Wg8Ee25oofngfVl_A" routing="Tree"/>
1340 <styles xmi:type="notation:FontStyle" xmi:id="_lSXq0mg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
1341 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lSXq02g8Ee25oofngfVl_A" points="[0, 0, 135, 106]$[-135, -106, 0, 0]"/>
1342 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lSXq2mg8Ee25oofngfVl_A" id="(0.3684210526315789,0.17346938775510204)"/>
1343 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lSXq22g8Ee25oofngfVl_A" id="(0.5,0.5)"/>
1344 </edges>
1345 <edges xmi:type="notation:Edge" xmi:id="_mDe-sGg8Ee25oofngfVl_A" type="4001" element="_mCvX7mg8Ee25oofngfVl_A" source="_jZNw0Gg8Ee25oofngfVl_A" target="_O9jk8Gg8Ee25oofngfVl_A">
1346 <children xmi:type="notation:Node" xmi:id="_mDflwGg8Ee25oofngfVl_A" type="6001">
1347 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mDflwWg8Ee25oofngfVl_A" y="-10"/>
1348 </children>
1349 <children xmi:type="notation:Node" xmi:id="_mDflwmg8Ee25oofngfVl_A" type="6002">
1350 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mDflw2g8Ee25oofngfVl_A" y="10"/>
1351 </children>
1352 <children xmi:type="notation:Node" xmi:id="_mDflxGg8Ee25oofngfVl_A" type="6003">
1353 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mDflxWg8Ee25oofngfVl_A" y="10"/>
1354 </children>
1355 <styles xmi:type="notation:ConnectorStyle" xmi:id="_mDe-sWg8Ee25oofngfVl_A" routing="Tree"/>
1356 <styles xmi:type="notation:FontStyle" xmi:id="_mDe-smg8Ee25oofngfVl_A" fontName="Noto Sans" fontHeight="8"/>
1357 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mDe-s2g8Ee25oofngfVl_A" points="[0, 0, 262, 132]$[-262, -132, 0, 0]"/>
1358 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mDflxmg8Ee25oofngfVl_A" id="(0.3644067796610169,0.16326530612244897)"/>
1359 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mDflx2g8Ee25oofngfVl_A" id="(0.5,0.5)"/>
1360 </edges>
1361 <edges xmi:type="notation:Edge" xmi:id="_8s7BwDrXEe62Q_vL_UTCsA" type="4001" element="_8sdu2DrXEe62Q_vL_UTCsA" source="_c-HCQKA4EeuqkpDnuik1sg" target="_dzfLYGTvEe2qdtyPWAtoxA"> 1239 <edges xmi:type="notation:Edge" xmi:id="_8s7BwDrXEe62Q_vL_UTCsA" type="4001" element="_8sdu2DrXEe62Q_vL_UTCsA" source="_c-HCQKA4EeuqkpDnuik1sg" target="_dzfLYGTvEe2qdtyPWAtoxA">
1362 <children xmi:type="notation:Node" xmi:id="_8s-sIDrXEe62Q_vL_UTCsA" type="6001"> 1240 <children xmi:type="notation:Node" xmi:id="_8s-sIDrXEe62Q_vL_UTCsA" type="6001">
1363 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8s-sITrXEe62Q_vL_UTCsA" x="-155" y="-60"/> 1241 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8s-sITrXEe62Q_vL_UTCsA" x="-165" y="-60"/>
1364 </children> 1242 </children>
1365 <children xmi:type="notation:Node" xmi:id="_8s-sIjrXEe62Q_vL_UTCsA" type="6002"> 1243 <children xmi:type="notation:Node" xmi:id="_8s-sIjrXEe62Q_vL_UTCsA" type="6002">
1366 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8s-sIzrXEe62Q_vL_UTCsA" x="69" y="10"/> 1244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8s-sIzrXEe62Q_vL_UTCsA" x="52" y="10"/>
1367 </children> 1245 </children>
1368 <children xmi:type="notation:Node" xmi:id="_8s-sJDrXEe62Q_vL_UTCsA" type="6003"> 1246 <children xmi:type="notation:Node" xmi:id="_8s-sJDrXEe62Q_vL_UTCsA" type="6003">
1369 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8s-sJTrXEe62Q_vL_UTCsA" x="3" y="10"/> 1247 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8s-sJTrXEe62Q_vL_UTCsA" y="10"/>
1370 </children> 1248 </children>
1371 <styles xmi:type="notation:ConnectorStyle" xmi:id="_8s7BwTrXEe62Q_vL_UTCsA" routing="Rectilinear"/> 1249 <styles xmi:type="notation:ConnectorStyle" xmi:id="_8s7BwTrXEe62Q_vL_UTCsA" routing="Rectilinear"/>
1372 <styles xmi:type="notation:FontStyle" xmi:id="_8s7BwjrXEe62Q_vL_UTCsA" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 1250 <styles xmi:type="notation:FontStyle" xmi:id="_8s7BwjrXEe62Q_vL_UTCsA" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1373 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8s7BwzrXEe62Q_vL_UTCsA" points="[-52, 40, 0, 542]$[-84, 40, -32, 542]$[-84, -502, -32, 0]"/> 1251 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8s7BwzrXEe62Q_vL_UTCsA" points="[-52, 40, 0, 522]$[-84, 40, -32, 522]$[-84, -482, -32, 0]"/>
1374 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8s_6QDrXEe62Q_vL_UTCsA" id="(0.3586206896551724,0.0)"/> 1252 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8s_6QDrXEe62Q_vL_UTCsA" id="(0.3586206896551724,0.0)"/>
1375 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8s_6QTrXEe62Q_vL_UTCsA" id="(0.5338983050847458,1.0)"/> 1253 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8s_6QTrXEe62Q_vL_UTCsA" id="(0.5338983050847458,1.0)"/>
1376 </edges> 1254 </edges>
@@ -1406,6 +1284,86 @@
1406 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bYblisBeEe6Mo_-4--GvQg" id="(0.4067796610169492,0.0)"/> 1284 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bYblisBeEe6Mo_-4--GvQg" id="(0.4067796610169492,0.0)"/>
1407 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bYbli8BeEe6Mo_-4--GvQg" id="(0.1118421052631579,0.5714285714285714)"/> 1285 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bYbli8BeEe6Mo_-4--GvQg" id="(0.1118421052631579,0.5714285714285714)"/>
1408 </edges> 1286 </edges>
1287 <edges xmi:type="notation:Edge" xmi:id="_yL04oM9jEe6T2u19X9cqmQ" type="4001" element="_nxr57GTvEe2qdtyPWAtoxA" source="_c-HCQKA4EeuqkpDnuik1sg" target="_dzfLYGTvEe2qdtyPWAtoxA">
1288 <children xmi:type="notation:Node" xmi:id="_yL6YMM9jEe6T2u19X9cqmQ" type="6001">
1289 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yL6YMc9jEe6T2u19X9cqmQ" y="-10"/>
1290 </children>
1291 <children xmi:type="notation:Node" xmi:id="_yL6_QM9jEe6T2u19X9cqmQ" type="6002">
1292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yL6_Qc9jEe6T2u19X9cqmQ" y="10"/>
1293 </children>
1294 <children xmi:type="notation:Node" xmi:id="_yL7mUM9jEe6T2u19X9cqmQ" type="6003">
1295 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yL7mUc9jEe6T2u19X9cqmQ" y="10"/>
1296 </children>
1297 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yL04oc9jEe6T2u19X9cqmQ" routing="Tree"/>
1298 <styles xmi:type="notation:FontStyle" xmi:id="_yL04os9jEe6T2u19X9cqmQ" fontName="Noto Sans" fontHeight="8"/>
1299 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yL04o89jEe6T2u19X9cqmQ" points="[0, -15, 42, 531]$[0, -423, 42, 123]$[-41, -423, 1, 123]$[-41, -497, 1, 49]"/>
1300 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yL_QsM9jEe6T2u19X9cqmQ" id="(0.2620689655172414,0.15306122448979592)"/>
1301 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yL_Qsc9jEe6T2u19X9cqmQ" id="(0.5,0.5)"/>
1302 </edges>
1303 <edges xmi:type="notation:Edge" xmi:id="_yrWtQM9jEe6T2u19X9cqmQ" type="4001" element="_jk6-PKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_c-HCQKA4EeuqkpDnuik1sg">
1304 <children xmi:type="notation:Node" xmi:id="_yrWtRM9jEe6T2u19X9cqmQ" type="6001">
1305 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yrWtRc9jEe6T2u19X9cqmQ" x="-55" y="-76"/>
1306 </children>
1307 <children xmi:type="notation:Node" xmi:id="_yrWtRs9jEe6T2u19X9cqmQ" type="6002">
1308 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yrWtR89jEe6T2u19X9cqmQ" x="-1" y="10"/>
1309 </children>
1310 <children xmi:type="notation:Node" xmi:id="_yrWtSM9jEe6T2u19X9cqmQ" type="6003">
1311 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yrWtSc9jEe6T2u19X9cqmQ" x="1" y="10"/>
1312 </children>
1313 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yrWtQc9jEe6T2u19X9cqmQ" routing="Rectilinear"/>
1314 <styles xmi:type="notation:FontStyle" xmi:id="_yrWtQs9jEe6T2u19X9cqmQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1315 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yrWtQ89jEe6T2u19X9cqmQ" points="[-20, 0, 42, -309]$[-20, 50, 42, -259]$[-60, 50, 2, -259]$[-60, 290, 2, -19]"/>
1316 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yrXUUM9jEe6T2u19X9cqmQ" id="(0.4067796610169492,1.0)"/>
1317 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yrXUUc9jEe6T2u19X9cqmQ" id="(0.4827586206896552,0.19387755102040816)"/>
1318 </edges>
1319 <edges xmi:type="notation:Edge" xmi:id="_6FWkMM9kEe6T2u19X9cqmQ" type="4001" element="_6FJJDM9kEe6T2u19X9cqmQ" source="_uuYr8M9kEe6T2u19X9cqmQ" target="_dzfLYGTvEe2qdtyPWAtoxA">
1320 <children xmi:type="notation:Node" xmi:id="_6FWkNM9kEe6T2u19X9cqmQ" type="6001">
1321 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6FWkNc9kEe6T2u19X9cqmQ" y="-10"/>
1322 </children>
1323 <children xmi:type="notation:Node" xmi:id="_6FWkNs9kEe6T2u19X9cqmQ" type="6002">
1324 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6FWkN89kEe6T2u19X9cqmQ" y="10"/>
1325 </children>
1326 <children xmi:type="notation:Node" xmi:id="_6FWkOM9kEe6T2u19X9cqmQ" type="6003">
1327 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6FWkOc9kEe6T2u19X9cqmQ" y="10"/>
1328 </children>
1329 <styles xmi:type="notation:ConnectorStyle" xmi:id="_6FWkMc9kEe6T2u19X9cqmQ" routing="Tree"/>
1330 <styles xmi:type="notation:FontStyle" xmi:id="_6FWkMs9kEe6T2u19X9cqmQ" fontName="Noto Sans" fontHeight="8"/>
1331 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6FWkM89kEe6T2u19X9cqmQ" points="[0, 0, 633, 143]$[-633, -143, 0, 0]"/>
1332 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6FXLQM9kEe6T2u19X9cqmQ" id="(0.7185185185185186,0.07142857142857142)"/>
1333 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6FXLQc9kEe6T2u19X9cqmQ" id="(0.5,0.5)"/>
1334 </edges>
1335 <edges xmi:type="notation:Edge" xmi:id="_8EntQM9kEe6T2u19X9cqmQ" type="4001" element="_8EJzMM9kEe6T2u19X9cqmQ" source="_uuYr8M9kEe6T2u19X9cqmQ" target="_e73WIKA9EeuqkpDnuik1sg">
1336 <children xmi:type="notation:Node" xmi:id="_8EntRM9kEe6T2u19X9cqmQ" type="6001">
1337 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8EntRc9kEe6T2u19X9cqmQ" y="-10"/>
1338 </children>
1339 <children xmi:type="notation:Node" xmi:id="_8EntRs9kEe6T2u19X9cqmQ" type="6002">
1340 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8EntR89kEe6T2u19X9cqmQ" y="10"/>
1341 </children>
1342 <children xmi:type="notation:Node" xmi:id="_8EntSM9kEe6T2u19X9cqmQ" type="6003">
1343 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8EntSc9kEe6T2u19X9cqmQ" y="10"/>
1344 </children>
1345 <styles xmi:type="notation:ConnectorStyle" xmi:id="_8EntQc9kEe6T2u19X9cqmQ" routing="Tree"/>
1346 <styles xmi:type="notation:FontStyle" xmi:id="_8EntQs9kEe6T2u19X9cqmQ" fontName="Noto Sans" fontHeight="8"/>
1347 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8EntQ89kEe6T2u19X9cqmQ" points="[0, 0, 318, 320]$[-318, -320, 0, 0]"/>
1348 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8EntSs9kEe6T2u19X9cqmQ" id="(0.3111111111111111,0.05102040816326531)"/>
1349 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8EntS89kEe6T2u19X9cqmQ" id="(0.5,0.0)"/>
1350 </edges>
1351 <edges xmi:type="notation:Edge" xmi:id="_Rjhe0M9lEe6T2u19X9cqmQ" type="4001" element="_RjRnQs9lEe6T2u19X9cqmQ" source="_782skF9mEe2rXNsIDUvqhw" target="_uuYr8M9kEe6T2u19X9cqmQ">
1352 <children xmi:type="notation:Node" xmi:id="_RjiF4M9lEe6T2u19X9cqmQ" type="6001">
1353 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RjiF4c9lEe6T2u19X9cqmQ" y="16"/>
1354 </children>
1355 <children xmi:type="notation:Node" xmi:id="_RjiF4s9lEe6T2u19X9cqmQ" type="6002">
1356 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RjiF489lEe6T2u19X9cqmQ" x="77" y="10"/>
1357 </children>
1358 <children xmi:type="notation:Node" xmi:id="_RjiF5M9lEe6T2u19X9cqmQ" type="6003">
1359 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RjiF5c9lEe6T2u19X9cqmQ" x="-78" y="10"/>
1360 </children>
1361 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Rjhe0c9lEe6T2u19X9cqmQ" routing="Rectilinear"/>
1362 <styles xmi:type="notation:FontStyle" xmi:id="_Rjhe0s9lEe6T2u19X9cqmQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1363 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Rjhe089lEe6T2u19X9cqmQ" points="[66, -49, 491, -49]$[66, -93, 491, -93]$[-492, -93, -67, -93]$[-492, -49, -67, -49]"/>
1364 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RjiF5s9lEe6T2u19X9cqmQ" id="(0.0,0.5)"/>
1365 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RjiF589lEe6T2u19X9cqmQ" id="(1.0,0.5)"/>
1366 </edges>
1409 </data> 1367 </data>
1410 </ownedAnnotationEntries> 1368 </ownedAnnotationEntries>
1411 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY"> 1369 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY">
@@ -1467,7 +1425,7 @@
1467 <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']"/> 1425 <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']"/>
1468 </ownedElements> 1426 </ownedElements>
1469 </ownedDiagramElements> 1427 </ownedDiagramElements>
1470 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_c-A7oKA4EeuqkpDnuik1sg" name="ReferenceDeclaration" tooltipText="" outgoingEdges="_0V3L1qA4EeuqkpDnuik1sg _p1JWcqBJEeuqkpDnuik1sg _NrtSzmTzEe2qdtyPWAtoxA _bNXJs2g8Ee25oofngfVl_A _8sdu2DrXEe62Q_vL_UTCsA" incomingEdges="_0V3L1qA4EeuqkpDnuik1sg" width="12" height="10"> 1428 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_c-A7oKA4EeuqkpDnuik1sg" name="ReferenceDeclaration" tooltipText="" outgoingEdges="_0V3L1qA4EeuqkpDnuik1sg _p1JWcqBJEeuqkpDnuik1sg _NrtSzmTzEe2qdtyPWAtoxA _8sdu2DrXEe62Q_vL_UTCsA _nxr57GTvEe2qdtyPWAtoxA" incomingEdges="_0V3L1qA4EeuqkpDnuik1sg _jk6-PKA4EeuqkpDnuik1sg" width="12" height="10">
1471 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/> 1429 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/>
1472 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/> 1430 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/>
1473 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1431 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1477,7 +1435,7 @@
1477 <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"/> 1435 <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"/>
1478 </ownedStyle> 1436 </ownedStyle>
1479 <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']"/> 1437 <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']"/>
1480 <ownedElements xmi:type="diagram:DNodeListElement" uid="_902GwDNlEe2fD4dIhR_vzA" name="kind : ReferenceKind = REFERENCE" tooltipText=""> 1438 <ownedElements xmi:type="diagram:DNodeListElement" uid="_902GwDNlEe2fD4dIhR_vzA" name="kind : ReferenceKind = DEFAULT" tooltipText="">
1481 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/kind"/> 1439 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/kind"/>
1482 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/kind"/> 1440 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/kind"/>
1483 <ownedStyle xmi:type="diagram:BundledImage" uid="__BoC8jNlEe2fD4dIhR_vzA" labelAlignment="LEFT"> 1441 <ownedStyle xmi:type="diagram:BundledImage" uid="__BoC8jNlEe2fD4dIhR_vzA" labelAlignment="LEFT">
@@ -1486,7 +1444,7 @@
1486 <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']"/> 1444 <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']"/>
1487 </ownedElements> 1445 </ownedElements>
1488 </ownedDiagramElements> 1446 </ownedDiagramElements>
1489 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_jk6-PKA4EeuqkpDnuik1sg" name="[0..*] featureDeclarations" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_O8gcEGg8Ee25oofngfVl_A"> 1447 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_jk6-PKA4EeuqkpDnuik1sg" name="[0..*] featureDeclarations" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_c-A7oKA4EeuqkpDnuik1sg">
1490 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/featureDeclarations"/> 1448 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/featureDeclarations"/>
1491 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/featureDeclarations"/> 1449 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/featureDeclarations"/>
1492 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_jk7lQKA4EeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> 1450 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_jk7lQKA4EeuqkpDnuik1sg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
@@ -1635,7 +1593,7 @@
1635 </ownedStyle> 1593 </ownedStyle>
1636 <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']"/> 1594 <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']"/>
1637 </ownedDiagramElements> 1595 </ownedDiagramElements>
1638 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_e7ydoKA9EeuqkpDnuik1sg" name="Statement" tooltipText="" incomingEdges="_hU64ZqA9EeuqkpDnuik1sg _mzziwKA9EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _vdptgqA9EeuqkpDnuik1sg _WX_5w9bGEeuymriYTNxK2g _s68oXAGyEey7cfH5K6RyCw _UU0Y5cBeEe6Mo_-4--GvQg" width="12" height="10"> 1596 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_e7ydoKA9EeuqkpDnuik1sg" name="Statement" tooltipText="" incomingEdges="_hU64ZqA9EeuqkpDnuik1sg _mzziwKA9EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _vdptgqA9EeuqkpDnuik1sg _WX_5w9bGEeuymriYTNxK2g _s68oXAGyEey7cfH5K6RyCw _UU0Y5cBeEe6Mo_-4--GvQg _8EJzMM9kEe6T2u19X9cqmQ" width="12" height="10">
1639 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/> 1597 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/>
1640 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/> 1598 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/>
1641 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1599 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -2120,9 +2078,10 @@
2120 </ownedStyle> 2078 </ownedStyle>
2121 <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']"/> 2079 <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']"/>
2122 </ownedDiagramElements> 2080 </ownedDiagramElements>
2123 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_eKVWQBEKEe2AArBmfNpEZA" name="Modality" tooltipText="" width="12" height="10"> 2081 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_eKVWQBEKEe2AArBmfNpEZA" name="Modality" visible="false" tooltipText="" width="12" height="10">
2124 <target xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//Modality"/> 2082 <target xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//Modality"/>
2125 <semanticElements xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//Modality"/> 2083 <semanticElements xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//Modality"/>
2084 <graphicalFilters xmi:type="diagram:HideFilter" uid="_VqQDoM9lEe6T2u19X9cqmQ"/>
2126 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 2085 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2127 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 2086 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2128 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 2087 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
@@ -2130,7 +2089,7 @@
2130 <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%20EEnum']/@style"/> 2089 <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%20EEnum']/@style"/>
2131 </ownedStyle> 2090 </ownedStyle>
2132 <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%20EEnum']"/> 2091 <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%20EEnum']"/>
2133 <ownedElements xmi:type="diagram:DNodeListElement" uid="_fs9moBEKEe2AArBmfNpEZA" name="DEFAULT" tooltipText=""> 2092 <ownedElements xmi:type="diagram:DNodeListElement" uid="_fs9moBEKEe2AArBmfNpEZA" name="DEFAULT" visible="false" tooltipText="">
2134 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/DEFAULT"/> 2093 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/DEFAULT"/>
2135 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/DEFAULT"/> 2094 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/DEFAULT"/>
2136 <ownedStyle xmi:type="diagram:BundledImage" uid="_fs-NsBEKEe2AArBmfNpEZA" labelAlignment="LEFT"> 2095 <ownedStyle xmi:type="diagram:BundledImage" uid="_fs-NsBEKEe2AArBmfNpEZA" labelAlignment="LEFT">
@@ -2138,7 +2097,7 @@
2138 </ownedStyle> 2097 </ownedStyle>
2139 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> 2098 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2140 </ownedElements> 2099 </ownedElements>
2141 <ownedElements xmi:type="diagram:DNodeListElement" uid="_gO3Z0BEKEe2AArBmfNpEZA" name="MAY" tooltipText=""> 2100 <ownedElements xmi:type="diagram:DNodeListElement" uid="_gO3Z0BEKEe2AArBmfNpEZA" name="MAY" visible="false" tooltipText="">
2142 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/MAY"/> 2101 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/MAY"/>
2143 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/MAY"/> 2102 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/MAY"/>
2144 <ownedStyle xmi:type="diagram:BundledImage" uid="_gO4A4BEKEe2AArBmfNpEZA" labelAlignment="LEFT"> 2103 <ownedStyle xmi:type="diagram:BundledImage" uid="_gO4A4BEKEe2AArBmfNpEZA" labelAlignment="LEFT">
@@ -2146,7 +2105,7 @@
2146 </ownedStyle> 2105 </ownedStyle>
2147 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> 2106 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2148 </ownedElements> 2107 </ownedElements>
2149 <ownedElements xmi:type="diagram:DNodeListElement" uid="_gpdEEBEKEe2AArBmfNpEZA" name="MUST" tooltipText=""> 2108 <ownedElements xmi:type="diagram:DNodeListElement" uid="_gpdEEBEKEe2AArBmfNpEZA" name="MUST" visible="false" tooltipText="">
2150 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/MUST"/> 2109 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/MUST"/>
2151 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/MUST"/> 2110 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/MUST"/>
2152 <ownedStyle xmi:type="diagram:BundledImage" uid="_gpdEEREKEe2AArBmfNpEZA" labelAlignment="LEFT"> 2111 <ownedStyle xmi:type="diagram:BundledImage" uid="_gpdEEREKEe2AArBmfNpEZA" labelAlignment="LEFT">
@@ -2154,7 +2113,7 @@
2154 </ownedStyle> 2113 </ownedStyle>
2155 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> 2114 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2156 </ownedElements> 2115 </ownedElements>
2157 <ownedElements xmi:type="diagram:DNodeListElement" uid="_uumz0F4MEe2m7IaHDkh2Xg" name="CURRENT" tooltipText=""> 2116 <ownedElements xmi:type="diagram:DNodeListElement" uid="_uumz0F4MEe2m7IaHDkh2Xg" name="CURRENT" visible="false" tooltipText="">
2158 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/CURRENT"/> 2117 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/CURRENT"/>
2159 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/CURRENT"/> 2118 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//Modality/CURRENT"/>
2160 <ownedStyle xmi:type="diagram:BundledImage" uid="_uuna4F4MEe2m7IaHDkh2Xg" labelAlignment="LEFT"> 2119 <ownedStyle xmi:type="diagram:BundledImage" uid="_uuna4F4MEe2m7IaHDkh2Xg" labelAlignment="LEFT">
@@ -2173,59 +2132,59 @@
2173 <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%20EEnum']/@style"/> 2132 <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%20EEnum']/@style"/>
2174 </ownedStyle> 2133 </ownedStyle>
2175 <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%20EEnum']"/> 2134 <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%20EEnum']"/>
2176 <ownedElements xmi:type="diagram:DNodeListElement" uid="_2zSIgDNlEe2fD4dIhR_vzA" name="REFERENCE" tooltipText=""> 2135 <ownedElements xmi:type="diagram:DNodeListElement" uid="_2zSIgDNlEe2fD4dIhR_vzA" name="DEFAULT" tooltipText="">
2136 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/DEFAULT"/>
2137 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/DEFAULT"/>
2138 <ownedStyle xmi:type="diagram:BundledImage" uid="_2zSvkDNlEe2fD4dIhR_vzA" labelAlignment="LEFT">
2139 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2140 </ownedStyle>
2141 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2142 </ownedElements>
2143 <ownedElements xmi:type="diagram:DNodeListElement" uid="_4K8fADNlEe2fD4dIhR_vzA" name="REFERENCE" tooltipText="">
2177 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/REFERENCE"/> 2144 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/REFERENCE"/>
2178 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/REFERENCE"/> 2145 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/REFERENCE"/>
2179 <ownedStyle xmi:type="diagram:BundledImage" uid="_2zSvkDNlEe2fD4dIhR_vzA" labelAlignment="LEFT"> 2146 <ownedStyle xmi:type="diagram:BundledImage" uid="_4K8fATNlEe2fD4dIhR_vzA" labelAlignment="LEFT">
2180 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> 2147 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2181 </ownedStyle> 2148 </ownedStyle>
2182 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> 2149 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2183 </ownedElements> 2150 </ownedElements>
2184 <ownedElements xmi:type="diagram:DNodeListElement" uid="_4K8fADNlEe2fD4dIhR_vzA" name="CONTAINMENT" tooltipText=""> 2151 <ownedElements xmi:type="diagram:DNodeListElement" uid="_5MhQwDNlEe2fD4dIhR_vzA" name="CONTAINMENT" tooltipText="">
2185 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINMENT"/> 2152 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINMENT"/>
2186 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINMENT"/> 2153 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINMENT"/>
2187 <ownedStyle xmi:type="diagram:BundledImage" uid="_4K8fATNlEe2fD4dIhR_vzA" labelAlignment="LEFT"> 2154 <ownedStyle xmi:type="diagram:BundledImage" uid="_5MhQwTNlEe2fD4dIhR_vzA" labelAlignment="LEFT">
2188 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> 2155 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2189 </ownedStyle> 2156 </ownedStyle>
2190 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> 2157 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2191 </ownedElements> 2158 </ownedElements>
2192 <ownedElements xmi:type="diagram:DNodeListElement" uid="_5MhQwDNlEe2fD4dIhR_vzA" name="CONTAINER" tooltipText=""> 2159 <ownedElements xmi:type="diagram:DNodeListElement" uid="_9ZHQcM9jEe6T2u19X9cqmQ" name="CONTAINER" tooltipText="">
2193 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINER"/> 2160 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINER"/>
2194 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINER"/> 2161 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINER"/>
2195 <ownedStyle xmi:type="diagram:BundledImage" uid="_5MhQwTNlEe2fD4dIhR_vzA" labelAlignment="LEFT"> 2162 <ownedStyle xmi:type="diagram:BundledImage" uid="_9ZJFoM9jEe6T2u19X9cqmQ" labelAlignment="LEFT">
2196 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/> 2163 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2197 </ownedStyle> 2164 </ownedStyle>
2198 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/> 2165 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2199 </ownedElements> 2166 </ownedElements>
2200 </ownedDiagramElements> 2167 </ownedDiagramElements>
2201 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_78pRMF9mEe2rXNsIDUvqhw" name="FunctionDefinition" tooltipText="" outgoingEdges="_rKoQHF9nEe2rXNsIDUvqhw _S6YCJl9wEe2rXNsIDUvqhw _sMPaBmTvEe2qdtyPWAtoxA" width="12" height="10"> 2168 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_78pRMF9mEe2rXNsIDUvqhw" name="FunctionDefinition" tooltipText="" outgoingEdges="_rKoQHF9nEe2rXNsIDUvqhw _S6YCJl9wEe2rXNsIDUvqhw _sMPaBmTvEe2qdtyPWAtoxA _RjRnQs9lEe6T2u19X9cqmQ" width="12" height="10">
2202 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/> 2169 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/>
2203 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/> 2170 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/>
2204 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 2171 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2205 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 2172 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2206 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 2173 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2207 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_XN5OB2g9Ee25oofngfVl_A" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> 2174 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_2ElS-M9jEe6T2u19X9cqmQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2208 <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"/> 2175 <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"/>
2209 </ownedStyle> 2176 </ownedStyle>
2210 <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']"/> 2177 <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']"/>
2211 <ownedElements xmi:type="diagram:DNodeListElement" uid="_WWiIMGg9Ee25oofngfVl_A" name="functionType : PrimitiveType = INT" tooltipText="">
2212 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//FunctionDefinition/functionType"/>
2213 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//FunctionDefinition/functionType"/>
2214 <ownedStyle xmi:type="diagram:BundledImage" uid="_XN6cJGg9Ee25oofngfVl_A" labelAlignment="LEFT">
2215 <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%20EAttribute']/@style"/>
2216 </ownedStyle>
2217 <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']"/>
2218 </ownedElements>
2219 </ownedDiagramElements> 2178 </ownedDiagramElements>
2220 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_rKoQHF9nEe2rXNsIDUvqhw" sourceNode="_78pRMF9mEe2rXNsIDUvqhw" targetNode="_A8hIkCrZEeyyC-O0_LlY9w"> 2179 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_rKoQHF9nEe2rXNsIDUvqhw" sourceNode="_78pRMF9mEe2rXNsIDUvqhw" targetNode="_A8hIkCrZEeyyC-O0_LlY9w">
2221 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/> 2180 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/>
2222 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/> 2181 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/>
2223 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_XN-tzGg9Ee25oofngfVl_A" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree"> 2182 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_2ExgMs9jEe6T2u19X9cqmQ" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
2224 <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']/@conditionnalStyles.0/@style"/> 2183 <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']/@conditionnalStyles.0/@style"/>
2225 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_XN-tzWg9Ee25oofngfVl_A" showIcon="false"> 2184 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_2ExgM89jEe6T2u19X9cqmQ" showIcon="false">
2226 <labelFormat>italic</labelFormat> 2185 <labelFormat>italic</labelFormat>
2227 </beginLabelStyle> 2186 </beginLabelStyle>
2228 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_XN-tzmg9Ee25oofngfVl_A" showIcon="false"/> 2187 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_2ExgNM9jEe6T2u19X9cqmQ" showIcon="false"/>
2229 </ownedStyle> 2188 </ownedStyle>
2230 <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']"/> 2189 <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']"/>
2231 </ownedDiagramElements> 2190 </ownedDiagramElements>
@@ -2404,7 +2363,7 @@
2404 </ownedStyle> 2363 </ownedStyle>
2405 <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']"/> 2364 <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']"/>
2406 </ownedDiagramElements> 2365 </ownedDiagramElements>
2407 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_dzVaYGTvEe2qdtyPWAtoxA" name="Relation" tooltipText="" outgoingEdges="_-OYJtGTvEe2qdtyPWAtoxA" incomingEdges="_m2GbcmTvEe2qdtyPWAtoxA _nxr57GTvEe2qdtyPWAtoxA _pHlWJ2TvEe2qdtyPWAtoxA _p-1uSmTvEe2qdtyPWAtoxA _sMPaBmTvEe2qdtyPWAtoxA _NrtSzmTzEe2qdtyPWAtoxA _YWqZhmTzEe2qdtyPWAtoxA _iWzpAmTzEe2qdtyPWAtoxA _q604amTzEe2qdtyPWAtoxA _8sdu2DrXEe62Q_vL_UTCsA" width="12" height="10"> 2366 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_dzVaYGTvEe2qdtyPWAtoxA" name="Relation" tooltipText="" outgoingEdges="_-OYJtGTvEe2qdtyPWAtoxA" incomingEdges="_m2GbcmTvEe2qdtyPWAtoxA _nxr57GTvEe2qdtyPWAtoxA _pHlWJ2TvEe2qdtyPWAtoxA _p-1uSmTvEe2qdtyPWAtoxA _sMPaBmTvEe2qdtyPWAtoxA _NrtSzmTzEe2qdtyPWAtoxA _YWqZhmTzEe2qdtyPWAtoxA _iWzpAmTzEe2qdtyPWAtoxA _q604amTzEe2qdtyPWAtoxA _8sdu2DrXEe62Q_vL_UTCsA _6FJJDM9kEe6T2u19X9cqmQ" width="12" height="10">
2408 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/> 2367 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/>
2409 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/> 2368 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/>
2410 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 2369 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -2428,9 +2387,9 @@
2428 </ownedStyle> 2387 </ownedStyle>
2429 <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']"/> 2388 <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']"/>
2430 </ownedDiagramElements> 2389 </ownedDiagramElements>
2431 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_nxr57GTvEe2qdtyPWAtoxA" sourceNode="_O8gcEGg8Ee25oofngfVl_A" targetNode="_dzVaYGTvEe2qdtyPWAtoxA"> 2390 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_nxr57GTvEe2qdtyPWAtoxA" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_dzVaYGTvEe2qdtyPWAtoxA">
2432 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FeatureDeclaration"/> 2391 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/>
2433 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FeatureDeclaration"/> 2392 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/>
2434 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_nxr57WTvEe2qdtyPWAtoxA" targetArrow="InputClosedArrow" routingStyle="tree"> 2393 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_nxr57WTvEe2qdtyPWAtoxA" targetArrow="InputClosedArrow" routingStyle="tree">
2435 <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"/> 2394 <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"/>
2436 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_nxr57mTvEe2qdtyPWAtoxA" showIcon="false"> 2395 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_nxr57mTvEe2qdtyPWAtoxA" showIcon="false">
@@ -2467,12 +2426,12 @@
2467 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sMPaBmTvEe2qdtyPWAtoxA" sourceNode="_78pRMF9mEe2rXNsIDUvqhw" targetNode="_dzVaYGTvEe2qdtyPWAtoxA"> 2426 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sMPaBmTvEe2qdtyPWAtoxA" sourceNode="_78pRMF9mEe2rXNsIDUvqhw" targetNode="_dzVaYGTvEe2qdtyPWAtoxA">
2468 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/> 2427 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/>
2469 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/> 2428 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FunctionDefinition"/>
2470 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_XN-t0mg9Ee25oofngfVl_A" targetArrow="InputClosedArrow" routingStyle="tree"> 2429 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_2EyHMM9jEe6T2u19X9cqmQ" targetArrow="InputClosedArrow" routingStyle="tree">
2471 <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"/> 2430 <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"/>
2472 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_XN-t02g9Ee25oofngfVl_A" showIcon="false"> 2431 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_2EyHMc9jEe6T2u19X9cqmQ" showIcon="false">
2473 <labelFormat>italic</labelFormat> 2432 <labelFormat>italic</labelFormat>
2474 </beginLabelStyle> 2433 </beginLabelStyle>
2475 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_XN-t1Gg9Ee25oofngfVl_A" showIcon="false"/> 2434 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_2EyHMs9jEe6T2u19X9cqmQ" showIcon="false"/>
2476 </ownedStyle> 2435 </ownedStyle>
2477 <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']"/> 2436 <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']"/>
2478 </ownedDiagramElements> 2437 </ownedDiagramElements>
@@ -2553,119 +2512,6 @@
2553 </ownedStyle> 2512 </ownedStyle>
2554 <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']"/> 2513 <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']"/>
2555 </ownedDiagramElements> 2514 </ownedDiagramElements>
2556 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_O8gcEGg8Ee25oofngfVl_A" name="FeatureDeclaration" tooltipText="" outgoingEdges="_nxr57GTvEe2qdtyPWAtoxA" incomingEdges="_jk6-PKA4EeuqkpDnuik1sg _bNXJs2g8Ee25oofngfVl_A _lSCTtWg8Ee25oofngfVl_A _mCvX7mg8Ee25oofngfVl_A" width="12" height="10">
2557 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FeatureDeclaration"/>
2558 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FeatureDeclaration"/>
2559 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2560 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2561 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2562 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_3hrT6Wg8Ee25oofngfVl_A" 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">
2563 <labelFormat>italic</labelFormat>
2564 <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"/>
2565 </ownedStyle>
2566 <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']"/>
2567 </ownedDiagramElements>
2568 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_bNXJs2g8Ee25oofngfVl_A" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_O8gcEGg8Ee25oofngfVl_A">
2569 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/>
2570 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/>
2571 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_bNXwwGg8Ee25oofngfVl_A" targetArrow="InputClosedArrow" routingStyle="tree">
2572 <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"/>
2573 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_bNXwwWg8Ee25oofngfVl_A" showIcon="false">
2574 <labelFormat>italic</labelFormat>
2575 </beginLabelStyle>
2576 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_bNXwwmg8Ee25oofngfVl_A" showIcon="false"/>
2577 </ownedStyle>
2578 <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']"/>
2579 </ownedDiagramElements>
2580 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_cU9D4Gg8Ee25oofngfVl_A" name="AttributeDeclaration" tooltipText="" outgoingEdges="_lSCTtWg8Ee25oofngfVl_A" width="12" height="10">
2581 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//AttributeDeclaration"/>
2582 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//AttributeDeclaration"/>
2583 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2584 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2585 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2586 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_Eui91Wg9Ee25oofngfVl_A" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2587 <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"/>
2588 </ownedStyle>
2589 <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']"/>
2590 <ownedElements xmi:type="diagram:DNodeListElement" uid="_EB7vcGg9Ee25oofngfVl_A" name="attributeType : PrimitiveType = INT" tooltipText="">
2591 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//AttributeDeclaration/attributeType"/>
2592 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//AttributeDeclaration/attributeType"/>
2593 <ownedStyle xmi:type="diagram:BundledImage" uid="_EukL8Wg9Ee25oofngfVl_A" labelAlignment="LEFT">
2594 <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%20EAttribute']/@style"/>
2595 </ownedStyle>
2596 <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']"/>
2597 </ownedElements>
2598 </ownedDiagramElements>
2599 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_jY5nwGg8Ee25oofngfVl_A" name="FlagDeclaration" tooltipText="" outgoingEdges="_mCvX7mg8Ee25oofngfVl_A" width="12" height="10">
2600 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FlagDeclaration"/>
2601 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FlagDeclaration"/>
2602 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2603 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2604 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2605 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_jY5nwWg8Ee25oofngfVl_A" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2606 <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"/>
2607 </ownedStyle>
2608 <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']"/>
2609 </ownedDiagramElements>
2610 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_lSCTtWg8Ee25oofngfVl_A" sourceNode="_cU9D4Gg8Ee25oofngfVl_A" targetNode="_O8gcEGg8Ee25oofngfVl_A">
2611 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//AttributeDeclaration"/>
2612 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//AttributeDeclaration"/>
2613 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_EupEhWg9Ee25oofngfVl_A" targetArrow="InputClosedArrow" routingStyle="tree">
2614 <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"/>
2615 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_EupEhmg9Ee25oofngfVl_A" showIcon="false">
2616 <labelFormat>italic</labelFormat>
2617 </beginLabelStyle>
2618 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_EupEh2g9Ee25oofngfVl_A" showIcon="false"/>
2619 </ownedStyle>
2620 <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']"/>
2621 </ownedDiagramElements>
2622 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_mCvX7mg8Ee25oofngfVl_A" sourceNode="_jY5nwGg8Ee25oofngfVl_A" targetNode="_O8gcEGg8Ee25oofngfVl_A">
2623 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FlagDeclaration"/>
2624 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//FlagDeclaration"/>
2625 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_mCv-4Gg8Ee25oofngfVl_A" targetArrow="InputClosedArrow" routingStyle="tree">
2626 <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"/>
2627 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_mCv-4Wg8Ee25oofngfVl_A" showIcon="false">
2628 <labelFormat>italic</labelFormat>
2629 </beginLabelStyle>
2630 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_mCv-4mg8Ee25oofngfVl_A" showIcon="false"/>
2631 </ownedStyle>
2632 <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']"/>
2633 </ownedDiagramElements>
2634 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_pOBoEGg8Ee25oofngfVl_A" name="PrimitiveType" tooltipText="" width="12" height="10">
2635 <target xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//PrimitiveType"/>
2636 <semanticElements xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//PrimitiveType"/>
2637 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2638 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2639 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2640 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_pOBoEWg8Ee25oofngfVl_A" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202">
2641 <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%20EEnum']/@style"/>
2642 </ownedStyle>
2643 <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%20EEnum']"/>
2644 <ownedElements xmi:type="diagram:DNodeListElement" uid="_qOtpAGg8Ee25oofngfVl_A" name="INT" tooltipText="">
2645 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PrimitiveType/INT"/>
2646 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PrimitiveType/INT"/>
2647 <ownedStyle xmi:type="diagram:BundledImage" uid="_qOuQEGg8Ee25oofngfVl_A" labelAlignment="LEFT">
2648 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2649 </ownedStyle>
2650 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2651 </ownedElements>
2652 <ownedElements xmi:type="diagram:DNodeListElement" uid="_qp-BoGg8Ee25oofngfVl_A" name="REAL" tooltipText="">
2653 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PrimitiveType/REAL"/>
2654 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PrimitiveType/REAL"/>
2655 <ownedStyle xmi:type="diagram:BundledImage" uid="_qp-osGg8Ee25oofngfVl_A" labelAlignment="LEFT">
2656 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2657 </ownedStyle>
2658 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2659 </ownedElements>
2660 <ownedElements xmi:type="diagram:DNodeListElement" uid="_q_vdUGg8Ee25oofngfVl_A" name="STRING" tooltipText="">
2661 <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PrimitiveType/STRING"/>
2662 <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PrimitiveType/STRING"/>
2663 <ownedStyle xmi:type="diagram:BundledImage" uid="_q_wEYGg8Ee25oofngfVl_A" labelAlignment="LEFT">
2664 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2665 </ownedStyle>
2666 <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%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2667 </ownedElements>
2668 </ownedDiagramElements>
2669 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_8sdu2DrXEe62Q_vL_UTCsA" name="[0..1] invalidMultiplicity" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_dzVaYGTvEe2qdtyPWAtoxA"> 2515 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_8sdu2DrXEe62Q_vL_UTCsA" name="[0..1] invalidMultiplicity" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_dzVaYGTvEe2qdtyPWAtoxA">
2670 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/invalidMultiplicity"/> 2516 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/invalidMultiplicity"/>
2671 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/invalidMultiplicity"/> 2517 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/invalidMultiplicity"/>
@@ -2782,6 +2628,51 @@
2782 </ownedStyle> 2628 </ownedStyle>
2783 <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']"/> 2629 <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']"/>
2784 </ownedDiagramElements> 2630 </ownedDiagramElements>
2631 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_uuKCcM9kEe6T2u19X9cqmQ" name="DatatypeDeclaration" tooltipText="" outgoingEdges="_6FJJDM9kEe6T2u19X9cqmQ _8EJzMM9kEe6T2u19X9cqmQ" incomingEdges="_RjRnQs9lEe6T2u19X9cqmQ" width="12" height="10">
2632 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//DatatypeDeclaration"/>
2633 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//DatatypeDeclaration"/>
2634 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2635 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2636 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2637 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_1J9BRc9kEe6T2u19X9cqmQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2638 <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"/>
2639 </ownedStyle>
2640 <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']"/>
2641 </ownedDiagramElements>
2642 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_6FJJDM9kEe6T2u19X9cqmQ" sourceNode="_uuKCcM9kEe6T2u19X9cqmQ" targetNode="_dzVaYGTvEe2qdtyPWAtoxA">
2643 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//DatatypeDeclaration"/>
2644 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//DatatypeDeclaration"/>
2645 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_6FJJDc9kEe6T2u19X9cqmQ" targetArrow="InputClosedArrow" routingStyle="tree">
2646 <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"/>
2647 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_6FJJDs9kEe6T2u19X9cqmQ" showIcon="false">
2648 <labelFormat>italic</labelFormat>
2649 </beginLabelStyle>
2650 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_6FJJD89kEe6T2u19X9cqmQ" showIcon="false"/>
2651 </ownedStyle>
2652 <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']"/>
2653 </ownedDiagramElements>
2654 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_8EJzMM9kEe6T2u19X9cqmQ" sourceNode="_uuKCcM9kEe6T2u19X9cqmQ" targetNode="_e7ydoKA9EeuqkpDnuik1sg">
2655 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//DatatypeDeclaration"/>
2656 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//DatatypeDeclaration"/>
2657 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_8EJzMc9kEe6T2u19X9cqmQ" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
2658 <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']/@conditionnalStyles.0/@style"/>
2659 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_8EJzMs9kEe6T2u19X9cqmQ" showIcon="false">
2660 <labelFormat>italic</labelFormat>
2661 </beginLabelStyle>
2662 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_8EJzM89kEe6T2u19X9cqmQ" showIcon="false"/>
2663 </ownedStyle>
2664 <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']"/>
2665 </ownedDiagramElements>
2666 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_RjRnQs9lEe6T2u19X9cqmQ" name="[0..1] functionType" sourceNode="_78pRMF9mEe2rXNsIDUvqhw" targetNode="_uuKCcM9kEe6T2u19X9cqmQ">
2667 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//FunctionDefinition/functionType"/>
2668 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//FunctionDefinition/functionType"/>
2669 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_RjRnQ89lEe6T2u19X9cqmQ" routingStyle="manhattan" strokeColor="0,0,0">
2670 <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_EReference']/@style"/>
2671 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_RjRnRc9lEe6T2u19X9cqmQ" showIcon="false"/>
2672 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_RjRnRM9lEe6T2u19X9cqmQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2673 </ownedStyle>
2674 <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']"/>
2675 </ownedDiagramElements>
2785 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 2676 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
2786 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/> 2677 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/>
2787 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> 2678 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
diff --git a/subprojects/language-model/src/main/resources/model/problem.ecore b/subprojects/language-model/src/main/resources/model/problem.ecore
index 97355516..bac409f9 100644
--- a/subprojects/language-model/src/main/resources/model/problem.ecore
+++ b/subprojects/language-model/src/main/resources/model/problem.ecore
@@ -13,13 +13,13 @@
13 <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Statement #//Relation"> 13 <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Statement #//Relation">
14 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 14 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
15 <eStructuralFeatures xsi:type="ecore:EReference" name="featureDeclarations" upperBound="-1" 15 <eStructuralFeatures xsi:type="ecore:EReference" name="featureDeclarations" upperBound="-1"
16 eType="#//FeatureDeclaration" containment="true"/> 16 eType="#//ReferenceDeclaration" containment="true"/>
17 <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node" 17 <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node"
18 transient="true" containment="true"/> 18 transient="true" containment="true"/>
19 <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1" 19 <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1"
20 eType="#//Relation"/> 20 eType="#//Relation"/>
21 </eClassifiers> 21 </eClassifiers>
22 <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//FeatureDeclaration"> 22 <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation">
23 <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/> 23 <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/>
24 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" 24 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity"
25 containment="true"/> 25 containment="true"/>
@@ -170,8 +170,9 @@
170 <eLiterals name="ABS_NOT_EQ" value="10"/> 170 <eLiterals name="ABS_NOT_EQ" value="10"/>
171 </eClassifiers> 171 </eClassifiers>
172 <eClassifiers xsi:type="ecore:EEnum" name="ReferenceKind"> 172 <eClassifiers xsi:type="ecore:EEnum" name="ReferenceKind">
173 <eLiterals name="REFERENCE" value="1"/> 173 <eLiterals name="DEFAULT" value="1"/>
174 <eLiterals name="CONTAINMENT" value="2"/> 174 <eLiterals name="REFERENCE" value="2"/>
175 <eLiterals name="CONTAINMENT" value="3"/>
175 <eLiterals name="CONTAINER" value="3"/> 176 <eLiterals name="CONTAINER" value="3"/>
176 </eClassifiers> 177 </eClassifiers>
177 <eClassifiers xsi:type="ecore:EClass" name="Expr" abstract="true"/> 178 <eClassifiers xsi:type="ecore:EClass" name="Expr" abstract="true"/>
@@ -225,7 +226,7 @@
225 <eClassifiers xsi:type="ecore:EClass" name="FunctionDefinition" eSuperTypes="#//ParametricDefinition #//Relation"> 226 <eClassifiers xsi:type="ecore:EClass" name="FunctionDefinition" eSuperTypes="#//ParametricDefinition #//Relation">
226 <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1" 227 <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1"
227 eType="#//Case" containment="true"/> 228 eType="#//Case" containment="true"/>
228 <eStructuralFeatures xsi:type="ecore:EAttribute" name="functionType" eType="#//PrimitiveType"/> 229 <eStructuralFeatures xsi:type="ecore:EReference" name="functionType" eType="#//DatatypeDeclaration"/>
229 </eClassifiers> 230 </eClassifiers>
230 <eClassifiers xsi:type="ecore:EClass" name="Case" abstract="true"/> 231 <eClassifiers xsi:type="ecore:EClass" name="Case" abstract="true"/>
231 <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//Case #//ExistentialQuantifier"> 232 <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//Case #//ExistentialQuantifier">
@@ -249,17 +250,6 @@
249 </eClassifiers> 250 </eClassifiers>
250 <eClassifiers xsi:type="ecore:EClass" name="RangeExpr" eSuperTypes="#//BinaryExpr"/> 251 <eClassifiers xsi:type="ecore:EClass" name="RangeExpr" eSuperTypes="#//BinaryExpr"/>
251 <eClassifiers xsi:type="ecore:EClass" name="InfConstant" eSuperTypes="#//Constant"/> 252 <eClassifiers xsi:type="ecore:EClass" name="InfConstant" eSuperTypes="#//Constant"/>
252 <eClassifiers xsi:type="ecore:EClass" name="FeatureDeclaration" abstract="true"
253 eSuperTypes="#//Relation"/>
254 <eClassifiers xsi:type="ecore:EClass" name="AttributeDeclaration" eSuperTypes="#//FeatureDeclaration">
255 <eStructuralFeatures xsi:type="ecore:EAttribute" name="attributeType" eType="#//PrimitiveType"/>
256 </eClassifiers>
257 <eClassifiers xsi:type="ecore:EClass" name="FlagDeclaration" eSuperTypes="#//FeatureDeclaration"/>
258 <eClassifiers xsi:type="ecore:EEnum" name="PrimitiveType">
259 <eLiterals name="INT"/>
260 <eLiterals name="REAL" value="1"/>
261 <eLiterals name="STRING" value="2"/>
262 </eClassifiers>
263 <eClassifiers xsi:type="ecore:EClass" name="LogicConstant" eSuperTypes="#//Constant"> 253 <eClassifiers xsi:type="ecore:EClass" name="LogicConstant" eSuperTypes="#//Constant">
264 <eStructuralFeatures xsi:type="ecore:EAttribute" name="logicValue" eType="#//LogicValue"/> 254 <eStructuralFeatures xsi:type="ecore:EAttribute" name="logicValue" eType="#//LogicValue"/>
265 </eClassifiers> 255 </eClassifiers>
@@ -276,4 +266,5 @@
276 <eStructuralFeatures xsi:type="ecore:EReference" name="importedModule" eType="#//Problem"/> 266 <eStructuralFeatures xsi:type="ecore:EReference" name="importedModule" eType="#//Problem"/>
277 <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 267 <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
278 </eClassifiers> 268 </eClassifiers>
269 <eClassifiers xsi:type="ecore:EClass" name="DatatypeDeclaration" eSuperTypes="#//Relation #//Statement"/>
279</ecore:EPackage> 270</ecore:EPackage>
diff --git a/subprojects/language-model/src/main/resources/model/problem.genmodel b/subprojects/language-model/src/main/resources/model/problem.genmodel
index 23458ee5..29df79cf 100644
--- a/subprojects/language-model/src/main/resources/model/problem.genmodel
+++ b/subprojects/language-model/src/main/resources/model/problem.genmodel
@@ -36,6 +36,7 @@
36 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/ABS_NOT_EQ"/> 36 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/ABS_NOT_EQ"/>
37 </genEnums> 37 </genEnums>
38 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ReferenceKind"> 38 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ReferenceKind">
39 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/DEFAULT"/>
39 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/REFERENCE"/> 40 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/REFERENCE"/>
40 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/CONTAINMENT"/> 41 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/CONTAINMENT"/>
41 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/CONTAINER"/> 42 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/CONTAINER"/>
@@ -59,11 +60,6 @@
59 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/MIN"/> 60 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/MIN"/>
60 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/MAX"/> 61 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/MAX"/>
61 </genEnums> 62 </genEnums>
62 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//PrimitiveType">
63 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PrimitiveType/INT"/>
64 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PrimitiveType/REAL"/>
65 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PrimitiveType/STRING"/>
66 </genEnums>
67 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ModuleKind"> 63 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ModuleKind">
68 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ModuleKind/PROBLEM"/> 64 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ModuleKind/PROBLEM"/>
69 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ModuleKind/MODULE"/> 65 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ModuleKind/MODULE"/>
@@ -210,7 +206,7 @@
210 <genClasses ecoreClass="problem.ecore#//QuantifiedUnaryExpr"/> 206 <genClasses ecoreClass="problem.ecore#//QuantifiedUnaryExpr"/>
211 <genClasses ecoreClass="problem.ecore#//FunctionDefinition"> 207 <genClasses ecoreClass="problem.ecore#//FunctionDefinition">
212 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//FunctionDefinition/cases"/> 208 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//FunctionDefinition/cases"/>
213 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//FunctionDefinition/functionType"/> 209 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//FunctionDefinition/functionType"/>
214 </genClasses> 210 </genClasses>
215 <genClasses ecoreClass="problem.ecore#//Case"/> 211 <genClasses ecoreClass="problem.ecore#//Case"/>
216 <genClasses ecoreClass="problem.ecore#//Conjunction"> 212 <genClasses ecoreClass="problem.ecore#//Conjunction">
@@ -231,11 +227,6 @@
231 </genClasses> 227 </genClasses>
232 <genClasses ecoreClass="problem.ecore#//RangeExpr"/> 228 <genClasses ecoreClass="problem.ecore#//RangeExpr"/>
233 <genClasses ecoreClass="problem.ecore#//InfConstant"/> 229 <genClasses ecoreClass="problem.ecore#//InfConstant"/>
234 <genClasses ecoreClass="problem.ecore#//FeatureDeclaration"/>
235 <genClasses ecoreClass="problem.ecore#//AttributeDeclaration">
236 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//AttributeDeclaration/attributeType"/>
237 </genClasses>
238 <genClasses ecoreClass="problem.ecore#//FlagDeclaration"/>
239 <genClasses ecoreClass="problem.ecore#//LogicConstant"> 230 <genClasses ecoreClass="problem.ecore#//LogicConstant">
240 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//LogicConstant/logicValue"/> 231 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//LogicConstant/logicValue"/>
241 </genClasses> 232 </genClasses>
@@ -243,5 +234,6 @@
243 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ImportStatement/importedModule"/> 234 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ImportStatement/importedModule"/>
244 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ImportStatement/alias"/> 235 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ImportStatement/alias"/>
245 </genClasses> 236 </genClasses>
237 <genClasses ecoreClass="problem.ecore#//DatatypeDeclaration"/>
246 </genPackages> 238 </genPackages>
247</genmodel:GenModel> 239</genmodel:GenModel>
diff --git a/subprojects/language-semantics/src/main/java/tools/refinery/language/semantics/ModelInitializer.java b/subprojects/language-semantics/src/main/java/tools/refinery/language/semantics/ModelInitializer.java
index c2bca2a5..203baad6 100644
--- a/subprojects/language-semantics/src/main/java/tools/refinery/language/semantics/ModelInitializer.java
+++ b/subprojects/language-semantics/src/main/java/tools/refinery/language/semantics/ModelInitializer.java
@@ -29,7 +29,10 @@ import tools.refinery.store.reasoning.seed.ModelSeed;
29import tools.refinery.store.reasoning.seed.Seed; 29import tools.refinery.store.reasoning.seed.Seed;
30import tools.refinery.store.reasoning.translator.TranslationException; 30import tools.refinery.store.reasoning.translator.TranslationException;
31import tools.refinery.store.reasoning.translator.containment.ContainmentHierarchyTranslator; 31import tools.refinery.store.reasoning.translator.containment.ContainmentHierarchyTranslator;
32import tools.refinery.store.reasoning.translator.metamodel.*; 32import tools.refinery.store.reasoning.translator.metamodel.Metamodel;
33import tools.refinery.store.reasoning.translator.metamodel.MetamodelBuilder;
34import tools.refinery.store.reasoning.translator.metamodel.MetamodelTranslator;
35import tools.refinery.store.reasoning.translator.metamodel.ReferenceInfo;
33import tools.refinery.store.reasoning.translator.multiobject.MultiObjectTranslator; 36import tools.refinery.store.reasoning.translator.multiobject.MultiObjectTranslator;
34import tools.refinery.store.reasoning.translator.multiplicity.ConstrainedMultiplicity; 37import tools.refinery.store.reasoning.translator.multiplicity.ConstrainedMultiplicity;
35import tools.refinery.store.reasoning.translator.multiplicity.Multiplicity; 38import tools.refinery.store.reasoning.translator.multiplicity.Multiplicity;
@@ -243,15 +246,14 @@ public class ModelInitializer {
243 246
244 private void collectClassDeclarationSymbols(ClassDeclaration classDeclaration) { 247 private void collectClassDeclarationSymbols(ClassDeclaration classDeclaration) {
245 collectPartialRelation(classDeclaration, 1, null, TruthValue.UNKNOWN); 248 collectPartialRelation(classDeclaration, 1, null, TruthValue.UNKNOWN);
246 for (var featureDeclaration : classDeclaration.getFeatureDeclarations()) { 249 for (var referenceDeclaration : classDeclaration.getFeatureDeclarations()) {
247 if (featureDeclaration instanceof ReferenceDeclaration referenceDeclaration) { 250 if (referenceDeclaration.getReferenceType() instanceof DatatypeDeclaration) {
248 collectPartialRelation(referenceDeclaration, 2, null, TruthValue.UNKNOWN); 251 throw new TracedException(referenceDeclaration, "Attributes are not yet supported");
249 var invalidMultiplicityConstraint = referenceDeclaration.getInvalidMultiplicity(); 252 }
250 if (invalidMultiplicityConstraint != null) { 253 collectPartialRelation(referenceDeclaration, 2, null, TruthValue.UNKNOWN);
251 collectPartialRelation(invalidMultiplicityConstraint, 1, TruthValue.FALSE, TruthValue.FALSE); 254 var invalidMultiplicityConstraint = referenceDeclaration.getInvalidMultiplicity();
252 } 255 if (invalidMultiplicityConstraint != null) {
253 } else { 256 collectPartialRelation(invalidMultiplicityConstraint, 1, TruthValue.FALSE, TruthValue.FALSE);
254 throw new TracedException(featureDeclaration, "Unknown feature declaration");
255 } 257 }
256 } 258 }
257 } 259 }
@@ -319,10 +321,8 @@ public class ModelInitializer {
319 } catch (RuntimeException e) { 321 } catch (RuntimeException e) {
320 throw TracedException.addTrace(classDeclaration, e); 322 throw TracedException.addTrace(classDeclaration, e);
321 } 323 }
322 for (var featureDeclaration : classDeclaration.getFeatureDeclarations()) { 324 for (var referenceDeclaration : classDeclaration.getFeatureDeclarations()) {
323 if (featureDeclaration instanceof ReferenceDeclaration referenceDeclaration) { 325 collectReferenceDeclarationMetamodel(classDeclaration, referenceDeclaration);
324 collectReferenceDeclarationMetamodel(classDeclaration, referenceDeclaration);
325 }
326 } 326 }
327 } 327 }
328 328
diff --git a/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext b/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext
index f0d6c38c..a2fea627 100644
--- a/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext
+++ b/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext
@@ -17,7 +17,7 @@ enum ModuleKind:
17 17
18Statement: 18Statement:
19 ImportStatement | Assertion | ClassDeclaration | EnumDeclaration | 19 ImportStatement | Assertion | ClassDeclaration | EnumDeclaration |
20 PredicateDefinition | /* FunctionDefinition | RuleDefinition | */ 20 DatatypeDeclaration | PredicateDefinition | /* FunctionDefinition | RuleDefinition | */
21 ScopeDeclaration | NodeDeclaration; 21 ScopeDeclaration | NodeDeclaration;
22 22
23ImportStatement: 23ImportStatement:
@@ -27,7 +27,7 @@ ClassDeclaration:
27 abstract?="abstract"? "class" 27 abstract?="abstract"? "class"
28 name=Identifier 28 name=Identifier
29 ("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)? 29 ("extends" superTypes+=[Relation|QualifiedName] ("," superTypes+=[Relation|QualifiedName])*)?
30 ("{" (featureDeclarations+=FeatureDeclaration ";"?)* "}" | "."); 30 ("{" (featureDeclarations+=ReferenceDeclaration ";"?)* "}" | ".");
31 31
32EnumDeclaration: 32EnumDeclaration:
33 "enum" 33 "enum"
@@ -37,8 +37,8 @@ EnumDeclaration:
37EnumLiteral returns Node: 37EnumLiteral returns Node:
38 name=Identifier; 38 name=Identifier;
39 39
40FeatureDeclaration: 40DatatypeDeclaration:
41 ReferenceDeclaration /* | AttributeDeclaration | FlagDeclaration */; 41 "extern" "datatype" name=Identifier ".";
42 42
43enum ReferenceKind: 43enum ReferenceKind:
44 REFERENCE="refers" | CONTAINMENT="contains" | CONTAINER="container"; 44 REFERENCE="refers" | CONTAINMENT="contains" | CONTAINER="container";
@@ -53,15 +53,6 @@ ReferenceDeclaration:
53ReferenceMultiplicity returns Multiplicity: 53ReferenceMultiplicity returns Multiplicity:
54 "[" Multiplicity "]"; 54 "[" Multiplicity "]";
55 55
56//enum PrimitiveType:
57// INT="int" | REAL="real" | STRING="string";
58//
59//AttributeDeclaration:
60// attributeType=PrimitiveType name=Identifier;
61//
62//FlagDeclaration:
63// "bool" name=Identifier;
64
65PredicateDefinition: 56PredicateDefinition:
66 ("pred" | error?="error" "pred"?) 57 ("pred" | error?="error" "pred"?)
67 name=Identifier 58 name=Identifier
@@ -73,7 +64,7 @@ Conjunction:
73 literals+=Expr ("," literals+=Expr)*; 64 literals+=Expr ("," literals+=Expr)*;
74 65
75//FunctionDefinition: 66//FunctionDefinition:
76// "fn" functionType=PrimitiveType name=Identifier 67// "fn" functionType=[DatatypeDefinition|QualifiedName] name=Identifier
77// "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" 68// "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")"
78// ("=" cases+=Case (";" cases+=Case)*)? 69// ("=" cases+=Case (";" cases+=Case)*)?
79// "."; 70// ".";
diff --git a/subprojects/language/src/main/java/tools/refinery/language/resource/state/ProblemDerivedStateComputer.java b/subprojects/language/src/main/java/tools/refinery/language/resource/state/ProblemDerivedStateComputer.java
index d905aa9a..efa77c50 100644
--- a/subprojects/language/src/main/java/tools/refinery/language/resource/state/ProblemDerivedStateComputer.java
+++ b/subprojects/language/src/main/java/tools/refinery/language/resource/state/ProblemDerivedStateComputer.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/> 2 * SPDX-FileCopyrightText: 2021-2024 The Refinery Authors <https://refinery.tools/>
3 * 3 *
4 * SPDX-License-Identifier: EPL-2.0 4 * SPDX-License-Identifier: EPL-2.0
5 */ 5 */
@@ -51,7 +51,7 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
51 if (contents.isEmpty()) { 51 if (contents.isEmpty()) {
52 return null; 52 return null;
53 } 53 }
54 EObject object = contents.get(0); 54 EObject object = contents.getFirst();
55 if (object instanceof Problem problem) { 55 if (object instanceof Problem problem) {
56 return problem; 56 return problem;
57 } 57 }
@@ -71,10 +71,8 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
71 for (var statement : problem.getStatements()) { 71 for (var statement : problem.getStatements()) {
72 if (statement instanceof ClassDeclaration classDeclaration) { 72 if (statement instanceof ClassDeclaration classDeclaration) {
73 installOrRemoveNewNode(adapter, classDeclaration); 73 installOrRemoveNewNode(adapter, classDeclaration);
74 for (var featureDeclaration : classDeclaration.getFeatureDeclarations()) { 74 for (var referenceDeclaration : classDeclaration.getFeatureDeclarations()) {
75 if (featureDeclaration instanceof ReferenceDeclaration referenceDeclaration) { 75 installOrRemoveInvalidMultiplicityPredicate(adapter, classDeclaration, referenceDeclaration);
76 installOrRemoveInvalidMultiplicityPredicate(adapter, classDeclaration, referenceDeclaration);
77 }
78 } 76 }
79 } 77 }
80 } 78 }
@@ -157,9 +155,8 @@ public class ProblemDerivedStateComputer implements IDerivedStateComputer {
157 if (classDeclaration.isAbstract()) { 155 if (classDeclaration.isAbstract()) {
158 abstractClassDeclarations.add(classDeclaration); 156 abstractClassDeclarations.add(classDeclaration);
159 } 157 }
160 for (var featureDeclaration : classDeclaration.getFeatureDeclarations()) { 158 for (var referenceDeclaration : classDeclaration.getFeatureDeclarations()) {
161 if (featureDeclaration instanceof ReferenceDeclaration referenceDeclaration && 159 if (ProblemUtil.hasMultiplicityConstraint(referenceDeclaration)) {
162 ProblemUtil.hasMultiplicityConstraint(referenceDeclaration)) {
163 referenceDeclarationsWithMultiplicity.add(referenceDeclaration); 160 referenceDeclarationsWithMultiplicity.add(referenceDeclaration);
164 } 161 }
165 } 162 }
diff --git a/subprojects/language/src/main/java/tools/refinery/language/utils/ProblemDesugarer.java b/subprojects/language/src/main/java/tools/refinery/language/utils/ProblemDesugarer.java
index 0bd1e50b..d45c8083 100644
--- a/subprojects/language/src/main/java/tools/refinery/language/utils/ProblemDesugarer.java
+++ b/subprojects/language/src/main/java/tools/refinery/language/utils/ProblemDesugarer.java
@@ -87,11 +87,7 @@ public class ProblemDesugarer {
87 private Collection<ReferenceDeclaration> doGetAllReferenceDeclarations(ClassDeclaration classDeclaration) { 87 private Collection<ReferenceDeclaration> doGetAllReferenceDeclarations(ClassDeclaration classDeclaration) {
88 Set<ReferenceDeclaration> referenceDeclarations = new HashSet<>(); 88 Set<ReferenceDeclaration> referenceDeclarations = new HashSet<>();
89 for (ClassDeclaration superclass : getSuperclassesAndSelf(classDeclaration)) { 89 for (ClassDeclaration superclass : getSuperclassesAndSelf(classDeclaration)) {
90 for (FeatureDeclaration featureDeclaration : superclass.getFeatureDeclarations()) { 90 referenceDeclarations.addAll(superclass.getFeatureDeclarations());
91 if (featureDeclaration instanceof ReferenceDeclaration referenceDeclaration) {
92 referenceDeclarations.add(referenceDeclaration);
93 }
94 }
95 } 91 }
96 return referenceDeclarations; 92 return referenceDeclarations;
97 } 93 }
diff --git a/subprojects/language/src/main/java/tools/refinery/language/utils/ProblemUtil.java b/subprojects/language/src/main/java/tools/refinery/language/utils/ProblemUtil.java
index f70893e0..6d6d65da 100644
--- a/subprojects/language/src/main/java/tools/refinery/language/utils/ProblemUtil.java
+++ b/subprojects/language/src/main/java/tools/refinery/language/utils/ProblemUtil.java
@@ -1,5 +1,5 @@
1/* 1/*
2 * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/> 2 * SPDX-FileCopyrightText: 2021-2024 The Refinery Authors <https://refinery.tools/>
3 * 3 *
4 * SPDX-License-Identifier: EPL-2.0 4 * SPDX-License-Identifier: EPL-2.0
5 */ 5 */
@@ -81,6 +81,9 @@ public final class ProblemUtil {
81 } 81 }
82 82
83 public static boolean hasMultiplicityConstraint(ReferenceDeclaration referenceDeclaration) { 83 public static boolean hasMultiplicityConstraint(ReferenceDeclaration referenceDeclaration) {
84 if (referenceDeclaration.getReferenceType() instanceof DatatypeDeclaration) {
85 return false;
86 }
84 var opposite = referenceDeclaration.getOpposite(); 87 var opposite = referenceDeclaration.getOpposite();
85 if (opposite != null && opposite.getKind() == ReferenceKind.CONTAINMENT) { 88 if (opposite != null && opposite.getKind() == ReferenceKind.CONTAINMENT) {
86 return false; 89 return false;
@@ -96,7 +99,8 @@ public final class ProblemUtil {
96 } 99 }
97 100
98 public static int getArity(Relation relation) { 101 public static int getArity(Relation relation) {
99 if (relation instanceof ClassDeclaration || relation instanceof EnumDeclaration) { 102 if (relation instanceof ClassDeclaration || relation instanceof EnumDeclaration ||
103 relation instanceof DatatypeDeclaration) {
100 return 1; 104 return 1;
101 } 105 }
102 if (relation instanceof ReferenceDeclaration) { 106 if (relation instanceof ReferenceDeclaration) {
@@ -116,7 +120,7 @@ public final class ProblemUtil {
116 return switch (kind) { 120 return switch (kind) {
117 case CONTAINMENT -> false; 121 case CONTAINMENT -> false;
118 case CONTAINER -> true; 122 case CONTAINER -> true;
119 case REFERENCE -> { 123 case DEFAULT, REFERENCE -> {
120 var opposite = referenceDeclaration.getOpposite(); 124 var opposite = referenceDeclaration.getOpposite();
121 if (opposite == null) { 125 if (opposite == null) {
122 yield false; 126 yield false;
diff --git a/subprojects/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java b/subprojects/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java
index d9eb5fd3..560f612a 100644
--- a/subprojects/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java
+++ b/subprojects/language/src/main/java/tools/refinery/language/validation/ProblemValidator.java
@@ -315,8 +315,9 @@ public class ProblemValidator extends AbstractProblemValidator {
315 315
316 @Check 316 @Check
317 public void checkReferenceType(ReferenceDeclaration referenceDeclaration) { 317 public void checkReferenceType(ReferenceDeclaration referenceDeclaration) {
318 if (referenceDeclaration.getKind() == ReferenceKind.REFERENCE && 318 boolean isDefaultReference = referenceDeclaration.getKind() == ReferenceKind.DEFAULT &&
319 !ProblemUtil.isContainerReference(referenceDeclaration)) { 319 !ProblemUtil.isContainerReference(referenceDeclaration);
320 if (isDefaultReference || referenceDeclaration.getKind() == ReferenceKind.REFERENCE) {
320 checkArity(referenceDeclaration, ProblemPackage.Literals.REFERENCE_DECLARATION__REFERENCE_TYPE, 1); 321 checkArity(referenceDeclaration, ProblemPackage.Literals.REFERENCE_DECLARATION__REFERENCE_TYPE, 1);
321 return; 322 return;
322 } 323 }
diff --git a/subprojects/language/src/main/resources/tools/refinery/language/library/builtin.refinery b/subprojects/language/src/main/resources/tools/refinery/language/library/builtin.refinery
index 4e74ca03..faca332f 100644
--- a/subprojects/language/src/main/resources/tools/refinery/language/library/builtin.refinery
+++ b/subprojects/language/src/main/resources/tools/refinery/language/library/builtin.refinery
@@ -13,3 +13,9 @@ abstract class contained extends node.
13pred contains(container, contained contained). 13pred contains(container, contained contained).
14 14
15error invalidContainer(contained contained). 15error invalidContainer(contained contained).
16
17extern datatype int.
18
19extern datatype real.
20
21extern datatype string.
diff --git a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedClassDeclaration.java b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedClassDeclaration.java
index a228137c..14ac7bfc 100644
--- a/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedClassDeclaration.java
+++ b/subprojects/language/src/testFixtures/java/tools/refinery/language/model/tests/utils/WrappedClassDeclaration.java
@@ -1,19 +1,19 @@
1/* 1/*
2 * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/> 2 * SPDX-FileCopyrightText: 2021-2024 The Refinery Authors <https://refinery.tools/>
3 * 3 *
4 * SPDX-License-Identifier: EPL-2.0 4 * SPDX-License-Identifier: EPL-2.0
5 */ 5 */
6package tools.refinery.language.model.tests.utils; 6package tools.refinery.language.model.tests.utils;
7 7
8import tools.refinery.language.model.problem.ClassDeclaration; 8import tools.refinery.language.model.problem.ClassDeclaration;
9import tools.refinery.language.model.problem.FeatureDeclaration; 9import tools.refinery.language.model.problem.ReferenceDeclaration;
10 10
11public record WrappedClassDeclaration(ClassDeclaration classDeclaration) { 11public record WrappedClassDeclaration(ClassDeclaration classDeclaration) {
12 public ClassDeclaration get() { 12 public ClassDeclaration get() {
13 return classDeclaration; 13 return classDeclaration;
14 } 14 }
15 15
16 public FeatureDeclaration feature(String name) { 16 public ReferenceDeclaration feature(String name) {
17 return ProblemNavigationUtil.named(classDeclaration.getFeatureDeclarations(), name); 17 return ProblemNavigationUtil.named(classDeclaration.getFeatureDeclarations(), name);
18 } 18 }
19} 19}