diff options
author | 2022-09-13 20:39:27 +0200 | |
---|---|---|
committer | 2022-09-14 12:10:43 +0200 | |
commit | 748bf89911359bffbfafe354e522f7d656488146 (patch) | |
tree | 555fe86e0a068eda1f84538faaca8d6e76fd3bd8 /subprojects | |
parent | chore(deps): bump dependencies (diff) | |
download | refinery-748bf89911359bffbfafe354e522f7d656488146.tar.gz refinery-748bf89911359bffbfafe354e522f7d656488146.tar.zst refinery-748bf89911359bffbfafe354e522f7d656488146.zip |
refactor(language): clarify containment hierarchy
Diffstat (limited to 'subprojects')
11 files changed, 326 insertions, 88 deletions
diff --git a/subprojects/frontend/package.json b/subprojects/frontend/package.json index 4ecf2efb..02c6e026 100644 --- a/subprojects/frontend/package.json +++ b/subprojects/frontend/package.json | |||
@@ -23,7 +23,7 @@ | |||
23 | }, | 23 | }, |
24 | "homepage": "https://refinery.tools", | 24 | "homepage": "https://refinery.tools", |
25 | "dependencies": { | 25 | "dependencies": { |
26 | "@codemirror/autocomplete": "^6.1.1", | 26 | "@codemirror/autocomplete": "^6.2.0", |
27 | "@codemirror/commands": "^6.1.0", | 27 | "@codemirror/commands": "^6.1.0", |
28 | "@codemirror/language": "^6.2.1", | 28 | "@codemirror/language": "^6.2.1", |
29 | "@codemirror/lint": "^6.0.0", | 29 | "@codemirror/lint": "^6.0.0", |
@@ -39,7 +39,7 @@ | |||
39 | "@lezer/lr": "^1.2.3", | 39 | "@lezer/lr": "^1.2.3", |
40 | "@material-icons/svg": "^1.0.33", | 40 | "@material-icons/svg": "^1.0.33", |
41 | "@mui/icons-material": "5.10.3", | 41 | "@mui/icons-material": "5.10.3", |
42 | "@mui/material": "5.10.4", | 42 | "@mui/material": "5.10.5", |
43 | "ansi-styles": "^6.1.1", | 43 | "ansi-styles": "^6.1.1", |
44 | "escape-string-regexp": "^5.0.0", | 44 | "escape-string-regexp": "^5.0.0", |
45 | "lodash-es": "^4.17.21", | 45 | "lodash-es": "^4.17.21", |
@@ -53,7 +53,7 @@ | |||
53 | "react": "^18.2.0", | 53 | "react": "^18.2.0", |
54 | "react-dom": "^18.2.0", | 54 | "react-dom": "^18.2.0", |
55 | "xstate": "^4.33.6", | 55 | "xstate": "^4.33.6", |
56 | "zod": "^3.19.0" | 56 | "zod": "^3.19.1" |
57 | }, | 57 | }, |
58 | "devDependencies": { | 58 | "devDependencies": { |
59 | "@lezer/generator": "^1.1.1", | 59 | "@lezer/generator": "^1.1.1", |
@@ -61,16 +61,16 @@ | |||
61 | "@types/html-minifier-terser": "^7.0.0", | 61 | "@types/html-minifier-terser": "^7.0.0", |
62 | "@types/lodash-es": "^4.17.6", | 62 | "@types/lodash-es": "^4.17.6", |
63 | "@types/ms": "^0.7.31", | 63 | "@types/ms": "^0.7.31", |
64 | "@types/node": "^18.7.16", | 64 | "@types/node": "^18.7.18", |
65 | "@types/prettier": "^2.7.0", | 65 | "@types/prettier": "^2.7.0", |
66 | "@types/react": "^18.0.19", | 66 | "@types/react": "^18.0.20", |
67 | "@types/react-dom": "^18.0.6", | 67 | "@types/react-dom": "^18.0.6", |
68 | "@typescript-eslint/eslint-plugin": "^5.36.2", | 68 | "@typescript-eslint/eslint-plugin": "^5.37.0", |
69 | "@typescript-eslint/parser": "^5.36.2", | 69 | "@typescript-eslint/parser": "^5.37.0", |
70 | "@vitejs/plugin-react": "^2.1.0", | 70 | "@vitejs/plugin-react": "^2.1.0", |
71 | "@xstate/cli": "^0.3.3", | 71 | "@xstate/cli": "^0.3.3", |
72 | "cross-env": "^7.0.3", | 72 | "cross-env": "^7.0.3", |
73 | "eslint": "^8.23.0", | 73 | "eslint": "^8.23.1", |
74 | "eslint-config-airbnb": "^19.0.4", | 74 | "eslint-config-airbnb": "^19.0.4", |
75 | "eslint-config-airbnb-typescript": "^17.0.0", | 75 | "eslint-config-airbnb-typescript": "^17.0.0", |
76 | "eslint-config-prettier": "^8.5.0", | 76 | "eslint-config-prettier": "^8.5.0", |
diff --git a/subprojects/frontend/src/language/problem.grammar b/subprojects/frontend/src/language/problem.grammar index 95861110..7feb6bfe 100644 --- a/subprojects/frontend/src/language/problem.grammar +++ b/subprojects/frontend/src/language/problem.grammar | |||
@@ -18,7 +18,10 @@ statement { | |||
18 | (EnumBody { "{" sep<",", IndividualNodeName> "}" } | ".") | 18 | (EnumBody { "{" sep<",", IndividualNodeName> "}" } | ".") |
19 | } | | 19 | } | |
20 | PredicateDefinition { | 20 | PredicateDefinition { |
21 | (ckw<"error"> ckw<"pred">? | ckw<"pred">) | 21 | ( |
22 | (ckw<"error"> | ckw<"contained"> | ckw<"containment">) ckw<"pred">? | | ||
23 | ckw<"pred"> | ||
24 | ) | ||
22 | RelationName ParameterList<Parameter>? | 25 | RelationName ParameterList<Parameter>? |
23 | PredicateBody { ("<->" sep<OrOp, Conjunction>)? "." } | 26 | PredicateBody { ("<->" sep<OrOp, Conjunction>)? "." } |
24 | } | | 27 | } | |
@@ -28,23 +31,29 @@ statement { | |||
28 | RuleBody { ":" sep<OrOp, Conjunction> "==>" sep<OrOp, Consequent> "." } | 31 | RuleBody { ":" sep<OrOp, Conjunction> "==>" sep<OrOp, Consequent> "." } |
29 | } | | 32 | } | |
30 | Assertion { | 33 | Assertion { |
31 | kw<"default">? (NotOp | UnknownOp)? RelationName | 34 | ckw<"default">? (NotOp | UnknownOp)? RelationName |
32 | ParameterList<AssertionArgument> (":" LogicValue)? "." | 35 | ParameterList<AssertionArgument> (":" LogicValue)? "." |
33 | } | | 36 | } | |
34 | NodeValueAssertion { | 37 | NodeValueAssertion { |
35 | IndividualNodeName ":" Constant "." | 38 | QualifiedName ":" Constant "." |
36 | } | | 39 | } | |
37 | IndividualDeclaration { | 40 | IndividualDeclaration { |
38 | ckw<"indiv"> sep<",", IndividualNodeName> "." | 41 | ckw<"indiv"> sep<",", IndividualNodeName> "." |
39 | } | | 42 | } | |
40 | ScopeDeclaration { | 43 | ScopeDeclaration { |
41 | kw<"scope"> sep<",", ScopeElement> "." | 44 | ckw<"scope"> sep<",", ScopeElement> "." |
42 | } | 45 | } |
43 | } | 46 | } |
44 | 47 | ||
45 | ReferenceDeclaration { | 48 | ReferenceDeclaration { |
46 | (kw<"refers"> | kw<"contains">)? | 49 | ( |
47 | RelationName | 50 | ExplicitContainmentReference[@dynamicPrecedence=1] { |
51 | (ckw<"refers"> | ckw<"contains"> | ckw<"container">) RelationName ~containment | ||
52 | } | | ||
53 | ImplicitContainmentReference { | ||
54 | RelationName ~containment | ||
55 | } | ||
56 | ) | ||
48 | ("[" Multiplicity? "]")? | 57 | ("[" Multiplicity? "]")? |
49 | RelationName | 58 | RelationName |
50 | (kw<"opposite"> RelationName)? | 59 | (kw<"opposite"> RelationName)? |
diff --git a/subprojects/frontend/src/language/problemLanguageSupport.ts b/subprojects/frontend/src/language/problemLanguageSupport.ts index 07a884e7..03a7c4cc 100644 --- a/subprojects/frontend/src/language/problemLanguageSupport.ts +++ b/subprojects/frontend/src/language/problemLanguageSupport.ts | |||
@@ -27,7 +27,8 @@ const parserWithMetadata = parser.configure({ | |||
27 | LineComment: t.lineComment, | 27 | LineComment: t.lineComment, |
28 | BlockComment: t.blockComment, | 28 | BlockComment: t.blockComment, |
29 | 'problem class enum pred rule indiv scope': t.definitionKeyword, | 29 | 'problem class enum pred rule indiv scope': t.definitionKeyword, |
30 | 'abstract extends refers contains opposite error default': t.modifier, | 30 | 'abstract extends refers contains container opposite': t.modifier, |
31 | 'default error contained containment': t.modifier, | ||
31 | 'true false unknown error': t.operatorKeyword, | 32 | 'true false unknown error': t.operatorKeyword, |
32 | 'may must current count': t.operatorKeyword, | 33 | 'may must current count': t.operatorKeyword, |
33 | 'new delete': t.keyword, | 34 | 'new delete': t.keyword, |
diff --git a/subprojects/frontend/src/theme/ThemeProvider.tsx b/subprojects/frontend/src/theme/ThemeProvider.tsx index ffb18a06..550b3b30 100644 --- a/subprojects/frontend/src/theme/ThemeProvider.tsx +++ b/subprojects/frontend/src/theme/ThemeProvider.tsx | |||
@@ -70,8 +70,8 @@ const typography: TypographyVariantsOptions = { | |||
70 | fontFamily: | 70 | fontFamily: |
71 | '"InterVariable", "Inter", "Roboto", "Helvetica", "Arial", sans-serif', | 71 | '"InterVariable", "Inter", "Roboto", "Helvetica", "Arial", sans-serif', |
72 | fontWeightMedium: 600, | 72 | fontWeightMedium: 600, |
73 | fontWeightEditorNormal: 450, | 73 | fontWeightEditorNormal: 400, |
74 | fontWeightEditorBold: 650, | 74 | fontWeightEditorBold: 700, |
75 | editor: { | 75 | editor: { |
76 | fontFamily: | 76 | fontFamily: |
77 | '"JetBrains MonoVariable", "JetBrains Mono", "Cascadia Code", "Fira Code", monospace', | 77 | '"JetBrains MonoVariable", "JetBrains Mono", "Cascadia Code", "Fira Code", monospace', |
@@ -173,7 +173,7 @@ const lightTheme = createResponsiveTheme({ | |||
173 | divider: alpha('#19202b', 0.16), | 173 | divider: alpha('#19202b', 0.16), |
174 | outer: { | 174 | outer: { |
175 | background: '#f5f5f5', | 175 | background: '#f5f5f5', |
176 | border: '#d6d7d9', | 176 | border: '#c8c8c8', |
177 | }, | 177 | }, |
178 | highlight: { | 178 | highlight: { |
179 | number: '#0084bc', | 179 | number: '#0084bc', |
@@ -200,8 +200,8 @@ const lightTheme = createResponsiveTheme({ | |||
200 | const darkTheme = createResponsiveTheme({ | 200 | const darkTheme = createResponsiveTheme({ |
201 | typography: { | 201 | typography: { |
202 | ...typography, | 202 | ...typography, |
203 | fontWeightEditorNormal: 400, | 203 | fontWeightEditorNormal: 350, |
204 | fontWeightEditorBold: 600, | 204 | fontWeightEditorBold: 650, |
205 | }, | 205 | }, |
206 | components: { | 206 | components: { |
207 | ...components, | 207 | ...components, |
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 9c061c8f..477940aa 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 | |||
@@ -20,6 +20,7 @@ import tools.refinery.language.model.problem.ClassDeclaration; | |||
20 | import tools.refinery.language.model.problem.NamedElement; | 20 | import tools.refinery.language.model.problem.NamedElement; |
21 | import tools.refinery.language.model.problem.Node; | 21 | import tools.refinery.language.model.problem.Node; |
22 | import tools.refinery.language.model.problem.PredicateDefinition; | 22 | import tools.refinery.language.model.problem.PredicateDefinition; |
23 | import tools.refinery.language.model.problem.PredicateKind; | ||
23 | import tools.refinery.language.model.problem.ProblemPackage; | 24 | import tools.refinery.language.model.problem.ProblemPackage; |
24 | import tools.refinery.language.model.problem.ReferenceDeclaration; | 25 | import tools.refinery.language.model.problem.ReferenceDeclaration; |
25 | 26 | ||
@@ -99,10 +100,12 @@ public class ProblemSemanticHighlightingCalculator extends DefaultSemanticHighli | |||
99 | if (eObject instanceof ClassDeclaration classDeclaration && classDeclaration.isAbstract()) { | 100 | if (eObject instanceof ClassDeclaration classDeclaration && classDeclaration.isAbstract()) { |
100 | classesBuilder.add(ABSTRACT_CLASS); | 101 | classesBuilder.add(ABSTRACT_CLASS); |
101 | } | 102 | } |
102 | if (eObject instanceof ReferenceDeclaration referenceDeclaration && referenceDeclaration.isContainment()) { | 103 | if (eObject instanceof ReferenceDeclaration referenceDeclaration |
104 | && ProblemUtil.isContainmentReference(referenceDeclaration)) { | ||
103 | classesBuilder.add(CONTAINMENT_CLASS); | 105 | classesBuilder.add(CONTAINMENT_CLASS); |
104 | } | 106 | } |
105 | if (eObject instanceof PredicateDefinition predicateDefinition && predicateDefinition.isError()) { | 107 | if (eObject instanceof PredicateDefinition predicateDefinition |
108 | && predicateDefinition.getKind() == PredicateKind.ERROR) { | ||
106 | classesBuilder.add(ERROR_CLASS); | 109 | classesBuilder.add(ERROR_CLASS); |
107 | } | 110 | } |
108 | if (eObject instanceof Node node) { | 111 | if (eObject instanceof Node node) { |
diff --git a/subprojects/language-model/problem.aird b/subprojects/language-model/problem.aird index 9bd76766..60d52cc4 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="problem" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="e743d94a-193b-4553-83d6-610f55227616"> | 10 | <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_CsYa4KA4EeuqkpDnuik1sg" name="problem" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="dcbd311b-404e-4566-9e24-dcd52dba4c23"> |
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> |
@@ -50,9 +50,9 @@ | |||
50 | <children xmi:type="notation:Node" xmi:id="_c-HCQKA4EeuqkpDnuik1sg" type="2003" element="_c-A7oKA4EeuqkpDnuik1sg"> | 50 | <children xmi:type="notation:Node" xmi:id="_c-HCQKA4EeuqkpDnuik1sg" type="2003" element="_c-A7oKA4EeuqkpDnuik1sg"> |
51 | <children xmi:type="notation:Node" xmi:id="_c-HCQ6A4EeuqkpDnuik1sg" type="5007"/> | 51 | <children xmi:type="notation:Node" xmi:id="_c-HCQ6A4EeuqkpDnuik1sg" type="5007"/> |
52 | <children xmi:type="notation:Node" xmi:id="_c-HCRKA4EeuqkpDnuik1sg" type="7004"> | 52 | <children xmi:type="notation:Node" xmi:id="_c-HCRKA4EeuqkpDnuik1sg" type="7004"> |
53 | <children xmi:type="notation:Node" xmi:id="_HjIR8KA5EeuqkpDnuik1sg" type="3010" element="_HjDZcKA5EeuqkpDnuik1sg"> | 53 | <children xmi:type="notation:Node" xmi:id="_91XrMDNlEe2fD4dIhR_vzA" type="3010" element="_902GwDNlEe2fD4dIhR_vzA"> |
54 | <styles xmi:type="notation:FontStyle" xmi:id="_HjIR8aA5EeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/> | 54 | <styles xmi:type="notation:FontStyle" xmi:id="_91XrMTNlEe2fD4dIhR_vzA" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/> |
55 | <layoutConstraint xmi:type="notation:Location" xmi:id="_HjIR8qA5EeuqkpDnuik1sg"/> | 55 | <layoutConstraint xmi:type="notation:Location" xmi:id="_91XrMjNlEe2fD4dIhR_vzA"/> |
56 | </children> | 56 | </children> |
57 | <styles xmi:type="notation:SortingStyle" xmi:id="_c-HCRaA4EeuqkpDnuik1sg"/> | 57 | <styles xmi:type="notation:SortingStyle" xmi:id="_c-HCRaA4EeuqkpDnuik1sg"/> |
58 | <styles xmi:type="notation:FilteringStyle" xmi:id="_c-HCRqA4EeuqkpDnuik1sg"/> | 58 | <styles xmi:type="notation:FilteringStyle" xmi:id="_c-HCRqA4EeuqkpDnuik1sg"/> |
@@ -76,9 +76,9 @@ | |||
76 | <children xmi:type="notation:Node" xmi:id="_fit3kKA5EeuqkpDnuik1sg" type="2003" element="_fihqUKA5EeuqkpDnuik1sg"> | 76 | <children xmi:type="notation:Node" xmi:id="_fit3kKA5EeuqkpDnuik1sg" type="2003" element="_fihqUKA5EeuqkpDnuik1sg"> |
77 | <children xmi:type="notation:Node" xmi:id="_fit3k6A5EeuqkpDnuik1sg" type="5007"/> | 77 | <children xmi:type="notation:Node" xmi:id="_fit3k6A5EeuqkpDnuik1sg" type="5007"/> |
78 | <children xmi:type="notation:Node" xmi:id="_fit3lKA5EeuqkpDnuik1sg" type="7004"> | 78 | <children xmi:type="notation:Node" xmi:id="_fit3lKA5EeuqkpDnuik1sg" type="7004"> |
79 | <children xmi:type="notation:Node" xmi:id="_sv1ZIKA5EeuqkpDnuik1sg" type="3010" element="_svs2QKA5EeuqkpDnuik1sg"> | 79 | <children xmi:type="notation:Node" xmi:id="_id6DcDNoEe2fD4dIhR_vzA" type="3010" element="_ida7QDNoEe2fD4dIhR_vzA"> |
80 | <styles xmi:type="notation:FontStyle" xmi:id="_sv1ZIaA5EeuqkpDnuik1sg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/> | 80 | <styles xmi:type="notation:FontStyle" xmi:id="_id6DcTNoEe2fD4dIhR_vzA" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/> |
81 | <layoutConstraint xmi:type="notation:Location" xmi:id="_sv1ZIqA5EeuqkpDnuik1sg"/> | 81 | <layoutConstraint xmi:type="notation:Location" xmi:id="_id6DcjNoEe2fD4dIhR_vzA"/> |
82 | </children> | 82 | </children> |
83 | <styles xmi:type="notation:SortingStyle" xmi:id="_fit3laA5EeuqkpDnuik1sg"/> | 83 | <styles xmi:type="notation:SortingStyle" xmi:id="_fit3laA5EeuqkpDnuik1sg"/> |
84 | <styles xmi:type="notation:FilteringStyle" xmi:id="_fit3lqA5EeuqkpDnuik1sg"/> | 84 | <styles xmi:type="notation:FilteringStyle" xmi:id="_fit3lqA5EeuqkpDnuik1sg"/> |
@@ -219,7 +219,7 @@ | |||
219 | <styles xmi:type="notation:FilteringStyle" xmi:id="_BMfjNqA9EeuqkpDnuik1sg"/> | 219 | <styles xmi:type="notation:FilteringStyle" xmi:id="_BMfjNqA9EeuqkpDnuik1sg"/> |
220 | </children> | 220 | </children> |
221 | <styles xmi:type="notation:ShapeStyle" xmi:id="_BMfjMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> | 221 | <styles xmi:type="notation:ShapeStyle" xmi:id="_BMfjMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> |
222 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BMfjMqA9EeuqkpDnuik1sg" x="1917" y="180" width="120" height="100"/> | 222 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BMfjMqA9EeuqkpDnuik1sg" x="1921" y="60" width="120" height="100"/> |
223 | </children> | 223 | </children> |
224 | <children xmi:type="notation:Node" xmi:id="_QUDYMKA9EeuqkpDnuik1sg" type="2003" element="_QTzgkKA9EeuqkpDnuik1sg"> | 224 | <children xmi:type="notation:Node" xmi:id="_QUDYMKA9EeuqkpDnuik1sg" type="2003" element="_QTzgkKA9EeuqkpDnuik1sg"> |
225 | <children xmi:type="notation:Node" xmi:id="_QUDYM6A9EeuqkpDnuik1sg" type="5007"/> | 225 | <children xmi:type="notation:Node" xmi:id="_QUDYM6A9EeuqkpDnuik1sg" type="5007"/> |
@@ -550,7 +550,7 @@ | |||
550 | <styles xmi:type="notation:FilteringStyle" xmi:id="_eKwNAxEKEe2AArBmfNpEZA"/> | 550 | <styles xmi:type="notation:FilteringStyle" xmi:id="_eKwNAxEKEe2AArBmfNpEZA"/> |
551 | </children> | 551 | </children> |
552 | <styles xmi:type="notation:ShapeStyle" xmi:id="_eKvl8REKEe2AArBmfNpEZA" fontName="Noto Sans" fontHeight="8"/> | 552 | <styles xmi:type="notation:ShapeStyle" xmi:id="_eKvl8REKEe2AArBmfNpEZA" fontName="Noto Sans" fontHeight="8"/> |
553 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eKvl8hEKEe2AArBmfNpEZA" x="2072" y="180" width="120" height="100"/> | 553 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eKvl8hEKEe2AArBmfNpEZA" x="2076" y="60" width="120" height="100"/> |
554 | </children> | 554 | </children> |
555 | <children xmi:type="notation:Node" xmi:id="_BnoHYBg0Ee2_erjsEmF9GQ" type="2003" element="_BmVG4Bg0Ee2_erjsEmF9GQ"> | 555 | <children xmi:type="notation:Node" xmi:id="_BnoHYBg0Ee2_erjsEmF9GQ" type="2003" element="_BmVG4Bg0Ee2_erjsEmF9GQ"> |
556 | <children xmi:type="notation:Node" xmi:id="_BnrxwBg0Ee2_erjsEmF9GQ" type="5007"/> | 556 | <children xmi:type="notation:Node" xmi:id="_BnrxwBg0Ee2_erjsEmF9GQ" type="5007"/> |
@@ -605,7 +605,57 @@ | |||
605 | <styles xmi:type="notation:FilteringStyle" xmi:id="_LinJ1hg0Ee2_erjsEmF9GQ"/> | 605 | <styles xmi:type="notation:FilteringStyle" xmi:id="_LinJ1hg0Ee2_erjsEmF9GQ"/> |
606 | </children> | 606 | </children> |
607 | <styles xmi:type="notation:ShapeStyle" xmi:id="_LinJ0Rg0Ee2_erjsEmF9GQ" fontName="Noto Sans" fontHeight="8"/> | 607 | <styles xmi:type="notation:ShapeStyle" xmi:id="_LinJ0Rg0Ee2_erjsEmF9GQ" fontName="Noto Sans" fontHeight="8"/> |
608 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LinJ0hg0Ee2_erjsEmF9GQ" x="2223" y="180" width="120" height="111"/> | 608 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LinJ0hg0Ee2_erjsEmF9GQ" x="2232" y="60" width="120" height="111"/> |
609 | </children> | ||
610 | <children xmi:type="notation:Node" xmi:id="_xp1icDNlEe2fD4dIhR_vzA" type="2003" element="_xpDfUDNlEe2fD4dIhR_vzA"> | ||
611 | <children xmi:type="notation:Node" xmi:id="_xp2JgDNlEe2fD4dIhR_vzA" type="5007"/> | ||
612 | <children xmi:type="notation:Node" xmi:id="_xp2JgTNlEe2fD4dIhR_vzA" type="7004"> | ||
613 | <children xmi:type="notation:Node" xmi:id="_2OW2gDNlEe2fD4dIhR_vzA" type="3010" element="_2N3HQDNlEe2fD4dIhR_vzA"> | ||
614 | <styles xmi:type="notation:FontStyle" xmi:id="_2OW2gTNlEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> | ||
615 | <layoutConstraint xmi:type="notation:Location" xmi:id="_2OW2gjNlEe2fD4dIhR_vzA"/> | ||
616 | </children> | ||
617 | <children xmi:type="notation:Node" xmi:id="_20SOEDNlEe2fD4dIhR_vzA" type="3010" element="_2zSIgDNlEe2fD4dIhR_vzA"> | ||
618 | <styles xmi:type="notation:FontStyle" xmi:id="_20SOETNlEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> | ||
619 | <layoutConstraint xmi:type="notation:Location" xmi:id="_20SOEjNlEe2fD4dIhR_vzA"/> | ||
620 | </children> | ||
621 | <children xmi:type="notation:Node" xmi:id="_4LeqgDNlEe2fD4dIhR_vzA" type="3010" element="_4K8fADNlEe2fD4dIhR_vzA"> | ||
622 | <styles xmi:type="notation:FontStyle" xmi:id="_4LeqgTNlEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> | ||
623 | <layoutConstraint xmi:type="notation:Location" xmi:id="_4LeqgjNlEe2fD4dIhR_vzA"/> | ||
624 | </children> | ||
625 | <children xmi:type="notation:Node" xmi:id="_5M7gcDNlEe2fD4dIhR_vzA" type="3010" element="_5MhQwDNlEe2fD4dIhR_vzA"> | ||
626 | <styles xmi:type="notation:FontStyle" xmi:id="_5M7gcTNlEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> | ||
627 | <layoutConstraint xmi:type="notation:Location" xmi:id="_5M7gcjNlEe2fD4dIhR_vzA"/> | ||
628 | </children> | ||
629 | <styles xmi:type="notation:SortingStyle" xmi:id="_xp2JgjNlEe2fD4dIhR_vzA"/> | ||
630 | <styles xmi:type="notation:FilteringStyle" xmi:id="_xp2JgzNlEe2fD4dIhR_vzA"/> | ||
631 | </children> | ||
632 | <styles xmi:type="notation:ShapeStyle" xmi:id="_xp1icTNlEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> | ||
633 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xp1icjNlEe2fD4dIhR_vzA" x="2076" y="204" width="120" height="100"/> | ||
634 | </children> | ||
635 | <children xmi:type="notation:Node" xmi:id="_DFHboDNoEe2fD4dIhR_vzA" type="2003" element="_DD1pQDNoEe2fD4dIhR_vzA"> | ||
636 | <children xmi:type="notation:Node" xmi:id="_DFICsDNoEe2fD4dIhR_vzA" type="5007"/> | ||
637 | <children xmi:type="notation:Node" xmi:id="_DFICsTNoEe2fD4dIhR_vzA" type="7004"> | ||
638 | <children xmi:type="notation:Node" xmi:id="_FDz88DNoEe2fD4dIhR_vzA" type="3010" element="_FDOuIDNoEe2fD4dIhR_vzA"> | ||
639 | <styles xmi:type="notation:FontStyle" xmi:id="_FDz88TNoEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> | ||
640 | <layoutConstraint xmi:type="notation:Location" xmi:id="_FDz88jNoEe2fD4dIhR_vzA"/> | ||
641 | </children> | ||
642 | <children xmi:type="notation:Node" xmi:id="_F3CwsDNoEe2fD4dIhR_vzA" type="3010" element="_F2glMDNoEe2fD4dIhR_vzA"> | ||
643 | <styles xmi:type="notation:FontStyle" xmi:id="_F3CwsTNoEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> | ||
644 | <layoutConstraint xmi:type="notation:Location" xmi:id="_F3CwsjNoEe2fD4dIhR_vzA"/> | ||
645 | </children> | ||
646 | <children xmi:type="notation:Node" xmi:id="_GTcY0DNoEe2fD4dIhR_vzA" type="3010" element="_GS7bcDNoEe2fD4dIhR_vzA"> | ||
647 | <styles xmi:type="notation:FontStyle" xmi:id="_GTcY0TNoEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> | ||
648 | <layoutConstraint xmi:type="notation:Location" xmi:id="_GTcY0jNoEe2fD4dIhR_vzA"/> | ||
649 | </children> | ||
650 | <children xmi:type="notation:Node" xmi:id="_GyKVIDNoEe2fD4dIhR_vzA" type="3010" element="_Gx7EkDNoEe2fD4dIhR_vzA"> | ||
651 | <styles xmi:type="notation:FontStyle" xmi:id="_GyKVITNoEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> | ||
652 | <layoutConstraint xmi:type="notation:Location" xmi:id="_GyKVIjNoEe2fD4dIhR_vzA"/> | ||
653 | </children> | ||
654 | <styles xmi:type="notation:SortingStyle" xmi:id="_DFICsjNoEe2fD4dIhR_vzA"/> | ||
655 | <styles xmi:type="notation:FilteringStyle" xmi:id="_DFICszNoEe2fD4dIhR_vzA"/> | ||
656 | </children> | ||
657 | <styles xmi:type="notation:ShapeStyle" xmi:id="_DFHboTNoEe2fD4dIhR_vzA" fontName="Noto Sans" fontHeight="8"/> | ||
658 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DFHbojNoEe2fD4dIhR_vzA" x="1921" y="204" width="120" height="100"/> | ||
609 | </children> | 659 | </children> |
610 | <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/> | 660 | <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/> |
611 | <edges xmi:type="notation:Edge" xmi:id="_4eaYwKA8EeuqkpDnuik1sg" type="4001" element="_4eU5TqA8EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg"> | 661 | <edges xmi:type="notation:Edge" xmi:id="_4eaYwKA8EeuqkpDnuik1sg" type="4001" element="_4eU5TqA8EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg"> |
@@ -722,17 +772,17 @@ | |||
722 | </edges> | 772 | </edges> |
723 | <edges xmi:type="notation:Edge" xmi:id="_Vj1sQKA8EeuqkpDnuik1sg" type="4001" element="_VjwMzqA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> | 773 | <edges xmi:type="notation:Edge" xmi:id="_Vj1sQKA8EeuqkpDnuik1sg" type="4001" element="_VjwMzqA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> |
724 | <children xmi:type="notation:Node" xmi:id="_Vj1sRKA8EeuqkpDnuik1sg" type="6001"> | 774 | <children xmi:type="notation:Node" xmi:id="_Vj1sRKA8EeuqkpDnuik1sg" type="6001"> |
725 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sRaA8EeuqkpDnuik1sg" x="-42" y="526"/> | 775 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sRaA8EeuqkpDnuik1sg" x="-37" y="526"/> |
726 | </children> | 776 | </children> |
727 | <children xmi:type="notation:Node" xmi:id="_Vj1sRqA8EeuqkpDnuik1sg" type="6002"> | 777 | <children xmi:type="notation:Node" xmi:id="_Vj1sRqA8EeuqkpDnuik1sg" type="6002"> |
728 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sR6A8EeuqkpDnuik1sg" x="174" y="-10"/> | 778 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sR6A8EeuqkpDnuik1sg" x="176" y="-10"/> |
729 | </children> | 779 | </children> |
730 | <children xmi:type="notation:Node" xmi:id="_Vj1sSKA8EeuqkpDnuik1sg" type="6003"> | 780 | <children xmi:type="notation:Node" xmi:id="_Vj1sSKA8EeuqkpDnuik1sg" type="6003"> |
731 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sSaA8EeuqkpDnuik1sg" x="-51" y="10"/> | 781 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sSaA8EeuqkpDnuik1sg" x="-41" y="10"/> |
732 | </children> | 782 | </children> |
733 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vj1sQaA8EeuqkpDnuik1sg" routing="Rectilinear"/> | 783 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vj1sQaA8EeuqkpDnuik1sg" routing="Rectilinear"/> |
734 | <styles xmi:type="notation:FontStyle" xmi:id="_Vj1sQqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> | 784 | <styles xmi:type="notation:FontStyle" xmi:id="_Vj1sQqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> |
735 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vj1sQ6A8EeuqkpDnuik1sg" points="[-48, 24, 553, 682]$[-720, 24, -119, 682]$[-720, -708, -119, -50]$[-660, -708, -59, -50]"/> | 785 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vj1sQ6A8EeuqkpDnuik1sg" points="[-48, 24, 553, 682]$[-720, 24, -119, 682]$[-720, -696, -119, -38]$[-660, -696, -59, -38]"/> |
736 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sSqA8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/> | 786 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sSqA8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/> |
737 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sS6A8EeuqkpDnuik1sg" id="(0.5,1.0)"/> | 787 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sS6A8EeuqkpDnuik1sg" id="(0.5,1.0)"/> |
738 | </edges> | 788 | </edges> |
@@ -864,22 +914,6 @@ | |||
864 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQNawEeuymriYTNxK2g" id="(1.0,0.12244897959183673)"/> | 914 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQNawEeuymriYTNxK2g" id="(1.0,0.12244897959183673)"/> |
865 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQdawEeuymriYTNxK2g" id="(0.0,0.6122448979591837)"/> | 915 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQdawEeuymriYTNxK2g" id="(0.0,0.6122448979591837)"/> |
866 | </edges> | 916 | </edges> |
867 | <edges xmi:type="notation:Edge" xmi:id="_2ko-QKA9EeuqkpDnuik1sg" type="4001" element="_2kWqbKA9EeuqkpDnuik1sg" source="_zaq8oKA9EeuqkpDnuik1sg" target="_JT0o8KA4EeuqkpDnuik1sg"> | ||
868 | <children xmi:type="notation:Node" xmi:id="_2ko-RKA9EeuqkpDnuik1sg" type="6001"> | ||
869 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ko-RaA9EeuqkpDnuik1sg" x="-53" y="-17"/> | ||
870 | </children> | ||
871 | <children xmi:type="notation:Node" xmi:id="_2ko-RqA9EeuqkpDnuik1sg" type="6002"> | ||
872 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ko-R6A9EeuqkpDnuik1sg" x="21" y="10"/> | ||
873 | </children> | ||
874 | <children xmi:type="notation:Node" xmi:id="_2ko-SKA9EeuqkpDnuik1sg" type="6003"> | ||
875 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ko-SaA9EeuqkpDnuik1sg" x="3" y="10"/> | ||
876 | </children> | ||
877 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_2ko-QaA9EeuqkpDnuik1sg" routing="Rectilinear"/> | ||
878 | <styles xmi:type="notation:FontStyle" xmi:id="_2ko-QqA9EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> | ||
879 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2ko-Q6A9EeuqkpDnuik1sg" points="[0, 36, -218, 36]$[218, 36, 0, 36]"/> | ||
880 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2ko-SqA9EeuqkpDnuik1sg" id="(1.0,0.24742268041237114)"/> | ||
881 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2ko-S6A9EeuqkpDnuik1sg" id="(0.0,0.24489795918367346)"/> | ||
882 | </edges> | ||
883 | <edges xmi:type="notation:Edge" xmi:id="_0V8EUKA4EeuqkpDnuik1sg" type="4001" element="_0V3L1qA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_c-HCQKA4EeuqkpDnuik1sg"> | 917 | <edges xmi:type="notation:Edge" xmi:id="_0V8EUKA4EeuqkpDnuik1sg" type="4001" element="_0V3L1qA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_c-HCQKA4EeuqkpDnuik1sg"> |
884 | <children xmi:type="notation:Node" xmi:id="_0V8rYKA4EeuqkpDnuik1sg" type="6001"> | 918 | <children xmi:type="notation:Node" xmi:id="_0V8rYKA4EeuqkpDnuik1sg" type="6001"> |
885 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0V8rYaA4EeuqkpDnuik1sg" x="30" y="11"/> | 919 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0V8rYaA4EeuqkpDnuik1sg" x="30" y="11"/> |
@@ -1854,6 +1888,22 @@ | |||
1854 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JYvTRBg0Ee2_erjsEmF9GQ" id="(0.3813559322033898,0.0)"/> | 1888 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JYvTRBg0Ee2_erjsEmF9GQ" id="(0.3813559322033898,0.0)"/> |
1855 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JYvTRRg0Ee2_erjsEmF9GQ" id="(0.5,0.5)"/> | 1889 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JYvTRRg0Ee2_erjsEmF9GQ" id="(0.5,0.5)"/> |
1856 | </edges> | 1890 | </edges> |
1891 | <edges xmi:type="notation:Edge" xmi:id="_lhC68DOBEe2fD4dIhR_vzA" type="4001" element="_2kWqbKA9EeuqkpDnuik1sg" source="_zaq8oKA9EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> | ||
1892 | <children xmi:type="notation:Node" xmi:id="_lhC69DOBEe2fD4dIhR_vzA" type="6001"> | ||
1893 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lhDiADOBEe2fD4dIhR_vzA" x="-115" y="-29"/> | ||
1894 | </children> | ||
1895 | <children xmi:type="notation:Node" xmi:id="_lhDiATOBEe2fD4dIhR_vzA" type="6002"> | ||
1896 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lhDiAjOBEe2fD4dIhR_vzA" x="-2" y="10"/> | ||
1897 | </children> | ||
1898 | <children xmi:type="notation:Node" xmi:id="_lhDiAzOBEe2fD4dIhR_vzA" type="6003"> | ||
1899 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lhDiBDOBEe2fD4dIhR_vzA" x="2" y="10"/> | ||
1900 | </children> | ||
1901 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_lhC68TOBEe2fD4dIhR_vzA" routing="Rectilinear"/> | ||
1902 | <styles xmi:type="notation:FontStyle" xmi:id="_lhC68jOBEe2fD4dIhR_vzA" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> | ||
1903 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lhC68zOBEe2fD4dIhR_vzA" points="[0, 24, -175, 219]$[85, 24, -90, 219]$[85, -180, -90, 15]$[170, -180, -5, 15]"/> | ||
1904 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lhGlUDOBEe2fD4dIhR_vzA" id="(1.0,0.24742268041237114)"/> | ||
1905 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lhGlUTOBEe2fD4dIhR_vzA" id="(0.0423728813559322,0.21428571428571427)"/> | ||
1906 | </edges> | ||
1857 | </data> | 1907 | </data> |
1858 | </ownedAnnotationEntries> | 1908 | </ownedAnnotationEntries> |
1859 | <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY"> | 1909 | <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY"> |
@@ -1880,7 +1930,7 @@ | |||
1880 | </ownedStyle> | 1930 | </ownedStyle> |
1881 | <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']"/> | 1931 | <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']"/> |
1882 | </ownedDiagramElements> | 1932 | </ownedDiagramElements> |
1883 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_EfNqcKA4EeuqkpDnuik1sg" name="Relation" tooltipText="" outgoingEdges="_XWbypqA5EeuqkpDnuik1sg" incomingEdges="_ODPlcKA4EeuqkpDnuik1sg _gRoBcKA4EeuqkpDnuik1sg _rUgDkKA5EeuqkpDnuik1sg _VjwMzqA8EeuqkpDnuik1sg _w-iG36A8EeuqkpDnuik1sg _Z7FrQKA6EeuqkpDnuik1sg _ufJ3IKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _UwbfHtbGEeuymriYTNxK2g" width="12" height="10"> | 1933 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_EfNqcKA4EeuqkpDnuik1sg" name="Relation" tooltipText="" outgoingEdges="_XWbypqA5EeuqkpDnuik1sg" incomingEdges="_ODPlcKA4EeuqkpDnuik1sg _gRoBcKA4EeuqkpDnuik1sg _rUgDkKA5EeuqkpDnuik1sg _VjwMzqA8EeuqkpDnuik1sg _w-iG36A8EeuqkpDnuik1sg _Z7FrQKA6EeuqkpDnuik1sg _ufJ3IKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _UwbfHtbGEeuymriYTNxK2g _2kWqbKA9EeuqkpDnuik1sg" width="12" height="10"> |
1884 | <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/> | 1934 | <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/> |
1885 | <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/> | 1935 | <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Relation"/> |
1886 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | 1936 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> |
@@ -1892,7 +1942,7 @@ | |||
1892 | </ownedStyle> | 1942 | </ownedStyle> |
1893 | <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']"/> | 1943 | <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']"/> |
1894 | </ownedDiagramElements> | 1944 | </ownedDiagramElements> |
1895 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_JTstIKA4EeuqkpDnuik1sg" name="ClassDeclaration" tooltipText="" outgoingEdges="_ODPlcKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _jk6-PKA4EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g" incomingEdges="_2kWqbKA9EeuqkpDnuik1sg" width="12" height="10"> | 1945 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_JTstIKA4EeuqkpDnuik1sg" name="ClassDeclaration" tooltipText="" outgoingEdges="_ODPlcKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _jk6-PKA4EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g" width="12" height="10"> |
1896 | <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/> | 1946 | <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/> |
1897 | <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/> | 1947 | <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/> |
1898 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | 1948 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> |
@@ -1943,14 +1993,14 @@ | |||
1943 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | 1993 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> |
1944 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | 1994 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> |
1945 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | 1995 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> |
1946 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_IMjpcqA5EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | 1996 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="__Bk_ojNlEe2fD4dIhR_vzA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> |
1947 | <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"/> | 1997 | <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"/> |
1948 | </ownedStyle> | 1998 | </ownedStyle> |
1949 | <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']"/> | 1999 | <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']"/> |
1950 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_HjDZcKA5EeuqkpDnuik1sg" name="containment : EBoolean = false" tooltipText=""> | 2000 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_902GwDNlEe2fD4dIhR_vzA" name="kind : ReferenceKind = DEFAULT" tooltipText=""> |
1951 | <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/containment"/> | 2001 | <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/kind"/> |
1952 | <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/containment"/> | 2002 | <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration/kind"/> |
1953 | <ownedStyle xmi:type="diagram:BundledImage" uid="_IMmswaA5EeuqkpDnuik1sg" labelAlignment="LEFT"> | 2003 | <ownedStyle xmi:type="diagram:BundledImage" uid="__BoC8jNlEe2fD4dIhR_vzA" labelAlignment="LEFT"> |
1954 | <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"/> | 2004 | <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"/> |
1955 | </ownedStyle> | 2005 | </ownedStyle> |
1956 | <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']"/> | 2006 | <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']"/> |
@@ -1959,12 +2009,12 @@ | |||
1959 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_gRoBcKA4EeuqkpDnuik1sg" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg"> | 2009 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_gRoBcKA4EeuqkpDnuik1sg" sourceNode="_c-A7oKA4EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg"> |
1960 | <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/> | 2010 | <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/> |
1961 | <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/> | 2011 | <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ReferenceDeclaration"/> |
1962 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_IMsMUKA5EeuqkpDnuik1sg" targetArrow="InputClosedArrow" routingStyle="tree"> | 2012 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="__Bwl6DNlEe2fD4dIhR_vzA" targetArrow="InputClosedArrow" routingStyle="tree"> |
1963 | <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"/> | 2013 | <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"/> |
1964 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_IMsMUaA5EeuqkpDnuik1sg" showIcon="false"> | 2014 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="__Bwl6TNlEe2fD4dIhR_vzA" showIcon="false"> |
1965 | <labelFormat>italic</labelFormat> | 2015 | <labelFormat>italic</labelFormat> |
1966 | </beginLabelStyle> | 2016 | </beginLabelStyle> |
1967 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_IMsMUqA5EeuqkpDnuik1sg" showIcon="false"/> | 2017 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="__Bwl6jNlEe2fD4dIhR_vzA" showIcon="false"/> |
1968 | </ownedStyle> | 2018 | </ownedStyle> |
1969 | <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']"/> | 2019 | <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']"/> |
1970 | </ownedDiagramElements> | 2020 | </ownedDiagramElements> |
@@ -2047,14 +2097,14 @@ | |||
2047 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | 2097 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> |
2048 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | 2098 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> |
2049 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | 2099 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> |
2050 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_OHh2exEJEe2AArBmfNpEZA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | 2100 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_jX0uAjNoEe2fD4dIhR_vzA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> |
2051 | <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"/> | 2101 | <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"/> |
2052 | </ownedStyle> | 2102 | </ownedStyle> |
2053 | <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']"/> | 2103 | <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']"/> |
2054 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_svs2QKA5EeuqkpDnuik1sg" name="error : EBoolean = false" tooltipText=""> | 2104 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_ida7QDNoEe2fD4dIhR_vzA" name="kind : PredicateKind = DEFAULT" tooltipText=""> |
2055 | <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//PredicateDefinition/error"/> | 2105 | <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//PredicateDefinition/kind"/> |
2056 | <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//PredicateDefinition/error"/> | 2106 | <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//PredicateDefinition/kind"/> |
2057 | <ownedStyle xmi:type="diagram:BundledImage" uid="_tWLAYaA5EeuqkpDnuik1sg" labelAlignment="LEFT"> | 2107 | <ownedStyle xmi:type="diagram:BundledImage" uid="_jX18JDNoEe2fD4dIhR_vzA" labelAlignment="LEFT"> |
2058 | <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"/> | 2108 | <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"/> |
2059 | </ownedStyle> | 2109 | </ownedStyle> |
2060 | <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']"/> | 2110 | <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']"/> |
@@ -2063,12 +2113,12 @@ | |||
2063 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_rUgDkKA5EeuqkpDnuik1sg" sourceNode="_fihqUKA5EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg"> | 2113 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_rUgDkKA5EeuqkpDnuik1sg" sourceNode="_fihqUKA5EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg"> |
2064 | <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/> | 2114 | <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/> |
2065 | <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/> | 2115 | <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/> |
2066 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_OHuDzhEJEe2AArBmfNpEZA" targetArrow="InputClosedArrow" routingStyle="tree"> | 2116 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_jX7bzjNoEe2fD4dIhR_vzA" targetArrow="InputClosedArrow" routingStyle="tree"> |
2067 | <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"/> | 2117 | <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"/> |
2068 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_OHuDzxEJEe2AArBmfNpEZA" showIcon="false"> | 2118 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_jX7bzzNoEe2fD4dIhR_vzA" showIcon="false"> |
2069 | <labelFormat>italic</labelFormat> | 2119 | <labelFormat>italic</labelFormat> |
2070 | </beginLabelStyle> | 2120 | </beginLabelStyle> |
2071 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_OHuD0BEJEe2AArBmfNpEZA" showIcon="false"/> | 2121 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_jX7b0DNoEe2fD4dIhR_vzA" showIcon="false"/> |
2072 | </ownedStyle> | 2122 | </ownedStyle> |
2073 | <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']"/> | 2123 | <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']"/> |
2074 | </ownedDiagramElements> | 2124 | </ownedDiagramElements> |
@@ -2551,7 +2601,7 @@ | |||
2551 | <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']"/> | 2601 | <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']"/> |
2552 | </ownedElements> | 2602 | </ownedElements> |
2553 | </ownedDiagramElements> | 2603 | </ownedDiagramElements> |
2554 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_2kWqbKA9EeuqkpDnuik1sg" name="[0..1] targetType" sourceNode="_zac6MKA9EeuqkpDnuik1sg" targetNode="_JTstIKA4EeuqkpDnuik1sg"> | 2604 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_2kWqbKA9EeuqkpDnuik1sg" name="[0..1] targetType" sourceNode="_zac6MKA9EeuqkpDnuik1sg" targetNode="_EfNqcKA4EeuqkpDnuik1sg"> |
2555 | <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//TypeScope/targetType"/> | 2605 | <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//TypeScope/targetType"/> |
2556 | <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//TypeScope/targetType"/> | 2606 | <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//TypeScope/targetType"/> |
2557 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_2kXRcKA9EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0"> | 2607 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_2kXRcKA9EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0"> |
@@ -3288,12 +3338,12 @@ | |||
3288 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ddmjcCrZEeyyC-O0_LlY9w" sourceNode="_fihqUKA5EeuqkpDnuik1sg" targetNode="_A8hIkCrZEeyyC-O0_LlY9w"> | 3338 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ddmjcCrZEeyyC-O0_LlY9w" sourceNode="_fihqUKA5EeuqkpDnuik1sg" targetNode="_A8hIkCrZEeyyC-O0_LlY9w"> |
3289 | <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/> | 3339 | <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/> |
3290 | <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/> | 3340 | <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//PredicateDefinition"/> |
3291 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_OHuD1BEJEe2AArBmfNpEZA" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree"> | 3341 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_jX7b1DNoEe2fD4dIhR_vzA" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree"> |
3292 | <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"/> | 3342 | <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"/> |
3293 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_OHuD1REJEe2AArBmfNpEZA" showIcon="false"> | 3343 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_jX7b1TNoEe2fD4dIhR_vzA" showIcon="false"> |
3294 | <labelFormat>italic</labelFormat> | 3344 | <labelFormat>italic</labelFormat> |
3295 | </beginLabelStyle> | 3345 | </beginLabelStyle> |
3296 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_OHuD1hEJEe2AArBmfNpEZA" showIcon="false"/> | 3346 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_jX7b1jNoEe2fD4dIhR_vzA" showIcon="false"/> |
3297 | </ownedStyle> | 3347 | </ownedStyle> |
3298 | <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']"/> | 3348 | <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']"/> |
3299 | </ownedDiagramElements> | 3349 | </ownedDiagramElements> |
@@ -3689,6 +3739,92 @@ | |||
3689 | <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']"/> | 3739 | <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']"/> |
3690 | </ownedElements> | 3740 | </ownedElements> |
3691 | </ownedDiagramElements> | 3741 | </ownedDiagramElements> |
3742 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xpDfUDNlEe2fD4dIhR_vzA" name="ReferenceKind" tooltipText="" width="12" height="10"> | ||
3743 | <target xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//ReferenceKind"/> | ||
3744 | <semanticElements xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//ReferenceKind"/> | ||
3745 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
3746 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
3747 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
3748 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_xpDfUTNlEe2fD4dIhR_vzA" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202"> | ||
3749 | <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"/> | ||
3750 | </ownedStyle> | ||
3751 | <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']"/> | ||
3752 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_2N3HQDNlEe2fD4dIhR_vzA" name="DEFAULT" tooltipText=""> | ||
3753 | <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/DEFAULT"/> | ||
3754 | <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/DEFAULT"/> | ||
3755 | <ownedStyle xmi:type="diagram:BundledImage" uid="_2N3HQTNlEe2fD4dIhR_vzA" labelAlignment="LEFT"> | ||
3756 | <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"/> | ||
3757 | </ownedStyle> | ||
3758 | <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']"/> | ||
3759 | </ownedElements> | ||
3760 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_2zSIgDNlEe2fD4dIhR_vzA" name="REFERENCE" tooltipText=""> | ||
3761 | <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/REFERENCE"/> | ||
3762 | <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/REFERENCE"/> | ||
3763 | <ownedStyle xmi:type="diagram:BundledImage" uid="_2zSvkDNlEe2fD4dIhR_vzA" labelAlignment="LEFT"> | ||
3764 | <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"/> | ||
3765 | </ownedStyle> | ||
3766 | <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']"/> | ||
3767 | </ownedElements> | ||
3768 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_4K8fADNlEe2fD4dIhR_vzA" name="CONTAINMENT" tooltipText=""> | ||
3769 | <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINMENT"/> | ||
3770 | <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINMENT"/> | ||
3771 | <ownedStyle xmi:type="diagram:BundledImage" uid="_4K8fATNlEe2fD4dIhR_vzA" labelAlignment="LEFT"> | ||
3772 | <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"/> | ||
3773 | </ownedStyle> | ||
3774 | <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']"/> | ||
3775 | </ownedElements> | ||
3776 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_5MhQwDNlEe2fD4dIhR_vzA" name="CONTAINER" tooltipText=""> | ||
3777 | <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINER"/> | ||
3778 | <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//ReferenceKind/CONTAINER"/> | ||
3779 | <ownedStyle xmi:type="diagram:BundledImage" uid="_5MhQwTNlEe2fD4dIhR_vzA" labelAlignment="LEFT"> | ||
3780 | <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"/> | ||
3781 | </ownedStyle> | ||
3782 | <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']"/> | ||
3783 | </ownedElements> | ||
3784 | </ownedDiagramElements> | ||
3785 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_DD1pQDNoEe2fD4dIhR_vzA" name="PredicateKind" tooltipText="" width="12" height="10"> | ||
3786 | <target xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//PredicateKind"/> | ||
3787 | <semanticElements xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//PredicateKind"/> | ||
3788 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
3789 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
3790 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
3791 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_DD1pQTNoEe2fD4dIhR_vzA" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202"> | ||
3792 | <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"/> | ||
3793 | </ownedStyle> | ||
3794 | <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']"/> | ||
3795 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_FDOuIDNoEe2fD4dIhR_vzA" name="DEFAULT" tooltipText=""> | ||
3796 | <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PredicateKind/DEFAULT"/> | ||
3797 | <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PredicateKind/DEFAULT"/> | ||
3798 | <ownedStyle xmi:type="diagram:BundledImage" uid="_FDPVMDNoEe2fD4dIhR_vzA" labelAlignment="LEFT"> | ||
3799 | <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"/> | ||
3800 | </ownedStyle> | ||
3801 | <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']"/> | ||
3802 | </ownedElements> | ||
3803 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_F2glMDNoEe2fD4dIhR_vzA" name="ERROR" tooltipText=""> | ||
3804 | <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PredicateKind/ERROR"/> | ||
3805 | <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PredicateKind/ERROR"/> | ||
3806 | <ownedStyle xmi:type="diagram:BundledImage" uid="_F2hMQDNoEe2fD4dIhR_vzA" labelAlignment="LEFT"> | ||
3807 | <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"/> | ||
3808 | </ownedStyle> | ||
3809 | <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']"/> | ||
3810 | </ownedElements> | ||
3811 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_GS7bcDNoEe2fD4dIhR_vzA" name="CONTAINED" tooltipText=""> | ||
3812 | <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PredicateKind/CONTAINED"/> | ||
3813 | <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PredicateKind/CONTAINED"/> | ||
3814 | <ownedStyle xmi:type="diagram:BundledImage" uid="_GS7bcTNoEe2fD4dIhR_vzA" labelAlignment="LEFT"> | ||
3815 | <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"/> | ||
3816 | </ownedStyle> | ||
3817 | <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']"/> | ||
3818 | </ownedElements> | ||
3819 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_Gx7EkDNoEe2fD4dIhR_vzA" name="CONTAINMENT" tooltipText=""> | ||
3820 | <target xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PredicateKind/CONTAINMENT"/> | ||
3821 | <semanticElements xmi:type="ecore:EEnumLiteral" href="src/main/resources/model/problem.ecore#//PredicateKind/CONTAINMENT"/> | ||
3822 | <ownedStyle xmi:type="diagram:BundledImage" uid="_Gx7roDNoEe2fD4dIhR_vzA" labelAlignment="LEFT"> | ||
3823 | <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"/> | ||
3824 | </ownedStyle> | ||
3825 | <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']"/> | ||
3826 | </ownedElements> | ||
3827 | </ownedDiagramElements> | ||
3692 | <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> | 3828 | <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> |
3693 | <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/> | 3829 | <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/> |
3694 | <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> | 3830 | <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 571d52f3..58f26eae 100644 --- a/subprojects/language-model/src/main/resources/model/problem.ecore +++ b/subprojects/language-model/src/main/resources/model/problem.ecore | |||
@@ -20,15 +20,15 @@ | |||
20 | <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation"> | 20 | <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation"> |
21 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//Relation"/> | 21 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//Relation"/> |
22 | <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/> | 22 | <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/> |
23 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
24 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | 23 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" |
25 | containment="true"/> | 24 | containment="true"/> |
25 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ReferenceKind"/> | ||
26 | </eClassifiers> | 26 | </eClassifiers> |
27 | <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true"> | 27 | <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true"> |
28 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | 28 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
29 | </eClassifiers> | 29 | </eClassifiers> |
30 | <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Relation #//ParametricDefinition"> | 30 | <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Relation #//ParametricDefinition"> |
31 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 31 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//PredicateKind"/> |
32 | </eClassifiers> | 32 | </eClassifiers> |
33 | <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable"> | 33 | <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable"> |
34 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//Relation"/> | 34 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//Relation"/> |
@@ -78,7 +78,7 @@ | |||
78 | </eClassifiers> | 78 | </eClassifiers> |
79 | <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" interface="true"/> | 79 | <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" interface="true"/> |
80 | <eClassifiers xsi:type="ecore:EClass" name="TypeScope"> | 80 | <eClassifiers xsi:type="ecore:EClass" name="TypeScope"> |
81 | <eStructuralFeatures xsi:type="ecore:EReference" name="targetType" eType="#//ClassDeclaration"/> | 81 | <eStructuralFeatures xsi:type="ecore:EReference" name="targetType" eType="#//Relation"/> |
82 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="increment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 82 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="increment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
83 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | 83 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" |
84 | containment="true"/> | 84 | containment="true"/> |
@@ -191,4 +191,16 @@ | |||
191 | <eLiterals name="GREATER_EQ" value="3"/> | 191 | <eLiterals name="GREATER_EQ" value="3"/> |
192 | <eLiterals name="EQ" value="4"/> | 192 | <eLiterals name="EQ" value="4"/> |
193 | </eClassifiers> | 193 | </eClassifiers> |
194 | <eClassifiers xsi:type="ecore:EEnum" name="ReferenceKind"> | ||
195 | <eLiterals name="DEFAULT"/> | ||
196 | <eLiterals name="REFERENCE" value="1"/> | ||
197 | <eLiterals name="CONTAINMENT" value="2"/> | ||
198 | <eLiterals name="CONTAINER" value="3"/> | ||
199 | </eClassifiers> | ||
200 | <eClassifiers xsi:type="ecore:EEnum" name="PredicateKind"> | ||
201 | <eLiterals name="DEFAULT"/> | ||
202 | <eLiterals name="ERROR" value="1"/> | ||
203 | <eLiterals name="CONTAINED" value="2"/> | ||
204 | <eLiterals name="CONTAINMENT" value="3"/> | ||
205 | </eClassifiers> | ||
194 | </ecore:EPackage> | 206 | </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 1b72ecfd..5442d29d 100644 --- a/subprojects/language-model/src/main/resources/model/problem.genmodel +++ b/subprojects/language-model/src/main/resources/model/problem.genmodel | |||
@@ -29,6 +29,18 @@ | |||
29 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/GREATER_EQ"/> | 29 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/GREATER_EQ"/> |
30 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/EQ"/> | 30 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/EQ"/> |
31 | </genEnums> | 31 | </genEnums> |
32 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ReferenceKind"> | ||
33 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/DEFAULT"/> | ||
34 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/REFERENCE"/> | ||
35 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/CONTAINMENT"/> | ||
36 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/CONTAINER"/> | ||
37 | </genEnums> | ||
38 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//PredicateKind"> | ||
39 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PredicateKind/DEFAULT"/> | ||
40 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PredicateKind/ERROR"/> | ||
41 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PredicateKind/CONTAINED"/> | ||
42 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PredicateKind/CONTAINMENT"/> | ||
43 | </genEnums> | ||
32 | <genClasses ecoreClass="problem.ecore#//Problem"> | 44 | <genClasses ecoreClass="problem.ecore#//Problem"> |
33 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/nodes"/> | 45 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/nodes"/> |
34 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/statements"/> | 46 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/statements"/> |
@@ -43,14 +55,14 @@ | |||
43 | <genClasses ecoreClass="problem.ecore#//ReferenceDeclaration"> | 55 | <genClasses ecoreClass="problem.ecore#//ReferenceDeclaration"> |
44 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/referenceType"/> | 56 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/referenceType"/> |
45 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/opposite"/> | 57 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/opposite"/> |
46 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ReferenceDeclaration/containment"/> | ||
47 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/multiplicity"/> | 58 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/multiplicity"/> |
59 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ReferenceDeclaration/kind"/> | ||
48 | </genClasses> | 60 | </genClasses> |
49 | <genClasses ecoreClass="problem.ecore#//NamedElement"> | 61 | <genClasses ecoreClass="problem.ecore#//NamedElement"> |
50 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//NamedElement/name"/> | 62 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//NamedElement/name"/> |
51 | </genClasses> | 63 | </genClasses> |
52 | <genClasses ecoreClass="problem.ecore#//PredicateDefinition"> | 64 | <genClasses ecoreClass="problem.ecore#//PredicateDefinition"> |
53 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//PredicateDefinition/error"/> | 65 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//PredicateDefinition/kind"/> |
54 | </genClasses> | 66 | </genClasses> |
55 | <genClasses ecoreClass="problem.ecore#//Parameter"> | 67 | <genClasses ecoreClass="problem.ecore#//Parameter"> |
56 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Parameter/parameterType"/> | 68 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Parameter/parameterType"/> |
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 f7b86dca..2a5af628 100644 --- a/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext +++ b/subprojects/language/src/main/java/tools/refinery/language/Problem.xtext | |||
@@ -26,15 +26,23 @@ EnumDeclaration: | |||
26 | EnumLiteral returns Node: | 26 | EnumLiteral returns Node: |
27 | name=Identifier; | 27 | name=Identifier; |
28 | 28 | ||
29 | enum ReferenceKind: | ||
30 | REFERENCE="refers" | CONTAINMENT="contains" | CONTAINER="container"; | ||
31 | |||
29 | ReferenceDeclaration: | 32 | ReferenceDeclaration: |
30 | (containment?="contains" | "refers")? | 33 | ( |
31 | referenceType=[Relation|QualifiedName] | 34 | kind=ReferenceKind referenceType=[Relation|QualifiedName] | |
35 | referenceType=[Relation|NonRelationKindQualifiedName] | ||
36 | ) | ||
32 | ("[" multiplicity=Multiplicity "]")? | 37 | ("[" multiplicity=Multiplicity "]")? |
33 | name=Identifier | 38 | name=Identifier |
34 | ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?; | 39 | ("opposite" opposite=[ReferenceDeclaration|QualifiedName])?; |
35 | 40 | ||
41 | enum PredicateKind: | ||
42 | ERROR="error" | CONTAINED="contained" | CONTAINMENT="containment"; | ||
43 | |||
36 | PredicateDefinition: | 44 | PredicateDefinition: |
37 | (error?="error" "pred"? | "pred") | 45 | (kind=PredicateKind "pred"? | "pred") |
38 | name=Identifier | 46 | name=Identifier |
39 | "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" | 47 | "(" (parameters+=Parameter ("," parameters+=Parameter)*)? ")" |
40 | ("<->" bodies+=Conjunction (";" bodies+=Conjunction)*)? | 48 | ("<->" bodies+=Conjunction (";" bodies+=Conjunction)*)? |
@@ -150,7 +158,7 @@ ScopeDeclaration: | |||
150 | "scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* "."; | 158 | "scope" typeScopes+=TypeScope ("," typeScopes+=TypeScope)* "."; |
151 | 159 | ||
152 | TypeScope: | 160 | TypeScope: |
153 | targetType=[ClassDeclaration|QualifiedName] | 161 | targetType=[Relation|QualifiedName] |
154 | (increment?="+=" | "=") | 162 | (increment?="+=" | "=") |
155 | multiplicity=DefiniteMultiplicity; | 163 | multiplicity=DefiniteMultiplicity; |
156 | 164 | ||
@@ -175,12 +183,19 @@ IndividualDeclaration: | |||
175 | UpperBound returns ecore::EInt: | 183 | UpperBound returns ecore::EInt: |
176 | INT | "*"; | 184 | INT | "*"; |
177 | 185 | ||
186 | NonRelationKindQualifiedName hidden(): | ||
187 | NonRelationKindIdentifier ("::" Identifier)*; | ||
188 | |||
178 | QualifiedName hidden(): | 189 | QualifiedName hidden(): |
179 | Identifier ("::" Identifier)*; | 190 | Identifier ("::" Identifier)*; |
180 | 191 | ||
192 | NonRelationKindIdentifier: | ||
193 | ID | "true" | "false" | "unknown" | "error" | "class" | "abstract" | "extends" | "enum" | | ||
194 | "pred" | "indiv" | "problem" | "new" | "delete" | "rule" | "may" | "must" | "current" | | ||
195 | "count" | "default" | "scope" | "contained" | "containment"; | ||
196 | |||
181 | Identifier: | 197 | Identifier: |
182 | ID | "true" | "false" | "unknown" | "error" | "class" | "abstract" | "extends" | "enum" | "pred" | | 198 | NonRelationKindIdentifier | "refers" | "contains" | "container"; |
183 | "indiv" | "problem" | "new" | "delete" | "rule" | "may" | "must" | "current" | "count"; | ||
184 | 199 | ||
185 | Integer returns ecore::EInt hidden(): | 200 | Integer returns ecore::EInt hidden(): |
186 | "-"? INT; | 201 | "-"? INT; |
diff --git a/subprojects/language/src/main/java/tools/refinery/language/ProblemUtil.java b/subprojects/language/src/main/java/tools/refinery/language/ProblemUtil.java index b1e39176..0be296fd 100644 --- a/subprojects/language/src/main/java/tools/refinery/language/ProblemUtil.java +++ b/subprojects/language/src/main/java/tools/refinery/language/ProblemUtil.java | |||
@@ -27,6 +27,10 @@ public final class ProblemUtil { | |||
27 | 27 | ||
28 | public static final String NODE_CLASS_NAME = "node"; | 28 | public static final String NODE_CLASS_NAME = "node"; |
29 | 29 | ||
30 | public static final String DOMAIN_CLASS_NAME = "domain"; | ||
31 | |||
32 | public static final String DATA_CLASS_NAME = "data"; | ||
33 | |||
30 | private ProblemUtil() { | 34 | private ProblemUtil() { |
31 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | 35 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); |
32 | } | 36 | } |
@@ -80,15 +84,15 @@ public final class ProblemUtil { | |||
80 | return false; | 84 | return false; |
81 | } | 85 | } |
82 | 86 | ||
83 | public static Optional<ClassDeclaration> getNodeClassDeclaration(EObject context) { | 87 | public static Optional<ClassDeclaration> getBuiltinClassDeclaration(EObject context, String name) { |
84 | return getBuiltInLibrary(context).flatMap(problem -> problem.getStatements().stream() | 88 | return getBuiltInLibrary(context).flatMap(problem -> problem.getStatements().stream() |
85 | .filter(ClassDeclaration.class::isInstance).map(ClassDeclaration.class::cast) | 89 | .filter(ClassDeclaration.class::isInstance).map(ClassDeclaration.class::cast) |
86 | .filter(declaration -> NODE_CLASS_NAME.equals(declaration.getName())).findFirst()); | 90 | .filter(declaration -> name.equals(declaration.getName())).findFirst()); |
87 | } | 91 | } |
88 | 92 | ||
89 | public static Collection<ClassDeclaration> getSuperclassesAndSelf(ClassDeclaration classDeclaration) { | 93 | public static Collection<ClassDeclaration> getSuperclassesAndSelf(ClassDeclaration classDeclaration) { |
90 | Set<ClassDeclaration> found = new HashSet<>(); | 94 | Set<ClassDeclaration> found = new HashSet<>(); |
91 | getNodeClassDeclaration(classDeclaration).ifPresent(found::add); | 95 | getBuiltinClassDeclaration(classDeclaration, NODE_CLASS_NAME).ifPresent(found::add); |
92 | Deque<ClassDeclaration> queue = new ArrayDeque<>(); | 96 | Deque<ClassDeclaration> queue = new ArrayDeque<>(); |
93 | queue.addLast(classDeclaration); | 97 | queue.addLast(classDeclaration); |
94 | while (!queue.isEmpty()) { | 98 | while (!queue.isEmpty()) { |
@@ -102,6 +106,11 @@ public final class ProblemUtil { | |||
102 | } | 106 | } |
103 | } | 107 | } |
104 | } | 108 | } |
109 | getBuiltinClassDeclaration(classDeclaration, DATA_CLASS_NAME).ifPresent((dataClassDelcaration) -> { | ||
110 | if (!found.contains(dataClassDelcaration)) { | ||
111 | getBuiltinClassDeclaration(classDeclaration, DOMAIN_CLASS_NAME).ifPresent(found::add); | ||
112 | } | ||
113 | }); | ||
105 | return found; | 114 | return found; |
106 | } | 115 | } |
107 | 116 | ||
@@ -113,6 +122,28 @@ public final class ProblemUtil { | |||
113 | return referenceDeclarations; | 122 | return referenceDeclarations; |
114 | } | 123 | } |
115 | 124 | ||
125 | public static boolean isDataClass(Relation relation) { | ||
126 | if (relation instanceof ClassDeclaration classDeclaration) { | ||
127 | var supertypes = getSuperclassesAndSelf(classDeclaration); | ||
128 | return getBuiltinClassDeclaration(classDeclaration, DATA_CLASS_NAME).map(supertypes::contains) | ||
129 | .orElse(false); | ||
130 | } | ||
131 | return false; | ||
132 | } | ||
133 | |||
134 | public static boolean isContainmentReference(ReferenceDeclaration referenceDeclaration) { | ||
135 | switch (referenceDeclaration.getKind()) { | ||
136 | case REFERENCE, CONTAINER: | ||
137 | return false; | ||
138 | case CONTAINMENT: | ||
139 | return true; | ||
140 | case DEFAULT: | ||
141 | return isDataClass(referenceDeclaration.getReferenceType()); | ||
142 | default: | ||
143 | throw new IllegalArgumentException("Unknown reference kind " + referenceDeclaration.getKind()); | ||
144 | } | ||
145 | } | ||
146 | |||
116 | private static URI getLibraryUri(String libraryName) { | 147 | private static URI getLibraryUri(String libraryName) { |
117 | return URI.createURI(ProblemUtil.class.getClassLoader() | 148 | return URI.createURI(ProblemUtil.class.getClassLoader() |
118 | .getResource("tools/refinery/language/%s.problem".formatted(libraryName)).toString()); | 149 | .getResource("tools/refinery/language/%s.problem".formatted(libraryName)).toString()); |
diff --git a/subprojects/language/src/main/resources/tools/refinery/language/builtin.problem b/subprojects/language/src/main/resources/tools/refinery/language/builtin.problem index 323e03f1..e39ff1a3 100644 --- a/subprojects/language/src/main/resources/tools/refinery/language/builtin.problem +++ b/subprojects/language/src/main/resources/tools/refinery/language/builtin.problem | |||
@@ -19,3 +19,22 @@ class real extends data. | |||
19 | class int extends data. | 19 | class int extends data. |
20 | 20 | ||
21 | class string extends data. | 21 | class string extends data. |
22 | |||
23 | pred contained(node node). | ||
24 | |||
25 | pred contains(node container, node contained). | ||
26 | |||
27 | pred root(node node). | ||
28 | |||
29 | % error missingContainer(contained node) <-> | ||
30 | % !contains(node, _), !root(node). | ||
31 | % | ||
32 | % error tooManyContainers(contained node) <-> | ||
33 | % count contains(_, node) > 1 | ||
34 | % ; | ||
35 | % contains(_, node), root(node) | ||
36 | % ; | ||
37 | % contains(_, node), !contained(node). | ||
38 | % | ||
39 | % error containmentCycle(node node) <-> | ||
40 | % contains+(node, node). | ||