From 3c00e4e3bbfb9867d59b952ff01339d950e1f011 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 24 Oct 2026 17:54:40 +0000 Subject: [PATCH 01/14] feat(docplan): headings in markup bodies open sections A Markdown or AsciiDoc body owned by a Document or Section nests its headings into sections by level, names them by explicit AsciiDoc id or a title slug unique within the document, resolves sysml: references to them in the same and other documents, and numbers them as part-born sections. Out-of-sequence headings are the markup-heading-level error. Co-Authored-By: jason.han --- .../unreleased/document-whole-bodies.added.md | 1 + cmd/sysml/manual_examples_test.go | 32 ++ .../render_document_whole_bodies_test.go | 51 +++ docs/manual/authoring.md | 109 ++++- docs/manual/examples/whole-document.md | 40 ++ docs/manual/examples/whole-document.sysml | 64 +++ docs/reference/diagnostics.md | 2 +- examples/self-model/document.sysml | 23 + internal/doc/docir/whole_bodies_test.go | 80 ++++ internal/doc/docpdf/integration_test.go | 22 + .../docrender/testdata/whole_report.golden.md | 40 ++ .../whole_report.numbered.golden.html | 58 +++ .../doc/docrender/testdata/whole_report.sysml | 60 +++ internal/doc/docrender/whole_bodies_test.go | 22 + internal/ir/docplan/compiler.go | 7 + internal/ir/docplan/errors.go | 4 + internal/ir/docplan/markup/asciidoc.go | 49 ++- internal/ir/docplan/markup/asciidoc_test.go | 3 +- internal/ir/docplan/markup/markdown.go | 37 ++ internal/ir/docplan/markup/markdown_test.go | 45 +- internal/ir/docplan/markup/markup.go | 37 +- .../markup/testdata/asciidoc_sections.adoc | 16 + .../markup/testdata/asciidoc_sections.json | 1 + internal/ir/docplan/markup_bodies.go | 101 +---- internal/ir/docplan/markup_bodies_test.go | 18 +- internal/ir/docplan/markup_sections.go | 392 ++++++++++++++++++ internal/ir/docplan/plan.go | 2 + internal/ir/docplan/whole_bodies_test.go | 204 +++++++++ scripts/asciidoc/asciidoctor-json.js | 14 +- 29 files changed, 1427 insertions(+), 107 deletions(-) create mode 100644 changes/unreleased/document-whole-bodies.added.md create mode 100644 cmd/sysml/render_document_whole_bodies_test.go create mode 100644 docs/manual/examples/whole-document.md create mode 100644 docs/manual/examples/whole-document.sysml create mode 100644 internal/doc/docir/whole_bodies_test.go create mode 100644 internal/doc/docrender/testdata/whole_report.golden.md create mode 100644 internal/doc/docrender/testdata/whole_report.numbered.golden.html create mode 100644 internal/doc/docrender/testdata/whole_report.sysml create mode 100644 internal/doc/docrender/whole_bodies_test.go create mode 100644 internal/ir/docplan/markup/testdata/asciidoc_sections.adoc create mode 100644 internal/ir/docplan/markup/testdata/asciidoc_sections.json create mode 100644 internal/ir/docplan/markup_sections.go create mode 100644 internal/ir/docplan/whole_bodies_test.go diff --git a/changes/unreleased/document-whole-bodies.added.md b/changes/unreleased/document-whole-bodies.added.md new file mode 100644 index 0000000000..775c594fe9 --- /dev/null +++ b/changes/unreleased/document-whole-bodies.added.md @@ -0,0 +1 @@ +- Whole-document markup bodies: a Markdown or AsciiDoc `rep` in a `Document` or `Section` may now carry headings (`#`…`######`, `==`…), which open `Section`s nested by level in place among the sibling parts, so one body can write a whole document outline. The first heading met is one level below the owner; a heading that skips a level or rises above the body's base is the new `document-plan-markup-heading-level` planning error, and a heading in a `part : Paragraph` body stays refused. Each such section is named by its AsciiDoc `[[id]]`/`[#id]`, else by a slug of its title (lower-cased, runs of other characters one underscore, `_2`, `_3`… on a repeat), and `[](sysml:)`, `sysml:ref[]`, `<>` and `sysml:::` from another document resolve to it; numbering, tables of contents and title pages treat it as any section. diff --git a/cmd/sysml/manual_examples_test.go b/cmd/sysml/manual_examples_test.go index d64e4511a2..79eaece8b0 100644 --- a/cmd/sysml/manual_examples_test.go +++ b/cmd/sysml/manual_examples_test.go @@ -34,6 +34,38 @@ func TestManualWorkedExampleMatchesCommittedOutput(t *testing.T) { } } +// TestManualWholeDocumentExampleMatchesCommittedOutput renders the manual's +// whole-document example, whose outline is one Markdown body, and compares it +// against the committed output. +func TestManualWholeDocumentExampleMatchesCommittedOutput(t *testing.T) { + binary := buildCLI(t) + examples := filepath.Join("..", "..", "docs", "manual", "examples") + committed, err := os.ReadFile(filepath.Join(examples, "whole-document.md")) + if err != nil { + t.Fatal(err) + } + out := filepath.Join(t.TempDir(), "whole-document.md") + cmd := exec.Command(binary, filepath.Join(examples, "whole-document.sysml"), "-render-document", "Whole::MassReport", "-o", out) + if output, err := cmd.CombinedOutput(); err != nil { + t.Fatalf("render: %v\n%s", err, output) + } + written, err := os.ReadFile(out) + if err != nil { + t.Fatal(err) + } + if string(written) != string(committed) { + t.Errorf("rendered whole-document example differs from docs/manual/examples/whole-document.md:\n%s", written) + } + for _, want := range []string{ + "## Overview", "### Mass budget", "#### Margins", "## Design", "## Appendix", "### Derivation", + "[Mass budget](#overview-mass_budget)", "[margin](Whole-Glossary.md#mass_margin)", "[Mass budget](#overview-mass_budget_2)", + } { + if !strings.Contains(string(written), want) { + t.Errorf("rendered whole-document example lacks %q", want) + } + } +} + // TestManualProseExampleMatchesCommittedOutput renders the manual's Markdown // prose example, whose paragraphs and lists are `rep language "markdown"` // bodies, and compares it against the committed output. diff --git a/cmd/sysml/render_document_whole_bodies_test.go b/cmd/sysml/render_document_whole_bodies_test.go new file mode 100644 index 0000000000..9aba40d7cc --- /dev/null +++ b/cmd/sysml/render_document_whole_bodies_test.go @@ -0,0 +1,51 @@ +package main + +import ( + "os" + "path/filepath" + "strings" + "testing" +) + +const wholeBodiesFixture = "../../internal/doc/docrender/testdata/whole_report.sysml" + +// TestRenderDocumentWholeBodies renders a report whose outline is one +// Markdown body: its headings are sections the title page, table of contents +// and numbering options treat exactly as the part-born section after them. +func TestRenderDocumentWholeBodies(t *testing.T) { + binary := buildCLI(t) + source, err := os.ReadFile(wholeBodiesFixture) + if err != nil { + t.Fatal(err) + } + model := string(source) + + wantReport(t, check(t, binary, model, "-render-document", "Whole::WholeReport"), 0, + "## Overview", "### Mass budget", "#### Margins", "## Appendix", "### Derivation", + "[Mass budget](#overview-mass_budget)", "[Shared notes](Whole-Notes.md#shared_notes)", "back to [Overview](#overview)") + + html := filepath.Join(t.TempDir(), "report.html") + wantReport(t, check(t, binary, model, "-render-document", "Whole::WholeReport", "-doc-form", "html", + "-doc-title-page", "-doc-toc", "-doc-number-sections", "-o", html), 0) + page, err := os.ReadFile(html) + if err != nil { + t.Fatal(err) + } + for _, want := range []string{ + ` -

A report whose outline is one body; see Section 1.1 - Mass budget, Shared notes and Section 3 - Appendix.

+

A report whose outline is one body; see Section 1.1 - Mass budget and Section 3 - Appendix.

1 Overview

The mount is here.

diff --git a/internal/doc/docrender/testdata/whole_report.sysml b/internal/doc/docrender/testdata/whole_report.sysml index 5c4e7963f4..ff47bce5b9 100644 --- a/internal/doc/docrender/testdata/whole_report.sysml +++ b/internal/doc/docrender/testdata/whole_report.sysml @@ -6,20 +6,11 @@ package Whole { } part telescope : Telescope; - part def Notes :> Document { - :>> title = "Notes"; - - rep language "markdown" /* # Shared notes - * - * The report's [budget](sysml:WholeReport::mass_budget) is kept there. - */ - } - part def WholeReport :> Document { :>> title = "Whole Report"; - rep language "markdown" /* A report whose outline is one body; see [](sysml:mass_budget), - * [](sysml:Notes::shared_notes) and [](sysml:appendix). + rep language "markdown" /* A report whose outline is one body; see [](sysml:mass_budget) + * and [](sysml:appendix). * * # Overview * From 2aa2d57e1659a0a7e8380c41b74d4edb6007179b Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 24 Oct 2026 21:58:49 +0000 Subject: [PATCH 04/14] docs(site): list the whole-document example output in the manual nav MkDocs builds the site in strict mode, so a rendered example under docs/manual/examples has to appear in the navigation like its siblings. Co-Authored-By: jason.han --- mkdocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/mkdocs.yml b/mkdocs.yml index 311a615f9f..1844067a4b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -264,6 +264,7 @@ nav: - Limitations and troubleshooting: manual/troubleshooting.md - Worked example output: manual/examples/observatory.md - Markdown prose example output: manual/examples/prose.md + - Whole-document example output: manual/examples/whole-document.md - Requirements example output: manual/examples/requirements.md - Traceability example output: manual/examples/traceability.md - Traceability tier 1 output: manual/examples/trace-1-basic.md From 682216309db96efeba95de27d8e2c293e19f1005 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 24 Oct 2026 22:29:39 +0000 Subject: [PATCH 05/14] chore(asciidoc): ignore the converter's npm install artifacts npm install in scripts/asciidoc leaves node_modules/ and a lockfile that the pinned toolchain copy under build/doc-pdf makes redundant. Co-Authored-By: jason.han --- scripts/asciidoc/.gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 scripts/asciidoc/.gitignore diff --git a/scripts/asciidoc/.gitignore b/scripts/asciidoc/.gitignore new file mode 100644 index 0000000000..504afef81f --- /dev/null +++ b/scripts/asciidoc/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +package-lock.json From 7e388932f2d7f4f546c962c040c44339961804f0 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sat, 24 Oct 2026 23:24:12 +0000 Subject: [PATCH 06/14] chore(baselines): re-record the pilot differentials over the whole-document examples The new manual example and the self-model's markup body move the examples and manual-examples provenance digests; the pilot-diff baseline only shifts line numbers in the self-model document, and the API-JSON record's scorecard and gap rows follow the re-recorded totals. Co-Authored-By: jason.han --- .../api-json-differential-baseline.json | 1316 ++++++++--------- docs/project/api-json-differential.md | 54 +- docs/project/pilot-differential-baseline.json | 14 +- 3 files changed, 692 insertions(+), 692 deletions(-) diff --git a/docs/project/api-json-differential-baseline.json b/docs/project/api-json-differential-baseline.json index 65f1d48ef8..29a060a41f 100644 --- a/docs/project/api-json-differential-baseline.json +++ b/docs/project/api-json-differential-baseline.json @@ -65,7 +65,7 @@ "dir": "examples", "origin": "ours", "files": 52, - "digest": "sha256:688edb659f8bcd9f644b2278dae231f65af44dd0f39b374f7e6286f4289d9373" + "digest": "sha256:451596b19bfcca198268d5b8ef8f3d307cedb69ebfa73521d1798d8f6d4b8c4f" }, { "name": "probes", @@ -78,8 +78,8 @@ "name": "manual-examples", "dir": "docs/manual/examples", "origin": "ours", - "files": 9, - "digest": "sha256:4b645128e2e62305cfda421b2e1e36e8f2db4b69ac2c8f76ed16b9198604e849" + "files": 10, + "digest": "sha256:81b6bc439448902ac23d685bb2a4cf9d69d99f20df694722c38685dbdc71d2b4" }, { "name": "opensysml-libraries", @@ -106,30 +106,30 @@ "Standard-library elements the pilot writes (isLibraryElement, one copy per file that refers to them) are left out and counted under pilotLibraryElements; this repository's writer refers to library elements and never writes them." ], "totals": { - "files": 925, + "files": 926, "oursRefused": 36, "oursUnconvertible": 0, "oursColliding": 26, "pilotFailed": 56, - "pilotLibraryElements": 32455, + "pilotLibraryElements": 33984, "elements": { - "matched": 91728, + "matched": 91771, "oursOnly": 18392, - "pilotOnly": 37335, + "pilotOnly": 37343, "pilotOnlyImplied": 0, "typeMismatch": 1729 }, "properties": { - "presentEqual": 1112715, - "presentDifferent": 27099, - "oursMissing": 1065892, - "pilotMissing": 67687, - "absentBoth": 1957146, - "indeterminate": 26021 + "presentEqual": 1113206, + "presentDifferent": 27105, + "oursMissing": 1066347, + "pilotMissing": 67720, + "absentBoth": 1958084, + "indeterminate": 26051 }, "rows": 11730, - "unkeyedReferences": 110964, - "extensionProperties": 158791, + "unkeyedReferences": 111035, + "extensionProperties": 158907, "duplicateElements": { "ours": 525, "pilot": 78121 @@ -366,18 +366,18 @@ "oursColliding": 3, "pilotLibraryElements": 13888, "elements": { - "matched": 26227, + "matched": 26229, "oursOnly": 5956, "pilotOnly": 14770, "pilotOnlyImplied": 0, "typeMismatch": 186 }, "properties": { - "presentEqual": 324224, + "presentEqual": 324238, "presentDifferent": 8033, - "oursMissing": 314224, - "pilotMissing": 19455, - "absentBoth": 583071, + "oursMissing": 314235, + "pilotMissing": 19456, + "absentBoth": 583089, "indeterminate": 9526 }, "duplicateElements": { @@ -431,24 +431,24 @@ { "name": "manual-examples", "dir": "docs/manual/examples", - "files": 9, + "files": 10, "oursRefused": 0, "pilotFailed": 0, - "pilotLibraryElements": 13783, + "pilotLibraryElements": 15312, "elements": { - "matched": 7054, + "matched": 7095, "oursOnly": 920, - "pilotOnly": 2088, + "pilotOnly": 2096, "pilotOnlyImplied": 0, "typeMismatch": 0 }, "properties": { - "presentEqual": 87080, - "presentDifferent": 1988, - "oursMissing": 87999, - "pilotMissing": 4705, - "absentBoth": 147062, - "indeterminate": 2100 + "presentEqual": 87557, + "presentDifferent": 1994, + "oursMissing": 88443, + "pilotMissing": 4737, + "absentBoth": 147982, + "indeterminate": 2130 }, "duplicateElements": { "ours": 0, @@ -34078,7 +34078,7 @@ 0, 0, 0, - 10845, + 10852, 0 ], "FeatureMembership.declaredName": [ @@ -34086,7 +34086,7 @@ 0, 0, 0, - 10845, + 10852, 0 ], "FeatureMembership.declaredShortName": [ @@ -34094,7 +34094,7 @@ 0, 0, 0, - 10845, + 10852, 0 ], "FeatureMembership.documentation": [ @@ -34102,11 +34102,11 @@ 0, 0, 0, - 10845, + 10852, 0 ], "FeatureMembership.isImplied": [ - 10845, + 10852, 0, 0, 0, @@ -34114,7 +34114,7 @@ 0 ], "FeatureMembership.isImpliedIncluded": [ - 10845, + 10852, 0, 0, 0, @@ -34124,13 +34124,13 @@ "FeatureMembership.isLibraryElement": [ 0, 0, - 10845, + 10852, 0, 0, 0 ], "FeatureMembership.memberElement": [ - 9379, + 9386, 570, 0, 0, @@ -34140,7 +34140,7 @@ "FeatureMembership.memberElementId": [ 0, 0, - 10845, + 10852, 0, 0, 0 @@ -34148,7 +34148,7 @@ "FeatureMembership.memberName": [ 0, 0, - 9296, + 9303, 0, 0, 0 @@ -34162,7 +34162,7 @@ 0 ], "FeatureMembership.membershipOwningNamespace": [ - 10845, + 10852, 0, 0, 0, @@ -34174,7 +34174,7 @@ 0, 0, 0, - 10845, + 10852, 0 ], "FeatureMembership.ownedElement": [ @@ -34182,11 +34182,11 @@ 0, 0, 0, - 10845, + 10852, 0 ], "FeatureMembership.ownedMemberElement": [ - 9379, + 9386, 570, 0, 0, @@ -34196,13 +34196,13 @@ "FeatureMembership.ownedMemberElementId": [ 0, 0, - 10845, + 10852, 0, 0, 0 ], "FeatureMembership.ownedMemberFeature": [ - 9285, + 9292, 568, 96, 0, @@ -34212,7 +34212,7 @@ "FeatureMembership.ownedMemberName": [ 0, 0, - 9296, + 9303, 0, 0, 0 @@ -34226,7 +34226,7 @@ 0 ], "FeatureMembership.ownedRelatedElement": [ - 9379, + 9386, 570, 0, 0, @@ -34238,19 +34238,19 @@ 0, 0, 0, - 10845, + 10852, 0 ], "FeatureMembership.owner": [ 0, 0, 0, - 10845, + 10852, 0, 0 ], "FeatureMembership.owningRelatedElement": [ - 10845, + 10852, 0, 0, 0, @@ -34262,11 +34262,11 @@ 0, 0, 0, - 10845, + 10852, 0 ], "FeatureMembership.owningType": [ - 10681, + 10688, 0, 164, 0, @@ -34276,7 +34276,7 @@ "FeatureMembership.relatedElement": [ 0, 0, - 10845, + 10852, 0, 0, 0 @@ -34284,7 +34284,7 @@ "FeatureMembership.source": [ 0, 0, - 10845, + 10852, 0, 0, 0 @@ -34292,7 +34292,7 @@ "FeatureMembership.target": [ 0, 0, - 10845, + 10852, 0, 0, 0 @@ -34302,13 +34302,13 @@ 0, 0, 0, - 10845, + 10852, 0 ], "FeatureMembership.visibility": [ 63, 1, - 10781, + 10788, 0, 0, 0 @@ -34878,7 +34878,7 @@ 0, 0, 0, - 5982, + 5985, 0 ], "FeatureTyping.declaredName": [ @@ -34886,7 +34886,7 @@ 0, 0, 0, - 5978, + 5981, 0 ], "FeatureTyping.declaredShortName": [ @@ -34894,7 +34894,7 @@ 0, 0, 0, - 5982, + 5985, 0 ], "FeatureTyping.documentation": [ @@ -34902,19 +34902,19 @@ 0, 1, 0, - 5981, + 5984, 0 ], "FeatureTyping.general": [ - 3400, + 3401, 0, 328, 0, 0, - 2254 + 2256 ], "FeatureTyping.isImplied": [ - 5982, + 5985, 0, 0, 0, @@ -34922,7 +34922,7 @@ 0 ], "FeatureTyping.isImpliedIncluded": [ - 5982, + 5985, 0, 0, 0, @@ -34932,7 +34932,7 @@ "FeatureTyping.isLibraryElement": [ 0, 0, - 5982, + 5985, 0, 0, 0 @@ -34950,7 +34950,7 @@ 0, 1, 0, - 5981, + 5984, 0 ], "FeatureTyping.ownedElement": [ @@ -34958,7 +34958,7 @@ 0, 1, 0, - 5981, + 5984, 0 ], "FeatureTyping.ownedRelatedElement": [ @@ -34966,7 +34966,7 @@ 0, 0, 1, - 5981, + 5984, 0 ], "FeatureTyping.ownedRelationship": [ @@ -34974,7 +34974,7 @@ 1, 0, 3, - 5978, + 5981, 0 ], "FeatureTyping.ownedSpecialization": [ @@ -34997,12 +34997,12 @@ 4, 0, 0, - 5978, + 5981, 0, 0 ], "FeatureTyping.owningFeature": [ - 5978, + 5981, 0, 0, 0, @@ -35026,7 +35026,7 @@ 0 ], "FeatureTyping.owningRelatedElement": [ - 5978, + 5981, 0, 0, 0, @@ -35038,13 +35038,13 @@ 0, 0, 0, - 5978, + 5981, 0 ], "FeatureTyping.owningType": [ 0, 0, - 5978, + 5981, 0, 0, 0 @@ -35058,15 +35058,15 @@ 0 ], "FeatureTyping.relatedElement": [ - 3400, + 3401, 0, 328, 0, 0, - 2254 + 2256 ], "FeatureTyping.source": [ - 5978, + 5981, 0, 4, 0, @@ -35074,7 +35074,7 @@ 0 ], "FeatureTyping.specific": [ - 5978, + 5981, 0, 4, 0, @@ -35082,31 +35082,31 @@ 0 ], "FeatureTyping.target": [ - 3400, + 3401, 0, 328, 0, 0, - 2254 + 2256 ], "FeatureTyping.textualRepresentation": [ 0, 0, 0, 0, - 5982, + 5985, 0 ], "FeatureTyping.type": [ - 3402, + 3403, 0, 326, 0, 0, - 2254 + 2256 ], "FeatureTyping.typedFeature": [ - 5980, + 5983, 0, 2, 0, @@ -35118,7 +35118,7 @@ 0, 0, 0, - 7080, + 7083, 0 ], "FeatureValue.declaredName": [ @@ -35126,7 +35126,7 @@ 0, 0, 0, - 7080, + 7083, 0 ], "FeatureValue.declaredShortName": [ @@ -35134,7 +35134,7 @@ 0, 0, 0, - 7080, + 7083, 0 ], "FeatureValue.documentation": [ @@ -35142,11 +35142,11 @@ 0, 0, 0, - 7080, + 7083, 0 ], "FeatureValue.featureWithValue": [ - 7080, + 7083, 0, 0, 0, @@ -35154,7 +35154,7 @@ 0 ], "FeatureValue.isDefault": [ - 7080, + 7083, 0, 0, 0, @@ -35162,7 +35162,7 @@ 0 ], "FeatureValue.isImplied": [ - 7080, + 7083, 0, 0, 0, @@ -35170,7 +35170,7 @@ 0 ], "FeatureValue.isImpliedIncluded": [ - 7080, + 7083, 0, 0, 0, @@ -35178,7 +35178,7 @@ 0 ], "FeatureValue.isInitial": [ - 7080, + 7083, 0, 0, 0, @@ -35188,13 +35188,13 @@ "FeatureValue.isLibraryElement": [ 0, 0, - 7080, + 7083, 0, 0, 0 ], "FeatureValue.memberElement": [ - 6774, + 6777, 306, 0, 0, @@ -35204,13 +35204,13 @@ "FeatureValue.memberElementId": [ 0, 0, - 7080, + 7083, 0, 0, 0 ], "FeatureValue.membershipOwningNamespace": [ - 7080, + 7083, 0, 0, 0, @@ -35222,7 +35222,7 @@ 0, 0, 0, - 7080, + 7083, 0 ], "FeatureValue.ownedElement": [ @@ -35230,11 +35230,11 @@ 0, 0, 0, - 7080, + 7083, 0 ], "FeatureValue.ownedMemberElement": [ - 6774, + 6777, 306, 0, 0, @@ -35244,13 +35244,13 @@ "FeatureValue.ownedMemberElementId": [ 0, 0, - 7080, + 7083, 0, 0, 0 ], "FeatureValue.ownedRelatedElement": [ - 6774, + 6777, 306, 0, 0, @@ -35262,19 +35262,19 @@ 0, 0, 0, - 7080, + 7083, 0 ], "FeatureValue.owner": [ 0, 0, 0, - 7080, + 7083, 0, 0 ], "FeatureValue.owningRelatedElement": [ - 7080, + 7083, 0, 0, 0, @@ -35286,13 +35286,13 @@ 0, 0, 0, - 7080, + 7083, 0 ], "FeatureValue.relatedElement": [ 0, 0, - 7080, + 7083, 0, 0, 0 @@ -35300,7 +35300,7 @@ "FeatureValue.source": [ 0, 0, - 7080, + 7083, 0, 0, 0 @@ -35308,7 +35308,7 @@ "FeatureValue.target": [ 0, 0, - 7080, + 7083, 0, 0, 0 @@ -35318,11 +35318,11 @@ 0, 0, 0, - 7080, + 7083, 0 ], "FeatureValue.value": [ - 6774, + 6777, 306, 0, 0, @@ -35332,7 +35332,7 @@ "FeatureValue.visibility": [ 0, 0, - 7080, + 7083, 0, 0, 0 @@ -51158,13 +51158,13 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.behavior": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51174,7 +51174,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.declaredName": [ @@ -51182,7 +51182,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.declaredShortName": [ @@ -51190,7 +51190,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.differencingType": [ @@ -51198,13 +51198,13 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.directedFeature": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51214,7 +51214,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.documentation": [ @@ -51222,7 +51222,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.endFeature": [ @@ -51230,13 +51230,13 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.feature": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51244,7 +51244,7 @@ "LiteralString.featureMembership": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51252,7 +51252,7 @@ "LiteralString.featureTarget": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51262,13 +51262,13 @@ 0, 388, 0, - 703, + 706, 0 ], "LiteralString.function": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51278,13 +51278,13 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.inheritedFeature": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51292,7 +51292,7 @@ "LiteralString.inheritedMembership": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51302,7 +51302,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.intersectingType": [ @@ -51310,11 +51310,11 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.isAbstract": [ - 1091, + 1094, 0, 0, 0, @@ -51322,7 +51322,7 @@ 0 ], "LiteralString.isComposite": [ - 1091, + 1094, 0, 0, 0, @@ -51332,13 +51332,13 @@ "LiteralString.isConjugated": [ 0, 0, - 1091, + 1094, 0, 0, 0 ], "LiteralString.isConstant": [ - 1091, + 1094, 0, 0, 0, @@ -51346,7 +51346,7 @@ 0 ], "LiteralString.isDerived": [ - 1091, + 1094, 0, 0, 0, @@ -51354,7 +51354,7 @@ 0 ], "LiteralString.isEnd": [ - 1091, + 1094, 0, 0, 0, @@ -51362,7 +51362,7 @@ 0 ], "LiteralString.isImpliedIncluded": [ - 1091, + 1094, 0, 0, 0, @@ -51372,7 +51372,7 @@ "LiteralString.isLibraryElement": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51380,13 +51380,13 @@ "LiteralString.isModelLevelEvaluable": [ 0, 0, - 1091, + 1094, 0, 0, 0 ], "LiteralString.isOrdered": [ - 1091, + 1094, 0, 0, 0, @@ -51394,7 +51394,7 @@ 0 ], "LiteralString.isPortion": [ - 1091, + 1094, 0, 0, 0, @@ -51402,7 +51402,7 @@ 0 ], "LiteralString.isSufficient": [ - 1091, + 1094, 0, 0, 0, @@ -51410,7 +51410,7 @@ 0 ], "LiteralString.isUnique": [ - 1091, + 1094, 0, 0, 0, @@ -51418,7 +51418,7 @@ 0 ], "LiteralString.isVariable": [ - 1091, + 1094, 0, 0, 0, @@ -51428,7 +51428,7 @@ "LiteralString.member": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51436,7 +51436,7 @@ "LiteralString.membership": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51444,7 +51444,7 @@ "LiteralString.output": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51454,7 +51454,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedDifferencing": [ @@ -51462,7 +51462,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedDisjoining": [ @@ -51470,7 +51470,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedElement": [ @@ -51478,7 +51478,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedEndFeature": [ @@ -51486,7 +51486,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedFeature": [ @@ -51494,7 +51494,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedFeatureChaining": [ @@ -51502,7 +51502,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedFeatureInverting": [ @@ -51510,7 +51510,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedFeatureMembership": [ @@ -51518,7 +51518,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedImport": [ @@ -51526,7 +51526,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedIntersecting": [ @@ -51534,7 +51534,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedMember": [ @@ -51542,7 +51542,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedMembership": [ @@ -51550,7 +51550,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedRedefinition": [ @@ -51558,7 +51558,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedRelationship": [ @@ -51566,7 +51566,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedSpecialization": [ @@ -51574,7 +51574,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedSubsetting": [ @@ -51582,7 +51582,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedTypeFeaturing": [ @@ -51590,7 +51590,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedTyping": [ @@ -51598,7 +51598,7 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.ownedUnioning": [ @@ -51606,11 +51606,11 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.owner": [ - 1091, + 1094, 0, 0, 0, @@ -51618,7 +51618,7 @@ 0 ], "LiteralString.owningMembership": [ - 1091, + 1094, 0, 0, 0, @@ -51628,13 +51628,13 @@ "LiteralString.owningNamespace": [ 0, 0, - 1091, + 1094, 0, 0, 0 ], "LiteralString.owningRelationship": [ - 1091, + 1094, 0, 0, 0, @@ -51644,7 +51644,7 @@ "LiteralString.parameter": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51652,7 +51652,7 @@ "LiteralString.result": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51662,13 +51662,13 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.type": [ 0, 0, - 1091, + 1094, 0, 0, 0 @@ -51678,11 +51678,11 @@ 0, 0, 0, - 1091, + 1094, 0 ], "LiteralString.value": [ - 1091, + 1094, 0, 0, 0, @@ -57166,7 +57166,7 @@ 0, 0, 0, - 852, + 853, 0 ], "Namespace.declaredName": [ @@ -57174,7 +57174,7 @@ 0, 0, 0, - 833, + 834, 0 ], "Namespace.declaredShortName": [ @@ -57182,7 +57182,7 @@ 0, 0, 0, - 850, + 851, 0 ], "Namespace.documentation": [ @@ -57190,7 +57190,7 @@ 0, 3, 0, - 849, + 850, 0 ], "Namespace.importedMembership": [ @@ -57198,11 +57198,11 @@ 0, 11, 0, - 841, + 842, 0 ], "Namespace.isImpliedIncluded": [ - 852, + 853, 0, 0, 0, @@ -57212,7 +57212,7 @@ "Namespace.isLibraryElement": [ 0, 0, - 852, + 853, 0, 0, 0 @@ -57220,7 +57220,7 @@ "Namespace.member": [ 0, 0, - 846, + 847, 0, 6, 0 @@ -57228,7 +57228,7 @@ "Namespace.membership": [ 0, 0, - 847, + 848, 0, 5, 0 @@ -57246,13 +57246,13 @@ 0, 0, 0, - 852, + 853, 0 ], "Namespace.ownedElement": [ 0, 0, - 845, + 846, 0, 7, 0 @@ -57262,11 +57262,11 @@ 0, 7, 1, - 838, + 839, 0 ], "Namespace.ownedMember": [ - 809, + 810, 34, 1, 0, @@ -57274,7 +57274,7 @@ 0 ], "Namespace.ownedMembership": [ - 809, + 810, 34, 1, 0, @@ -57282,7 +57282,7 @@ 0 ], "Namespace.ownedRelationship": [ - 814, + 815, 34, 1, 1, @@ -57318,7 +57318,7 @@ 0, 0, 0, - 833, + 834, 0 ], "Namespace.qualifiedName": [ @@ -57342,7 +57342,7 @@ 0, 0, 0, - 852, + 853, 0 ], "NamespaceExpose.aliasIds": [ @@ -57550,7 +57550,7 @@ 0, 0, 0, - 669, + 670, 0 ], "NamespaceImport.declaredName": [ @@ -57558,7 +57558,7 @@ 0, 0, 0, - 669, + 670, 0 ], "NamespaceImport.declaredShortName": [ @@ -57566,7 +57566,7 @@ 0, 0, 0, - 669, + 670, 0 ], "NamespaceImport.documentation": [ @@ -57574,11 +57574,11 @@ 0, 1, 0, - 668, + 669, 0 ], "NamespaceImport.importOwningNamespace": [ - 669, + 670, 0, 0, 0, @@ -57588,7 +57588,7 @@ "NamespaceImport.importedElement": [ 0, 0, - 669, + 670, 0, 0, 0 @@ -57599,10 +57599,10 @@ 8, 0, 0, - 343 + 344 ], "NamespaceImport.isImplied": [ - 669, + 670, 0, 0, 0, @@ -57610,7 +57610,7 @@ 0 ], "NamespaceImport.isImpliedIncluded": [ - 669, + 670, 0, 0, 0, @@ -57618,7 +57618,7 @@ 0 ], "NamespaceImport.isImportAll": [ - 669, + 670, 0, 0, 0, @@ -57628,13 +57628,13 @@ "NamespaceImport.isLibraryElement": [ 0, 0, - 669, + 670, 0, 0, 0 ], "NamespaceImport.isRecursive": [ - 669, + 670, 0, 0, 0, @@ -57646,7 +57646,7 @@ 0, 2, 0, - 667, + 668, 0 ], "NamespaceImport.ownedElement": [ @@ -57654,7 +57654,7 @@ 0, 2, 0, - 667, + 668, 0 ], "NamespaceImport.ownedRelatedElement": [ @@ -57662,7 +57662,7 @@ 0, 0, 1, - 656, + 657, 0 ], "NamespaceImport.ownedRelationship": [ @@ -57670,14 +57670,14 @@ 0, 2, 0, - 667, + 668, 0 ], "NamespaceImport.owner": [ 0, 0, 0, - 669, + 670, 0, 0 ], @@ -57685,12 +57685,12 @@ 0, 0, 0, - 662, + 663, 0, 0 ], "NamespaceImport.owningRelatedElement": [ - 669, + 670, 0, 0, 0, @@ -57702,13 +57702,13 @@ 0, 0, 0, - 669, + 670, 0 ], "NamespaceImport.relatedElement": [ 0, 0, - 669, + 670, 0, 0, 0 @@ -57716,7 +57716,7 @@ "NamespaceImport.source": [ 0, 0, - 669, + 670, 0, 0, 0 @@ -57724,7 +57724,7 @@ "NamespaceImport.target": [ 0, 0, - 669, + 670, 0, 0, 0 @@ -57734,11 +57734,11 @@ 0, 0, 0, - 669, + 670, 0 ], "NamespaceImport.visibility": [ - 662, + 663, 0, 7, 0, @@ -60646,7 +60646,7 @@ 0, 0, 0, - 9603, + 9610, 0 ], "OwningMembership.declaredName": [ @@ -60654,7 +60654,7 @@ 0, 0, 0, - 9603, + 9610, 0 ], "OwningMembership.declaredShortName": [ @@ -60662,7 +60662,7 @@ 0, 0, 0, - 9603, + 9610, 0 ], "OwningMembership.documentation": [ @@ -60670,11 +60670,11 @@ 0, 0, 0, - 9603, + 9610, 0 ], "OwningMembership.isImplied": [ - 9603, + 9610, 0, 0, 0, @@ -60682,7 +60682,7 @@ 0 ], "OwningMembership.isImpliedIncluded": [ - 9603, + 9610, 0, 0, 0, @@ -60692,13 +60692,13 @@ "OwningMembership.isLibraryElement": [ 0, 0, - 9603, + 9610, 0, 0, 0 ], "OwningMembership.memberElement": [ - 8955, + 8962, 431, 0, 3, @@ -60708,7 +60708,7 @@ "OwningMembership.memberElementId": [ 0, 0, - 9600, + 9607, 0, 0, 0 @@ -60716,7 +60716,7 @@ "OwningMembership.memberName": [ 0, 0, - 5650, + 5654, 0, 0, 0 @@ -60730,7 +60730,7 @@ 0 ], "OwningMembership.membershipOwningNamespace": [ - 9603, + 9610, 0, 0, 0, @@ -60742,7 +60742,7 @@ 0, 0, 0, - 9603, + 9610, 0 ], "OwningMembership.ownedElement": [ @@ -60750,11 +60750,11 @@ 0, 0, 0, - 9603, + 9610, 0 ], "OwningMembership.ownedMemberElement": [ - 8955, + 8962, 431, 0, 3, @@ -60764,7 +60764,7 @@ "OwningMembership.ownedMemberElementId": [ 0, 0, - 9600, + 9607, 0, 0, 0 @@ -60772,7 +60772,7 @@ "OwningMembership.ownedMemberName": [ 0, 0, - 5650, + 5654, 0, 0, 0 @@ -60786,7 +60786,7 @@ 0 ], "OwningMembership.ownedRelatedElement": [ - 8955, + 8962, 431, 0, 3, @@ -60798,19 +60798,19 @@ 0, 0, 0, - 9603, + 9610, 0 ], "OwningMembership.owner": [ 0, 0, 0, - 9603, + 9610, 0, 0 ], "OwningMembership.owningRelatedElement": [ - 9603, + 9610, 0, 0, 0, @@ -60822,13 +60822,13 @@ 0, 0, 0, - 9603, + 9610, 0 ], "OwningMembership.relatedElement": [ 0, 0, - 9603, + 9610, 0, 0, 0 @@ -60836,7 +60836,7 @@ "OwningMembership.source": [ 0, 0, - 9603, + 9610, 0, 0, 0 @@ -60844,7 +60844,7 @@ "OwningMembership.target": [ 0, 0, - 9600, + 9607, 0, 3, 0 @@ -60854,13 +60854,13 @@ 0, 0, 0, - 9603, + 9610, 0 ], "OwningMembership.visibility": [ 25, 0, - 9578, + 9585, 0, 0, 0 @@ -60870,11 +60870,11 @@ 0, 0, 0, - 1227, + 1228, 0 ], "Package.declaredName": [ - 1198, + 1199, 0, 0, 0, @@ -60886,7 +60886,7 @@ 0, 0, 0, - 1227, + 1228, 0 ], "Package.documentation": [ @@ -60894,7 +60894,7 @@ 0, 41, 0, - 1186, + 1187, 0 ], "Package.filterCondition": [ @@ -60902,19 +60902,19 @@ 0, 44, 0, - 1183, + 1184, 0 ], "Package.importedMembership": [ 0, 0, - 481, + 482, 0, 746, 0 ], "Package.isImpliedIncluded": [ - 1227, + 1228, 0, 0, 0, @@ -60924,7 +60924,7 @@ "Package.isLibraryElement": [ 0, 0, - 1227, + 1228, 0, 0, 0 @@ -60932,7 +60932,7 @@ "Package.member": [ 0, 0, - 1191, + 1192, 0, 36, 0 @@ -60940,7 +60940,7 @@ "Package.membership": [ 0, 0, - 1191, + 1192, 0, 36, 0 @@ -60948,7 +60948,7 @@ "Package.name": [ 0, 0, - 1198, + 1199, 0, 0, 0 @@ -60958,19 +60958,19 @@ 0, 0, 0, - 1227, + 1228, 0 ], "Package.ownedElement": [ 0, 0, - 1175, + 1176, 0, 52, 0 ], "Package.ownedImport": [ - 487, + 488, 0, 0, 0, @@ -60978,7 +60978,7 @@ 0 ], "Package.ownedMember": [ - 997, + 998, 62, 50, 0, @@ -60986,7 +60986,7 @@ 66 ], "Package.ownedMembership": [ - 1101, + 1102, 65, 11, 0, @@ -60994,7 +60994,7 @@ 0 ], "Package.ownedRelationship": [ - 1117, + 1118, 76, 0, 0, @@ -61002,7 +61002,7 @@ 0 ], "Package.owner": [ - 1227, + 1228, 0, 0, 0, @@ -61010,7 +61010,7 @@ 0 ], "Package.owningMembership": [ - 1165, + 1166, 33, 0, 0, @@ -61018,7 +61018,7 @@ 0 ], "Package.owningNamespace": [ - 1198, + 1199, 0, 0, 0, @@ -61026,7 +61026,7 @@ 0 ], "Package.owningRelationship": [ - 1194, + 1195, 33, 0, 0, @@ -61034,7 +61034,7 @@ 0 ], "Package.qualifiedName": [ - 1197, + 1198, 1, 0, 0, @@ -61046,7 +61046,7 @@ 0, 0, 0, - 1227, + 1228, 0 ], "ParameterMembership.aliasIds": [ @@ -61286,11 +61286,11 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.declaredName": [ - 921, + 923, 0, 0, 0, @@ -61302,7 +61302,7 @@ 0, 0, 0, - 918, + 920, 0 ], "PartDefinition.differencingType": [ @@ -61310,7 +61310,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.directedFeature": [ @@ -61318,7 +61318,7 @@ 0, 65, 0, - 856, + 858, 0 ], "PartDefinition.directedUsage": [ @@ -61326,7 +61326,7 @@ 0, 65, 0, - 856, + 858, 0 ], "PartDefinition.documentation": [ @@ -61334,7 +61334,7 @@ 0, 15, 0, - 906, + 908, 0 ], "PartDefinition.endFeature": [ @@ -61342,13 +61342,13 @@ 0, 1, 0, - 920, + 922, 0 ], "PartDefinition.feature": [ 0, 0, - 921, + 923, 0, 0, 0 @@ -61356,7 +61356,7 @@ "PartDefinition.featureMembership": [ 0, 0, - 921, + 923, 0, 0, 0 @@ -61366,13 +61366,13 @@ 0, 2, 0, - 919, + 921, 0 ], "PartDefinition.inheritedFeature": [ 0, 0, - 921, + 923, 0, 0, 0 @@ -61380,7 +61380,7 @@ "PartDefinition.inheritedMembership": [ 0, 0, - 921, + 923, 0, 0, 0 @@ -61390,7 +61390,7 @@ 0, 45, 0, - 876, + 878, 0 ], "PartDefinition.intersectingType": [ @@ -61398,11 +61398,11 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.isAbstract": [ - 921, + 923, 0, 0, 0, @@ -61412,13 +61412,13 @@ "PartDefinition.isConjugated": [ 0, 0, - 921, + 923, 0, 0, 0 ], "PartDefinition.isImpliedIncluded": [ - 921, + 923, 0, 0, 0, @@ -61426,7 +61426,7 @@ 0 ], "PartDefinition.isIndividual": [ - 921, + 923, 0, 0, 0, @@ -61436,13 +61436,13 @@ "PartDefinition.isLibraryElement": [ 0, 0, - 921, + 923, 0, 0, 0 ], "PartDefinition.isSufficient": [ - 921, + 923, 0, 0, 0, @@ -61450,7 +61450,7 @@ 0 ], "PartDefinition.isVariation": [ - 921, + 923, 0, 0, 0, @@ -61460,7 +61460,7 @@ "PartDefinition.member": [ 0, 0, - 921, + 923, 0, 0, 0 @@ -61468,7 +61468,7 @@ "PartDefinition.membership": [ 0, 0, - 921, + 923, 0, 0, 0 @@ -61484,7 +61484,7 @@ "PartDefinition.name": [ 0, 0, - 921, + 923, 0, 0, 0 @@ -61494,7 +61494,7 @@ 0, 48, 0, - 873, + 875, 0 ], "PartDefinition.ownedAction": [ @@ -61502,7 +61502,7 @@ 0, 63, 0, - 858, + 860, 0 ], "PartDefinition.ownedAllocation": [ @@ -61510,7 +61510,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedAnalysisCase": [ @@ -61518,7 +61518,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedAnnotation": [ @@ -61526,7 +61526,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedAttribute": [ @@ -61534,7 +61534,7 @@ 0, 337, 0, - 584, + 586, 0 ], "PartDefinition.ownedCalculation": [ @@ -61542,7 +61542,7 @@ 0, 2, 0, - 919, + 921, 0 ], "PartDefinition.ownedCase": [ @@ -61550,7 +61550,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedConcern": [ @@ -61558,7 +61558,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedConnection": [ @@ -61566,7 +61566,7 @@ 0, 32, 0, - 889, + 891, 0 ], "PartDefinition.ownedConstraint": [ @@ -61574,7 +61574,7 @@ 0, 26, 0, - 895, + 897, 0 ], "PartDefinition.ownedDifferencing": [ @@ -61582,7 +61582,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedDisjoining": [ @@ -61590,13 +61590,13 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedElement": [ 0, 0, - 587, + 589, 0, 334, 0 @@ -61606,7 +61606,7 @@ 0, 1, 0, - 920, + 922, 0 ], "PartDefinition.ownedEnumeration": [ @@ -61614,11 +61614,11 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedFeature": [ - 513, + 515, 1, 0, 0, @@ -61626,7 +61626,7 @@ 23 ], "PartDefinition.ownedFeatureMembership": [ - 537, + 539, 0, 0, 0, @@ -61638,7 +61638,7 @@ 0, 13, 0, - 908, + 910, 0 ], "PartDefinition.ownedImport": [ @@ -61646,7 +61646,7 @@ 0, 0, 0, - 919, + 921, 0 ], "PartDefinition.ownedInterface": [ @@ -61654,7 +61654,7 @@ 0, 5, 0, - 916, + 918, 0 ], "PartDefinition.ownedIntersecting": [ @@ -61662,19 +61662,19 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedItem": [ 0, 0, - 215, + 217, 0, 706, 0 ], "PartDefinition.ownedMember": [ - 543, + 545, 14, 8, 0, @@ -61682,7 +61682,7 @@ 22 ], "PartDefinition.ownedMembership": [ - 566, + 568, 13, 8, 0, @@ -61694,13 +61694,13 @@ 0, 79, 0, - 842, + 844, 0 ], "PartDefinition.ownedOccurrence": [ 0, 0, - 331, + 333, 0, 590, 0 @@ -61708,7 +61708,7 @@ "PartDefinition.ownedPart": [ 0, 0, - 159, + 161, 0, 762, 0 @@ -61718,19 +61718,19 @@ 0, 115, 0, - 806, + 808, 0 ], "PartDefinition.ownedReference": [ 0, 0, - 36, + 37, 0, - 885, + 886, 0 ], "PartDefinition.ownedRelationship": [ - 621, + 623, 20, 1, 0, @@ -61742,7 +61742,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedRequirement": [ @@ -61750,15 +61750,15 @@ 0, 1, 0, - 920, + 922, 0 ], "PartDefinition.ownedSpecialization": [ - 269, + 270, 0, 0, 0, - 652, + 653, 0 ], "PartDefinition.ownedState": [ @@ -61766,15 +61766,15 @@ 0, 29, 0, - 892, + 894, 0 ], "PartDefinition.ownedSubclassification": [ - 269, + 270, 0, 0, 0, - 652, + 653, 0 ], "PartDefinition.ownedTransition": [ @@ -61782,7 +61782,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedUnioning": [ @@ -61790,13 +61790,13 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedUsage": [ 0, 0, - 537, + 539, 0, 384, 0 @@ -61806,7 +61806,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedVerificationCase": [ @@ -61814,7 +61814,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedView": [ @@ -61822,7 +61822,7 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.ownedViewpoint": [ @@ -61830,11 +61830,11 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.owner": [ - 921, + 923, 0, 0, 0, @@ -61842,7 +61842,7 @@ 0 ], "PartDefinition.owningMembership": [ - 906, + 908, 15, 0, 0, @@ -61850,7 +61850,7 @@ 0 ], "PartDefinition.owningNamespace": [ - 921, + 923, 0, 0, 0, @@ -61858,7 +61858,7 @@ 0 ], "PartDefinition.owningRelationship": [ - 906, + 908, 15, 0, 0, @@ -61866,7 +61866,7 @@ 0 ], "PartDefinition.qualifiedName": [ - 920, + 922, 0, 0, 0, @@ -61885,16 +61885,16 @@ 0, 0, 0, - 269, + 270, 0, 0 ], "PartDefinition.textualRepresentation": [ 0, 0, - 1, + 2, 0, - 920, + 921, 0 ], "PartDefinition.unioningType": [ @@ -61902,13 +61902,13 @@ 0, 0, 0, - 921, + 923, 0 ], "PartDefinition.usage": [ 0, 0, - 921, + 923, 0, 0, 0 @@ -61918,7 +61918,7 @@ 0, 0, 0, - 915, + 917, 0 ], "PartDefinition.variantMembership": [ @@ -61926,7 +61926,7 @@ 0, 0, 0, - 915, + 917, 0 ], "PartUsage.aliasIds": [ @@ -61934,7 +61934,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.chainingFeature": [ @@ -61942,7 +61942,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.crossFeature": [ @@ -61962,7 +61962,7 @@ 0 ], "PartUsage.declaredName": [ - 1791, + 1796, 0, 0, 0, @@ -61974,13 +61974,13 @@ 0, 0, 0, - 1969, + 1974, 0 ], "PartUsage.definition": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -61990,7 +61990,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.directedFeature": [ @@ -61998,7 +61998,7 @@ 0, 138, 0, - 1833, + 1838, 0 ], "PartUsage.directedUsage": [ @@ -62006,7 +62006,7 @@ 0, 138, 0, - 1833, + 1838, 0 ], "PartUsage.direction": [ @@ -62014,7 +62014,7 @@ 0, 0, 0, - 1869, + 1874, 0 ], "PartUsage.documentation": [ @@ -62022,7 +62022,7 @@ 0, 10, 0, - 1961, + 1966, 0 ], "PartUsage.endFeature": [ @@ -62030,7 +62030,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.endOwningType": [ @@ -62044,7 +62044,7 @@ "PartUsage.feature": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62052,7 +62052,7 @@ "PartUsage.featureMembership": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62060,7 +62060,7 @@ "PartUsage.featureTarget": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62068,9 +62068,9 @@ "PartUsage.featuringType": [ 0, 0, - 1520, + 1524, 0, - 451, + 452, 0 ], "PartUsage.importedMembership": [ @@ -62078,7 +62078,7 @@ 0, 3, 0, - 1968, + 1973, 0 ], "PartUsage.individualDefinition": [ @@ -62092,7 +62092,7 @@ "PartUsage.inheritedFeature": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62100,7 +62100,7 @@ "PartUsage.inheritedMembership": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62110,7 +62110,7 @@ 0, 56, 0, - 1915, + 1920, 0 ], "PartUsage.intersectingType": [ @@ -62118,11 +62118,11 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.isAbstract": [ - 1971, + 1976, 0, 0, 0, @@ -62130,7 +62130,7 @@ 0 ], "PartUsage.isComposite": [ - 1971, + 1976, 0, 0, 0, @@ -62140,13 +62140,13 @@ "PartUsage.isConjugated": [ 0, 0, - 1971, + 1976, 0, 0, 0 ], "PartUsage.isConstant": [ - 1950, + 1955, 21, 0, 0, @@ -62162,7 +62162,7 @@ 0 ], "PartUsage.isDerived": [ - 1971, + 1976, 0, 0, 0, @@ -62170,7 +62170,7 @@ 0 ], "PartUsage.isEnd": [ - 1971, + 1976, 0, 0, 0, @@ -62178,7 +62178,7 @@ 0 ], "PartUsage.isImpliedIncluded": [ - 1971, + 1976, 0, 0, 0, @@ -62186,7 +62186,7 @@ 0 ], "PartUsage.isIndividual": [ - 1971, + 1976, 0, 0, 0, @@ -62196,13 +62196,13 @@ "PartUsage.isLibraryElement": [ 0, 0, - 1971, + 1976, 0, 0, 0 ], "PartUsage.isOrdered": [ - 1971, + 1976, 0, 0, 0, @@ -62210,7 +62210,7 @@ 0 ], "PartUsage.isPortion": [ - 1971, + 1976, 0, 0, 0, @@ -62220,7 +62220,7 @@ "PartUsage.isReference": [ 45, 0, - 1926, + 1931, 0, 0, 0 @@ -62234,7 +62234,7 @@ 0 ], "PartUsage.isSufficient": [ - 1971, + 1976, 0, 0, 0, @@ -62242,7 +62242,7 @@ 0 ], "PartUsage.isUnique": [ - 1971, + 1976, 0, 0, 0, @@ -62252,9 +62252,9 @@ "PartUsage.isVariable": [ 0, 0, - 1488, + 1492, 0, - 483, + 484, 0 ], "PartUsage.isVariant": [ @@ -62266,7 +62266,7 @@ 0 ], "PartUsage.isVariation": [ - 1971, + 1976, 0, 0, 0, @@ -62276,7 +62276,7 @@ "PartUsage.itemDefinition": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62292,7 +62292,7 @@ "PartUsage.mayTimeVary": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62300,7 +62300,7 @@ "PartUsage.member": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62308,7 +62308,7 @@ "PartUsage.membership": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62316,7 +62316,7 @@ "PartUsage.multiplicity": [ 272, 0, - 1034, + 1038, 0, 0, 0 @@ -62324,7 +62324,7 @@ "PartUsage.name": [ 180, 0, - 1791, + 1796, 0, 0, 0 @@ -62334,7 +62334,7 @@ 0, 208, 0, - 1763, + 1768, 0 ], "PartUsage.nestedAllocation": [ @@ -62342,7 +62342,7 @@ 0, 2, 0, - 1969, + 1974, 0 ], "PartUsage.nestedAnalysisCase": [ @@ -62350,7 +62350,7 @@ 0, 9, 0, - 1962, + 1967, 0 ], "PartUsage.nestedAttribute": [ @@ -62358,7 +62358,7 @@ 0, 405, 0, - 1566, + 1571, 0 ], "PartUsage.nestedCalculation": [ @@ -62366,7 +62366,7 @@ 0, 69, 0, - 1902, + 1907, 0 ], "PartUsage.nestedCase": [ @@ -62374,7 +62374,7 @@ 0, 12, 0, - 1959, + 1964, 0 ], "PartUsage.nestedConcern": [ @@ -62382,7 +62382,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.nestedConnection": [ @@ -62390,7 +62390,7 @@ 0, 97, 0, - 1874, + 1879, 0 ], "PartUsage.nestedConstraint": [ @@ -62398,7 +62398,7 @@ 0, 63, 0, - 1908, + 1913, 0 ], "PartUsage.nestedEnumeration": [ @@ -62406,7 +62406,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.nestedFlow": [ @@ -62414,7 +62414,7 @@ 0, 23, 0, - 1948, + 1953, 0 ], "PartUsage.nestedInterface": [ @@ -62422,15 +62422,15 @@ 0, 18, 0, - 1953, + 1958, 0 ], "PartUsage.nestedItem": [ 0, 0, - 399, + 400, 0, - 1572, + 1576, 0 ], "PartUsage.nestedMetadata": [ @@ -62438,23 +62438,23 @@ 0, 151, 0, - 1820, + 1825, 0 ], "PartUsage.nestedOccurrence": [ 0, 0, - 714, + 715, 0, - 1257, + 1261, 0 ], "PartUsage.nestedPart": [ 0, 0, - 373, + 374, 0, - 1598, + 1602, 0 ], "PartUsage.nestedPort": [ @@ -62462,15 +62462,15 @@ 0, 114, 0, - 1857, + 1862, 0 ], "PartUsage.nestedReference": [ 0, 0, - 119, + 121, 0, - 1852, + 1855, 0 ], "PartUsage.nestedRendering": [ @@ -62478,7 +62478,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.nestedRequirement": [ @@ -62486,7 +62486,7 @@ 0, 42, 0, - 1929, + 1934, 0 ], "PartUsage.nestedState": [ @@ -62494,7 +62494,7 @@ 0, 18, 0, - 1953, + 1958, 0 ], "PartUsage.nestedTransition": [ @@ -62502,15 +62502,15 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.nestedUsage": [ 0, 0, - 1006, + 1008, 0, - 965, + 968, 0 ], "PartUsage.nestedUseCase": [ @@ -62518,7 +62518,7 @@ 0, 2, 0, - 1969, + 1974, 0 ], "PartUsage.nestedVerificationCase": [ @@ -62526,7 +62526,7 @@ 0, 1, 0, - 1970, + 1975, 0 ], "PartUsage.nestedView": [ @@ -62534,7 +62534,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.nestedViewpoint": [ @@ -62542,13 +62542,13 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.occurrenceDefinition": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62558,7 +62558,7 @@ 0, 123, 0, - 1848, + 1853, 0 ], "PartUsage.ownedAnnotation": [ @@ -62566,7 +62566,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.ownedCrossSubsetting": [ @@ -62582,7 +62582,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.ownedDisjoining": [ @@ -62590,15 +62590,15 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.ownedElement": [ 0, 0, - 1778, + 1782, 0, - 193, + 194, 0 ], "PartUsage.ownedEndFeature": [ @@ -62606,15 +62606,15 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.ownedFeature": [ - 929, + 931, 31, 0, 0, - 965, + 968, 46 ], "PartUsage.ownedFeatureChaining": [ @@ -62622,7 +62622,7 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.ownedFeatureInverting": [ @@ -62630,15 +62630,15 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.ownedFeatureMembership": [ - 1006, + 1008, 0, 0, 0, - 965, + 968, 0 ], "PartUsage.ownedImport": [ @@ -62646,7 +62646,7 @@ 0, 0, 0, - 1968, + 1973, 0 ], "PartUsage.ownedIntersecting": [ @@ -62654,23 +62654,23 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.ownedMember": [ 368, - 701, - 680, + 703, + 682, 0, - 193, + 194, 29 ], "PartUsage.ownedMembership": [ 722, - 633, - 423, + 635, + 425, 0, - 193, + 194, 0 ], "PartUsage.ownedRedefinition": [ @@ -62678,7 +62678,7 @@ 0, 0, 0, - 1761, + 1766, 0 ], "PartUsage.ownedReferenceSubsetting": [ @@ -62690,19 +62690,19 @@ 0 ], "PartUsage.ownedRelationship": [ - 875, - 1003, - 53, + 876, + 1005, + 55, 0, 40, 0 ], "PartUsage.ownedSpecialization": [ - 1562, + 1565, 2, 0, 0, - 407, + 409, 0 ], "PartUsage.ownedSubsetting": [ @@ -62710,7 +62710,7 @@ 0, 2, 0, - 1586, + 1591, 0 ], "PartUsage.ownedTypeFeaturing": [ @@ -62718,15 +62718,15 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.ownedTyping": [ - 1247, + 1250, 0, 0, 0, - 724, + 726, 0 ], "PartUsage.ownedUnioning": [ @@ -62734,11 +62734,11 @@ 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.owner": [ - 1971, + 1976, 0, 0, 0, @@ -62748,7 +62748,7 @@ "PartUsage.owningDefinition": [ 0, 0, - 607, + 610, 0, 0, 0 @@ -62756,13 +62756,13 @@ "PartUsage.owningFeatureMembership": [ 0, 0, - 1500, + 1504, 0, 0, 0 ], "PartUsage.owningMembership": [ - 1957, + 1962, 14, 0, 0, @@ -62770,7 +62770,7 @@ 0 ], "PartUsage.owningNamespace": [ - 1971, + 1976, 0, 0, 0, @@ -62778,7 +62778,7 @@ 0 ], "PartUsage.owningRelationship": [ - 1957, + 1962, 14, 0, 0, @@ -62788,7 +62788,7 @@ "PartUsage.owningType": [ 0, 0, - 1500, + 1504, 0, 0, 0 @@ -62796,7 +62796,7 @@ "PartUsage.owningUsage": [ 0, 0, - 893, + 894, 0, 0, 0 @@ -62804,7 +62804,7 @@ "PartUsage.partDefinition": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62814,11 +62814,11 @@ 0, 0, 0, - 1963, + 1968, 0 ], "PartUsage.qualifiedName": [ - 1968, + 1973, 0, 0, 0, @@ -62852,25 +62852,25 @@ "PartUsage.textualRepresentation": [ 0, 0, - 2, + 4, 0, - 1969, + 1972, 0 ], "PartUsage.type": [ - 1013, + 1014, 16, - 771, + 773, 0, 0, - 171 + 173 ], "PartUsage.unioningType": [ 0, 0, 0, 0, - 1971, + 1976, 0 ], "PartUsage.upperBound": [ @@ -62884,7 +62884,7 @@ "PartUsage.usage": [ 0, 0, - 1971, + 1976, 0, 0, 0 @@ -62902,7 +62902,7 @@ 0, 0, 0, - 1955, + 1960, 0 ], "PartUsage.variantMembership": [ @@ -62910,7 +62910,7 @@ 0, 0, 0, - 1955, + 1960, 0 ], "PayloadFeature.aliasIds": [ @@ -66558,7 +66558,7 @@ 0, 0, 0, - 2683, + 2686, 0 ], "Redefinition.declaredName": [ @@ -66566,7 +66566,7 @@ 0, 0, 0, - 2681, + 2684, 0 ], "Redefinition.declaredShortName": [ @@ -66574,7 +66574,7 @@ 0, 0, 0, - 2683, + 2686, 0 ], "Redefinition.documentation": [ @@ -66582,7 +66582,7 @@ 0, 0, 0, - 2683, + 2686, 0 ], "Redefinition.general": [ @@ -66591,10 +66591,10 @@ 53, 0, 0, - 942 + 945 ], "Redefinition.isImplied": [ - 2683, + 2686, 0, 0, 0, @@ -66602,7 +66602,7 @@ 0 ], "Redefinition.isImpliedIncluded": [ - 2683, + 2686, 0, 0, 0, @@ -66612,7 +66612,7 @@ "Redefinition.isLibraryElement": [ 0, 0, - 2683, + 2686, 0, 0, 0 @@ -66630,7 +66630,7 @@ 0, 0, 0, - 2683, + 2686, 0 ], "Redefinition.ownedElement": [ @@ -66638,7 +66638,7 @@ 0, 0, 0, - 2683, + 2686, 0 ], "Redefinition.ownedRelatedElement": [ @@ -66646,7 +66646,7 @@ 0, 0, 0, - 2675, + 2678, 0 ], "Redefinition.ownedRelationship": [ @@ -66654,19 +66654,19 @@ 0, 0, 0, - 2683, + 2686, 0 ], "Redefinition.owner": [ 2, 0, 0, - 2681, + 2684, 0, 0 ], "Redefinition.owningFeature": [ - 2681, + 2684, 0, 0, 0, @@ -66690,7 +66690,7 @@ 0 ], "Redefinition.owningRelatedElement": [ - 2681, + 2684, 0, 0, 0, @@ -66702,13 +66702,13 @@ 0, 0, 0, - 2681, + 2684, 0 ], "Redefinition.owningType": [ 0, 0, - 2681, + 2684, 0, 0, 0 @@ -66727,10 +66727,10 @@ 52, 0, 0, - 942 + 945 ], "Redefinition.redefiningFeature": [ - 2682, + 2685, 0, 1, 0, @@ -66743,10 +66743,10 @@ 53, 0, 0, - 942 + 945 ], "Redefinition.source": [ - 2681, + 2684, 0, 2, 0, @@ -66754,7 +66754,7 @@ 0 ], "Redefinition.specific": [ - 2681, + 2684, 0, 2, 0, @@ -66767,10 +66767,10 @@ 53, 0, 0, - 942 + 945 ], "Redefinition.subsettingFeature": [ - 2681, + 2684, 0, 2, 0, @@ -66783,14 +66783,14 @@ 53, 0, 0, - 942 + 945 ], "Redefinition.textualRepresentation": [ 0, 0, 0, 0, - 2683, + 2686, 0 ], "ReferenceSubsetting.aliasIds": [ @@ -67006,7 +67006,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.chainingFeature": [ @@ -67014,7 +67014,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.crossFeature": [ @@ -67038,7 +67038,7 @@ 0, 0, 4, - 904, + 907, 0 ], "ReferenceUsage.declaredShortName": [ @@ -67046,13 +67046,13 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.definition": [ 0, 0, - 2349, + 2352, 0, 0, 0 @@ -67062,7 +67062,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.directedFeature": [ @@ -67070,7 +67070,7 @@ 0, 64, 0, - 2285, + 2288, 0 ], "ReferenceUsage.directedUsage": [ @@ -67078,7 +67078,7 @@ 0, 61, 0, - 2288, + 2291, 0 ], "ReferenceUsage.direction": [ @@ -67086,7 +67086,7 @@ 36, 149, 0, - 894, + 897, 0 ], "ReferenceUsage.documentation": [ @@ -67094,7 +67094,7 @@ 0, 4, 0, - 2345, + 2348, 0 ], "ReferenceUsage.endFeature": [ @@ -67102,7 +67102,7 @@ 0, 10, 0, - 2339, + 2342, 0 ], "ReferenceUsage.endOwningType": [ @@ -67116,7 +67116,7 @@ "ReferenceUsage.feature": [ 0, 0, - 2349, + 2352, 0, 0, 0 @@ -67124,7 +67124,7 @@ "ReferenceUsage.featureMembership": [ 0, 0, - 2349, + 2352, 0, 0, 0 @@ -67132,7 +67132,7 @@ "ReferenceUsage.featureTarget": [ 0, 0, - 2349, + 2352, 0, 0, 0 @@ -67140,7 +67140,7 @@ "ReferenceUsage.featuringType": [ 0, 0, - 2329, + 2332, 0, 20, 0 @@ -67150,13 +67150,13 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.inheritedFeature": [ 0, 0, - 2349, + 2352, 0, 0, 0 @@ -67164,7 +67164,7 @@ "ReferenceUsage.inheritedMembership": [ 0, 0, - 2349, + 2352, 0, 0, 0 @@ -67174,7 +67174,7 @@ 0, 58, 0, - 2291, + 2294, 0 ], "ReferenceUsage.intersectingType": [ @@ -67182,11 +67182,11 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.isAbstract": [ - 2349, + 2352, 0, 0, 0, @@ -67202,7 +67202,7 @@ 0 ], "ReferenceUsage.isComposite": [ - 2349, + 2352, 0, 0, 0, @@ -67212,13 +67212,13 @@ "ReferenceUsage.isConjugated": [ 0, 0, - 2349, + 2352, 0, 0, 0 ], "ReferenceUsage.isConstant": [ - 2258, + 2261, 91, 0, 0, @@ -67234,7 +67234,7 @@ 0 ], "ReferenceUsage.isDerived": [ - 2349, + 2352, 0, 0, 0, @@ -67242,7 +67242,7 @@ 0 ], "ReferenceUsage.isEnd": [ - 2349, + 2352, 0, 0, 0, @@ -67250,7 +67250,7 @@ 0 ], "ReferenceUsage.isImpliedIncluded": [ - 2349, + 2352, 0, 0, 0, @@ -67260,13 +67260,13 @@ "ReferenceUsage.isLibraryElement": [ 0, 0, - 2349, + 2352, 0, 0, 0 ], "ReferenceUsage.isOrdered": [ - 2349, + 2352, 0, 0, 0, @@ -67274,7 +67274,7 @@ 0 ], "ReferenceUsage.isPortion": [ - 2349, + 2352, 0, 0, 0, @@ -67284,7 +67284,7 @@ "ReferenceUsage.isReference": [ 231, 0, - 2118, + 2121, 0, 0, 0 @@ -67298,7 +67298,7 @@ 0 ], "ReferenceUsage.isSufficient": [ - 2349, + 2352, 0, 0, 0, @@ -67306,7 +67306,7 @@ 0 ], "ReferenceUsage.isUnique": [ - 2349, + 2352, 0, 0, 0, @@ -67316,7 +67316,7 @@ "ReferenceUsage.isVariable": [ 0, 0, - 2112, + 2115, 0, 237, 0 @@ -67330,7 +67330,7 @@ 0 ], "ReferenceUsage.isVariation": [ - 2349, + 2352, 0, 0, 0, @@ -67348,7 +67348,7 @@ "ReferenceUsage.mayTimeVary": [ 0, 0, - 2349, + 2352, 0, 0, 0 @@ -67356,7 +67356,7 @@ "ReferenceUsage.member": [ 0, 0, - 2349, + 2352, 0, 0, 0 @@ -67364,7 +67364,7 @@ "ReferenceUsage.membership": [ 0, 0, - 2349, + 2352, 0, 0, 0 @@ -67378,7 +67378,7 @@ 0 ], "ReferenceUsage.name": [ - 519, + 522, 0, 1787, 2, @@ -67390,7 +67390,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedAllocation": [ @@ -67398,7 +67398,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedAnalysisCase": [ @@ -67406,7 +67406,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedAttribute": [ @@ -67414,7 +67414,7 @@ 0, 3, 0, - 2346, + 2349, 0 ], "ReferenceUsage.nestedCalculation": [ @@ -67422,7 +67422,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedCase": [ @@ -67430,7 +67430,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedConcern": [ @@ -67438,7 +67438,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedConnection": [ @@ -67446,7 +67446,7 @@ 0, 1, 0, - 2348, + 2351, 0 ], "ReferenceUsage.nestedConstraint": [ @@ -67454,7 +67454,7 @@ 0, 4, 0, - 2345, + 2348, 0 ], "ReferenceUsage.nestedEnumeration": [ @@ -67462,7 +67462,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedFlow": [ @@ -67470,7 +67470,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedInterface": [ @@ -67478,7 +67478,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedItem": [ @@ -67486,7 +67486,7 @@ 0, 3, 0, - 2346, + 2349, 0 ], "ReferenceUsage.nestedMetadata": [ @@ -67494,7 +67494,7 @@ 0, 95, 0, - 2254, + 2257, 0 ], "ReferenceUsage.nestedOccurrence": [ @@ -67502,7 +67502,7 @@ 0, 10, 0, - 2339, + 2342, 0 ], "ReferenceUsage.nestedPart": [ @@ -67510,7 +67510,7 @@ 0, 3, 0, - 2346, + 2349, 0 ], "ReferenceUsage.nestedPort": [ @@ -67518,7 +67518,7 @@ 0, 4, 0, - 2345, + 2348, 0 ], "ReferenceUsage.nestedReference": [ @@ -67526,7 +67526,7 @@ 0, 26, 0, - 2323, + 2326, 0 ], "ReferenceUsage.nestedRendering": [ @@ -67534,7 +67534,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedRequirement": [ @@ -67542,7 +67542,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedState": [ @@ -67550,7 +67550,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedTransition": [ @@ -67558,7 +67558,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedUsage": [ @@ -67566,7 +67566,7 @@ 0, 39, 0, - 2310, + 2313, 0 ], "ReferenceUsage.nestedUseCase": [ @@ -67574,7 +67574,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedVerificationCase": [ @@ -67582,7 +67582,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedView": [ @@ -67590,7 +67590,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.nestedViewpoint": [ @@ -67598,7 +67598,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.output": [ @@ -67606,7 +67606,7 @@ 0, 58, 0, - 2291, + 2294, 0 ], "ReferenceUsage.ownedAnnotation": [ @@ -67614,7 +67614,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.ownedCrossSubsetting": [ @@ -67630,7 +67630,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.ownedDisjoining": [ @@ -67638,13 +67638,13 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.ownedElement": [ 0, 0, - 1240, + 1243, 0, 1109, 0 @@ -67654,7 +67654,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.ownedFeature": [ @@ -67662,7 +67662,7 @@ 1, 0, 0, - 2310, + 2313, 0 ], "ReferenceUsage.ownedFeatureChaining": [ @@ -67670,7 +67670,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.ownedFeatureInverting": [ @@ -67678,7 +67678,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.ownedFeatureMembership": [ @@ -67686,7 +67686,7 @@ 0, 0, 0, - 2310, + 2313, 0 ], "ReferenceUsage.ownedImport": [ @@ -67694,7 +67694,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.ownedIntersecting": [ @@ -67702,19 +67702,19 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.ownedMember": [ 51, 16, - 1171, + 1174, 0, 1111, 0 ], "ReferenceUsage.ownedMembership": [ - 1146, + 1149, 8, 84, 0, @@ -67722,7 +67722,7 @@ 0 ], "ReferenceUsage.ownedRedefinition": [ - 839, + 842, 0, 4, 0, @@ -67738,7 +67738,7 @@ 0 ], "ReferenceUsage.ownedRelationship": [ - 2145, + 2148, 96, 3, 0, @@ -67746,7 +67746,7 @@ 0 ], "ReferenceUsage.ownedSpecialization": [ - 1853, + 1856, 18, 4, 0, @@ -67754,7 +67754,7 @@ 0 ], "ReferenceUsage.ownedSubsetting": [ - 955, + 958, 16, 6, 0, @@ -67766,7 +67766,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.ownedTyping": [ @@ -67774,7 +67774,7 @@ 0, 0, 0, - 1382, + 1385, 0 ], "ReferenceUsage.ownedUnioning": [ @@ -67782,11 +67782,11 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.owner": [ - 2349, + 2352, 0, 0, 0, @@ -67796,7 +67796,7 @@ "ReferenceUsage.owningDefinition": [ 0, 0, - 846, + 847, 0, 0, 0 @@ -67804,13 +67804,13 @@ "ReferenceUsage.owningFeatureMembership": [ 0, 0, - 2280, + 2283, 0, 0, 0 ], "ReferenceUsage.owningMembership": [ - 2327, + 2330, 22, 0, 0, @@ -67818,7 +67818,7 @@ 0 ], "ReferenceUsage.owningNamespace": [ - 2162, + 2165, 0, 187, 0, @@ -67826,7 +67826,7 @@ 0 ], "ReferenceUsage.owningRelationship": [ - 2327, + 2330, 22, 0, 0, @@ -67836,7 +67836,7 @@ "ReferenceUsage.owningType": [ 0, 0, - 2280, + 2283, 0, 0, 0 @@ -67844,13 +67844,13 @@ "ReferenceUsage.owningUsage": [ 0, 0, - 1322, + 1324, 0, 0, 0 ], "ReferenceUsage.qualifiedName": [ - 2013, + 2016, 0, 0, 0, @@ -67861,7 +67861,7 @@ 0, 0, 0, - 839, + 842, 0, 0 ], @@ -67886,13 +67886,13 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.type": [ 418, 2, - 1419, + 1422, 0, 0, 510 @@ -67902,7 +67902,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.upperBound": [ @@ -67918,14 +67918,14 @@ 0, 1408, 0, - 941, + 944, 0 ], "ReferenceUsage.value": [ 0, 0, 0, - 987, + 990, 0, 0 ], @@ -67934,7 +67934,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.variantMembership": [ @@ -67942,7 +67942,7 @@ 0, 0, 0, - 2349, + 2352, 0 ], "ReferenceUsage.visibility": [ @@ -78030,7 +78030,7 @@ 0, 0, 0, - 613, + 614, 0 ], "Subclassification.declaredName": [ @@ -78038,7 +78038,7 @@ 0, 0, 0, - 611, + 612, 0 ], "Subclassification.declaredShortName": [ @@ -78046,7 +78046,7 @@ 0, 0, 0, - 613, + 614, 0 ], "Subclassification.documentation": [ @@ -78054,7 +78054,7 @@ 0, 0, 0, - 613, + 614, 0 ], "Subclassification.general": [ @@ -78063,10 +78063,10 @@ 14, 0, 0, - 250 + 251 ], "Subclassification.isImplied": [ - 613, + 614, 0, 0, 0, @@ -78074,7 +78074,7 @@ 0 ], "Subclassification.isImpliedIncluded": [ - 613, + 614, 0, 0, 0, @@ -78084,7 +78084,7 @@ "Subclassification.isLibraryElement": [ 0, 0, - 613, + 614, 0, 0, 0 @@ -78102,7 +78102,7 @@ 0, 0, 0, - 613, + 614, 0 ], "Subclassification.ownedElement": [ @@ -78110,7 +78110,7 @@ 0, 0, 0, - 613, + 614, 0 ], "Subclassification.ownedRelatedElement": [ @@ -78118,7 +78118,7 @@ 0, 0, 0, - 613, + 614, 0 ], "Subclassification.ownedRelationship": [ @@ -78126,19 +78126,19 @@ 0, 0, 0, - 613, + 614, 0 ], "Subclassification.owner": [ 2, 0, 0, - 611, + 612, 0, 0 ], "Subclassification.owningClassifier": [ - 611, + 612, 0, 0, 0, @@ -78162,7 +78162,7 @@ 0 ], "Subclassification.owningRelatedElement": [ - 611, + 612, 0, 0, 0, @@ -78174,13 +78174,13 @@ 0, 0, 0, - 611, + 612, 0 ], "Subclassification.owningType": [ 0, 0, - 611, + 612, 0, 0, 0 @@ -78199,10 +78199,10 @@ 15, 0, 0, - 250 + 251 ], "Subclassification.source": [ - 611, + 612, 0, 2, 0, @@ -78210,7 +78210,7 @@ 0 ], "Subclassification.specific": [ - 612, + 613, 0, 1, 0, @@ -78218,7 +78218,7 @@ 0 ], "Subclassification.subclassifier": [ - 611, + 612, 0, 2, 0, @@ -78231,7 +78231,7 @@ 15, 0, 0, - 250 + 251 ], "Subclassification.target": [ 348, @@ -78239,14 +78239,14 @@ 15, 0, 0, - 250 + 251 ], "Subclassification.textualRepresentation": [ 0, 0, 0, 0, - 613, + 614, 0 ], "SubjectMembership.aliasIds": [ @@ -82918,13 +82918,13 @@ 0, 0, 0, - 8, + 11, 0 ], "TextualRepresentation.annotatedElement": [ 0, 0, - 8, + 11, 0, 0, 0 @@ -82934,11 +82934,11 @@ 0, 0, 0, - 8, + 11, 0 ], "TextualRepresentation.body": [ - 8, + 11, 0, 0, 0, @@ -82950,7 +82950,7 @@ 0, 0, 0, - 6, + 9, 0 ], "TextualRepresentation.declaredShortName": [ @@ -82958,7 +82958,7 @@ 0, 0, 0, - 8, + 11, 0 ], "TextualRepresentation.documentation": [ @@ -82966,11 +82966,11 @@ 0, 0, 0, - 8, + 11, 0 ], "TextualRepresentation.isImpliedIncluded": [ - 8, + 11, 0, 0, 0, @@ -82980,13 +82980,13 @@ "TextualRepresentation.isLibraryElement": [ 0, 0, - 8, + 11, 0, 0, 0 ], "TextualRepresentation.language": [ - 8, + 11, 0, 0, 0, @@ -83006,7 +83006,7 @@ 0, 0, 0, - 8, + 11, 0 ], "TextualRepresentation.ownedAnnotation": [ @@ -83014,7 +83014,7 @@ 0, 0, 0, - 8, + 11, 0 ], "TextualRepresentation.ownedElement": [ @@ -83022,7 +83022,7 @@ 0, 0, 0, - 8, + 11, 0 ], "TextualRepresentation.ownedRelationship": [ @@ -83030,11 +83030,11 @@ 0, 0, 0, - 8, + 11, 0 ], "TextualRepresentation.owner": [ - 8, + 11, 0, 0, 0, @@ -83042,7 +83042,7 @@ 0 ], "TextualRepresentation.owningMembership": [ - 8, + 11, 0, 0, 0, @@ -83050,7 +83050,7 @@ 0 ], "TextualRepresentation.owningNamespace": [ - 8, + 11, 0, 0, 0, @@ -83058,7 +83058,7 @@ 0 ], "TextualRepresentation.owningRelationship": [ - 8, + 11, 0, 0, 0, @@ -83076,7 +83076,7 @@ "TextualRepresentation.representedElement": [ 0, 0, - 8, + 11, 0, 0, 0 @@ -83086,7 +83086,7 @@ 0, 0, 0, - 8, + 11, 0 ], "TransitionFeatureMembership.aliasIds": [ diff --git a/docs/project/api-json-differential.md b/docs/project/api-json-differential.md index 57f8b904d1..16cdf446a0 100644 --- a/docs/project/api-json-differential.md +++ b/docs/project/api-json-differential.md @@ -188,9 +188,9 @@ metaclass when the two sides disagree on the metaclass (`typeMismatch`). The pinned pilot's verdict on the probe (`validate-sysml-batch`): clean. -## Results (pilot `2026-08`, 924 files) +## Results (pilot `2026-08`, 926 files) -**Scorecard:** 925 files; 91728 elements matched (18392 ours-only, 37335 pilot-only, 0 of them implied); properties: 1112715 present-equal, 27099 present-different, 1065892 ours-missing, 67687 pilot-missing, 1957146 absent-both, 26021 indeterminate. +**Scorecard:** 926 files; 91771 elements matched (18392 ours-only, 37343 pilot-only, 0 of them implied); properties: 1113206 present-equal, 27105 present-different, 1066347 ours-missing, 67720 pilot-missing, 1958084 absent-both, 26051 indeterminate. The pilot's export failed on 56 files (`pilotFailed`: its own export throws on an element without a resource, 52 of them specification examples and 4 test fixtures; the files are named in the run's text report), ours refused 36 (all of them specification examples the parser could not read whole), left the pilot's 56 failed files out and converted 26 documents alone for declaring an element another document of their root declares (`oursColliding`); no root fell back to per-document conversion. 11718 (metaclass, property) rows carry a comparison; 110971 references compared through the unkeyed sentinel, 157882 of our `sysx:` annotations were left out, and 285/347 elements (ours/pilot) were dropped for ambiguous keys, 16850/31316 for having none. @@ -371,13 +371,13 @@ The (metaclass, property) rows ranked by the corpus elements on which the pilot | # | metaclass | property | ours-missing | present-different | in-flight overlap | derivation clause | |---:|---|---|---:|---:|---|---| -| 1 | `FeatureMembership` | `isLibraryElement` | 10845 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 2 | `FeatureMembership` | `memberElementId` | 10845 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | -| 3 | `FeatureMembership` | `ownedMemberElementId` | 10845 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | -| 4 | `FeatureMembership` | `relatedElement` | 10845 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | -| 5 | `FeatureMembership` | `source` | 10845 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | -| 6 | `FeatureMembership` | `target` | 10845 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | -| 7 | `FeatureMembership` | `visibility` | 10781 | 1 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | +| 1 | `FeatureMembership` | `isLibraryElement` | 10852 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 2 | `FeatureMembership` | `memberElementId` | 10852 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | +| 3 | `FeatureMembership` | `ownedMemberElementId` | 10852 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | +| 4 | `FeatureMembership` | `relatedElement` | 10852 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | +| 5 | `FeatureMembership` | `source` | 10852 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | +| 6 | `FeatureMembership` | `target` | 10852 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | +| 7 | `FeatureMembership` | `visibility` | 10788 | 1 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | | 8 | `Feature` | `featureTarget` | 10148 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::featureTarget`: the last `chainingFeature`, else the feature itself (KerML 8.3.3.3, deriveFeatureFeatureTarget; KERML11-1 crossFeature) | | 9 | `Feature` | `inheritedFeature` | 10148 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::inheritedFeature = inheritedMembership.memberElement->selectByKind(Feature)` (KerML 8.3.3.1, deriveTypeInheritedFeature) | | 10 | `Feature` | `inheritedMembership` | 10148 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::inheritedMembership = inheritedMemberships(excluded)` over the supertypes (KerML 8.3.3.1, deriveTypeInheritedMembership) | @@ -389,28 +389,28 @@ The (metaclass, property) rows ranked by the corpus elements on which the pilot | 16 | `Feature` | `featureMembership` | 10142 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::featureMembership = ownedFeatureMembership->union(inheritedMembership->selectByKind(FeatureMembership))` (KerML 8.3.3.1; KERML11-191 restricts the inherited part to the supertypes) | | 17 | `Feature` | `featuringType` | 9846 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::featuringType = typeFeaturing.featuringType`, plus the owning type of an owned feature (KerML 8.3.3.3, deriveFeatureFeaturingType; KERML11-3/4 multiplicity featuring) | | 18 | `Feature` | `type` | 9615 | 14 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::type = typing.type` with the types inherited through chaining and redefinition (KerML 8.3.3.3, deriveFeatureType) | -| 19 | `OwningMembership` | `isLibraryElement` | 9603 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 20 | `OwningMembership` | `relatedElement` | 9603 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | -| 21 | `OwningMembership` | `source` | 9603 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | -| 22 | `OwningMembership` | `memberElementId` | 9600 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | -| 23 | `OwningMembership` | `ownedMemberElementId` | 9600 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | -| 24 | `OwningMembership` | `target` | 9600 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | -| 25 | `OwningMembership` | `visibility` | 9578 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | +| 19 | `OwningMembership` | `isLibraryElement` | 9610 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 20 | `OwningMembership` | `relatedElement` | 9610 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | +| 21 | `OwningMembership` | `source` | 9610 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | +| 22 | `OwningMembership` | `memberElementId` | 9607 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | +| 23 | `OwningMembership` | `ownedMemberElementId` | 9607 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | +| 24 | `OwningMembership` | `target` | 9607 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | +| 25 | `OwningMembership` | `visibility` | 9585 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | | 26 | `Feature` | `name` | 9538 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Element::name = effectiveName()`: the declared name, or for a feature the name of the feature it redefines (KerML 8.3.2.1, deriveElementName) | | 27 | `Feature` | `owningFeatureMembership` | 9497 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningFeatureMembership = owningMembership->selectByKind(FeatureMembership)` (KerML 8.3.3.3) | | 28 | `Feature` | `owningType` | 9497 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | -| 29 | `FeatureMembership` | `memberName` | 9296 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberName = memberElement.name` (KerML 8.3.2.3.5, deriveMembershipMemberName) | -| 30 | `FeatureMembership` | `ownedMemberName` | 9296 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberName = ownedMemberElement.name` (KerML 8.3.2.3.6) | +| 29 | `FeatureMembership` | `memberName` | 9303 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberName = memberElement.name` (KerML 8.3.2.3.5, deriveMembershipMemberName) | +| 30 | `FeatureMembership` | `ownedMemberName` | 9303 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberName = ownedMemberElement.name` (KerML 8.3.2.3.6) | | 31 | `Feature` | `owningNamespace` | 8757 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Element::owningNamespace = owningMembership.membershipOwningNamespace` (KerML 8.3.2.1, deriveElementOwningNamespace) | -| 32 | `FeatureValue` | `isLibraryElement` | 7080 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 33 | `FeatureValue` | `memberElementId` | 7080 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | -| 34 | `FeatureValue` | `ownedMemberElementId` | 7080 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | -| 35 | `FeatureValue` | `relatedElement` | 7080 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | -| 36 | `FeatureValue` | `source` | 7080 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | -| 37 | `FeatureValue` | `target` | 7080 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | -| 38 | `FeatureValue` | `visibility` | 7080 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | -| 39 | `FeatureTyping` | `isLibraryElement` | 5982 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 40 | `FeatureTyping` | `owningType` | 5978 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | +| 32 | `FeatureValue` | `isLibraryElement` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 33 | `FeatureValue` | `memberElementId` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | +| 34 | `FeatureValue` | `ownedMemberElementId` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | +| 35 | `FeatureValue` | `relatedElement` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | +| 36 | `FeatureValue` | `source` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | +| 37 | `FeatureValue` | `target` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | +| 38 | `FeatureValue` | `visibility` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | +| 39 | `FeatureTyping` | `isLibraryElement` | 5985 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 40 | `FeatureTyping` | `owningType` | 5981 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | | 41 | `Redefinition` | `redefinedFeature` | 52 | 20 | closed for this repository's libraries (above) | `Redefinition::redefinedFeature : Feature` (KerML 8.3.3.3.8) is an element reference, and every `Element` carries an `elementId` (KerML 8.3.2.1.2) the API's JSON refers to it by; the 330 redefinitions of a feature of this repository's libraries once spelled as a name, `{"@ref": "caption"}`, now link by the element's fixed id — the same movement for `FeatureTyping::type`, `MetadataUsage::type`, `FeatureReferenceExpression::referent` and `ReferenceSubsetting::referencedFeature` into those libraries — and the 58 left are redefinitions of a feature inherited within the model itself that the writer spells as a name (`vehicle_b_1::providePower`) | | 42 | `AttributeUsage` | `ownedRelationship` | 36 | 1197 | none found | `Element::ownedRelationship : Relationship [0..*] {ordered}` (KerML 8.3.2.1.2), in the order the notation adds them (KerML 8.2.1 Table 3; `FeatureSpecializationPart`, then `ValuePart`, then the body): a head's typings, specializations and multiplicity as spelled, then its `FeatureValue`, then its members. The writer seated the materialized relationships last, in a fixed kind order; it now owns them as spelled, which moved 4861 properties over 101 rows (67 `ownedRelationship`, 22 `ownedSpecialization`, 12 `ownedSubsetting`) from present-different to present-equal, no other bucket touched (this row 2332 → 1197, `PartDefinition` 215 → 20, `PartUsage` 1554 → 1004, `Feature` 1802 → 1401). What remains (1197) is a different shape: on a usage that writes no multiplicity part (`attribute cargoMass : MassValue;`) the pilot owns an `OwningMembership` of a `Multiplicity`, not implied, after the `FeatureTyping`; ours states none | | 43 | `FeatureReferenceExpression` | `ownedMembership` | 0 | 7 | the writer owns the `Membership` (`export/rdf_expr.go` `featureReferent`); the 7 left are the `FunctionReferenceMember` shape, a `FeatureMembership` owning an `Expression` typed by the named function (KerML 8.2.5.8.3), which ours writes as a `Membership` of the function | `FeatureReferenceExpression::referent` is the `memberElement` of the first `ownedMembership` that is not a `ParameterMembership` (KerML 8.3.4.8.5, deriveFeatureReferenceExpressionReferent); the notation maps a feature reference to that owned `Membership` (8.2.5.8.3, `FeatureReferenceMember`) | diff --git a/docs/project/pilot-differential-baseline.json b/docs/project/pilot-differential-baseline.json index 0fba7808ac..9ffa67141a 100644 --- a/docs/project/pilot-differential-baseline.json +++ b/docs/project/pilot-differential-baseline.json @@ -69,7 +69,7 @@ "dir": "examples", "origin": "ours", "files": 52, - "digest": "sha256:688edb659f8bcd9f644b2278dae231f65af44dd0f39b374f7e6286f4289d9373" + "digest": "sha256:451596b19bfcca198268d5b8ef8f3d307cedb69ebfa73521d1798d8f6d4b8c4f" }, { "name": "probes", @@ -18103,37 +18103,37 @@ "count": 1 }, { - "line": 374, + "line": 397, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 380, + "line": 403, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 390, + "line": 413, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 403, + "line": 426, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 403, + "line": 426, "severity": "warning", "category": "unmapped", "count": 17 }, { - "line": 409, + "line": 432, "severity": "warning", "category": "kind-mismatch", "count": 1 From 568a46eaf4c86e25050d40d34095063836b5e848 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 25 Oct 2026 04:43:44 +0000 Subject: [PATCH 07/14] docs(self-model): model the MCP server, Jupyter kernel, JSON-RPC commands, notebook packages, markup parsers and FMI gate Co-Authored-By: jason.han --- examples/self-model/document.sysml | 57 +++- examples/self-model/pipeline.sysml | 1 + examples/self-model/quality.sysml | 15 + examples/self-model/surfaces.sysml | 170 +++++++++- examples/self-model/views.sysml | 12 + examples/self_model_surfaces_test.go | 470 +++++++++++++++++++++++++++ examples/self_model_test.go | 5 +- 7 files changed, 725 insertions(+), 5 deletions(-) create mode 100644 examples/self_model_surfaces_test.go diff --git a/examples/self-model/document.sysml b/examples/self-model/document.sysml index 9e54936b51..069ee7c7eb 100644 --- a/examples/self-model/document.sysml +++ b/examples/self-model/document.sysml @@ -12,6 +12,7 @@ package OpenSysMLDocument { part runtime : OpenSysMLPipeline::Runtime; part analysisFramework : OpenSysMLPipeline::AnalysisFramework; part viewEngine : OpenSysMLSurfaces::ViewEngine; + part documentPipeline : OpenSysMLSurfaces::DocumentPipeline; // --- Queries the document runs over this model ----------------------- @@ -104,6 +105,42 @@ package OpenSysMLDocument { ) } + // The surfaces over the pipeline: the toolchain's other parts carry no + // protocol and drop out here. + calc def SurfacesWithProtocols :> Query { + in root : Element; + Project( + source = WhereFeature( + source = WhereType( + source = OwnedElements(source = DefinitionOf(root = root)), + type = "PartUsage" + ), + 'feature' = "protocol", + operator = "!=", + value = "" + ), + properties = ("name", "entrypoint", "protocol") + ) + } + + // The markup languages a prose body may be written in; the pipeline's + // other parts carry no markupLanguage and drop out here. + calc def MarkupLanguages :> Query { + in root : Element; + Project( + source = WhereFeature( + source = WhereType( + source = OwnedElements(source = DefinitionOf(root = root)), + type = "PartUsage" + ), + 'feature' = "markupLanguage", + operator = "!=", + value = "" + ), + properties = ("name", "markupLanguage", "needsExternalTool") + ) + } + // The conformance oracles, with the baseline each one ratchets. calc def OraclesWithBaselines :> Query { in root : Element; @@ -314,7 +351,7 @@ package OpenSysMLDocument { attribute redefines title = "Surfaces over one pipeline"; part intro : Paragraph { - :>> text = "The REPL, the language server, the gRPC service, the stdio service and the command line are five surfaces over one analysis pipeline. The service speaks gRPC and Connect from one protobuf schema; the Go, Python, Node, Rust and Java clients are hand-written over stubs generated from that schema, the Julia and MATLAB clients speak Connect-JSON over HTTP by the published wire contract, and the Cameo plugin and SysON integration reach the service through the Java client — so a rule fixed in the engine is fixed everywhere at once."; + :>> text = "The REPL, the language server, the gRPC service, the stdio service, the command line, the MCP server for coding agents, the Jupyter kernel and the JSON-RPC commands a WebAssembly host runs are surfaces over one analysis pipeline. The service speaks gRPC and Connect from one protobuf schema; the Go, Python, Node, Rust and Java clients are hand-written over stubs generated from that schema, the Julia and MATLAB clients speak Connect-JSON over HTTP by the published wire contract, and the Cameo plugin and SysON integration reach the service through the Java client — so a rule fixed in the engine is fixed everywhere at once."; } part toolchain : Diagram { @@ -323,6 +360,17 @@ package OpenSysMLDocument { ref redefines source = OpenSysMLViews::toolchainStructure; } + part commands : Table { + attribute redefines caption = "Every surface, with the command that serves it and the protocol it speaks"; + calc rows : SurfacesWithProtocols { + in redefines root = OpenSysMLSurfaces::opensysml; + } + } + + part agents : Paragraph { + :>> text = "The MCP server serves the language server's tools, the one-shot service's and named REPL sessions to a coding agent over stdio or Streamable HTTP; the Jupyter kernel wraps the REPL and shows each answer in its own MIME form; the JSON commands build for WebAssembly and answer the service's RPCs over JSON-RPC frames without the networking packages, and one of them, sysml-wasm, ships with a release."; + } + part editing : Paragraph { :>> text = "An editor reaches more than diagnostics: semantic tokens, quick fixes carrying their edits, suggestions for a name that did not resolve, and span-based edits whose result is re-parsed and re-analysed before it is accepted."; } @@ -359,6 +407,13 @@ package OpenSysMLDocument { in redefines root = viewEngine; } } + + part prose : Table { + attribute redefines caption = "The markup languages a prose body may be written in, and which one leaves the process"; + calc rows : MarkupLanguages { + in redefines root = documentPipeline; + } + } } part identity : Section { diff --git a/examples/self-model/pipeline.sysml b/examples/self-model/pipeline.sysml index 14e2f7a3c7..3ab2a4a7fd 100644 --- a/examples/self-model/pipeline.sysml +++ b/examples/self-model/pipeline.sysml @@ -23,6 +23,7 @@ package OpenSysMLArtifacts { item def InstanceGraph; item def RdfGraph; item def QueryRows; + item def ProseBlocks; item def DocumentPlan; item def DocumentTree; item def AnalysisQuestion; diff --git a/examples/self-model/quality.sysml b/examples/self-model/quality.sysml index 9a66e1731f..85a589fc83 100644 --- a/examples/self-model/quality.sysml +++ b/examples/self-model/quality.sysml @@ -390,6 +390,9 @@ package OpenSysMLCodebase { part tools : Directory { attribute :>> path = "tools"; } + part suites : Directory { + attribute :>> path = "tests"; + } } part tree : SourceTree; @@ -416,6 +419,13 @@ package OpenSysMLCodebase { allocate opensysml.lsp to tree.internals; allocate opensysml.service to tree.internals; allocate opensysml.stdio to tree.internals; + allocate opensysml.cli to tree.internals; + allocate opensysml.mcp to tree.internals; + allocate opensysml.jupyter to tree.internals; + allocate opensysml.syntaxCommand to tree.internals; + allocate opensysml.engineCommand to tree.internals; + allocate opensysml.coreCommand to tree.internals; + allocate opensysml.wasm to tree.internals; allocate opensysml.exporter to tree.internals; allocate opensysml.migrator to tree.internals; allocate opensysml.codegen to tree.internals; @@ -423,6 +433,8 @@ package OpenSysMLCodebase { allocate opensysml.documents.markdown to tree.internals; allocate opensysml.documents.html to tree.internals; allocate opensysml.documents.pdf to tree.internals; + allocate opensysml.documents.markdownProse to tree.internals; + allocate opensysml.documents.asciidocProse to tree.internals; allocate opensysml.service.schema to tree.schema; allocate opensysml.goClient to tree.clientLibraries; allocate opensysml.python to tree.clientLibraries; @@ -431,9 +443,11 @@ package OpenSysMLCodebase { allocate opensysml.java to tree.clientLibraries; allocate opensysml.julia to tree.clientLibraries; allocate opensysml.matlab to tree.clientLibraries; + allocate opensysml.kernelPackage to tree.clientLibraries; allocate opensysml.vscode to tree.editors; allocate opensysml.mdk to tree.editors; allocate opensysml.syson to tree.editors; + allocate opensysml.jupyterlab to tree.editors; allocate opensysml.rejection to tree.tools; allocate opensysml.differential to tree.tools; allocate opensysml.xpect to tree.tools; @@ -445,4 +459,5 @@ package OpenSysMLCodebase { allocate opensysml.counts to tree.tools; allocate opensysml.snapshotGate to tree.tools; allocate opensysml.suite to tree.tools; + allocate opensysml.fmuGate to tree.suites; } diff --git a/examples/self-model/surfaces.sysml b/examples/self-model/surfaces.sysml index 096bdb7169..afc9a680c0 100644 --- a/examples/self-model/surfaces.sysml +++ b/examples/self-model/surfaces.sysml @@ -116,6 +116,81 @@ package OpenSysMLSurfaces { attribute :>> jobsSetting = "-jobs"; attribute :>> engineListing = "-engines"; attribute exitStatusIsContract : Boolean = true; + attribute reportSetting : String = "-format"; + attribute reportFormats : String = "text, json, sarif, junit"; + attribute reportPackages : String = "internal/frontend/report"; + } + + // Coding agents reach the toolchain over the Model Context Protocol: one + // server over a workspace root, its tools in three groups — the language + // server's, the one-shot service's and named REPL sessions — over stdio + // or Streamable HTTP behind a bearer token. + #Surface part def McpServer :> Interface { + attribute :>> goPackage = "internal/frontend/mcp"; + attribute :>> entrypoint = "cmd/sysml-mcp"; + attribute :>> protocol = "mcp-stdio, mcp-http"; + attribute toolCatalog : String = "internal/frontend/mcp/catalog"; + attribute toolGroups : String = "lsp, runtime, session"; + attribute groupSelector : String = "-tools"; + attribute httpSetting : String = "-http"; + attribute httpPath : String = "/mcp"; + attribute tokenEnv : String = "OPENSYSML_MCP_TOKEN"; + attribute conformanceTarget : String = "conformance-mcp"; + attribute registryManifest : String = "packaging/mcp/server.json"; + } + + // A notebook kernel over the REPL: the Jupyter wire protocol on ZeroMQ + // sockets, each answer shown in its own MIME form beside plain text. + #Surface part def JupyterKernel :> Interface { + attribute :>> goPackage = "internal/frontend/jupyter"; + attribute :>> entrypoint = "cmd/sysml-jupyter-kernel"; + attribute :>> protocol = "jupyter-zmq"; + attribute kernelName : String = "sysml"; + attribute displayName : String = "SysML v2 (OpenSysML)"; + attribute connectionSetting : String = "-connection-file"; + attribute installSetting : String = "-install"; + attribute mimeTypes : String = "text/plain, text/markdown, text/html, text/vnd.mermaid, text/vnd.graphviz, image/svg+xml, text/csv, text/tab-separated-values, application/json"; + attribute wrapsRepl : Boolean = true; + port repl : RequestPort; + } + + // The commands a WebAssembly host runs: protojson bodies in JSON-RPC 2.0 + // frames on stdio, or a call on a JavaScript global, each serving the slice + // of the service's RPCs named in serves without the networking packages. + abstract part def JsonCommand :> Interface { + attribute :>> protocol = "json-rpc"; + attribute jsonTransport : String = "internal/frontend/jsonrpc"; + attribute serves : String; + attribute released : Boolean default = false; + attribute buildsForWasm : Boolean = true; + } + + // Stateless and without a standard library: syntax alone. + #Surface part def SyntaxCommand :> JsonCommand { + attribute :>> goPackage = "internal/frontend/syntax"; + attribute :>> entrypoint = "cmd/sysml-syntax"; + attribute :>> serves = "Parse, Format, Tokens"; + attribute stateless : Boolean = true; + } + + #Surface part def EngineCommand :> JsonCommand { + attribute :>> goPackage = "internal/frontend/engine"; + attribute :>> entrypoint = "cmd/sysml-engine"; + attribute :>> serves = "ParseSources, Evaluate, Instantiate, ExecuteAction, ExecuteState, RenderView"; + } + + #Surface part def CoreCommand :> JsonCommand { + attribute :>> goPackage = "internal/frontend/core"; + attribute :>> entrypoint = "cmd/sysml-core"; + attribute :>> serves = "ParseSources, ParseFile, GetDiagnostics, GetSymbol"; + } + + // Not a released command, but a release ships its browser build as an asset. + #Surface part def CombinedCommand :> JsonCommand { + attribute :>> goPackage = "internal/frontend/combined"; + attribute :>> entrypoint = "cmd/sysml-wasm"; + attribute :>> serves = "ParseSources, ParseFile, GetDiagnostics, GetSymbol, Evaluate, Instantiate, ExecuteAction, ExecuteState, RenderView, GetServerInfo"; + attribute releaseAsset : String = "sysml-wasm.wasm"; } // A client library: hand-written idiomatic code over stubs generated from @@ -172,8 +247,8 @@ package OpenSysMLSurfaces { } // In the same process by default, over the wire on request: the Go client - // wraps the generated Go stubs rather than being generated itself, and the - // three commands build for WebAssembly as well as natively. + // wraps the generated Go stubs rather than being generated itself, and + // every command builds for WebAssembly as well as natively. part def GoClient :> Client { attribute :>> goPackage = "client/opensysml"; attribute :>> implementationLanguage = "go"; @@ -182,9 +257,18 @@ package OpenSysMLSurfaces { attribute buildsForWasm : Boolean = true; } + // The language client, the diagram panel it draws in a webview, the + // landing page, and the TextMate grammars a generator writes from the + // keyword lists — the same run writes the JupyterLab syntax table. part def VsCodeExtension :> CodeUnit { attribute :>> goPackage = "editors/vscode"; attribute speaksTo : String = "sysml-lsp"; + attribute languages : String = "sysml, kerml"; + attribute commands : String = "opensysml.restartServer, opensysml.openDiagram, opensysml.exportDiagram, opensysml.diagram.popOut, opensysml.renderDocument, opensysml.runElement"; + attribute diagramPanel : String = "editors/vscode/src/webview"; + attribute landingPage : String = "editors/vscode/src/landing"; + attribute grammarGenerator : String = "editors/vscode/tools/gengrammar"; + attribute grammarTarget : String = "vscode-grammar"; port languageClient : RequestPort; } @@ -205,6 +289,28 @@ package OpenSysMLSurfaces { attribute :>> goPackage = "editors/syson"; } + // The kernel as a pip package: the binary and the JupyterLab extension + // in one wheel, registered as a kernelspec; no service is involved. + part def JupyterKernelPackage :> CodeUnit { + attribute :>> goPackage = "client/jupyter-kernel"; + attribute implementationLanguage : String = "python"; + attribute packageName : String = "jupyter-opensysml-kernel"; + attribute installTarget : String = "jupyter-kernel-install"; + attribute testTarget : String = "jupyter-kernel-test"; + port kernel : RequestPort; + } + + // Highlighting for the notebook: a CodeMirror language over the syntax + // table the grammar generator writes, built into the kernel package. + part def JupyterLabExtension :> CodeUnit { + attribute :>> goPackage = "editors/jupyterlab"; + attribute packageName : String = "jupyterlab-opensysml"; + attribute syntaxTable : String = "editors/jupyterlab/src/syntax.json"; + attribute buildTarget : String = "jupyterlab-build"; + attribute testTarget : String = "jupyterlab-test"; + port notebook : RequestPort; + } + // --- What an editor reaches ------------------------------------------ // Semantic-token classes, in the order the LSP legend lists them. @@ -332,10 +438,32 @@ package OpenSysMLSurfaces { attribute immutablePlans : Boolean = true; attribute contentKinds : String = "section, paragraph, table, list, definitions, formula, diagram, image"; attribute runKinds : String = "span, link, ref"; + attribute markupLanguages : String = "markdown, asciidoc"; in item rows : QueryRows; + in item prose : ProseBlocks; out item plan : DocumentPlan; } + // A prose body written in a markup language is parsed into the planner's + // blocks; Markdown here, AsciiDoc by Asciidoctor.js outside the process. + abstract part def MarkupParser :> CodeUnit { + attribute :>> goPackage = "internal/ir/docplan/markup"; + attribute markupLanguage : String; + attribute needsExternalTool : Boolean default = false; + out item blocks : ProseBlocks; + } + + part def MarkdownParser :> MarkupParser { + attribute :>> markupLanguage = "markdown"; + } + + part def AsciiDocParser :> MarkupParser { + attribute :>> markupLanguage = "asciidoc"; + attribute :>> needsExternalTool = true; + attribute toolEnv : String = "OPENSYSML_ASCIIDOCTOR"; + attribute converterScript : String = "scripts/asciidoc/asciidoctor-json.js"; + } + // Evaluating a plan gives one tree, carrying provenance on every node and // knowing nothing about the backend that will write it out. part def DocumentIR :> CodeUnit { @@ -433,6 +561,8 @@ package OpenSysMLSurfaces { part queries : QueryCompiler; part rows : QueryExecutor; part plans : DocumentPlanner; + part markdownProse : MarkdownParser; + part asciidocProse : AsciiDocParser; part ir : DocumentIR; part markdown : MarkdownBackend; part html : HtmlBackend; @@ -444,6 +574,8 @@ package OpenSysMLSurfaces { flow of SourceSpan from provenance.origins to views.origins; flow of SourceSpan from provenance.origins to ir.origins; flow of QueryRows from rows.rows to plans.rows; + flow of ProseBlocks from markdownProse.blocks to plans.prose; + flow of ProseBlocks from asciidocProse.blocks to plans.prose; flow of DocumentPlan from plans.plan to ir.plan; flow of DocumentTree from ir.tree to markdown.tree; flow of DocumentTree from ir.tree to html.tree; @@ -592,7 +724,18 @@ package OpenSysMLSurfaces { attribute :>> reference = "the running service"; attribute :>> baseline = "conformance"; attribute :>> gating = true; - attribute protocols : String = "grpc, connect, connect-json"; + attribute protocols : String = "grpc, connect, connect-json, pkg, pkg-connect, mcp"; + } + + // The FMI engine must drive the Modelica Reference-FMUs through the + // runner; the gate skips until the script has fetched them, and CI + // requires them. + #Oracle part def ReferenceFmuGate :> ConformanceOracle { + attribute :>> goPackage = "tests/fmi"; + attribute :>> reference = "Modelica Reference-FMUs"; + attribute :>> baseline = "scripts/download-reference-fmus.sh"; + attribute :>> gating = true; + attribute requireEnv : String = "OPENSYSML_REQUIRE_REFERENCE_FMUS"; } // What the oracles lean on: a pinned reference, an errata overlay for the @@ -622,7 +765,11 @@ package OpenSysMLSurfaces { // --- The whole tool --------------------------------------------------- + // Every command the Makefile builds, and the ones it releases. part def Toolchain { + attribute releasedCommandCount : Integer = 5; + attribute wasmCommandCount : Integer = 9; + part pipeline : AnalysisPipeline; part documents : DocumentPipeline; part editing : EditorPipeline; @@ -632,6 +779,12 @@ package OpenSysMLSurfaces { part service : ModelService; part stdio : StdioService; part cli : CommandLine; + part mcp : McpServer; + part jupyter : JupyterKernel; + part syntaxCommand : SyntaxCommand; + part engineCommand : EngineCommand; + part coreCommand : CoreCommand; + part wasm : CombinedCommand; part goClient : GoClient; part python : PythonClient; @@ -643,6 +796,8 @@ package OpenSysMLSurfaces { part vscode : VsCodeExtension; part mdk : OpenSysMLMDK; part syson : SysonIntegration; + part kernelPackage : JupyterKernelPackage; + part jupyterlab : JupyterLabExtension; part exporter : Exporter; part migrator : Migrator; @@ -661,12 +816,19 @@ package OpenSysMLSurfaces { part stdlib : StdlibConformanceGate; part snapshotGate : StdlibSnapshotGate; part suite : ConformanceSuite; + part fmuGate : ReferenceFmuGate; part conformance : ConformanceInfrastructure; connection replDrives : ArtifactChannel connect repl.pipeline to pipeline.textIn; connection lspDrives : ArtifactChannel connect lsp.pipeline to pipeline.textIn; connection serviceDrives : ArtifactChannel connect service.pipeline to pipeline.textIn; connection cliDrives : ArtifactChannel connect cli.pipeline to pipeline.textIn; + connection mcpDrives : ArtifactChannel connect mcp.pipeline to pipeline.textIn; + connection jupyterWrapsRepl : ArtifactChannel connect jupyter.repl to repl.pipeline; + connection syntaxDrives : ArtifactChannel connect syntaxCommand.pipeline to pipeline.textIn; + connection engineDrives : ArtifactChannel connect engineCommand.pipeline to pipeline.textIn; + connection coreDrives : ArtifactChannel connect coreCommand.pipeline to pipeline.textIn; + connection wasmDrives : ArtifactChannel connect wasm.pipeline to pipeline.textIn; connection replAsks : RequestChannel connect repl.questions to pipeline.questionsIn; connection serviceAsks : RequestChannel connect service.questions to pipeline.questionsIn; @@ -682,6 +844,8 @@ package OpenSysMLSurfaces { connection editorSpeaksLsp : ArtifactChannel connect vscode.languageClient to lsp.pipeline; connection mdkUsesJava : ArtifactChannel connect mdk.serviceClient to java.service; connection sysonUsesJava : ArtifactChannel connect syson.serviceClient to java.service; + connection packageShipsKernel : ArtifactChannel connect kernelPackage.kernel to jupyter.pipeline; + connection labExtensionShipsIn : ArtifactChannel connect jupyterlab.notebook to kernelPackage.kernel; connection documentsRead : ArtifactChannel connect pipeline.textIn to documents.modelIn; connection findingsToEditors : DiagnosticChannel connect pipeline.diagnosticsOut to editing.findingsIn; diff --git a/examples/self-model/views.sysml b/examples/self-model/views.sysml index 1dc6842319..47400118fa 100644 --- a/examples/self-model/views.sysml +++ b/examples/self-model/views.sysml @@ -148,6 +148,18 @@ package OpenSysMLViews { render asElementTable; } + view surfaceTable { + doc /* Every surface over the pipeline, with its command and protocol. */ + expose OpenSysMLSurfaces::Toolchain; + render asElementTable; + } + + view markupParsers { + doc /* The markup languages a prose body may be written in, and which leave the process. */ + expose OpenSysMLSurfaces::DocumentPipeline; + render asElementTable; + } + view identityPath { doc /* How an element's repository id reaches RDF and comes back. */ expose OpenSysMLIdentity::IdentityPath; diff --git a/examples/self_model_surfaces_test.go b/examples/self_model_surfaces_test.go new file mode 100644 index 0000000000..206b0d1117 --- /dev/null +++ b/examples/self_model_surfaces_test.go @@ -0,0 +1,470 @@ +// Copyright 2025 Open‐MBEE Foundation. All rights reserved. +// Use of this source code is governed by the LICENSE file. + +package examples + +import ( + "encoding/json" + "os" + "path/filepath" + "regexp" + "strings" + "testing" + + "github.com/Open-MBEE/OpenSysML/internal/frontend/mcp" + "github.com/Open-MBEE/OpenSysML/internal/frontend/mcp/catalog" + "github.com/Open-MBEE/OpenSysML/internal/ir/docplan/markup" +) + +// The surfaces the first self-model test does not reach: the MCP server, the +// Jupyter kernel, the JSON-RPC commands a WebAssembly host runs, the notebook +// packages, the VS Code extension's contributions, the markup parsers behind a +// prose body, the CLI's report formats and the FMI gate. Each fact is read from +// the analysed model and compared with the code or the build files. + +// flagDefinitionPattern matches the definition of one flag in a command's +// usage, whether the variable it binds is a field or a local. +func flagDefinitionPattern(flag string) *regexp.Regexp { + return regexp.MustCompile(`\w+\.\w*Var\(&[\w.]+, "` + regexp.QuoteMeta(strings.TrimPrefix(flag, "-")) + `"`) +} + +// requireFlag fails unless the command at entrypoint defines the flag the +// model attributes to it. +func requireFlag(t *testing.T, part, attribute, flag, entrypoint string) { + t.Helper() + cmdSource := readGoPackage(t, filepath.Join("..", entrypoint)) + if !strings.HasPrefix(flag, "-") || !flagDefinitionPattern(flag).MatchString(cmdSource) { + t.Errorf("surfaces.sysml says %s.%s = %q, %s defines no such flag", part, attribute, flag, entrypoint) + } +} + +// requireMakeTarget fails unless the Makefile defines the target the model +// attributes to a part. +func requireMakeTarget(t *testing.T, makefile, part, attribute, target string) { + t.Helper() + for _, match := range makeTargetPattern.FindAllStringSubmatch(makefile, -1) { + if match[1] == target { + return + } + } + t.Errorf("surfaces.sysml says %s.%s = %q, which the Makefile does not define", part, attribute, target) +} + +// readMakefile returns the text of the repository's Makefile. +func readMakefile(t *testing.T) string { + t.Helper() + makefile, err := os.ReadFile(filepath.Join("..", "Makefile")) + if err != nil { + t.Fatalf("read the Makefile: %v", err) + } + return string(makefile) +} + +// makeVariableWords returns the words a Makefile variable is assigned, with a +// $(COMMANDS) reference expanded. +func makeVariableWords(t *testing.T, makefile, variable string) []string { + t.Helper() + match := regexp.MustCompile(`(?m)^` + variable + ` := (.*)$`).FindStringSubmatch(makefile) + if match == nil { + t.Fatalf("the Makefile does not assign %s", variable) + } + var words []string + for _, word := range strings.Fields(match[1]) { + if word == "$(COMMANDS)" { + words = append(words, makeVariableWords(t, makefile, "COMMANDS")...) + continue + } + words = append(words, word) + } + return words +} + +// TestSelfModelCommandsMatchMakefile compares the toolchain's command counts +// and every surface's entrypoint with the Makefile: the commands it releases, +// the ones it builds for WebAssembly, and which binary each surface is. +func TestSelfModelCommandsMatchMakefile(t *testing.T) { + idx, ctx := analyseSelfModel(t) + toolchain := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "Toolchain") + makefile := readMakefile(t) + + released := makeVariableWords(t, makefile, "COMMANDS") + wasm := makeVariableWords(t, makefile, "WASM_COMMANDS") + if declared := toolchain.integer("releasedCommandCount"); declared != len(released) { + t.Errorf("surfaces.sysml says releasedCommandCount = %d, the Makefile releases %d: %v", declared, len(released), released) + } + if declared := toolchain.integer("wasmCommandCount"); declared != len(wasm) { + t.Errorf("surfaces.sysml says wasmCommandCount = %d, the Makefile builds %d for WebAssembly: %v", declared, len(wasm), wasm) + } + + entrypoints := map[string]bool{} + for name, part := range toolchain.parts() { + if !part.has("entrypoint") { + continue + } + entrypoint := part.str("entrypoint") + if _, err := os.Stat(filepath.Join("..", entrypoint)); err != nil { + t.Errorf("surfaces.sysml says %s is served by %s, which does not exist", name, entrypoint) + } + entrypoints[filepath.Base(entrypoint)] = true + if !part.has("released") { + continue + } + command := filepath.Base(entrypoint) + if part.boolean("released") != contains(released, command) { + t.Errorf("surfaces.sysml says %s.released = %t, COMMANDS lists %v", name, part.boolean("released"), released) + } + if part.boolean("buildsForWasm") != contains(wasm, command) { + t.Errorf("surfaces.sysml says %s.buildsForWasm = %t, WASM_COMMANDS lists %v", name, part.boolean("buildsForWasm"), wasm) + } + if part.has("releaseAsset") && !strings.Contains(makefile, "/release/"+part.str("releaseAsset")+" ./"+entrypoint) { + t.Errorf("surfaces.sysml says a release ships %s as %s, the Makefile does not build it", name, part.str("releaseAsset")) + } + } + for _, command := range wasm { + if !entrypoints[command] { + t.Errorf("the Makefile builds %s, which no surface in surfaces.sysml is served by", command) + } + } +} + +// TestSelfModelMcpServerMatchesImplementation compares the modelled MCP server +// with the package and its command: the tool groups the catalog defines, the +// HTTP path and token variable, the flags, the conformance target, and the +// protocols the conformance suite knows. +func TestSelfModelMcpServerMatchesImplementation(t *testing.T) { + idx, ctx := analyseSelfModel(t) + server := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "McpServer") + makefile := readMakefile(t) + + var groups []string + for _, group := range catalog.Groups() { + groups = append(groups, string(group)) + } + if declared, actual := server.str("toolGroups"), strings.Join(groups, ", "); declared != actual { + t.Errorf("surfaces.sysml says McpServer.toolGroups = %q, the catalog has %q", declared, actual) + } + if declared := server.str("httpPath"); declared != mcp.HTTPPath { + t.Errorf("surfaces.sysml says McpServer.httpPath = %q, the implementation serves %q", declared, mcp.HTTPPath) + } + if declared := server.str("tokenEnv"); declared != mcp.TokenEnv { + t.Errorf("surfaces.sysml says McpServer.tokenEnv = %q, the implementation reads %q", declared, mcp.TokenEnv) + } + for _, attribute := range []string{"groupSelector", "httpSetting"} { + requireFlag(t, "McpServer", attribute, server.str(attribute), server.str("entrypoint")) + } + requireMakeTarget(t, makefile, "McpServer", "conformanceTarget", server.str("conformanceTarget")) + + suite := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "ConformanceSuite") + conformance := readGoPackage(t, filepath.Join("..", suite.str("goPackage"))) + known := regexp.MustCompile(`knownProtocols = map\[string\]struct\{\}\{(.*)\}`).FindStringSubmatch(conformance) + if known == nil { + t.Fatalf("%s declares no knownProtocols", suite.str("goPackage")) + } + var protocols []string + for _, match := range regexp.MustCompile(`"([^"]+)"`).FindAllStringSubmatch(known[1], -1) { + protocols = append(protocols, match[1]) + } + if declared, actual := suite.str("protocols"), strings.Join(protocols, ", "); declared != actual { + t.Errorf("surfaces.sysml says ConformanceSuite.protocols = %q, the suite knows %q", declared, actual) + } +} + +// TestSelfModelJupyterKernelMatchesImplementation compares the modelled kernel +// with its command and package: the kernelspec names, the flags, the MIME +// forms it displays, and that it wraps the REPL rather than the service. +func TestSelfModelJupyterKernelMatchesImplementation(t *testing.T) { + idx, ctx := analyseSelfModel(t) + kernel := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "JupyterKernel") + + cmdSource := readGoPackage(t, filepath.Join("..", kernel.str("entrypoint"))) + for attribute, constant := range map[string]string{"kernelName": "defaultKernelName", "displayName": "defaultDisplayName"} { + match := regexp.MustCompile(constant + `\s*=\s*"([^"]+)"`).FindStringSubmatch(cmdSource) + if match == nil { + t.Fatalf("%s defines no %s", kernel.str("entrypoint"), constant) + } + if declared := kernel.str(attribute); declared != match[1] { + t.Errorf("surfaces.sysml says JupyterKernel.%s = %q, the command has %q", attribute, declared, match[1]) + } + } + for _, attribute := range []string{"connectionSetting", "installSetting"} { + requireFlag(t, "JupyterKernel", attribute, kernel.str(attribute), kernel.str("entrypoint")) + } + + pkg := kernel.str("goPackage") + pkgSource := readGoPackage(t, filepath.Join("..", pkg)) + var mimeTypes []string + for _, match := range regexp.MustCompile(`\bmime\w+\s*=\s*"([^"]+)"`).FindAllStringSubmatch(pkgSource, -1) { + mimeTypes = append(mimeTypes, match[1]) + } + if declared, actual := kernel.str("mimeTypes"), strings.Join(mimeTypes, ", "); declared != actual { + t.Errorf("surfaces.sysml says JupyterKernel.mimeTypes = %q, %s displays %q", declared, pkg, actual) + } + wrapsRepl := packageImports(t, filepath.Join("..", pkg), `"github.com/Open-MBEE/OpenSysML/internal/frontend/repl"`) + if kernel.boolean("wrapsRepl") != wrapsRepl { + t.Errorf("surfaces.sysml says JupyterKernel.wrapsRepl = %t, %s importing the REPL is %t", kernel.boolean("wrapsRepl"), pkg, wrapsRepl) + } +} + +// TestSelfModelJsonCommandsMatchImplementation compares each JSON-RPC command +// with its package: the methods its dispatcher serves, the shared transport it +// imports, and whether it loads the standard library. +func TestSelfModelJsonCommandsMatchImplementation(t *testing.T) { + idx, ctx := analyseSelfModel(t) + toolchain := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "Toolchain") + + const library = `"github.com/Open-MBEE/OpenSysML/internal/workspace/libs"` + dispatchPattern := regexp.MustCompile(`(?s)\n\tswitch method \{\n(.*?)\n\t\}`) + casePattern := regexp.MustCompile(`(?m)^\s*case ((?:"[A-Z]\w*",?\s*)+):`) + namePattern := regexp.MustCompile(`"([^"]+)"`) + commands := 0 + for name, part := range toolchain.parts() { + if !part.has("serves") { + continue + } + commands++ + pkg := part.str("goPackage") + pkgSource := readGoPackage(t, filepath.Join("..", pkg)) + dispatch := dispatchPattern.FindStringSubmatch(pkgSource) + if dispatch == nil { + t.Errorf("%s has no switch over the method", pkg) + continue + } + var methods []string + for _, line := range casePattern.FindAllStringSubmatch(dispatch[1], -1) { + for _, method := range namePattern.FindAllStringSubmatch(line[1], -1) { + methods = append(methods, method[1]) + } + } + if declared, actual := part.str("serves"), strings.Join(methods, ", "); declared != actual { + t.Errorf("surfaces.sysml says %s.serves = %q, %s dispatches %q", name, declared, pkg, actual) + } + transport := part.str("jsonTransport") + if !packageImports(t, filepath.Join("..", pkg), `"github.com/Open-MBEE/OpenSysML/`+transport+`"`) { + t.Errorf("surfaces.sysml says %s speaks over %s, which %s does not import", name, transport, pkg) + } + if part.has("stateless") && part.boolean("stateless") == packageImports(t, filepath.Join("..", pkg), library) { + t.Errorf("surfaces.sysml says %s.stateless = %t, but %s loading the standard library is %t", name, part.boolean("stateless"), pkg, !part.boolean("stateless")) + } + } + if commands == 0 { + t.Fatal("surfaces.sysml models no JSON-RPC command") + } +} + +// TestSelfModelReportFormatsMatchImplementation compares the command line's +// report formats with the flag's usage text and the packages that render them. +func TestSelfModelReportFormatsMatchImplementation(t *testing.T) { + idx, ctx := analyseSelfModel(t) + cli := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "CommandLine") + + requireFlag(t, "CommandLine", "reportSetting", cli.str("reportSetting"), cli.str("entrypoint")) + cmdSource := readGoPackage(t, filepath.Join("..", cli.str("entrypoint"))) + match := regexp.MustCompile(`"` + regexp.QuoteMeta(strings.TrimPrefix(cli.str("reportSetting"), "-")) + `", "", "Report checks as ([a-z, ]+) or ([a-z]+);`).FindStringSubmatch(cmdSource) + if match == nil { + t.Fatalf("%s does not say which formats %s reports", cli.str("entrypoint"), cli.str("reportSetting")) + } + formats := append(strings.Split(match[1], ", "), match[2]) + if declared, actual := cli.str("reportFormats"), strings.Join(formats, ", "); declared != actual { + t.Errorf("surfaces.sysml says CommandLine.reportFormats = %q, the usage says %q", declared, actual) + } + for _, format := range formats { + if format == "text" || format == "json" { + continue + } + if _, err := os.Stat(filepath.Join("..", cli.str("reportPackages"), format)); err != nil { + t.Errorf("surfaces.sysml reports %s, but %s has no package for it", format, cli.str("reportPackages")) + } + } +} + +// TestSelfModelEditorsMatchImplementation compares the VS Code extension's +// contributions with its manifest, and the notebook packages with theirs and +// with the Makefile targets that build, test and install them. +func TestSelfModelEditorsMatchImplementation(t *testing.T) { + idx, ctx := analyseSelfModel(t) + makefile := readMakefile(t) + + vscode := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "VsCodeExtension") + var manifest struct { + Contributes struct { + Commands []struct{ Command string } + Languages []struct{ ID string } + } + } + readJSON(t, filepath.Join("..", vscode.str("goPackage"), "package.json"), &manifest) + var commands, languages []string + for _, command := range manifest.Contributes.Commands { + commands = append(commands, command.Command) + } + for _, language := range manifest.Contributes.Languages { + languages = append(languages, language.ID) + } + if declared, actual := vscode.str("commands"), strings.Join(commands, ", "); declared != actual { + t.Errorf("surfaces.sysml says VsCodeExtension.commands = %q, package.json contributes %q", declared, actual) + } + if declared, actual := vscode.str("languages"), strings.Join(languages, ", "); declared != actual { + t.Errorf("surfaces.sysml says VsCodeExtension.languages = %q, package.json contributes %q", declared, actual) + } + requireMakeTarget(t, makefile, "VsCodeExtension", "grammarTarget", vscode.str("grammarTarget")) + if !strings.Contains(makefile, "./"+vscode.str("grammarGenerator")) && !strings.Contains(makefile, "/tools/gengrammar") { + t.Errorf("the Makefile does not run %s", vscode.str("grammarGenerator")) + } + + lab := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "JupyterLabExtension") + var labManifest struct{ Name string } + readJSON(t, filepath.Join("..", lab.str("goPackage"), "package.json"), &labManifest) + if declared := lab.str("packageName"); declared != labManifest.Name { + t.Errorf("surfaces.sysml says JupyterLabExtension.packageName = %q, package.json says %q", declared, labManifest.Name) + } + if table := lab.str("syntaxTable"); !strings.Contains(makefile, "-codemirror-out $(JUPYTERLAB_DIR)/"+strings.TrimPrefix(table, lab.str("goPackage")+"/")) { + t.Errorf("the Makefile's grammar target does not write %s", table) + } + for _, attribute := range []string{"buildTarget", "testTarget"} { + requireMakeTarget(t, makefile, "JupyterLabExtension", attribute, lab.str(attribute)) + } + + kernelPackage := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "JupyterKernelPackage") + pyproject, err := os.ReadFile(filepath.Join("..", kernelPackage.str("goPackage"), "pyproject.toml")) + if err != nil { + t.Fatalf("read the kernel package's pyproject: %v", err) + } + match := regexp.MustCompile(`(?m)^name = "([^"]+)"`).FindStringSubmatch(string(pyproject)) + if match == nil { + t.Fatal("the kernel package's pyproject names no project") + } + if declared := kernelPackage.str("packageName"); declared != match[1] { + t.Errorf("surfaces.sysml says JupyterKernelPackage.packageName = %q, pyproject.toml says %q", declared, match[1]) + } + for _, attribute := range []string{"installTarget", "testTarget"} { + requireMakeTarget(t, makefile, "JupyterKernelPackage", attribute, kernelPackage.str(attribute)) + } +} + +// TestSelfModelMarkupMatchesImplementation compares the markup parsers behind +// a prose body with the markup package: the languages it lists, which parser +// answers each, which one leaves the process, and the variable that names its tool. +func TestSelfModelMarkupMatchesImplementation(t *testing.T) { + idx, ctx := analyseSelfModel(t) + planner := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "DocumentPlanner") + if declared, actual := planner.str("markupLanguages"), markup.Languages(); declared != actual { + t.Errorf("surfaces.sysml says DocumentPlanner.markupLanguages = %q, the implementation has %q", declared, actual) + } + + documents := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "DocumentPipeline") + parsers := 0 + for name, part := range documents.parts() { + if !part.has("markupLanguage") { + continue + } + parsers++ + language := part.str("markupLanguage") + parser, ok := markup.For(language) + if !ok { + t.Errorf("surfaces.sysml says %s parses %q, which the implementation does not", name, language) + continue + } + if parser.Language() != language { + t.Errorf("surfaces.sysml says %s parses %q, the parser calls it %q", name, language, parser.Language()) + } + pkg := filepath.Join("..", part.str("goPackage")) + if leaves := parserRunsTool(t, pkg, language); part.boolean("needsExternalTool") != leaves { + t.Errorf("surfaces.sysml says %s.needsExternalTool = %t, the %s parser running a tool is %t", name, part.boolean("needsExternalTool"), language, leaves) + } + if part.has("toolEnv") && part.str("toolEnv") != markup.AsciiDocEnv { + t.Errorf("surfaces.sysml says %s.toolEnv = %q, the implementation reads %q", name, part.str("toolEnv"), markup.AsciiDocEnv) + } + } + if parsers != len(strings.Split(markup.Languages(), ", ")) { + t.Errorf("surfaces.sysml models %d markup parsers, the implementation has %q", parsers, markup.Languages()) + } +} + +// parserRunsTool reports whether the parser files for language in the markup +// package start an external process. +func parserRunsTool(t *testing.T, dir, language string) bool { + t.Helper() + entries, err := os.ReadDir(dir) + if err != nil { + t.Fatalf("read %s: %v", dir, err) + } + for _, entry := range entries { + name := entry.Name() + if !strings.HasPrefix(name, language) || !strings.HasSuffix(name, ".go") || strings.HasSuffix(name, "_test.go") { + continue + } + content, err := os.ReadFile(filepath.Join(dir, name)) + if err != nil { + t.Fatalf("read %s: %v", name, err) + } + if strings.Contains(string(content), "exec.Command") { + return true + } + } + return false +} + +// TestSelfModelFmiGateMatchesImplementation compares the modelled FMI gate +// with the suite that runs the Reference-FMUs: the variable that requires them, +// read by the test and set by CI, and the script that fetches them. +func TestSelfModelFmiGateMatchesImplementation(t *testing.T) { + idx, ctx := analyseSelfModel(t) + gate := instantiateSelfModel(t, idx, ctx, "surfaces.sysml", "OpenSysMLSurfaces", "ReferenceFmuGate") + + requireEnv := gate.str("requireEnv") + if !strings.Contains(readGoTests(t, filepath.Join("..", gate.str("goPackage"))), `"`+requireEnv+`"`) { + t.Errorf("surfaces.sysml says ReferenceFmuGate reads %s, %s does not", requireEnv, gate.str("goPackage")) + } + workflow, err := os.ReadFile(filepath.Join("..", ".github", "workflows", "pr.yml")) + if err != nil { + t.Fatalf("read the PR workflow: %v", err) + } + if required := strings.Contains(string(workflow), requireEnv+`: "1"`); gate.boolean("gating") != required { + t.Errorf("surfaces.sysml says ReferenceFmuGate.gating = %t, the PR workflow setting %s is %t", gate.boolean("gating"), requireEnv, required) + } + if _, err := os.Stat(filepath.Join("..", gate.str("baseline"))); err != nil { + t.Errorf("surfaces.sysml says the Reference-FMUs come from %s, which does not exist", gate.str("baseline")) + } +} + +// readGoTests concatenates the test files of the suite at dir. +func readGoTests(t *testing.T, dir string) string { + t.Helper() + entries, err := os.ReadDir(dir) + if err != nil { + t.Fatalf("read %s: %v", dir, err) + } + var text strings.Builder + for _, entry := range entries { + if !strings.HasSuffix(entry.Name(), "_test.go") { + continue + } + content, err := os.ReadFile(filepath.Join(dir, entry.Name())) + if err != nil { + t.Fatalf("read %s: %v", entry.Name(), err) + } + text.Write(content) + } + return text.String() +} + +// readJSON decodes one JSON file into v. +func readJSON(t *testing.T, path string, v any) { + t.Helper() + content, err := os.ReadFile(path) + if err != nil { + t.Fatalf("read %s: %v", path, err) + } + if err := json.Unmarshal(content, v); err != nil { + t.Fatalf("decode %s: %v", path, err) + } +} + +// contains reports whether words holds word. +func contains(words []string, word string) bool { + for _, w := range words { + if w == word { + return true + } + } + return false +} diff --git a/examples/self_model_test.go b/examples/self_model_test.go index fe555b3b8c..0b9a49c55d 100644 --- a/examples/self_model_test.go +++ b/examples/self_model_test.go @@ -1388,6 +1388,9 @@ func TestSelfModelDocumentRenders(t *testing.T) { "| geometry | false |", "| differential | pilot validator | docs/project/pilot-differential-baseline.json |", "| snapshotGate | the bundled library files | internal/workspace/libs/stdlib.snapshot |", + "| mcp | cmd/sysml-mcp | mcp-stdio, mcp-http |", + "| wasm | cmd/sysml-wasm | json-rpc |", + "| asciidocProse | asciidoc | true |", "OpenSysMLViews::pipelineStructure", "OpenSysMLViews::libraryLoadFlow", "[snapshotCurrent]", @@ -1413,7 +1416,7 @@ func TestSelfModelDocumentRenders(t *testing.T) { // repositoryPathPattern matches the attributes whose values are paths in this // repository, singly or as a comma-separated list. var repositoryPathPattern = regexp.MustCompile( - `(goPackage|generatedStubs|schemaFile|generatedGo|connectAdapter|stdioTransport|consumers|designRecord|snapshotFile) = "([^"]+)"`) + `(goPackage|generatedStubs|schemaFile|generatedGo|connectAdapter|stdioTransport|consumers|designRecord|snapshotFile|toolCatalog|registryManifest|jsonTransport|reportPackages|diagramPanel|landingPage|grammarGenerator|syntaxTable|converterScript) = "([^"]+)"`) // makeTargetPattern matches the definition of one target in the Makefile. var makeTargetPattern = regexp.MustCompile(`(?m)^([a-z-]+):`) From 3cae8ce7c0f7c97911e3b33da262f711706039e4 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 25 Oct 2026 04:50:15 +0000 Subject: [PATCH 08/14] docs(self-model): README file table and figures from the extended model Co-Authored-By: jason.han --- examples/self-model/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/self-model/README.md b/examples/self-model/README.md index 64e456921d..acbbac37b4 100644 --- a/examples/self-model/README.md +++ b/examples/self-model/README.md @@ -22,11 +22,11 @@ The eight files: | [pipeline.sysml](pipeline.sysml) | `OpenSysMLArtifacts` — what travels between stages (source text, tokens, tree, spans, symbol index, the library snapshot, side tables, diagnostics, IR graphs, traces, RDF, document trees), the ports and channels it travels over, and the layer metadata the filtered views select on. `OpenSysMLPipeline` — the fourteen stages from `internal/syntax/source` to the analysis framework, each naming the Go package that implements it; `PassRegistry`, holding all sixty-six registered validation passes with the tier each runs at and whether it gates itself per element; the standard library with the embedded snapshot its index is decoded from, the codec and generator units behind it and the variable that overrides it; the runtime's eight independent budgets with their defaults and environment variables, and the evaluator with the compiled tier beside it and the variable that switches that tier off; the runtime's split of model-derived from run-derived state, with the snapshot store and the exploration queue that split makes possible; `AnalysisFramework` — the seven question kinds and three freedoms, the five-step evidence scale and ten claims, the per-owner engine registry, the dispatcher with its three selections, the eight-field plan budget with the `OPENSYSML_JOBS` variable, the worker fleet, and the seven engines this build registers (`check`, `explore`, `run`, `smt`, `solve`, `sweep`, `tool:fmi`), each declaring what it answers, what bounds it, and the strongest evidence it can produce; and `AnalysisPipeline`, which wires the stages together and puts the framework's questions to the runtime and the solver | | [behavior.sysml](behavior.sysml) | one document analysed end to end (`AnalyzeDocument`, whose four decision nodes are the tier gates), the editor's edit-then-sweep path (`ServeEdit`), the library loaded once per process (`LoadLibrary`, whose two decision nodes are the digest and checksum checks that decide between the snapshot and the files), one calc invoked (`InvokeCalc`, whose three decision nodes — tracing, body, arguments — send it to the compiled tier or to the evaluator), one feature read (`ReadFeatureValue`, whose ten decision nodes are the cases a feature can be in — undeclared, bound, already held, a variation, a `default` yielding to contributions, a stated value, an abstract or optional connector or composite holding only contributions, a connector, a composite, and a plain feature with nothing to hold, empty when optional and uninitialized when required — each ending in the value admitted, held or refused), and five state machines: the validation tier ladder, the runtime's five tiers, token flow over the action graph with its deadlock and budget exits, run-to-completion event dispatch with deferral, and the eight ways a run ends early when a budget is exhausted; then the analysis framework: one question answered (`AnswerQuestion`, whose decision nodes are the selection — `auto` by authority, `all` by name, a name alone, each over the engines declaring the question's kind — the coverage check, the fault and the standing that decides whether the plan goes on to the next candidate, with every engine consulted — answering, refusing or faulting — a step of the plan), a behavior's outcomes explored over a fleet of workers (`ExploreOutcomes`, whose decision nodes after each run are the choices the run meets on its way down, each taken at its first alternative — within the depth bound each leaves its second alternative on the queue, beyond it the depth bound is hit — the next alternative of the choice its prefix ended at, which it leaves while one is untried, the run budget, which caps the queue at the runs left and drops the rest, hitting the runs bound, and the head of the queue in plan order, every departure from the first run before any second one — so that the queue always drains, proves when neither bound was hit and observes otherwise), and three more state machines — the evidence ladder from not covered to proved, a worker's life in a plan, and a snapshot as a mark between steps with the two asks it refuses | | [execution.sysml](execution.sysml) | the runtime's instance layer, deep enough to draw: the effective feature a type's schema is made of, the object and the feature value it holds, and the six units the layer is — the schema built once per type (`FeaturesOf`), the allocator that claims an identity and folds only constant defaults (`materialize`), the lazy reader that makes a value on its first read (`GetFeatureValue`), the binding propagator that reads a bound feature from its far end, the admission every held value passes (multiplicity, type, uniqueness, the preferred unit), and the dependency tracker that sends a derived value back to be derived again when a value it read is written — with the value flows between them; around it, the run context, the scheduler with its thirteen kinds of choice and its policy spellings, and `ExecuteAction`, one action executed as an interaction: the surface's request, the declaration lowered to an action graph, the executor stepped with every choice put to the scheduler, each guard evaluated, each feature read lazily and each write invalidating what depended on it, then the trace and the results returned | -| [surfaces.sysml](surfaces.sysml) | the five interfaces over one pipeline (REPL, LSP with every capability it advertises, gRPC/Connect service, stdio service, CLI), the three that ask questions of the analysis framework with the engine selector, jobs setting and engine listing each exposes (`%engine`/`%jobs`/`%engines`, the `engine` request field, `OPENSYSML_JOBS` and `ListEngines`, `-engine`/`-jobs`/`-engines`), the protobuf schema they are generated from with its twenty-three RPCs, the five generated clients, the Julia and MATLAB clients that speak Connect-JSON by the wire contract instead, the VS Code extension and the Cameo and SysON integrations over the Java client, the editor pipeline (highlighting, quick fixes, suggestions, source edits, formatting, provenance), the view engine with the eight rendering kinds it recognises and the six it produces, the document path from a query in the model through the plan, the backend-agnostic tree and the three backends to Markdown, HTML or PDF (`RenderDocument` branches on the form, and on whether the PDF converters are installed), the exporter and its accepted format names, the SysML v1 migrator and the calc code generator, the twelve conformance oracles with their committed baselines and the pin, errata and census infrastructure behind them, and `Toolchain`, which holds all of it | +| [surfaces.sysml](surfaces.sysml) | the eleven interfaces over one pipeline (REPL, LSP with every capability it advertises, gRPC/Connect service, stdio service, CLI with its report formats, the MCP server that serves a coding agent over stdio or HTTP, the Jupyter kernel, and the four JSON-RPC commands a WebAssembly host runs), the three that ask questions of the analysis framework with the engine selector, jobs setting and engine listing each exposes (`%engine`/`%jobs`/`%engines`, the `engine` request field, `OPENSYSML_JOBS` and `ListEngines`, `-engine`/`-jobs`/`-engines`), the protobuf schema they are generated from with its twenty-three RPCs, the five generated clients, the Julia and MATLAB clients that speak Connect-JSON by the wire contract instead, the VS Code extension with its commands and diagram panel, the Jupyter kernel package and JupyterLab extension, and the Cameo and SysON integrations over the Java client, the editor pipeline (highlighting, quick fixes, suggestions, source edits, formatting, provenance), the view engine with the eight rendering kinds it recognises and the six it produces, the document path from a query in the model through the plan, the backend-agnostic tree and the three backends to Markdown, HTML or PDF (`RenderDocument` branches on the form, and on whether the PDF converters are installed), the Markdown and AsciiDoc parsers a prose body goes through, the exporter and its accepted format names, the SysML v1 migrator and the calc code generator, the thirteen conformance oracles with their committed baselines and the pin, errata and census infrastructure behind them, and `Toolchain`, which holds all of it | | [identity.sysml](identity.sysml) | the element-identity path: the `IdentityMetadata` library the ids are carried by, the encoder that derives an id from a qualified name, the side table that computes each element's effective id, the constraint-tier pass that checks the generated id space, the RDF writer and reader that carry identity through a graph, the Flexo harness that measures a live round trip, the repository sync that diffs a local model against its repository by effective id (`SyncModel`: scope, state, diff, conflicts, minting, write-back) with the `sysml -sync-*` flags that drive it, and the one phase of the [design record](../../docs/project/element-identity-annotations.md) not built — the notation extension filed with OMG | | [quality.sysml](quality.sysml) | fourteen architecture invariants as `requirement def`s bound to the modelled parts, the test runs that verify them as `verification def`s, the contributor's use case, and the allocation of every logical unit onto its directory in the source tree | | [document.sysml](document.sysml) | the architecture document itself, written in the notation: the queries it runs over the model, the sections and prose it is made of, the diagrams it embeds from [views.sysml](views.sysml), and the tables it generates from the model — so the document is a model element rather than a file someone maintains alongside one | -| [views.sysml](views.sysml) | thirty-eight views — the pipeline, toolchain, instance layer, analysis framework, editor pipeline and identity path as interconnection diagrams, the stage, engine, rendering-kind and invariant tables, the action and state flows including the library load, the calc invocation, the feature read, the question answered and the outcomes explored, the action executed as a sequence diagram, the document and identity round trips, the sync diff, the budget exits, the evidence ladder and the worker and snapshot lifecycles, the architectural layers as filtered exposes, and an overview that frames a maintainer's concern | +| [views.sysml](views.sysml) | forty views — the pipeline, toolchain, instance layer, analysis framework, editor pipeline and identity path as interconnection diagrams, the stage, engine, rendering-kind, surface, markup-parser and invariant tables, the action and state flows including the library load, the calc invocation, the feature read, the question answered and the outcomes explored, the action executed as a sequence diagram, the document and identity round trips, the sync diff, the budget exits, the evidence ladder and the worker and snapshot lifecycles, the architectural layers as filtered exposes, and an overview that frames a maintainer's concern | ## Analyse it @@ -217,7 +217,8 @@ That writes thirteen pages with the views pre-rendered as vector diagrams. ## Keeping it honest The model describes this implementation, so it goes stale the way documentation does. Three -things push back, all in [`../self_model_test.go`](../self_model_test.go): the model must +things push back, in [`../self_model_test.go`](../self_model_test.go) and +[`../self_model_surfaces_test.go`](../self_model_surfaces_test.go): the model must analyse clean, its invariant requirements must evaluate true, and the facts it declares are read back out of the analysed model and compared against the implementation. The figures first — the keyword count against `source.Keywords()`, the bundled library count against From 9c62e6bae07fb86cf1035f31d4e18129cccce5ee Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 25 Oct 2026 04:51:27 +0000 Subject: [PATCH 09/14] docs(self-model): PDF page count from a render at this head Co-Authored-By: jason.han --- examples/self-model/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/self-model/README.md b/examples/self-model/README.md index acbbac37b4..7a3003395b 100644 --- a/examples/self-model/README.md +++ b/examples/self-model/README.md @@ -212,7 +212,7 @@ and to PDF, converters installed: -o build/self-model/architecture.pdf ``` -That writes thirteen pages with the views pre-rendered as vector diagrams. +That writes thirty-six pages with the views pre-rendered as vector diagrams. ## Keeping it honest From 304df41bb9aea55e7422d0166cd3af4093adebbf Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 25 Oct 2026 05:10:53 +0000 Subject: [PATCH 10/14] test(referee): re-record the pilot and API-JSON differential baselines over the enlarged self-model The self-model's document.sysml gained two tables of the shape the existing ones have, so the pilot reports two more kind-mismatch warnings on it (2448 -> 2450 only-pilot, 3557 -> 3559 pilot diagnostics); the API-JSON differential's examples root grew with the new parts (26229 -> 26982 matched elements). No other root moved. The count lines docs-counts derives from the baselines follow. Co-Authored-By: jason.han --- .../testing-pilot-corpora-gate/SKILL.md | 2 +- .../testing-pilot-differential/SKILL.md | 4 +- .../testing-pilot-execution-referee/SKILL.md | 2 +- .agents/skills/testing-pilot-xpect/SKILL.md | 2 +- README.md | 4 +- docs/internals/architecture.md | 4 +- .../api-json-differential-baseline.json | 4636 ++++++++--------- docs/project/api-json-differential.md | 86 +- docs/project/pilot-differential-baseline.json | 86 +- docs/project/pilot-differential.md | 16 +- 10 files changed, 2427 insertions(+), 2415 deletions(-) diff --git a/.agents/skills/testing-pilot-corpora-gate/SKILL.md b/.agents/skills/testing-pilot-corpora-gate/SKILL.md index 53a1c07aea..9d8bd9d29e 100644 --- a/.agents/skills/testing-pilot-corpora-gate/SKILL.md +++ b/.agents/skills/testing-pilot-corpora-gate/SKILL.md @@ -184,7 +184,7 @@ gate's own helpers are package-private but reusable (`pilotCorporaGate.files(t)` `actionlint`, `shellcheck`, `python3 scripts/check-doc-links.py`, `gofmt`, `go vet`, `go run -C tools ./cmd/pilot-diff` (validators pre-downloaded; ~4min, prints e.g. the headline the committed baseline holds — `920 file(s), 517 fully agreeing; 1098 agreed -diagnostic(s), 366 only ours, 2448 only the pilot's` at the `2026-08` pin, so read it from +diagnostic(s), 366 only ours, 2450 only the pilot's` at the `2026-08` pin, so read it from `docs/project/pilot-differential-baseline.json` rather than from this line) and `make lint` (staticcheck+gosec, ~2min) all work. There is **no** `yamllint` and **no** `circleci` CLI, so `.circleci/config.yml` can only be parsed as YAML, not schema-validated — say so diff --git a/.agents/skills/testing-pilot-differential/SKILL.md b/.agents/skills/testing-pilot-differential/SKILL.md index cfcfcec064..568762c850 100644 --- a/.agents/skills/testing-pilot-differential/SKILL.md +++ b/.agents/skills/testing-pilot-differential/SKILL.md @@ -28,7 +28,7 @@ GNU-format diagnostics **relative to `--root`**. Consequences for testing: (`passes/literal_infinity.sysml`: `*` bound to a Boolean, a String, a part and an enumeration is our `binding-connector-type-conformance` error where the pilot warns, four severity-only pairs, and its `Integer[2] = *` count error is one only-ours row): `920 file(s), 517 fully agreeing; 1098 agreed, - 366 only ours, 2448 only the pilot's`, JSON totals `openSysMLDiagnostics 1475 / pilotDiagnostics 3557 / + 366 only ours, 2450 only the pilot's`, JSON totals `openSysMLDiagnostics 1475 / pilotDiagnostics 3559 / severityMismatch 11`; the two only-ours rows the multiplicity rule added are the expected `action-step-multiplicity-not-fixed` warnings on `training/18. Action Performance/Action Performance Example.sysml:10` and `pilot-examples/Camera Example/Camera.sysml:4`. ~2 min wall, byte-identical across runs *and* after a from-scratch rebuild of @@ -153,7 +153,7 @@ warning (the `[1]` `RocketEquation` inputs still produce the warning at `takePicture[*]` in `Camera Example/Camera.sysml`, and the view concern framing round retired the six view-body `frame` `syntax` rows on `examples`, and the unbounded-literal typing round added `passes/literal_infinity.sysml` (four severity-only pairs, one only-ours count error); a live run gives `920 file(s), 517 fully -agreeing; 1098 agreed, 366 only ours, 2448 only the pilot's`, byte-identical to the committed baseline, and +agreeing; 1098 agreed, 366 only ours, 2450 only the pilot's`, byte-identical to the committed baseline, and `docs/project/pilot-differential.md`'s "Results" table matches. The prior rebaseline, when the Legend of the Red Dragon example left for its own repository, gave `920 file(s), 517 fully agreeing; 1098 agreed, 366 only ours, 2448 only the pilot's`. diff --git a/.agents/skills/testing-pilot-execution-referee/SKILL.md b/.agents/skills/testing-pilot-execution-referee/SKILL.md index b9330c0454..3a151c9b7a 100644 --- a/.agents/skills/testing-pilot-execution-referee/SKILL.md +++ b/.agents/skills/testing-pilot-execution-referee/SKILL.md @@ -155,7 +155,7 @@ pilot answers the representation's own. See such file or directory`. - **Additivity.** `go run -C tools ./cmd/pilot-diff` must still print the headline the committed baseline holds (`920 file(s), 517 fully agreeing; 1098 agreed - diagnostic(s), 366 only ours, 2448 only the pilot's` at the `2026-08` pin — read it from the baseline JSON, not from this line, since each + diagnostic(s), 366 only ours, 2450 only the pilot's` at the `2026-08` pin — read it from the baseline JSON, not from this line, since each fix round moves it) and `jq -S` diff clean against `docs/project/pilot-differential-baseline.json`; `git status --porcelain` empty at the end. diff --git a/.agents/skills/testing-pilot-xpect/SKILL.md b/.agents/skills/testing-pilot-xpect/SKILL.md index ec01861016..4cf08fbfd1 100644 --- a/.agents/skills/testing-pilot-xpect/SKILL.md +++ b/.agents/skills/testing-pilot-xpect/SKILL.md @@ -424,7 +424,7 @@ census in `w5c_census_test.go` is live two ways: perturb one pinned triple (e.g. `go run -C tools ./cmd/pilot-diff` (~1m12s) must still print the headline the *committed* baseline holds — at the `2026-08` pin that is `920 file(s), 517 fully agreeing; 1098 agreed diagnostic(s), 366 -only ours, 2448 only the pilot's`. Read the number out of +only ours, 2450 only the pilot's`. Read the number out of `docs/project/pilot-differential-baseline.json` rather than trusting this line, since a landing fix round moves it. When the baseline is itself stale (it was at `19a3ce03`, holding 273 / 281 / 317), a failing `cmp` against it is *not* evidence of an Xpect regression — compare the summary line, and see diff --git a/README.md b/README.md index 5c787026fd..1ee7ded869 100644 --- a/README.md +++ b/README.md @@ -346,11 +346,11 @@ The project is under active development, with the core infrastructure operationa **Measured against the pinned reference** (`PILOT_TAG=2026-08`, artifact `0.62.0`). Every number below is generated by `make docs-counts` from the committed baselines and gated; none of them is typed in by hand. -- **Corpus agreement:** 517 of 920 files agree diagnostic-by-diagnostic; 366 diagnostics are ours alone and 2448 the reference's alone, and the first number must be read by root: the aggregate includes candidate conformance differences, intentional execution-scope warnings on reference corpora and diagnostics from our own examples ([differential](docs/project/pilot-differential.md), `go run -C tools ./cmd/pilot-diff`). +- **Corpus agreement:** 517 of 920 files agree diagnostic-by-diagnostic; 366 diagnostics are ours alone and 2450 the reference's alone, and the first number must be read by root: the aggregate includes candidate conformance differences, intentional execution-scope warnings on reference corpora and diagnostics from our own examples ([differential](docs/project/pilot-differential.md), `go run -C tools ./cmd/pilot-diff`). - **Declared-diagnostic silence:** of the 512 declared `errors` rows in the reference's own Xpect suites, we report nothing for 0. 245 we report word-for-word; 248 wording-only and 7 location-only differences are agreement in substance and are not counted as gaps; 0 more we report as a warning and 2 elsewhere in the file ([Xpect oracle](docs/project/pilot-xpect.md), `go run -C tools ./cmd/pilot-xpect`). - **Scope agreement:** 230 of 230 declared scope assertions match exactly (same source). - **Permissiveness gaps:** of 348 invalid models we wrote ourselves, the reference rejects 5 that we accept by default, and 331 both reject; 5 further cases agree only when we are asked strictly. We authored every one of these cases ourselves, so the denominator measures the reach of our own corpus and not our conformance; agreement reached only under an opt-in strict mode is weaker evidence than agreement by default ([rejection oracle](docs/project/pilot-rejection.md), `go run -C tools ./cmd/pilot-reject`). -- **Declared errata:** the registry declares 16 defect(s) in the published reference material — 9 with a specification-derived correction, 7 documented without one, since no intended reading can be inferred ([OMG issues](docs/project/omg-issues.md), `tools/oracle/errata`). Every figure above is as published and stays the conformance statement; running the same oracles over the corrected text instead reports 518 of 920 files agreeing, 365 diagnostics ours alone and 2448 the reference's alone, 0 declared rows we are silent on, and 0 of 348 authored cases the reference alone rejects. The corrected figures are diagnostic only: an erratum never reclassifies a divergence category, and the published corpus is never edited. +- **Declared errata:** the registry declares 16 defect(s) in the published reference material — 9 with a specification-derived correction, 7 documented without one, since no intended reading can be inferred ([OMG issues](docs/project/omg-issues.md), `tools/oracle/errata`). Every figure above is as published and stays the conformance statement; running the same oracles over the corrected text instead reports 518 of 920 files agreeing, 365 diagnostics ours alone and 2450 the reference's alone, 0 declared rows we are silent on, and 0 of 348 authored cases the reference alone rejects. The corrected figures are diagnostic only: an erratum never reclassifies a divergence category, and the published corpus is never edited. - **Self-assessed surface:** the action, state-machine and classifier-behavior rows have no external referee at all — the four refereed figures above cannot see them, because the pinned artifact evaluates expressions but executes neither actions nor state machines. [Spec compliance](docs/project/spec-compliance.md) counts them. What these numbers cannot show: the OMG corpora are demonstrations rather than an official conformance suite; the differential is one-directional, comparing the diagnostics the two implementations report on the same files; the Xpect suites are the pilot authors' test intent rather than a certification oracle; and none of these is a percentage of the specification — no global compliance figure is claimed anywhere. diff --git a/docs/internals/architecture.md b/docs/internals/architecture.md index 0bc0e6ffdc..f96fbbf4f9 100644 --- a/docs/internals/architecture.md +++ b/docs/internals/architecture.md @@ -859,11 +859,11 @@ Every behavioral feature must have: **Measured against the pinned reference** (`PILOT_TAG=2026-08`, artifact `0.62.0`). Every number below is generated by `make docs-counts` from the committed baselines and gated; none of them is typed in by hand. -- **Corpus agreement:** 517 of 920 files agree diagnostic-by-diagnostic; 366 diagnostics are ours alone and 2448 the reference's alone, and the first number must be read by root: the aggregate includes candidate conformance differences, intentional execution-scope warnings on reference corpora and diagnostics from our own examples ([differential](../project/pilot-differential.md), `go run -C tools ./cmd/pilot-diff`). +- **Corpus agreement:** 517 of 920 files agree diagnostic-by-diagnostic; 366 diagnostics are ours alone and 2450 the reference's alone, and the first number must be read by root: the aggregate includes candidate conformance differences, intentional execution-scope warnings on reference corpora and diagnostics from our own examples ([differential](../project/pilot-differential.md), `go run -C tools ./cmd/pilot-diff`). - **Declared-diagnostic silence:** of the 512 declared `errors` rows in the reference's own Xpect suites, we report nothing for 0. 245 we report word-for-word; 248 wording-only and 7 location-only differences are agreement in substance and are not counted as gaps; 0 more we report as a warning and 2 elsewhere in the file ([Xpect oracle](../project/pilot-xpect.md), `go run -C tools ./cmd/pilot-xpect`). - **Scope agreement:** 230 of 230 declared scope assertions match exactly (same source). - **Permissiveness gaps:** of 348 invalid models we wrote ourselves, the reference rejects 5 that we accept by default, and 331 both reject; 5 further cases agree only when we are asked strictly. We authored every one of these cases ourselves, so the denominator measures the reach of our own corpus and not our conformance; agreement reached only under an opt-in strict mode is weaker evidence than agreement by default ([rejection oracle](../project/pilot-rejection.md), `go run -C tools ./cmd/pilot-reject`). -- **Declared errata:** the registry declares 16 defect(s) in the published reference material — 9 with a specification-derived correction, 7 documented without one, since no intended reading can be inferred ([OMG issues](../project/omg-issues.md), `tools/oracle/errata`). Every figure above is as published and stays the conformance statement; running the same oracles over the corrected text instead reports 518 of 920 files agreeing, 365 diagnostics ours alone and 2448 the reference's alone, 0 declared rows we are silent on, and 0 of 348 authored cases the reference alone rejects. The corrected figures are diagnostic only: an erratum never reclassifies a divergence category, and the published corpus is never edited. +- **Declared errata:** the registry declares 16 defect(s) in the published reference material — 9 with a specification-derived correction, 7 documented without one, since no intended reading can be inferred ([OMG issues](../project/omg-issues.md), `tools/oracle/errata`). Every figure above is as published and stays the conformance statement; running the same oracles over the corrected text instead reports 518 of 920 files agreeing, 365 diagnostics ours alone and 2450 the reference's alone, 0 declared rows we are silent on, and 0 of 348 authored cases the reference alone rejects. The corrected figures are diagnostic only: an erratum never reclassifies a divergence category, and the published corpus is never edited. - **Self-assessed surface:** the action, state-machine and classifier-behavior rows have no external referee at all — the four refereed figures above cannot see them, because the pinned artifact evaluates expressions but executes neither actions nor state machines. [Spec compliance](../project/spec-compliance.md) counts them. What these numbers cannot show: the OMG corpora are demonstrations rather than an official conformance suite; the differential is one-directional, comparing the diagnostics the two implementations report on the same files; the Xpect suites are the pilot authors' test intent rather than a certification oracle; and none of these is a percentage of the specification — no global compliance figure is claimed anywhere. diff --git a/docs/project/api-json-differential-baseline.json b/docs/project/api-json-differential-baseline.json index 2da8c93e13..7906f9fef5 100644 --- a/docs/project/api-json-differential-baseline.json +++ b/docs/project/api-json-differential-baseline.json @@ -65,7 +65,7 @@ "dir": "examples", "origin": "ours", "files": 52, - "digest": "sha256:451596b19bfcca198268d5b8ef8f3d307cedb69ebfa73521d1798d8f6d4b8c4f" + "digest": "sha256:39c218f3362255947ae0cb31c1429bac4244d02261f0ac0eaf0a06b67680b005" }, { "name": "probes", @@ -113,34 +113,34 @@ "pilotFailed": 56, "pilotLibraryElements": 33993, "elements": { - "matched": 91817, - "oursOnly": 18396, - "pilotOnly": 37359, + "matched": 92570, + "oursOnly": 18486, + "pilotOnly": 37647, "pilotOnlyImplied": 0, "typeMismatch": 1729 }, "properties": { - "presentEqual": 1113691, - "presentDifferent": 27125, - "oursMissing": 1066771, - "pilotMissing": 67750, - "absentBoth": 1959166, - "indeterminate": 26051 + "presentEqual": 1123072, + "presentDifferent": 27387, + "oursMissing": 1075538, + "pilotMissing": 68357, + "absentBoth": 1976159, + "indeterminate": 26394 }, "rows": 11730, - "unkeyedReferences": 111079, - "extensionProperties": 159023, + "unkeyedReferences": 112172, + "extensionProperties": 160206, "duplicateElements": { "ours": 527, - "pilot": 78121 + "pilot": 82679 }, "ambiguousKeys": { "ours": 287, "pilot": 347 }, "unkeyableElements": { - "ours": 16850, - "pilot": 31317 + "ours": 17040, + "pilot": 32159 } }, "roots": [ @@ -366,31 +366,31 @@ "oursColliding": 3, "pilotLibraryElements": 13888, "elements": { - "matched": 26229, - "oursOnly": 5956, - "pilotOnly": 14770, + "matched": 26982, + "oursOnly": 6046, + "pilotOnly": 15058, "pilotOnlyImplied": 0, "typeMismatch": 186 }, "properties": { - "presentEqual": 324238, - "presentDifferent": 8033, - "oursMissing": 314235, - "pilotMissing": 19456, - "absentBoth": 583089, - "indeterminate": 9526 + "presentEqual": 333619, + "presentDifferent": 8295, + "oursMissing": 323002, + "pilotMissing": 20063, + "absentBoth": 600082, + "indeterminate": 9869 }, "duplicateElements": { "ours": 423, - "pilot": 59705 + "pilot": 64263 }, "ambiguousKeys": { "ours": 176, "pilot": 82 }, "unkeyableElements": { - "ours": 7766, - "pilot": 17717 + "ours": 7956, + "pilot": 18559 } }, { @@ -10102,13 +10102,13 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.attributeDefinition": [ 0, 0, - 2464, + 2541, 0, 0, 0 @@ -10118,15 +10118,15 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.declaredName": [ - 1519, + 1564, 0, 0, 0, - 945, + 977, 0 ], "AttributeUsage.declaredShortName": [ @@ -10134,13 +10134,13 @@ 0, 0, 0, - 2457, + 2534, 0 ], "AttributeUsage.definition": [ 0, 0, - 2464, + 2541, 0, 0, 0 @@ -10150,7 +10150,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.directedFeature": [ @@ -10158,7 +10158,7 @@ 0, 2, 0, - 2462, + 2539, 0 ], "AttributeUsage.directedUsage": [ @@ -10166,7 +10166,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.direction": [ @@ -10174,7 +10174,7 @@ 0, 0, 0, - 2384, + 2461, 0 ], "AttributeUsage.documentation": [ @@ -10182,7 +10182,7 @@ 0, 8, 0, - 2456, + 2533, 0 ], "AttributeUsage.endFeature": [ @@ -10190,13 +10190,13 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.feature": [ 0, 0, - 2464, + 2541, 0, 0, 0 @@ -10204,7 +10204,7 @@ "AttributeUsage.featureMembership": [ 0, 0, - 2464, + 2541, 0, 0, 0 @@ -10212,7 +10212,7 @@ "AttributeUsage.featureTarget": [ 0, 0, - 2464, + 2541, 0, 0, 0 @@ -10220,7 +10220,7 @@ "AttributeUsage.featuringType": [ 0, 0, - 2309, + 2386, 0, 155, 0 @@ -10230,13 +10230,13 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.inheritedFeature": [ 0, 0, - 2464, + 2541, 0, 0, 0 @@ -10244,7 +10244,7 @@ "AttributeUsage.inheritedMembership": [ 0, 0, - 2464, + 2541, 0, 0, 0 @@ -10254,7 +10254,7 @@ 0, 2, 0, - 2462, + 2539, 0 ], "AttributeUsage.intersectingType": [ @@ -10262,11 +10262,11 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.isAbstract": [ - 2464, + 2541, 0, 0, 0, @@ -10274,7 +10274,7 @@ 0 ], "AttributeUsage.isComposite": [ - 2464, + 2541, 0, 0, 0, @@ -10284,13 +10284,13 @@ "AttributeUsage.isConjugated": [ 0, 0, - 2464, + 2541, 0, 0, 0 ], "AttributeUsage.isConstant": [ - 2464, + 2541, 0, 0, 0, @@ -10301,12 +10301,12 @@ 0, 0, 0, - 35, + 37, 0, 0 ], "AttributeUsage.isDerived": [ - 2464, + 2541, 0, 0, 0, @@ -10314,7 +10314,7 @@ 0 ], "AttributeUsage.isEnd": [ - 2464, + 2541, 0, 0, 0, @@ -10322,7 +10322,7 @@ 0 ], "AttributeUsage.isImpliedIncluded": [ - 2464, + 2541, 0, 0, 0, @@ -10340,13 +10340,13 @@ "AttributeUsage.isLibraryElement": [ 0, 0, - 2464, + 2541, 0, 0, 0 ], "AttributeUsage.isOrdered": [ - 2464, + 2541, 0, 0, 0, @@ -10354,7 +10354,7 @@ 0 ], "AttributeUsage.isPortion": [ - 2464, + 2541, 0, 0, 0, @@ -10364,7 +10364,7 @@ "AttributeUsage.isReference": [ 4, 0, - 2460, + 2537, 0, 0, 0 @@ -10378,7 +10378,7 @@ 0 ], "AttributeUsage.isSufficient": [ - 2464, + 2541, 0, 0, 0, @@ -10386,7 +10386,7 @@ 0 ], "AttributeUsage.isUnique": [ - 2464, + 2541, 0, 0, 0, @@ -10396,7 +10396,7 @@ "AttributeUsage.isVariable": [ 0, 0, - 2122, + 2199, 0, 342, 0 @@ -10410,7 +10410,7 @@ 0 ], "AttributeUsage.isVariation": [ - 2464, + 2541, 0, 0, 0, @@ -10428,7 +10428,7 @@ "AttributeUsage.mayTimeVary": [ 0, 0, - 2464, + 2541, 0, 0, 0 @@ -10436,7 +10436,7 @@ "AttributeUsage.member": [ 0, 0, - 2464, + 2541, 0, 0, 0 @@ -10444,7 +10444,7 @@ "AttributeUsage.membership": [ 0, 0, - 2464, + 2541, 0, 0, 0 @@ -10452,15 +10452,15 @@ "AttributeUsage.multiplicity": [ 91, 0, - 1227, + 1272, 0, 0, 0 ], "AttributeUsage.name": [ - 938, + 970, 0, - 1519, + 1564, 0, 0, 0 @@ -10470,7 +10470,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedAllocation": [ @@ -10478,7 +10478,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedAnalysisCase": [ @@ -10486,7 +10486,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedAttribute": [ @@ -10494,7 +10494,7 @@ 0, 32, 0, - 2432, + 2509, 0 ], "AttributeUsage.nestedCalculation": [ @@ -10502,7 +10502,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedCase": [ @@ -10510,7 +10510,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedConcern": [ @@ -10518,7 +10518,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedConnection": [ @@ -10526,7 +10526,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedConstraint": [ @@ -10534,7 +10534,7 @@ 0, 2, 0, - 2462, + 2539, 0 ], "AttributeUsage.nestedEnumeration": [ @@ -10542,7 +10542,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedFlow": [ @@ -10550,7 +10550,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedInterface": [ @@ -10558,7 +10558,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedItem": [ @@ -10566,7 +10566,7 @@ 0, 4, 0, - 2460, + 2537, 0 ], "AttributeUsage.nestedMetadata": [ @@ -10574,7 +10574,7 @@ 0, 9, 0, - 2455, + 2532, 0 ], "AttributeUsage.nestedOccurrence": [ @@ -10582,7 +10582,7 @@ 0, 6, 0, - 2458, + 2535, 0 ], "AttributeUsage.nestedPart": [ @@ -10590,7 +10590,7 @@ 0, 1, 0, - 2463, + 2540, 0 ], "AttributeUsage.nestedPort": [ @@ -10598,7 +10598,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedReference": [ @@ -10606,7 +10606,7 @@ 0, 65, 0, - 2399, + 2476, 0 ], "AttributeUsage.nestedRendering": [ @@ -10614,7 +10614,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedRequirement": [ @@ -10622,7 +10622,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedState": [ @@ -10630,7 +10630,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedTransition": [ @@ -10638,7 +10638,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedUsage": [ @@ -10646,7 +10646,7 @@ 0, 97, 0, - 2367, + 2444, 0 ], "AttributeUsage.nestedUseCase": [ @@ -10654,7 +10654,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedVerificationCase": [ @@ -10662,7 +10662,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedView": [ @@ -10670,7 +10670,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedViewpoint": [ @@ -10678,7 +10678,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.output": [ @@ -10686,7 +10686,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.ownedAnnotation": [ @@ -10694,7 +10694,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.ownedDifferencing": [ @@ -10702,7 +10702,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.ownedDisjoining": [ @@ -10710,13 +10710,13 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.ownedElement": [ 0, 0, - 2381, + 2458, 0, 83, 0 @@ -10726,7 +10726,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.ownedFeature": [ @@ -10734,7 +10734,7 @@ 0, 0, 0, - 2367, + 2444, 0 ], "AttributeUsage.ownedFeatureChaining": [ @@ -10742,7 +10742,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.ownedFeatureInverting": [ @@ -10750,7 +10750,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.ownedFeatureMembership": [ @@ -10758,7 +10758,7 @@ 0, 0, 0, - 2367, + 2444, 0 ], "AttributeUsage.ownedImport": [ @@ -10766,7 +10766,7 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.ownedIntersecting": [ @@ -10774,31 +10774,31 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.ownedMember": [ 62, 54, - 2264, + 2341, 0, 84, 0 ], "AttributeUsage.ownedMembership": [ - 1147, - 624, - 609, + 1179, + 667, + 611, 0, 84, 0 ], "AttributeUsage.ownedRedefinition": [ - 989, + 1021, 0, 0, 0, - 1475, + 1520, 0 ], "AttributeUsage.ownedReferenceSubsetting": [ @@ -10810,15 +10810,15 @@ 0 ], "AttributeUsage.ownedRelationship": [ - 1212, - 1197, + 1244, + 1242, 36, 0, 19, 0 ], "AttributeUsage.ownedSpecialization": [ - 2301, + 2378, 0, 0, 0, @@ -10826,11 +10826,11 @@ 0 ], "AttributeUsage.ownedSubsetting": [ - 1201, + 1233, 0, 0, 0, - 1263, + 1308, 0 ], "AttributeUsage.ownedTypeFeaturing": [ @@ -10838,15 +10838,15 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.ownedTyping": [ - 1137, + 1182, 0, 0, 0, - 1327, + 1359, 0 ], "AttributeUsage.ownedUnioning": [ @@ -10854,11 +10854,11 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.owner": [ - 2464, + 2541, 0, 0, 0, @@ -10868,7 +10868,7 @@ "AttributeUsage.owningDefinition": [ 0, 0, - 1394, + 1468, 0, 0, 0 @@ -10876,13 +10876,13 @@ "AttributeUsage.owningFeatureMembership": [ 0, 0, - 2295, + 2372, 0, 0, 0 ], "AttributeUsage.owningMembership": [ - 2448, + 2525, 16, 0, 0, @@ -10890,7 +10890,7 @@ 0 ], "AttributeUsage.owningNamespace": [ - 2462, + 2539, 0, 2, 0, @@ -10898,7 +10898,7 @@ 0 ], "AttributeUsage.owningRelationship": [ - 2448, + 2525, 16, 0, 0, @@ -10908,7 +10908,7 @@ "AttributeUsage.owningType": [ 0, 0, - 2295, + 2372, 0, 0, 0 @@ -10916,13 +10916,13 @@ "AttributeUsage.owningUsage": [ 0, 0, - 899, + 902, 0, 0, 0 ], "AttributeUsage.qualifiedName": [ - 2448, + 2525, 0, 0, 0, @@ -10933,7 +10933,7 @@ 0, 0, 0, - 989, + 1021, 0, 0 ], @@ -10966,23 +10966,23 @@ 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.type": [ 114, 1, - 1334, + 1366, 0, 0, - 1015 + 1060 ], "AttributeUsage.unioningType": [ 0, 0, 0, 0, - 2464, + 2541, 0 ], "AttributeUsage.upperBound": [ @@ -10998,14 +10998,14 @@ 0, 711, 0, - 1753, + 1830, 0 ], "AttributeUsage.value": [ 0, 0, 0, - 1621, + 1696, 0, 0 ], @@ -11014,7 +11014,7 @@ 0, 0, 0, - 2457, + 2534, 0 ], "AttributeUsage.variantMembership": [ @@ -11022,7 +11022,7 @@ 0, 0, 0, - 2457, + 2534, 0 ], "AttributeUsage.visibility": [ @@ -13566,7 +13566,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.aliasIds": [ @@ -13574,7 +13574,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.calculation": [ @@ -13582,11 +13582,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.declaredName": [ - 173, + 175, 0, 0, 0, @@ -13598,7 +13598,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.differencingType": [ @@ -13606,13 +13606,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.directedFeature": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13620,7 +13620,7 @@ "CalculationDefinition.directedUsage": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13630,7 +13630,7 @@ 0, 1, 0, - 172, + 174, 0 ], "CalculationDefinition.endFeature": [ @@ -13638,7 +13638,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.expression": [ @@ -13646,13 +13646,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.feature": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13660,7 +13660,7 @@ "CalculationDefinition.featureMembership": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13670,13 +13670,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.inheritedFeature": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13684,7 +13684,7 @@ "CalculationDefinition.inheritedMembership": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13692,7 +13692,7 @@ "CalculationDefinition.input": [ 0, 0, - 148, + 150, 0, 25, 0 @@ -13702,11 +13702,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.isAbstract": [ - 173, + 175, 0, 0, 0, @@ -13716,13 +13716,13 @@ "CalculationDefinition.isConjugated": [ 0, 0, - 173, + 175, 0, 0, 0 ], "CalculationDefinition.isImpliedIncluded": [ - 173, + 175, 0, 0, 0, @@ -13730,7 +13730,7 @@ 0 ], "CalculationDefinition.isIndividual": [ - 173, + 175, 0, 0, 0, @@ -13740,7 +13740,7 @@ "CalculationDefinition.isLibraryElement": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13748,13 +13748,13 @@ "CalculationDefinition.isModelLevelEvaluable": [ 0, 0, - 173, + 175, 0, 0, 0 ], "CalculationDefinition.isSufficient": [ - 173, + 175, 0, 0, 0, @@ -13762,7 +13762,7 @@ 0 ], "CalculationDefinition.isVariation": [ - 173, + 175, 0, 0, 0, @@ -13772,7 +13772,7 @@ "CalculationDefinition.member": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13780,7 +13780,7 @@ "CalculationDefinition.membership": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13788,7 +13788,7 @@ "CalculationDefinition.name": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13796,7 +13796,7 @@ "CalculationDefinition.output": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13806,7 +13806,7 @@ 0, 2, 0, - 171, + 173, 0 ], "CalculationDefinition.ownedAllocation": [ @@ -13814,7 +13814,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedAnalysisCase": [ @@ -13822,7 +13822,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedAnnotation": [ @@ -13830,7 +13830,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedAttribute": [ @@ -13838,7 +13838,7 @@ 0, 11, 0, - 162, + 164, 0 ], "CalculationDefinition.ownedCalculation": [ @@ -13846,7 +13846,7 @@ 0, 1, 0, - 172, + 174, 0 ], "CalculationDefinition.ownedCase": [ @@ -13854,7 +13854,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedConcern": [ @@ -13862,7 +13862,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedConnection": [ @@ -13870,7 +13870,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedConstraint": [ @@ -13878,7 +13878,7 @@ 0, 2, 0, - 171, + 173, 0 ], "CalculationDefinition.ownedDifferencing": [ @@ -13886,7 +13886,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedDisjoining": [ @@ -13894,13 +13894,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedElement": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13910,7 +13910,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedEnumeration": [ @@ -13918,11 +13918,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedFeature": [ - 134, + 136, 39, 0, 0, @@ -13930,7 +13930,7 @@ 0 ], "CalculationDefinition.ownedFeatureMembership": [ - 172, + 174, 1, 0, 0, @@ -13942,7 +13942,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedImport": [ @@ -13950,7 +13950,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedInterface": [ @@ -13958,7 +13958,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedIntersecting": [ @@ -13966,7 +13966,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedItem": [ @@ -13974,11 +13974,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedMember": [ - 134, + 136, 39, 0, 0, @@ -13986,7 +13986,7 @@ 0 ], "CalculationDefinition.ownedMembership": [ - 172, + 174, 1, 0, 0, @@ -13998,7 +13998,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedOccurrence": [ @@ -14006,7 +14006,7 @@ 0, 4, 0, - 169, + 171, 0 ], "CalculationDefinition.ownedPart": [ @@ -14014,7 +14014,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedPort": [ @@ -14022,19 +14022,19 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedReference": [ 0, 0, - 148, + 150, 0, 25, 0 ], "CalculationDefinition.ownedRelationship": [ - 172, + 174, 1, 0, 0, @@ -14046,7 +14046,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedRequirement": [ @@ -14054,11 +14054,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedSpecialization": [ - 103, + 105, 0, 0, 0, @@ -14070,11 +14070,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedSubclassification": [ - 103, + 105, 0, 0, 0, @@ -14086,7 +14086,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedUnioning": [ @@ -14094,13 +14094,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedUsage": [ 0, 0, - 149, + 151, 0, 24, 0 @@ -14110,7 +14110,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedVerificationCase": [ @@ -14118,7 +14118,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedView": [ @@ -14126,7 +14126,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedViewpoint": [ @@ -14134,11 +14134,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.owner": [ - 173, + 175, 0, 0, 0, @@ -14146,7 +14146,7 @@ 0 ], "CalculationDefinition.owningMembership": [ - 164, + 166, 9, 0, 0, @@ -14154,7 +14154,7 @@ 0 ], "CalculationDefinition.owningNamespace": [ - 173, + 175, 0, 0, 0, @@ -14162,7 +14162,7 @@ 0 ], "CalculationDefinition.owningRelationship": [ - 164, + 166, 9, 0, 0, @@ -14172,13 +14172,13 @@ "CalculationDefinition.parameter": [ 0, 0, - 173, + 175, 0, 0, 0 ], "CalculationDefinition.qualifiedName": [ - 173, + 175, 0, 0, 0, @@ -14188,7 +14188,7 @@ "CalculationDefinition.result": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -14197,14 +14197,14 @@ 0, 0, 0, - 103, + 105, 0, 0 ], "CalculationDefinition.step": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -14214,7 +14214,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.unioningType": [ @@ -14222,13 +14222,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.usage": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -14238,7 +14238,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.variantMembership": [ @@ -14246,13 +14246,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationUsage.actionDefinition": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14262,13 +14262,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.behavior": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14276,7 +14276,7 @@ "CalculationUsage.calculationDefinition": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14286,11 +14286,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.declaredName": [ - 100, + 102, 0, 0, 0, @@ -14302,13 +14302,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.definition": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14318,13 +14318,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.directedFeature": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14332,7 +14332,7 @@ "CalculationUsage.directedUsage": [ 0, 0, - 113, + 115, 0, 1, 0 @@ -14342,7 +14342,7 @@ 0, 0, 0, - 105, + 107, 0 ], "CalculationUsage.documentation": [ @@ -14350,7 +14350,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.endFeature": [ @@ -14358,13 +14358,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.feature": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14372,7 +14372,7 @@ "CalculationUsage.featureMembership": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14380,7 +14380,7 @@ "CalculationUsage.featureTarget": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14388,7 +14388,7 @@ "CalculationUsage.featuringType": [ 0, 0, - 92, + 94, 0, 22, 0 @@ -14396,7 +14396,7 @@ "CalculationUsage.function": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14406,13 +14406,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.inheritedFeature": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14420,7 +14420,7 @@ "CalculationUsage.inheritedMembership": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14428,7 +14428,7 @@ "CalculationUsage.input": [ 0, 0, - 98, + 100, 0, 16, 0 @@ -14438,11 +14438,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.isAbstract": [ - 114, + 116, 0, 0, 0, @@ -14450,7 +14450,7 @@ 0 ], "CalculationUsage.isComposite": [ - 114, + 116, 0, 0, 0, @@ -14460,13 +14460,13 @@ "CalculationUsage.isConjugated": [ 0, 0, - 114, + 116, 0, 0, 0 ], "CalculationUsage.isConstant": [ - 114, + 116, 0, 0, 0, @@ -14474,7 +14474,7 @@ 0 ], "CalculationUsage.isDerived": [ - 114, + 116, 0, 0, 0, @@ -14482,7 +14482,7 @@ 0 ], "CalculationUsage.isEnd": [ - 114, + 116, 0, 0, 0, @@ -14490,7 +14490,7 @@ 0 ], "CalculationUsage.isImpliedIncluded": [ - 114, + 116, 0, 0, 0, @@ -14498,7 +14498,7 @@ 0 ], "CalculationUsage.isIndividual": [ - 114, + 116, 0, 0, 0, @@ -14508,7 +14508,7 @@ "CalculationUsage.isLibraryElement": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14516,13 +14516,13 @@ "CalculationUsage.isModelLevelEvaluable": [ 0, 0, - 114, + 116, 0, 0, 0 ], "CalculationUsage.isOrdered": [ - 114, + 116, 0, 0, 0, @@ -14530,7 +14530,7 @@ 0 ], "CalculationUsage.isPortion": [ - 114, + 116, 0, 0, 0, @@ -14540,13 +14540,13 @@ "CalculationUsage.isReference": [ 0, 0, - 114, + 116, 0, 0, 0 ], "CalculationUsage.isSufficient": [ - 114, + 116, 0, 0, 0, @@ -14554,7 +14554,7 @@ 0 ], "CalculationUsage.isUnique": [ - 114, + 116, 0, 0, 0, @@ -14566,11 +14566,11 @@ 0, 9, 0, - 105, + 107, 0 ], "CalculationUsage.isVariation": [ - 114, + 116, 0, 0, 0, @@ -14580,7 +14580,7 @@ "CalculationUsage.mayTimeVary": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14588,7 +14588,7 @@ "CalculationUsage.member": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14596,7 +14596,7 @@ "CalculationUsage.membership": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14604,7 +14604,7 @@ "CalculationUsage.name": [ 12, 0, - 100, + 102, 0, 0, 0 @@ -14614,7 +14614,7 @@ 0, 2, 0, - 112, + 114, 0 ], "CalculationUsage.nestedAllocation": [ @@ -14622,7 +14622,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedAnalysisCase": [ @@ -14630,7 +14630,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedAttribute": [ @@ -14638,7 +14638,7 @@ 0, 3, 0, - 111, + 113, 0 ], "CalculationUsage.nestedCalculation": [ @@ -14646,7 +14646,7 @@ 0, 2, 0, - 112, + 114, 0 ], "CalculationUsage.nestedCase": [ @@ -14654,7 +14654,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedConcern": [ @@ -14662,7 +14662,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedConnection": [ @@ -14670,7 +14670,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedConstraint": [ @@ -14678,7 +14678,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedEnumeration": [ @@ -14686,7 +14686,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedFlow": [ @@ -14694,7 +14694,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedInterface": [ @@ -14702,7 +14702,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedItem": [ @@ -14710,7 +14710,7 @@ 0, 6, 0, - 108, + 110, 0 ], "CalculationUsage.nestedMetadata": [ @@ -14718,7 +14718,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedOccurrence": [ @@ -14726,7 +14726,7 @@ 0, 6, 0, - 108, + 110, 0 ], "CalculationUsage.nestedPart": [ @@ -14734,7 +14734,7 @@ 0, 6, 0, - 108, + 110, 0 ], "CalculationUsage.nestedPort": [ @@ -14742,13 +14742,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedReference": [ 0, 0, - 82, + 84, 0, 32, 0 @@ -14758,7 +14758,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedRequirement": [ @@ -14766,7 +14766,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedState": [ @@ -14774,7 +14774,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedTransition": [ @@ -14782,13 +14782,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedUsage": [ 0, 0, - 84, + 86, 0, 30, 0 @@ -14798,7 +14798,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedVerificationCase": [ @@ -14806,7 +14806,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedView": [ @@ -14814,7 +14814,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedViewpoint": [ @@ -14822,13 +14822,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.occurrenceDefinition": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14836,7 +14836,7 @@ "CalculationUsage.output": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14846,7 +14846,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedDifferencing": [ @@ -14854,7 +14854,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedDisjoining": [ @@ -14862,13 +14862,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedElement": [ 0, 0, - 92, + 94, 0, 22, 0 @@ -14878,11 +14878,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedFeature": [ - 86, + 88, 4, 0, 1, @@ -14894,7 +14894,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedFeatureInverting": [ @@ -14902,11 +14902,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedFeatureMembership": [ - 90, + 92, 0, 0, 1, @@ -14918,7 +14918,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedIntersecting": [ @@ -14926,11 +14926,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedMember": [ - 86, + 88, 4, 2, 1, @@ -14938,7 +14938,7 @@ 0 ], "CalculationUsage.ownedMembership": [ - 92, + 94, 0, 0, 1, @@ -14950,11 +14950,11 @@ 0, 0, 0, - 102, + 104, 0 ], "CalculationUsage.ownedRelationship": [ - 113, + 115, 1, 0, 0, @@ -14962,7 +14962,7 @@ 0 ], "CalculationUsage.ownedSpecialization": [ - 95, + 97, 0, 0, 0, @@ -14974,7 +14974,7 @@ 0, 0, 0, - 96, + 98, 0 ], "CalculationUsage.ownedTypeFeaturing": [ @@ -14982,11 +14982,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedTyping": [ - 79, + 81, 0, 0, 0, @@ -14998,11 +14998,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.owner": [ - 114, + 116, 0, 0, 0, @@ -15020,13 +15020,13 @@ "CalculationUsage.owningFeatureMembership": [ 0, 0, - 92, + 94, 0, 0, 0 ], "CalculationUsage.owningMembership": [ - 114, + 116, 0, 0, 0, @@ -15034,7 +15034,7 @@ 0 ], "CalculationUsage.owningNamespace": [ - 114, + 116, 0, 0, 0, @@ -15042,7 +15042,7 @@ 0 ], "CalculationUsage.owningRelationship": [ - 114, + 116, 0, 0, 0, @@ -15052,7 +15052,7 @@ "CalculationUsage.owningType": [ 0, 0, - 92, + 94, 0, 0, 0 @@ -15060,7 +15060,7 @@ "CalculationUsage.owningUsage": [ 0, 0, - 88, + 90, 0, 0, 0 @@ -15068,7 +15068,7 @@ "CalculationUsage.parameter": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -15078,11 +15078,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.qualifiedName": [ - 112, + 114, 0, 0, 0, @@ -15100,7 +15100,7 @@ "CalculationUsage.result": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -15118,11 +15118,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.type": [ - 72, + 74, 0, 38, 0, @@ -15134,13 +15134,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.usage": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -15158,7 +15158,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.variantMembership": [ @@ -15166,7 +15166,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CaseDefinition.action": [ @@ -21894,13 +21894,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.association": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -21910,27 +21910,27 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.connectionDefinition": [ 0, 0, - 79, + 87, 0, 0, 0 ], "ConnectionUsage.connectorEnd": [ 1, - 71, + 79, 7, 0, 0, 0 ], "ConnectionUsage.declaredName": [ - 79, + 87, 0, 0, 0, @@ -21942,13 +21942,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.defaultFeaturingType": [ 0, 0, - 55, + 63, 0, 0, 0 @@ -21956,7 +21956,7 @@ "ConnectionUsage.definition": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -21966,7 +21966,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.directedFeature": [ @@ -21974,7 +21974,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.directedUsage": [ @@ -21982,7 +21982,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.direction": [ @@ -21990,7 +21990,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.documentation": [ @@ -21998,13 +21998,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.endFeature": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22012,7 +22012,7 @@ "ConnectionUsage.feature": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22020,7 +22020,7 @@ "ConnectionUsage.featureMembership": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22028,7 +22028,7 @@ "ConnectionUsage.featureTarget": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22036,7 +22036,7 @@ "ConnectionUsage.featuringType": [ 0, 0, - 55, + 63, 0, 24, 0 @@ -22046,13 +22046,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.inheritedFeature": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22060,7 +22060,7 @@ "ConnectionUsage.inheritedMembership": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22070,7 +22070,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.intersectingType": [ @@ -22078,11 +22078,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.isAbstract": [ - 79, + 87, 0, 0, 0, @@ -22090,7 +22090,7 @@ 0 ], "ConnectionUsage.isComposite": [ - 79, + 87, 0, 0, 0, @@ -22100,13 +22100,13 @@ "ConnectionUsage.isConjugated": [ 0, 0, - 79, + 87, 0, 0, 0 ], "ConnectionUsage.isConstant": [ - 79, + 87, 0, 0, 0, @@ -22114,7 +22114,7 @@ 0 ], "ConnectionUsage.isDerived": [ - 79, + 87, 0, 0, 0, @@ -22122,7 +22122,7 @@ 0 ], "ConnectionUsage.isEnd": [ - 79, + 87, 0, 0, 0, @@ -22130,7 +22130,7 @@ 0 ], "ConnectionUsage.isImplied": [ - 79, + 87, 0, 0, 0, @@ -22138,7 +22138,7 @@ 0 ], "ConnectionUsage.isImpliedIncluded": [ - 79, + 87, 0, 0, 0, @@ -22146,7 +22146,7 @@ 0 ], "ConnectionUsage.isIndividual": [ - 79, + 87, 0, 0, 0, @@ -22156,13 +22156,13 @@ "ConnectionUsage.isLibraryElement": [ 0, 0, - 79, + 87, 0, 0, 0 ], "ConnectionUsage.isOrdered": [ - 79, + 87, 0, 0, 0, @@ -22170,7 +22170,7 @@ 0 ], "ConnectionUsage.isPortion": [ - 79, + 87, 0, 0, 0, @@ -22180,13 +22180,13 @@ "ConnectionUsage.isReference": [ 0, 0, - 79, + 87, 0, 0, 0 ], "ConnectionUsage.isSufficient": [ - 79, + 87, 0, 0, 0, @@ -22194,7 +22194,7 @@ 0 ], "ConnectionUsage.isUnique": [ - 79, + 87, 0, 0, 0, @@ -22204,13 +22204,13 @@ "ConnectionUsage.isVariable": [ 0, 0, - 55, + 63, 0, 24, 0 ], "ConnectionUsage.isVariation": [ - 79, + 87, 0, 0, 0, @@ -22220,7 +22220,7 @@ "ConnectionUsage.itemDefinition": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22236,7 +22236,7 @@ "ConnectionUsage.mayTimeVary": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22244,7 +22244,7 @@ "ConnectionUsage.member": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22252,7 +22252,7 @@ "ConnectionUsage.membership": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22268,7 +22268,7 @@ "ConnectionUsage.name": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22278,7 +22278,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedAllocation": [ @@ -22286,7 +22286,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedAnalysisCase": [ @@ -22294,7 +22294,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedAttribute": [ @@ -22302,7 +22302,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedCalculation": [ @@ -22310,7 +22310,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedCase": [ @@ -22318,7 +22318,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedConcern": [ @@ -22326,7 +22326,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedConnection": [ @@ -22334,7 +22334,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedConstraint": [ @@ -22342,7 +22342,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedEnumeration": [ @@ -22350,7 +22350,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedFlow": [ @@ -22358,7 +22358,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedInterface": [ @@ -22366,7 +22366,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedItem": [ @@ -22374,7 +22374,7 @@ 0, 3, 0, - 76, + 84, 0 ], "ConnectionUsage.nestedMetadata": [ @@ -22382,7 +22382,7 @@ 0, 14, 0, - 65, + 73, 0 ], "ConnectionUsage.nestedOccurrence": [ @@ -22390,7 +22390,7 @@ 0, 4, 0, - 75, + 83, 0 ], "ConnectionUsage.nestedPart": [ @@ -22398,7 +22398,7 @@ 0, 3, 0, - 76, + 84, 0 ], "ConnectionUsage.nestedPort": [ @@ -22406,13 +22406,13 @@ 0, 1, 0, - 78, + 86, 0 ], "ConnectionUsage.nestedReference": [ 0, 0, - 75, + 83, 0, 4, 0 @@ -22422,7 +22422,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedRequirement": [ @@ -22430,7 +22430,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedState": [ @@ -22438,7 +22438,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedTransition": [ @@ -22446,13 +22446,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedUsage": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22462,7 +22462,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedVerificationCase": [ @@ -22470,7 +22470,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedView": [ @@ -22478,7 +22478,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedViewpoint": [ @@ -22486,13 +22486,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.occurrenceDefinition": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22502,7 +22502,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedAnnotation": [ @@ -22510,7 +22510,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedDifferencing": [ @@ -22518,7 +22518,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedDisjoining": [ @@ -22526,20 +22526,20 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedElement": [ 0, 0, - 79, + 87, 0, 0, 0 ], "ConnectionUsage.ownedEndFeature": [ 1, - 71, + 79, 7, 0, 0, @@ -22547,7 +22547,7 @@ ], "ConnectionUsage.ownedFeature": [ 8, - 71, + 79, 0, 0, 0, @@ -22558,7 +22558,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedFeatureInverting": [ @@ -22566,11 +22566,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedFeatureMembership": [ - 79, + 87, 0, 0, 0, @@ -22582,7 +22582,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedIntersecting": [ @@ -22590,19 +22590,19 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedMember": [ 8, - 71, + 79, 0, 0, 0, 0 ], "ConnectionUsage.ownedMembership": [ - 79, + 87, 0, 0, 0, @@ -22614,7 +22614,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedRelatedElement": [ @@ -22622,11 +22622,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedRelationship": [ - 79, + 87, 0, 0, 0, @@ -22634,7 +22634,7 @@ 0 ], "ConnectionUsage.ownedSpecialization": [ - 61, + 69, 0, 0, 0, @@ -22646,7 +22646,7 @@ 0, 0, 0, - 77, + 85, 0 ], "ConnectionUsage.ownedTypeFeaturing": [ @@ -22654,11 +22654,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedTyping": [ - 61, + 69, 0, 0, 0, @@ -22670,11 +22670,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.owner": [ - 79, + 87, 0, 0, 0, @@ -22684,7 +22684,7 @@ "ConnectionUsage.owningDefinition": [ 0, 0, - 49, + 57, 0, 0, 0 @@ -22692,13 +22692,13 @@ "ConnectionUsage.owningFeatureMembership": [ 0, 0, - 55, + 63, 0, 0, 0 ], "ConnectionUsage.owningMembership": [ - 79, + 87, 0, 0, 0, @@ -22706,7 +22706,7 @@ 0 ], "ConnectionUsage.owningNamespace": [ - 79, + 87, 0, 0, 0, @@ -22718,11 +22718,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.owningRelationship": [ - 79, + 87, 0, 0, 0, @@ -22732,7 +22732,7 @@ "ConnectionUsage.owningType": [ 0, 0, - 55, + 63, 0, 0, 0 @@ -22748,7 +22748,7 @@ "ConnectionUsage.partDefinition": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22758,11 +22758,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.qualifiedName": [ - 79, + 87, 0, 0, 0, @@ -22772,7 +22772,7 @@ "ConnectionUsage.relatedElement": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22780,7 +22780,7 @@ "ConnectionUsage.relatedFeature": [ 11, 1, - 67, + 75, 0, 0, 0 @@ -22788,7 +22788,7 @@ "ConnectionUsage.source": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22796,7 +22796,7 @@ "ConnectionUsage.sourceFeature": [ 11, 0, - 68, + 76, 0, 0, 0 @@ -22812,7 +22812,7 @@ "ConnectionUsage.target": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22820,7 +22820,7 @@ "ConnectionUsage.targetFeature": [ 10, 0, - 69, + 77, 0, 0, 0 @@ -22830,11 +22830,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.type": [ - 51, + 59, 4, 24, 0, @@ -22846,7 +22846,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.upperBound": [ @@ -22860,7 +22860,7 @@ "ConnectionUsage.usage": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22870,7 +22870,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.variantMembership": [ @@ -22878,7 +22878,7 @@ 0, 0, 0, - 79, + 87, 0 ], "Connector.aliasIds": [ @@ -27958,13 +27958,13 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.annotatedElement": [ 0, 0, - 374, + 376, 0, 0, 0 @@ -27974,11 +27974,11 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.body": [ - 373, + 375, 1, 0, 0, @@ -27990,7 +27990,7 @@ 0, 0, 0, - 369, + 371, 0 ], "Documentation.declaredShortName": [ @@ -27998,7 +27998,7 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.documentation": [ @@ -28006,19 +28006,19 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.documentedElement": [ 0, 0, - 374, + 376, 0, 0, 0 ], "Documentation.isImpliedIncluded": [ - 374, + 376, 0, 0, 0, @@ -28028,7 +28028,7 @@ "Documentation.isLibraryElement": [ 0, 0, - 374, + 376, 0, 0, 0 @@ -28038,7 +28038,7 @@ 0, 0, 0, - 372, + 374, 0 ], "Documentation.name": [ @@ -28054,7 +28054,7 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.ownedAnnotation": [ @@ -28062,7 +28062,7 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.ownedElement": [ @@ -28070,7 +28070,7 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.ownedRelationship": [ @@ -28078,11 +28078,11 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.owner": [ - 374, + 376, 0, 0, 0, @@ -28090,7 +28090,7 @@ 0 ], "Documentation.owningMembership": [ - 365, + 367, 9, 0, 0, @@ -28098,7 +28098,7 @@ 0 ], "Documentation.owningNamespace": [ - 374, + 376, 0, 0, 0, @@ -28106,7 +28106,7 @@ 0 ], "Documentation.owningRelationship": [ - 365, + 367, 9, 0, 0, @@ -28126,7 +28126,7 @@ 0, 0, 0, - 374, + 376, 0 ], "ElementFilterMembership.aliasIds": [ @@ -28342,7 +28342,7 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.declaredName": [ @@ -28350,7 +28350,7 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.declaredShortName": [ @@ -28358,7 +28358,7 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.documentation": [ @@ -28366,11 +28366,11 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.isImplied": [ - 504, + 520, 0, 0, 0, @@ -28378,7 +28378,7 @@ 0 ], "EndFeatureMembership.isImpliedIncluded": [ - 504, + 520, 0, 0, 0, @@ -28388,14 +28388,14 @@ "EndFeatureMembership.isLibraryElement": [ 0, 0, - 504, + 520, 0, 0, 0 ], "EndFeatureMembership.memberElement": [ 129, - 375, + 391, 0, 0, 0, @@ -28404,7 +28404,7 @@ "EndFeatureMembership.memberElementId": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28412,13 +28412,13 @@ "EndFeatureMembership.memberName": [ 0, 0, - 503, + 519, 0, 0, 0 ], "EndFeatureMembership.membershipOwningNamespace": [ - 504, + 520, 0, 0, 0, @@ -28430,7 +28430,7 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.ownedElement": [ @@ -28438,12 +28438,12 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.ownedMemberElement": [ 129, - 375, + 391, 0, 0, 0, @@ -28452,7 +28452,7 @@ "EndFeatureMembership.ownedMemberElementId": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28460,7 +28460,7 @@ "EndFeatureMembership.ownedMemberFeature": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28468,14 +28468,14 @@ "EndFeatureMembership.ownedMemberName": [ 0, 0, - 503, + 519, 0, 0, 0 ], "EndFeatureMembership.ownedRelatedElement": [ 129, - 375, + 391, 0, 0, 0, @@ -28486,19 +28486,19 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.owner": [ 0, 0, 0, - 504, + 520, 0, 0 ], "EndFeatureMembership.owningRelatedElement": [ - 504, + 520, 0, 0, 0, @@ -28510,13 +28510,13 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.owningType": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28524,7 +28524,7 @@ "EndFeatureMembership.relatedElement": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28532,7 +28532,7 @@ "EndFeatureMembership.source": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28540,7 +28540,7 @@ "EndFeatureMembership.target": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28550,13 +28550,13 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.visibility": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -32430,7 +32430,7 @@ 0, 0, 0, - 10148, + 10188, 0 ], "Feature.chainingFeature": [ @@ -32438,7 +32438,7 @@ 43, 130, 6, - 9750, + 9790, 24 ], "Feature.chains": [ @@ -32470,7 +32470,7 @@ 0, 0, 0, - 9223, + 9263, 0 ], "Feature.declaredShortName": [ @@ -32478,7 +32478,7 @@ 0, 0, 0, - 10148, + 10188, 0 ], "Feature.differences": [ @@ -32494,7 +32494,7 @@ 0, 4, 0, - 10144, + 10184, 0 ], "Feature.directedFeature": [ @@ -32502,12 +32502,12 @@ 0, 629, 0, - 9519, + 9559, 0 ], "Feature.direction": [ - 8571, - 191, + 8609, + 193, 4, 101, 1281, @@ -32526,7 +32526,7 @@ 0, 21, 0, - 10127, + 10167, 0 ], "Feature.endFeature": [ @@ -32534,7 +32534,7 @@ 0, 55, 0, - 10093, + 10133, 0 ], "Feature.endOwningType": [ @@ -32548,7 +32548,7 @@ "Feature.feature": [ 0, 0, - 10142, + 10182, 0, 6, 0 @@ -32556,7 +32556,7 @@ "Feature.featureMembership": [ 0, 0, - 10142, + 10182, 0, 6, 0 @@ -32564,7 +32564,7 @@ "Feature.featureTarget": [ 0, 0, - 10148, + 10188, 0, 0, 0 @@ -32572,7 +32572,7 @@ "Feature.featuringType": [ 67, 0, - 9846, + 9886, 0, 234, 1 @@ -32582,13 +32582,13 @@ 0, 15, 0, - 10133, + 10173, 0 ], "Feature.inheritedFeature": [ 0, 0, - 10148, + 10188, 0, 0, 0 @@ -32596,7 +32596,7 @@ "Feature.inheritedMembership": [ 0, 0, - 10148, + 10188, 0, 0, 0 @@ -32606,7 +32606,7 @@ 0, 444, 0, - 9704, + 9744, 0 ], "Feature.intersectingType": [ @@ -32614,7 +32614,7 @@ 0, 3, 0, - 10145, + 10185, 0 ], "Feature.intersects": [ @@ -32634,7 +32634,7 @@ 0 ], "Feature.isAbstract": [ - 10148, + 10188, 0, 0, 0, @@ -32642,7 +32642,7 @@ 0 ], "Feature.isComposite": [ - 10114, + 10154, 34, 0, 0, @@ -32652,13 +32652,13 @@ "Feature.isConjugated": [ 0, 0, - 10148, + 10188, 0, 0, 0 ], "Feature.isConstant": [ - 10148, + 10188, 0, 0, 0, @@ -32674,7 +32674,7 @@ 0 ], "Feature.isDerived": [ - 10148, + 10188, 0, 0, 0, @@ -32682,7 +32682,7 @@ 0 ], "Feature.isEnd": [ - 10148, + 10188, 0, 0, 0, @@ -32690,7 +32690,7 @@ 0 ], "Feature.isImpliedIncluded": [ - 10148, + 10188, 0, 0, 0, @@ -32708,13 +32708,13 @@ "Feature.isLibraryElement": [ 0, 0, - 10148, + 10188, 0, 0, 0 ], "Feature.isOrdered": [ - 10148, + 10188, 0, 0, 0, @@ -32722,7 +32722,7 @@ 0 ], "Feature.isPortion": [ - 10148, + 10188, 0, 0, 0, @@ -32738,7 +32738,7 @@ 0 ], "Feature.isSufficient": [ - 10148, + 10188, 0, 0, 0, @@ -32746,7 +32746,7 @@ 0 ], "Feature.isUnique": [ - 10148, + 10188, 0, 0, 0, @@ -32754,7 +32754,7 @@ 0 ], "Feature.isVariable": [ - 9047, + 9087, 0, 75, 0, @@ -32780,7 +32780,7 @@ "Feature.member": [ 0, 0, - 10148, + 10188, 0, 0, 0 @@ -32788,7 +32788,7 @@ "Feature.membership": [ 0, 0, - 10148, + 10188, 0, 0, 0 @@ -32804,7 +32804,7 @@ "Feature.name": [ 190, 0, - 9538, + 9578, 0, 0, 0 @@ -32814,7 +32814,7 @@ 0, 453, 0, - 9695, + 9735, 0 ], "Feature.ownedAnnotation": [ @@ -32822,7 +32822,7 @@ 0, 0, 0, - 10148, + 10188, 0 ], "Feature.ownedConjugator": [ @@ -32846,7 +32846,7 @@ 0, 4, 0, - 10144, + 10184, 0 ], "Feature.ownedDisjoining": [ @@ -32854,15 +32854,15 @@ 0, 3, 0, - 10145, + 10185, 0 ], "Feature.ownedElement": [ 0, 0, - 4892, + 4916, 0, - 5256, + 5272, 0 ], "Feature.ownedEndFeature": [ @@ -32870,7 +32870,7 @@ 0, 1, 0, - 10147, + 10187, 0 ], "Feature.ownedFeature": [ @@ -32878,7 +32878,7 @@ 4, 568, 0, - 9449, + 9489, 6 ], "Feature.ownedFeatureChaining": [ @@ -32886,7 +32886,7 @@ 0, 121, 6, - 9750, + 9790, 0 ], "Feature.ownedFeatureInverting": [ @@ -32894,7 +32894,7 @@ 0, 7, 0, - 10141, + 10181, 0 ], "Feature.ownedFeatureMembership": [ @@ -32902,7 +32902,7 @@ 1, 568, 0, - 9449, + 9489, 0 ], "Feature.ownedImport": [ @@ -32910,7 +32910,7 @@ 0, 0, 0, - 10133, + 10173, 0 ], "Feature.ownedIntersecting": [ @@ -32918,31 +32918,31 @@ 0, 3, 0, - 10145, + 10185, 0 ], "Feature.ownedMember": [ 119, 104, - 4646, + 4670, 0, - 5271, + 5287, 8 ], "Feature.ownedMembership": [ - 4271, + 4295, 569, 37, - 92, - 5179, + 94, + 5193, 0 ], "Feature.ownedRedefinition": [ 280, 0, - 633, + 653, 0, - 9235, + 9255, 0 ], "Feature.ownedReferenceSubsetting": [ @@ -32954,27 +32954,27 @@ 0 ], "Feature.ownedRelationship": [ - 4159, - 1401, + 4163, + 1421, 137, - 88, - 4363, + 90, + 4377, 0 ], "Feature.ownedSpecialization": [ 874, 20, - 662, + 682, 34, - 8558, + 8578, 0 ], "Feature.ownedSubsetting": [ 371, 8, - 645, + 665, 6, - 9118, + 9138, 0 ], "Feature.ownedTypeFeaturing": [ @@ -32982,7 +32982,7 @@ 0, 70, 0, - 10078, + 10118, 0 ], "Feature.ownedTyping": [ @@ -32990,7 +32990,7 @@ 0, 29, 28, - 9430, + 9470, 0 ], "Feature.ownedUnioning": [ @@ -32998,11 +32998,11 @@ 0, 7, 0, - 10141, + 10181, 0 ], "Feature.owner": [ - 10148, + 10188, 0, 0, 0, @@ -33012,14 +33012,14 @@ "Feature.owningFeatureMembership": [ 0, 0, - 9497, + 9537, 0, 0, 0 ], "Feature.owningMembership": [ - 9529, - 355, + 9567, + 357, 6, 0, 0, @@ -33028,14 +33028,14 @@ "Feature.owningNamespace": [ 1133, 0, - 8757, + 8797, 0, 0, 0 ], "Feature.owningRelationship": [ - 9786, - 362, + 9824, + 364, 0, 0, 0, @@ -33044,7 +33044,7 @@ "Feature.owningType": [ 0, 0, - 9497, + 9537, 0, 0, 0 @@ -33094,13 +33094,13 @@ 0, 0, 0, - 10148, + 10188, 0 ], "Feature.type": [ 346, 14, - 9615, + 9655, 0, 0, 173 @@ -33110,7 +33110,7 @@ 0, 7, 0, - 10141, + 10181, 0 ], "Feature.unions": [ @@ -34078,7 +34078,7 @@ 0, 0, 0, - 10854, + 10968, 0 ], "FeatureMembership.declaredName": [ @@ -34086,7 +34086,7 @@ 0, 0, 0, - 10854, + 10968, 0 ], "FeatureMembership.declaredShortName": [ @@ -34094,7 +34094,7 @@ 0, 0, 0, - 10854, + 10968, 0 ], "FeatureMembership.documentation": [ @@ -34102,11 +34102,11 @@ 0, 0, 0, - 10854, + 10968, 0 ], "FeatureMembership.isImplied": [ - 10854, + 10968, 0, 0, 0, @@ -34114,7 +34114,7 @@ 0 ], "FeatureMembership.isImpliedIncluded": [ - 10854, + 10968, 0, 0, 0, @@ -34124,23 +34124,23 @@ "FeatureMembership.isLibraryElement": [ 0, 0, - 10854, + 10968, 0, 0, 0 ], "FeatureMembership.memberElement": [ - 9388, + 9500, 570, 0, 0, 0, - 896 + 898 ], "FeatureMembership.memberElementId": [ 0, 0, - 10854, + 10968, 0, 0, 0 @@ -34148,7 +34148,7 @@ "FeatureMembership.memberName": [ 0, 0, - 9305, + 9417, 0, 0, 0 @@ -34162,7 +34162,7 @@ 0 ], "FeatureMembership.membershipOwningNamespace": [ - 10854, + 10968, 0, 0, 0, @@ -34174,7 +34174,7 @@ 0, 0, 0, - 10854, + 10968, 0 ], "FeatureMembership.ownedElement": [ @@ -34182,37 +34182,37 @@ 0, 0, 0, - 10854, + 10968, 0 ], "FeatureMembership.ownedMemberElement": [ - 9388, + 9500, 570, 0, 0, 0, - 896 + 898 ], "FeatureMembership.ownedMemberElementId": [ 0, 0, - 10854, + 10968, 0, 0, 0 ], "FeatureMembership.ownedMemberFeature": [ - 9294, + 9406, 568, 96, 0, 0, - 896 + 898 ], "FeatureMembership.ownedMemberName": [ 0, 0, - 9305, + 9417, 0, 0, 0 @@ -34226,31 +34226,31 @@ 0 ], "FeatureMembership.ownedRelatedElement": [ - 9388, + 9500, 570, 0, 0, 0, - 896 + 898 ], "FeatureMembership.ownedRelationship": [ 0, 0, 0, 0, - 10854, + 10968, 0 ], "FeatureMembership.owner": [ 0, 0, 0, - 10854, + 10968, 0, 0 ], "FeatureMembership.owningRelatedElement": [ - 10854, + 10968, 0, 0, 0, @@ -34262,11 +34262,11 @@ 0, 0, 0, - 10854, + 10968, 0 ], "FeatureMembership.owningType": [ - 10690, + 10804, 0, 164, 0, @@ -34276,7 +34276,7 @@ "FeatureMembership.relatedElement": [ 0, 0, - 10854, + 10968, 0, 0, 0 @@ -34284,7 +34284,7 @@ "FeatureMembership.source": [ 0, 0, - 10854, + 10968, 0, 0, 0 @@ -34292,7 +34292,7 @@ "FeatureMembership.target": [ 0, 0, - 10854, + 10968, 0, 0, 0 @@ -34302,13 +34302,13 @@ 0, 0, 0, - 10854, + 10968, 0 ], "FeatureMembership.visibility": [ 63, 1, - 10790, + 10904, 0, 0, 0 @@ -34318,13 +34318,13 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.behavior": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34334,7 +34334,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.declaredName": [ @@ -34342,7 +34342,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.declaredShortName": [ @@ -34350,7 +34350,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.differencingType": [ @@ -34358,13 +34358,13 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.directedFeature": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34374,7 +34374,7 @@ 0, 1, 0, - 2159, + 2163, 0 ], "FeatureReferenceExpression.documentation": [ @@ -34382,7 +34382,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.endFeature": [ @@ -34390,13 +34390,13 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.feature": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34404,7 +34404,7 @@ "FeatureReferenceExpression.featureMembership": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34412,7 +34412,7 @@ "FeatureReferenceExpression.featureTarget": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34420,15 +34420,15 @@ "FeatureReferenceExpression.featuringType": [ 0, 0, - 1723, + 1725, 0, - 437, + 439, 0 ], "FeatureReferenceExpression.function": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34438,13 +34438,13 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.inheritedFeature": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34452,7 +34452,7 @@ "FeatureReferenceExpression.inheritedMembership": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34462,7 +34462,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.intersectingType": [ @@ -34470,11 +34470,11 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.isAbstract": [ - 2160, + 2164, 0, 0, 0, @@ -34482,7 +34482,7 @@ 0 ], "FeatureReferenceExpression.isComposite": [ - 2160, + 2164, 0, 0, 0, @@ -34492,13 +34492,13 @@ "FeatureReferenceExpression.isConjugated": [ 0, 0, - 2160, + 2164, 0, 0, 0 ], "FeatureReferenceExpression.isConstant": [ - 2160, + 2164, 0, 0, 0, @@ -34506,7 +34506,7 @@ 0 ], "FeatureReferenceExpression.isDerived": [ - 2160, + 2164, 0, 0, 0, @@ -34514,7 +34514,7 @@ 0 ], "FeatureReferenceExpression.isEnd": [ - 2160, + 2164, 0, 0, 0, @@ -34522,7 +34522,7 @@ 0 ], "FeatureReferenceExpression.isImpliedIncluded": [ - 2160, + 2164, 0, 0, 0, @@ -34532,7 +34532,7 @@ "FeatureReferenceExpression.isLibraryElement": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34540,13 +34540,13 @@ "FeatureReferenceExpression.isModelLevelEvaluable": [ 0, 0, - 2160, + 2164, 0, 0, 0 ], "FeatureReferenceExpression.isOrdered": [ - 2160, + 2164, 0, 0, 0, @@ -34554,7 +34554,7 @@ 0 ], "FeatureReferenceExpression.isPortion": [ - 2160, + 2164, 0, 0, 0, @@ -34562,7 +34562,7 @@ 0 ], "FeatureReferenceExpression.isSufficient": [ - 2160, + 2164, 0, 0, 0, @@ -34570,7 +34570,7 @@ 0 ], "FeatureReferenceExpression.isUnique": [ - 2160, + 2164, 0, 0, 0, @@ -34578,7 +34578,7 @@ 0 ], "FeatureReferenceExpression.isVariable": [ - 2160, + 2164, 0, 0, 0, @@ -34588,7 +34588,7 @@ "FeatureReferenceExpression.member": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34596,7 +34596,7 @@ "FeatureReferenceExpression.membership": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34612,7 +34612,7 @@ "FeatureReferenceExpression.output": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34622,7 +34622,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedDifferencing": [ @@ -34630,7 +34630,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedDisjoining": [ @@ -34638,13 +34638,13 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedElement": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34654,11 +34654,11 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedFeature": [ - 2153, + 2157, 7, 0, 0, @@ -34670,7 +34670,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedFeatureInverting": [ @@ -34678,11 +34678,11 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedFeatureMembership": [ - 2153, + 2157, 7, 0, 0, @@ -34694,7 +34694,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedIntersecting": [ @@ -34702,19 +34702,19 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedMember": [ 0, 0, - 2160, + 2164, 0, 0, 0 ], "FeatureReferenceExpression.ownedMembership": [ - 2153, + 2157, 7, 0, 0, @@ -34726,11 +34726,11 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedRelationship": [ - 2153, + 2157, 7, 0, 0, @@ -34742,7 +34742,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedSubsetting": [ @@ -34750,7 +34750,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedTypeFeaturing": [ @@ -34758,7 +34758,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedTyping": [ @@ -34766,7 +34766,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.ownedUnioning": [ @@ -34774,11 +34774,11 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.owner": [ - 2160, + 2164, 0, 0, 0, @@ -34794,7 +34794,7 @@ 0 ], "FeatureReferenceExpression.owningMembership": [ - 2159, + 2163, 1, 0, 0, @@ -34804,13 +34804,13 @@ "FeatureReferenceExpression.owningNamespace": [ 7, 0, - 2153, + 2157, 0, 0, 0 ], "FeatureReferenceExpression.owningRelationship": [ - 2159, + 2163, 1, 0, 0, @@ -34826,7 +34826,7 @@ 0 ], "FeatureReferenceExpression.parameter": [ - 2160, + 2164, 0, 0, 0, @@ -34834,7 +34834,7 @@ 0 ], "FeatureReferenceExpression.referent": [ - 1658, + 1662, 28, 9, 0, @@ -34842,7 +34842,7 @@ 465 ], "FeatureReferenceExpression.result": [ - 2160, + 2164, 0, 0, 0, @@ -34854,13 +34854,13 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureReferenceExpression.type": [ 0, 0, - 2160, + 2164, 0, 0, 0 @@ -34870,7 +34870,7 @@ 0, 0, 0, - 2160, + 2164, 0 ], "FeatureTyping.aliasIds": [ @@ -34878,7 +34878,7 @@ 0, 0, 0, - 5994, + 6079, 0 ], "FeatureTyping.declaredName": [ @@ -34886,7 +34886,7 @@ 0, 0, 0, - 5990, + 6075, 0 ], "FeatureTyping.declaredShortName": [ @@ -34894,7 +34894,7 @@ 0, 0, 0, - 5994, + 6079, 0 ], "FeatureTyping.documentation": [ @@ -34902,19 +34902,19 @@ 0, 1, 0, - 5993, + 6078, 0 ], "FeatureTyping.general": [ - 3404, + 3439, 4, 330, 0, 0, - 2256 + 2306 ], "FeatureTyping.isImplied": [ - 5994, + 6079, 0, 0, 0, @@ -34922,7 +34922,7 @@ 0 ], "FeatureTyping.isImpliedIncluded": [ - 5994, + 6079, 0, 0, 0, @@ -34932,7 +34932,7 @@ "FeatureTyping.isLibraryElement": [ 0, 0, - 5994, + 6079, 0, 0, 0 @@ -34950,7 +34950,7 @@ 0, 1, 0, - 5993, + 6078, 0 ], "FeatureTyping.ownedElement": [ @@ -34958,7 +34958,7 @@ 0, 1, 0, - 5993, + 6078, 0 ], "FeatureTyping.ownedRelatedElement": [ @@ -34966,7 +34966,7 @@ 0, 4, 1, - 5989, + 6074, 0 ], "FeatureTyping.ownedRelationship": [ @@ -34974,7 +34974,7 @@ 1, 0, 3, - 5990, + 6075, 0 ], "FeatureTyping.ownedSpecialization": [ @@ -34997,12 +34997,12 @@ 4, 0, 0, - 5990, + 6075, 0, 0 ], "FeatureTyping.owningFeature": [ - 5990, + 6075, 0, 0, 0, @@ -35026,7 +35026,7 @@ 0 ], "FeatureTyping.owningRelatedElement": [ - 5990, + 6075, 0, 0, 0, @@ -35038,13 +35038,13 @@ 0, 0, 0, - 5990, + 6075, 0 ], "FeatureTyping.owningType": [ 0, 0, - 5990, + 6075, 0, 0, 0 @@ -35058,15 +35058,15 @@ 0 ], "FeatureTyping.relatedElement": [ - 3404, + 3439, 4, 330, 0, 0, - 2256 + 2306 ], "FeatureTyping.source": [ - 5990, + 6075, 0, 4, 0, @@ -35074,7 +35074,7 @@ 0 ], "FeatureTyping.specific": [ - 5990, + 6075, 0, 4, 0, @@ -35082,31 +35082,31 @@ 0 ], "FeatureTyping.target": [ - 3404, + 3439, 4, 330, 0, 0, - 2256 + 2306 ], "FeatureTyping.textualRepresentation": [ 0, 0, 0, 0, - 5994, + 6079, 0 ], "FeatureTyping.type": [ - 3406, + 3441, 4, 328, 0, 0, - 2256 + 2306 ], "FeatureTyping.typedFeature": [ - 5992, + 6077, 0, 2, 0, @@ -35118,7 +35118,7 @@ 0, 0, 0, - 7083, + 7185, 0 ], "FeatureValue.declaredName": [ @@ -35126,7 +35126,7 @@ 0, 0, 0, - 7083, + 7185, 0 ], "FeatureValue.declaredShortName": [ @@ -35134,7 +35134,7 @@ 0, 0, 0, - 7083, + 7185, 0 ], "FeatureValue.documentation": [ @@ -35142,11 +35142,11 @@ 0, 0, 0, - 7083, + 7185, 0 ], "FeatureValue.featureWithValue": [ - 7083, + 7185, 0, 0, 0, @@ -35154,7 +35154,7 @@ 0 ], "FeatureValue.isDefault": [ - 7083, + 7185, 0, 0, 0, @@ -35162,7 +35162,7 @@ 0 ], "FeatureValue.isImplied": [ - 7083, + 7185, 0, 0, 0, @@ -35170,7 +35170,7 @@ 0 ], "FeatureValue.isImpliedIncluded": [ - 7083, + 7185, 0, 0, 0, @@ -35178,7 +35178,7 @@ 0 ], "FeatureValue.isInitial": [ - 7083, + 7185, 0, 0, 0, @@ -35188,14 +35188,14 @@ "FeatureValue.isLibraryElement": [ 0, 0, - 7083, + 7185, 0, 0, 0 ], "FeatureValue.memberElement": [ - 6777, - 306, + 6877, + 308, 0, 0, 0, @@ -35204,13 +35204,13 @@ "FeatureValue.memberElementId": [ 0, 0, - 7083, + 7185, 0, 0, 0 ], "FeatureValue.membershipOwningNamespace": [ - 7083, + 7185, 0, 0, 0, @@ -35222,7 +35222,7 @@ 0, 0, 0, - 7083, + 7185, 0 ], "FeatureValue.ownedElement": [ @@ -35230,12 +35230,12 @@ 0, 0, 0, - 7083, + 7185, 0 ], "FeatureValue.ownedMemberElement": [ - 6777, - 306, + 6877, + 308, 0, 0, 0, @@ -35244,14 +35244,14 @@ "FeatureValue.ownedMemberElementId": [ 0, 0, - 7083, + 7185, 0, 0, 0 ], "FeatureValue.ownedRelatedElement": [ - 6777, - 306, + 6877, + 308, 0, 0, 0, @@ -35262,19 +35262,19 @@ 0, 0, 0, - 7083, + 7185, 0 ], "FeatureValue.owner": [ 0, 0, 0, - 7083, + 7185, 0, 0 ], "FeatureValue.owningRelatedElement": [ - 7083, + 7185, 0, 0, 0, @@ -35286,13 +35286,13 @@ 0, 0, 0, - 7083, + 7185, 0 ], "FeatureValue.relatedElement": [ 0, 0, - 7083, + 7185, 0, 0, 0 @@ -35300,7 +35300,7 @@ "FeatureValue.source": [ 0, 0, - 7083, + 7185, 0, 0, 0 @@ -35308,7 +35308,7 @@ "FeatureValue.target": [ 0, 0, - 7083, + 7185, 0, 0, 0 @@ -35318,12 +35318,12 @@ 0, 0, 0, - 7083, + 7185, 0 ], "FeatureValue.value": [ - 6777, - 306, + 6877, + 308, 0, 0, 0, @@ -35332,7 +35332,7 @@ "FeatureValue.visibility": [ 0, 0, - 7083, + 7185, 0, 0, 0 @@ -46014,11 +46014,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.argument": [ - 436, + 446, 4, 0, 14, @@ -46028,7 +46028,7 @@ "InvocationExpression.behavior": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46038,7 +46038,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.declaredName": [ @@ -46046,7 +46046,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.declaredShortName": [ @@ -46054,7 +46054,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.differencingType": [ @@ -46062,13 +46062,13 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.directedFeature": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46078,7 +46078,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.documentation": [ @@ -46086,7 +46086,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.endFeature": [ @@ -46094,13 +46094,13 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.feature": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46108,7 +46108,7 @@ "InvocationExpression.featureMembership": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46116,7 +46116,7 @@ "InvocationExpression.featureTarget": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46124,31 +46124,31 @@ "InvocationExpression.featuringType": [ 0, 0, - 398, + 408, 0, 72, 0 ], "InvocationExpression.function": [ - 114, + 116, 6, 17, 0, 0, - 333 + 341 ], "InvocationExpression.importedMembership": [ 0, 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.inheritedFeature": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46156,14 +46156,14 @@ "InvocationExpression.inheritedMembership": [ 0, 0, - 470, + 480, 0, 0, 0 ], "InvocationExpression.input": [ - 377, - 77, + 385, + 79, 1, 0, 15, @@ -46172,7 +46172,7 @@ "InvocationExpression.instantiatedType": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46182,11 +46182,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.isAbstract": [ - 470, + 480, 0, 0, 0, @@ -46194,7 +46194,7 @@ 0 ], "InvocationExpression.isComposite": [ - 470, + 480, 0, 0, 0, @@ -46204,13 +46204,13 @@ "InvocationExpression.isConjugated": [ 0, 0, - 470, + 480, 0, 0, 0 ], "InvocationExpression.isConstant": [ - 470, + 480, 0, 0, 0, @@ -46218,7 +46218,7 @@ 0 ], "InvocationExpression.isDerived": [ - 470, + 480, 0, 0, 0, @@ -46226,7 +46226,7 @@ 0 ], "InvocationExpression.isEnd": [ - 470, + 480, 0, 0, 0, @@ -46234,7 +46234,7 @@ 0 ], "InvocationExpression.isImpliedIncluded": [ - 470, + 480, 0, 0, 0, @@ -46244,7 +46244,7 @@ "InvocationExpression.isLibraryElement": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46252,13 +46252,13 @@ "InvocationExpression.isModelLevelEvaluable": [ 0, 0, - 470, + 480, 0, 0, 0 ], "InvocationExpression.isOrdered": [ - 470, + 480, 0, 0, 0, @@ -46266,7 +46266,7 @@ 0 ], "InvocationExpression.isPortion": [ - 470, + 480, 0, 0, 0, @@ -46274,7 +46274,7 @@ 0 ], "InvocationExpression.isSufficient": [ - 470, + 480, 0, 0, 0, @@ -46282,7 +46282,7 @@ 0 ], "InvocationExpression.isUnique": [ - 470, + 480, 0, 0, 0, @@ -46290,7 +46290,7 @@ 0 ], "InvocationExpression.isVariable": [ - 470, + 480, 0, 0, 0, @@ -46300,7 +46300,7 @@ "InvocationExpression.member": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46308,7 +46308,7 @@ "InvocationExpression.membership": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46318,13 +46318,13 @@ 0, 0, 29, - 441, + 451, 0 ], "InvocationExpression.output": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46334,7 +46334,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedDifferencing": [ @@ -46342,7 +46342,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedDisjoining": [ @@ -46350,13 +46350,13 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedElement": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46366,11 +46366,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedFeature": [ - 466, + 476, 4, 0, 0, @@ -46382,7 +46382,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedFeatureInverting": [ @@ -46390,11 +46390,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedFeatureMembership": [ - 470, + 480, 0, 0, 0, @@ -46406,7 +46406,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedIntersecting": [ @@ -46414,19 +46414,19 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedMember": [ 0, 0, - 470, + 480, 0, 0, 0 ], "InvocationExpression.ownedMembership": [ - 441, + 451, 29, 0, 0, @@ -46438,11 +46438,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedRelationship": [ - 441, + 451, 29, 0, 0, @@ -46454,7 +46454,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedSubsetting": [ @@ -46462,7 +46462,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedTypeFeaturing": [ @@ -46470,7 +46470,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedTyping": [ @@ -46478,7 +46478,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedUnioning": [ @@ -46486,11 +46486,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.owner": [ - 470, + 480, 0, 0, 0, @@ -46500,13 +46500,13 @@ "InvocationExpression.owningFeatureMembership": [ 0, 0, - 131, + 133, 0, 0, 0 ], "InvocationExpression.owningMembership": [ - 470, + 480, 0, 0, 0, @@ -46514,15 +46514,15 @@ 0 ], "InvocationExpression.owningNamespace": [ - 127, + 129, 0, - 343, + 351, 0, 0, 0 ], "InvocationExpression.owningRelationship": [ - 470, + 480, 0, 0, 0, @@ -46532,21 +46532,21 @@ "InvocationExpression.owningType": [ 0, 0, - 131, + 133, 0, 0, 0 ], "InvocationExpression.parameter": [ - 391, - 79, + 399, + 81, 0, 0, 0, 0 ], "InvocationExpression.result": [ - 466, + 476, 4, 0, 0, @@ -46558,13 +46558,13 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.type": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46574,7 +46574,7 @@ 0, 0, 0, - 470, + 480, 0 ], "ItemDefinition.aliasIds": [ @@ -46582,11 +46582,11 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.declaredName": [ - 167, + 168, 0, 0, 0, @@ -46598,7 +46598,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.differencingType": [ @@ -46606,7 +46606,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.directedFeature": [ @@ -46614,7 +46614,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.directedUsage": [ @@ -46622,7 +46622,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.documentation": [ @@ -46630,7 +46630,7 @@ 0, 4, 0, - 163, + 164, 0 ], "ItemDefinition.endFeature": [ @@ -46638,13 +46638,13 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.feature": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46652,7 +46652,7 @@ "ItemDefinition.featureMembership": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46662,13 +46662,13 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.inheritedFeature": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46676,7 +46676,7 @@ "ItemDefinition.inheritedMembership": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46686,7 +46686,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.intersectingType": [ @@ -46694,11 +46694,11 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.isAbstract": [ - 167, + 168, 0, 0, 0, @@ -46708,13 +46708,13 @@ "ItemDefinition.isConjugated": [ 0, 0, - 167, + 168, 0, 0, 0 ], "ItemDefinition.isImpliedIncluded": [ - 167, + 168, 0, 0, 0, @@ -46722,7 +46722,7 @@ 0 ], "ItemDefinition.isIndividual": [ - 167, + 168, 0, 0, 0, @@ -46732,13 +46732,13 @@ "ItemDefinition.isLibraryElement": [ 0, 0, - 167, + 168, 0, 0, 0 ], "ItemDefinition.isSufficient": [ - 167, + 168, 0, 0, 0, @@ -46746,7 +46746,7 @@ 0 ], "ItemDefinition.isVariation": [ - 167, + 168, 0, 0, 0, @@ -46756,7 +46756,7 @@ "ItemDefinition.member": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46764,7 +46764,7 @@ "ItemDefinition.membership": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46780,7 +46780,7 @@ "ItemDefinition.name": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46790,7 +46790,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedAction": [ @@ -46798,7 +46798,7 @@ 0, 1, 0, - 166, + 167, 0 ], "ItemDefinition.ownedAllocation": [ @@ -46806,7 +46806,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedAnalysisCase": [ @@ -46814,7 +46814,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedAnnotation": [ @@ -46822,7 +46822,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedAttribute": [ @@ -46830,7 +46830,7 @@ 0, 30, 0, - 137, + 138, 0 ], "ItemDefinition.ownedCalculation": [ @@ -46838,7 +46838,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedCase": [ @@ -46846,7 +46846,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedConcern": [ @@ -46854,7 +46854,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedConnection": [ @@ -46862,7 +46862,7 @@ 0, 3, 0, - 164, + 165, 0 ], "ItemDefinition.ownedConstraint": [ @@ -46870,7 +46870,7 @@ 0, 2, 0, - 165, + 166, 0 ], "ItemDefinition.ownedDifferencing": [ @@ -46878,7 +46878,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedDisjoining": [ @@ -46886,7 +46886,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedElement": [ @@ -46894,7 +46894,7 @@ 0, 58, 0, - 109, + 110, 0 ], "ItemDefinition.ownedEndFeature": [ @@ -46902,7 +46902,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedEnumeration": [ @@ -46910,7 +46910,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedFeature": [ @@ -46918,7 +46918,7 @@ 0, 0, 0, - 115, + 116, 1 ], "ItemDefinition.ownedFeatureMembership": [ @@ -46926,7 +46926,7 @@ 0, 0, 0, - 115, + 116, 0 ], "ItemDefinition.ownedFlow": [ @@ -46934,7 +46934,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedImport": [ @@ -46942,7 +46942,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedInterface": [ @@ -46950,7 +46950,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedIntersecting": [ @@ -46958,7 +46958,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedItem": [ @@ -46966,7 +46966,7 @@ 0, 20, 0, - 147, + 148, 0 ], "ItemDefinition.ownedMember": [ @@ -46974,7 +46974,7 @@ 4, 2, 0, - 109, + 110, 1 ], "ItemDefinition.ownedMembership": [ @@ -46982,7 +46982,7 @@ 4, 2, 0, - 109, + 110, 0 ], "ItemDefinition.ownedMetadata": [ @@ -46990,7 +46990,7 @@ 0, 5, 0, - 162, + 163, 0 ], "ItemDefinition.ownedOccurrence": [ @@ -46998,7 +46998,7 @@ 0, 24, 0, - 143, + 144, 0 ], "ItemDefinition.ownedPart": [ @@ -47006,7 +47006,7 @@ 0, 9, 0, - 158, + 159, 0 ], "ItemDefinition.ownedPort": [ @@ -47014,7 +47014,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedReference": [ @@ -47022,7 +47022,7 @@ 0, 8, 0, - 159, + 160, 0 ], "ItemDefinition.ownedRelationship": [ @@ -47030,7 +47030,7 @@ 6, 0, 0, - 101, + 102, 0 ], "ItemDefinition.ownedRendering": [ @@ -47038,7 +47038,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedRequirement": [ @@ -47046,7 +47046,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedSpecialization": [ @@ -47054,7 +47054,7 @@ 0, 0, 0, - 149, + 150, 0 ], "ItemDefinition.ownedState": [ @@ -47062,7 +47062,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedSubclassification": [ @@ -47070,7 +47070,7 @@ 0, 0, 0, - 149, + 150, 0 ], "ItemDefinition.ownedTransition": [ @@ -47078,7 +47078,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedUnioning": [ @@ -47086,7 +47086,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedUsage": [ @@ -47094,7 +47094,7 @@ 0, 52, 0, - 115, + 116, 0 ], "ItemDefinition.ownedUseCase": [ @@ -47102,7 +47102,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedVerificationCase": [ @@ -47110,7 +47110,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedView": [ @@ -47118,7 +47118,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedViewpoint": [ @@ -47126,11 +47126,11 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.owner": [ - 167, + 168, 0, 0, 0, @@ -47138,7 +47138,7 @@ 0 ], "ItemDefinition.owningMembership": [ - 165, + 166, 2, 0, 0, @@ -47146,7 +47146,7 @@ 0 ], "ItemDefinition.owningNamespace": [ - 167, + 168, 0, 0, 0, @@ -47154,7 +47154,7 @@ 0 ], "ItemDefinition.owningRelationship": [ - 165, + 166, 2, 0, 0, @@ -47162,7 +47162,7 @@ 0 ], "ItemDefinition.qualifiedName": [ - 166, + 167, 0, 0, 0, @@ -47182,7 +47182,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.unioningType": [ @@ -47190,13 +47190,13 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.usage": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -47206,7 +47206,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.variantMembership": [ @@ -47214,7 +47214,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemUsage.aliasIds": [ @@ -47222,7 +47222,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.chainingFeature": [ @@ -47230,7 +47230,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.crossFeature": [ @@ -47250,7 +47250,7 @@ 0 ], "ItemUsage.declaredName": [ - 330, + 332, 0, 0, 0, @@ -47262,13 +47262,13 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.definition": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47278,7 +47278,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.directedFeature": [ @@ -47286,7 +47286,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.directedUsage": [ @@ -47294,11 +47294,11 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.direction": [ - 233, + 235, 0, 0, 0, @@ -47310,7 +47310,7 @@ 0, 8, 0, - 358, + 360, 0 ], "ItemUsage.endFeature": [ @@ -47318,7 +47318,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.endOwningType": [ @@ -47332,7 +47332,7 @@ "ItemUsage.feature": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47340,7 +47340,7 @@ "ItemUsage.featureMembership": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47348,7 +47348,7 @@ "ItemUsage.featureTarget": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47356,7 +47356,7 @@ "ItemUsage.featuringType": [ 0, 0, - 346, + 348, 0, 20, 0 @@ -47366,7 +47366,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.individualDefinition": [ @@ -47380,7 +47380,7 @@ "ItemUsage.inheritedFeature": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47388,7 +47388,7 @@ "ItemUsage.inheritedMembership": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47398,7 +47398,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.intersectingType": [ @@ -47406,11 +47406,11 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.isAbstract": [ - 366, + 368, 0, 0, 0, @@ -47418,7 +47418,7 @@ 0 ], "ItemUsage.isComposite": [ - 365, + 367, 1, 0, 0, @@ -47428,13 +47428,13 @@ "ItemUsage.isConjugated": [ 0, 0, - 366, + 368, 0, 0, 0 ], "ItemUsage.isConstant": [ - 343, + 345, 23, 0, 0, @@ -47442,7 +47442,7 @@ 0 ], "ItemUsage.isDerived": [ - 366, + 368, 0, 0, 0, @@ -47450,7 +47450,7 @@ 0 ], "ItemUsage.isEnd": [ - 366, + 368, 0, 0, 0, @@ -47458,7 +47458,7 @@ 0 ], "ItemUsage.isImpliedIncluded": [ - 366, + 368, 0, 0, 0, @@ -47466,7 +47466,7 @@ 0 ], "ItemUsage.isIndividual": [ - 366, + 368, 0, 0, 0, @@ -47476,13 +47476,13 @@ "ItemUsage.isLibraryElement": [ 0, 0, - 366, + 368, 0, 0, 0 ], "ItemUsage.isOrdered": [ - 366, + 368, 0, 0, 0, @@ -47490,7 +47490,7 @@ 0 ], "ItemUsage.isPortion": [ - 366, + 368, 0, 0, 0, @@ -47500,13 +47500,13 @@ "ItemUsage.isReference": [ 23, 0, - 343, + 345, 0, 0, 0 ], "ItemUsage.isSufficient": [ - 366, + 368, 0, 0, 0, @@ -47514,7 +47514,7 @@ 0 ], "ItemUsage.isUnique": [ - 366, + 368, 0, 0, 0, @@ -47524,13 +47524,13 @@ "ItemUsage.isVariable": [ 0, 0, - 339, + 341, 0, 27, 0 ], "ItemUsage.isVariation": [ - 366, + 368, 0, 0, 0, @@ -47540,7 +47540,7 @@ "ItemUsage.itemDefinition": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47556,7 +47556,7 @@ "ItemUsage.mayTimeVary": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47564,7 +47564,7 @@ "ItemUsage.member": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47572,7 +47572,7 @@ "ItemUsage.membership": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47580,7 +47580,7 @@ "ItemUsage.multiplicity": [ 49, 0, - 250, + 252, 0, 0, 0 @@ -47588,7 +47588,7 @@ "ItemUsage.name": [ 35, 0, - 330, + 332, 0, 0, 0 @@ -47598,7 +47598,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedAllocation": [ @@ -47606,7 +47606,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedAnalysisCase": [ @@ -47614,7 +47614,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedAttribute": [ @@ -47622,7 +47622,7 @@ 0, 13, 0, - 353, + 355, 0 ], "ItemUsage.nestedCalculation": [ @@ -47630,7 +47630,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedCase": [ @@ -47638,7 +47638,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedConcern": [ @@ -47646,7 +47646,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedConnection": [ @@ -47654,7 +47654,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedConstraint": [ @@ -47662,7 +47662,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedEnumeration": [ @@ -47670,7 +47670,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedFlow": [ @@ -47678,7 +47678,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedInterface": [ @@ -47686,7 +47686,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedItem": [ @@ -47694,7 +47694,7 @@ 0, 10, 0, - 356, + 358, 0 ], "ItemUsage.nestedMetadata": [ @@ -47702,7 +47702,7 @@ 0, 9, 0, - 357, + 359, 0 ], "ItemUsage.nestedOccurrence": [ @@ -47710,7 +47710,7 @@ 0, 10, 0, - 356, + 358, 0 ], "ItemUsage.nestedPart": [ @@ -47718,7 +47718,7 @@ 0, 5, 0, - 361, + 363, 0 ], "ItemUsage.nestedPort": [ @@ -47726,7 +47726,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedReference": [ @@ -47734,7 +47734,7 @@ 0, 20, 0, - 346, + 348, 0 ], "ItemUsage.nestedRendering": [ @@ -47742,7 +47742,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedRequirement": [ @@ -47750,7 +47750,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedState": [ @@ -47758,7 +47758,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedTransition": [ @@ -47766,7 +47766,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedUsage": [ @@ -47774,7 +47774,7 @@ 0, 39, 0, - 327, + 329, 0 ], "ItemUsage.nestedUseCase": [ @@ -47782,7 +47782,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedVerificationCase": [ @@ -47790,7 +47790,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedView": [ @@ -47798,7 +47798,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedViewpoint": [ @@ -47806,13 +47806,13 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.occurrenceDefinition": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47822,7 +47822,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedAnnotation": [ @@ -47830,7 +47830,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedCrossSubsetting": [ @@ -47846,7 +47846,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedDisjoining": [ @@ -47854,13 +47854,13 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedElement": [ 0, 0, - 329, + 331, 0, 37, 0 @@ -47870,7 +47870,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedFeature": [ @@ -47878,7 +47878,7 @@ 0, 0, 0, - 327, + 329, 0 ], "ItemUsage.ownedFeatureChaining": [ @@ -47886,7 +47886,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedFeatureInverting": [ @@ -47894,7 +47894,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedFeatureMembership": [ @@ -47902,7 +47902,7 @@ 0, 0, 0, - 327, + 329, 0 ], "ItemUsage.ownedImport": [ @@ -47910,7 +47910,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedIntersecting": [ @@ -47918,13 +47918,13 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedMember": [ 20, 42, - 265, + 267, 0, 39, 0 @@ -47932,7 +47932,7 @@ "ItemUsage.ownedMembership": [ 77, 32, - 218, + 220, 0, 39, 0 @@ -47942,19 +47942,19 @@ 0, 0, 0, - 318, + 320, 0 ], "ItemUsage.ownedRelationship": [ 89, - 234, + 236, 33, 0, 10, 0 ], "ItemUsage.ownedSpecialization": [ - 307, + 309, 2, 0, 0, @@ -47966,7 +47966,7 @@ 0, 2, 0, - 302, + 304, 0 ], "ItemUsage.ownedTypeFeaturing": [ @@ -47974,11 +47974,11 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedTyping": [ - 279, + 281, 0, 0, 0, @@ -47990,11 +47990,11 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.owner": [ - 366, + 368, 0, 0, 0, @@ -48004,7 +48004,7 @@ "ItemUsage.owningDefinition": [ 0, 0, - 236, + 238, 0, 0, 0 @@ -48012,13 +48012,13 @@ "ItemUsage.owningFeatureMembership": [ 0, 0, - 346, + 348, 0, 0, 0 ], "ItemUsage.owningMembership": [ - 364, + 366, 2, 0, 0, @@ -48026,7 +48026,7 @@ 0 ], "ItemUsage.owningNamespace": [ - 366, + 368, 0, 0, 0, @@ -48034,7 +48034,7 @@ 0 ], "ItemUsage.owningRelationship": [ - 364, + 366, 2, 0, 0, @@ -48044,7 +48044,7 @@ "ItemUsage.owningType": [ 0, 0, - 346, + 348, 0, 0, 0 @@ -48062,11 +48062,11 @@ 0, 0, 0, - 363, + 365, 0 ], "ItemUsage.qualifiedName": [ - 361, + 363, 0, 0, 0, @@ -48094,11 +48094,11 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.type": [ - 243, + 245, 2, 98, 0, @@ -48110,7 +48110,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.upperBound": [ @@ -48124,7 +48124,7 @@ "ItemUsage.usage": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -48142,7 +48142,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.variantMembership": [ @@ -48150,7 +48150,7 @@ 0, 0, 0, - 366, + 368, 0 ], "JoinNode.actionDefinition": [ @@ -49022,13 +49022,13 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.behavior": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49038,7 +49038,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.declaredName": [ @@ -49046,7 +49046,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.declaredShortName": [ @@ -49054,7 +49054,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.differencingType": [ @@ -49062,13 +49062,13 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.directedFeature": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49078,7 +49078,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.documentation": [ @@ -49086,7 +49086,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.endFeature": [ @@ -49094,13 +49094,13 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.feature": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49108,7 +49108,7 @@ "LiteralBoolean.featureMembership": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49116,7 +49116,7 @@ "LiteralBoolean.featureTarget": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49124,15 +49124,15 @@ "LiteralBoolean.featuringType": [ 0, 0, - 90, + 92, 0, - 288, + 293, 0 ], "LiteralBoolean.function": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49142,13 +49142,13 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.inheritedFeature": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49156,7 +49156,7 @@ "LiteralBoolean.inheritedMembership": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49166,7 +49166,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.intersectingType": [ @@ -49174,11 +49174,11 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.isAbstract": [ - 378, + 385, 0, 0, 0, @@ -49186,7 +49186,7 @@ 0 ], "LiteralBoolean.isComposite": [ - 378, + 385, 0, 0, 0, @@ -49196,13 +49196,13 @@ "LiteralBoolean.isConjugated": [ 0, 0, - 378, + 385, 0, 0, 0 ], "LiteralBoolean.isConstant": [ - 378, + 385, 0, 0, 0, @@ -49210,7 +49210,7 @@ 0 ], "LiteralBoolean.isDerived": [ - 378, + 385, 0, 0, 0, @@ -49218,7 +49218,7 @@ 0 ], "LiteralBoolean.isEnd": [ - 378, + 385, 0, 0, 0, @@ -49226,7 +49226,7 @@ 0 ], "LiteralBoolean.isImpliedIncluded": [ - 378, + 385, 0, 0, 0, @@ -49236,7 +49236,7 @@ "LiteralBoolean.isLibraryElement": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49244,13 +49244,13 @@ "LiteralBoolean.isModelLevelEvaluable": [ 0, 0, - 378, + 385, 0, 0, 0 ], "LiteralBoolean.isOrdered": [ - 378, + 385, 0, 0, 0, @@ -49258,7 +49258,7 @@ 0 ], "LiteralBoolean.isPortion": [ - 378, + 385, 0, 0, 0, @@ -49266,7 +49266,7 @@ 0 ], "LiteralBoolean.isSufficient": [ - 378, + 385, 0, 0, 0, @@ -49274,7 +49274,7 @@ 0 ], "LiteralBoolean.isUnique": [ - 378, + 385, 0, 0, 0, @@ -49282,7 +49282,7 @@ 0 ], "LiteralBoolean.isVariable": [ - 378, + 385, 0, 0, 0, @@ -49292,7 +49292,7 @@ "LiteralBoolean.member": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49300,7 +49300,7 @@ "LiteralBoolean.membership": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49308,7 +49308,7 @@ "LiteralBoolean.output": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49318,7 +49318,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedDifferencing": [ @@ -49326,7 +49326,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedDisjoining": [ @@ -49334,7 +49334,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedElement": [ @@ -49342,7 +49342,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedEndFeature": [ @@ -49350,7 +49350,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedFeature": [ @@ -49358,7 +49358,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedFeatureChaining": [ @@ -49366,7 +49366,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedFeatureInverting": [ @@ -49374,7 +49374,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedFeatureMembership": [ @@ -49382,7 +49382,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedImport": [ @@ -49390,7 +49390,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedIntersecting": [ @@ -49398,7 +49398,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedMember": [ @@ -49406,7 +49406,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedMembership": [ @@ -49414,7 +49414,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedRedefinition": [ @@ -49422,7 +49422,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedRelationship": [ @@ -49430,7 +49430,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedSpecialization": [ @@ -49438,7 +49438,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedSubsetting": [ @@ -49446,7 +49446,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedTypeFeaturing": [ @@ -49454,7 +49454,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedTyping": [ @@ -49462,7 +49462,7 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.ownedUnioning": [ @@ -49470,11 +49470,11 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.owner": [ - 378, + 385, 0, 0, 0, @@ -49482,7 +49482,7 @@ 0 ], "LiteralBoolean.owningMembership": [ - 378, + 385, 0, 0, 0, @@ -49492,13 +49492,13 @@ "LiteralBoolean.owningNamespace": [ 0, 0, - 378, + 385, 0, 0, 0 ], "LiteralBoolean.owningRelationship": [ - 378, + 385, 0, 0, 0, @@ -49508,7 +49508,7 @@ "LiteralBoolean.parameter": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49516,7 +49516,7 @@ "LiteralBoolean.result": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49526,13 +49526,13 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.type": [ 0, 0, - 378, + 385, 0, 0, 0 @@ -49542,11 +49542,11 @@ 0, 0, 0, - 378, + 385, 0 ], "LiteralBoolean.value": [ - 378, + 385, 0, 0, 0, @@ -50086,13 +50086,13 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.behavior": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50102,7 +50102,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.declaredName": [ @@ -50110,7 +50110,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.declaredShortName": [ @@ -50118,7 +50118,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.differencingType": [ @@ -50126,13 +50126,13 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.directedFeature": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50142,7 +50142,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.documentation": [ @@ -50150,7 +50150,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.endFeature": [ @@ -50158,13 +50158,13 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.feature": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50172,7 +50172,7 @@ "LiteralInteger.featureMembership": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50180,7 +50180,7 @@ "LiteralInteger.featureTarget": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50190,13 +50190,13 @@ 0, 1802, 0, - 201, + 203, 0 ], "LiteralInteger.function": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50206,13 +50206,13 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.inheritedFeature": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50220,7 +50220,7 @@ "LiteralInteger.inheritedMembership": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50230,7 +50230,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.intersectingType": [ @@ -50238,11 +50238,11 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.isAbstract": [ - 2003, + 2005, 0, 0, 0, @@ -50250,7 +50250,7 @@ 0 ], "LiteralInteger.isComposite": [ - 2003, + 2005, 0, 0, 0, @@ -50260,13 +50260,13 @@ "LiteralInteger.isConjugated": [ 0, 0, - 2003, + 2005, 0, 0, 0 ], "LiteralInteger.isConstant": [ - 2003, + 2005, 0, 0, 0, @@ -50274,7 +50274,7 @@ 0 ], "LiteralInteger.isDerived": [ - 2003, + 2005, 0, 0, 0, @@ -50282,7 +50282,7 @@ 0 ], "LiteralInteger.isEnd": [ - 2003, + 2005, 0, 0, 0, @@ -50290,7 +50290,7 @@ 0 ], "LiteralInteger.isImpliedIncluded": [ - 2003, + 2005, 0, 0, 0, @@ -50300,7 +50300,7 @@ "LiteralInteger.isLibraryElement": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50308,13 +50308,13 @@ "LiteralInteger.isModelLevelEvaluable": [ 0, 0, - 2003, + 2005, 0, 0, 0 ], "LiteralInteger.isOrdered": [ - 2003, + 2005, 0, 0, 0, @@ -50322,7 +50322,7 @@ 0 ], "LiteralInteger.isPortion": [ - 2003, + 2005, 0, 0, 0, @@ -50330,7 +50330,7 @@ 0 ], "LiteralInteger.isSufficient": [ - 2003, + 2005, 0, 0, 0, @@ -50338,7 +50338,7 @@ 0 ], "LiteralInteger.isUnique": [ - 2003, + 2005, 0, 0, 0, @@ -50346,7 +50346,7 @@ 0 ], "LiteralInteger.isVariable": [ - 2003, + 2005, 0, 0, 0, @@ -50356,7 +50356,7 @@ "LiteralInteger.member": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50364,7 +50364,7 @@ "LiteralInteger.membership": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50372,7 +50372,7 @@ "LiteralInteger.output": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50382,7 +50382,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedDifferencing": [ @@ -50390,7 +50390,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedDisjoining": [ @@ -50398,7 +50398,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedElement": [ @@ -50406,7 +50406,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedEndFeature": [ @@ -50414,7 +50414,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedFeature": [ @@ -50422,7 +50422,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedFeatureChaining": [ @@ -50430,7 +50430,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedFeatureInverting": [ @@ -50438,7 +50438,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedFeatureMembership": [ @@ -50446,7 +50446,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedImport": [ @@ -50454,7 +50454,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedIntersecting": [ @@ -50462,7 +50462,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedMember": [ @@ -50470,7 +50470,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedMembership": [ @@ -50478,7 +50478,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedRedefinition": [ @@ -50486,7 +50486,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedRelationship": [ @@ -50494,7 +50494,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedSpecialization": [ @@ -50502,7 +50502,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedSubsetting": [ @@ -50510,7 +50510,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedTypeFeaturing": [ @@ -50518,7 +50518,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedTyping": [ @@ -50526,7 +50526,7 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.ownedUnioning": [ @@ -50534,11 +50534,11 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.owner": [ - 2003, + 2005, 0, 0, 0, @@ -50546,7 +50546,7 @@ 0 ], "LiteralInteger.owningMembership": [ - 2003, + 2005, 0, 0, 0, @@ -50556,13 +50556,13 @@ "LiteralInteger.owningNamespace": [ 0, 0, - 2003, + 2005, 0, 0, 0 ], "LiteralInteger.owningRelationship": [ - 2003, + 2005, 0, 0, 0, @@ -50572,7 +50572,7 @@ "LiteralInteger.parameter": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50580,7 +50580,7 @@ "LiteralInteger.result": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50590,13 +50590,13 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.type": [ 0, 0, - 2003, + 2005, 0, 0, 0 @@ -50606,11 +50606,11 @@ 0, 0, 0, - 2003, + 2005, 0 ], "LiteralInteger.value": [ - 2003, + 2005, 0, 0, 0, @@ -51158,13 +51158,13 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.behavior": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51174,7 +51174,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.declaredName": [ @@ -51182,7 +51182,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.declaredShortName": [ @@ -51190,7 +51190,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.differencingType": [ @@ -51198,13 +51198,13 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.directedFeature": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51214,7 +51214,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.documentation": [ @@ -51222,7 +51222,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.endFeature": [ @@ -51230,13 +51230,13 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.feature": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51244,7 +51244,7 @@ "LiteralString.featureMembership": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51252,7 +51252,7 @@ "LiteralString.featureTarget": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51260,15 +51260,15 @@ "LiteralString.featuringType": [ 0, 0, - 388, + 398, 0, - 706, + 773, 0 ], "LiteralString.function": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51278,13 +51278,13 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.inheritedFeature": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51292,7 +51292,7 @@ "LiteralString.inheritedMembership": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51302,7 +51302,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.intersectingType": [ @@ -51310,11 +51310,11 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.isAbstract": [ - 1094, + 1171, 0, 0, 0, @@ -51322,7 +51322,7 @@ 0 ], "LiteralString.isComposite": [ - 1094, + 1171, 0, 0, 0, @@ -51332,13 +51332,13 @@ "LiteralString.isConjugated": [ 0, 0, - 1094, + 1171, 0, 0, 0 ], "LiteralString.isConstant": [ - 1094, + 1171, 0, 0, 0, @@ -51346,7 +51346,7 @@ 0 ], "LiteralString.isDerived": [ - 1094, + 1171, 0, 0, 0, @@ -51354,7 +51354,7 @@ 0 ], "LiteralString.isEnd": [ - 1094, + 1171, 0, 0, 0, @@ -51362,7 +51362,7 @@ 0 ], "LiteralString.isImpliedIncluded": [ - 1094, + 1171, 0, 0, 0, @@ -51372,7 +51372,7 @@ "LiteralString.isLibraryElement": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51380,13 +51380,13 @@ "LiteralString.isModelLevelEvaluable": [ 0, 0, - 1094, + 1171, 0, 0, 0 ], "LiteralString.isOrdered": [ - 1094, + 1171, 0, 0, 0, @@ -51394,7 +51394,7 @@ 0 ], "LiteralString.isPortion": [ - 1094, + 1171, 0, 0, 0, @@ -51402,7 +51402,7 @@ 0 ], "LiteralString.isSufficient": [ - 1094, + 1171, 0, 0, 0, @@ -51410,7 +51410,7 @@ 0 ], "LiteralString.isUnique": [ - 1094, + 1171, 0, 0, 0, @@ -51418,7 +51418,7 @@ 0 ], "LiteralString.isVariable": [ - 1094, + 1171, 0, 0, 0, @@ -51428,7 +51428,7 @@ "LiteralString.member": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51436,7 +51436,7 @@ "LiteralString.membership": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51444,7 +51444,7 @@ "LiteralString.output": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51454,7 +51454,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedDifferencing": [ @@ -51462,7 +51462,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedDisjoining": [ @@ -51470,7 +51470,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedElement": [ @@ -51478,7 +51478,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedEndFeature": [ @@ -51486,7 +51486,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedFeature": [ @@ -51494,7 +51494,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedFeatureChaining": [ @@ -51502,7 +51502,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedFeatureInverting": [ @@ -51510,7 +51510,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedFeatureMembership": [ @@ -51518,7 +51518,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedImport": [ @@ -51526,7 +51526,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedIntersecting": [ @@ -51534,7 +51534,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedMember": [ @@ -51542,7 +51542,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedMembership": [ @@ -51550,7 +51550,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedRedefinition": [ @@ -51558,7 +51558,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedRelationship": [ @@ -51566,7 +51566,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedSpecialization": [ @@ -51574,7 +51574,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedSubsetting": [ @@ -51582,7 +51582,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedTypeFeaturing": [ @@ -51590,7 +51590,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedTyping": [ @@ -51598,7 +51598,7 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.ownedUnioning": [ @@ -51606,11 +51606,11 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.owner": [ - 1094, + 1171, 0, 0, 0, @@ -51618,7 +51618,7 @@ 0 ], "LiteralString.owningMembership": [ - 1094, + 1171, 0, 0, 0, @@ -51628,13 +51628,13 @@ "LiteralString.owningNamespace": [ 0, 0, - 1094, + 1171, 0, 0, 0 ], "LiteralString.owningRelationship": [ - 1094, + 1171, 0, 0, 0, @@ -51644,7 +51644,7 @@ "LiteralString.parameter": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51652,7 +51652,7 @@ "LiteralString.result": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51662,13 +51662,13 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.type": [ 0, 0, - 1094, + 1171, 0, 0, 0 @@ -51678,11 +51678,11 @@ 0, 0, 0, - 1094, + 1171, 0 ], "LiteralString.value": [ - 1094, + 1171, 0, 0, 0, @@ -51694,7 +51694,7 @@ 0, 0, 0, - 3201, + 3215, 0 ], "Membership.declaredName": [ @@ -51702,7 +51702,7 @@ 0, 0, 0, - 3201, + 3215, 0 ], "Membership.declaredShortName": [ @@ -51710,7 +51710,7 @@ 0, 0, 0, - 3201, + 3215, 0 ], "Membership.documentation": [ @@ -51718,11 +51718,11 @@ 0, 3, 0, - 3198, + 3212, 0 ], "Membership.isImplied": [ - 3201, + 3215, 0, 0, 0, @@ -51730,7 +51730,7 @@ 0 ], "Membership.isImpliedIncluded": [ - 3201, + 3215, 0, 0, 0, @@ -51740,23 +51740,23 @@ "Membership.isLibraryElement": [ 0, 0, - 3201, + 3215, 0, 0, 0 ], "Membership.memberElement": [ - 2219, + 2225, 23, 40, 0, 0, - 919 + 927 ], "Membership.memberElementId": [ 0, 0, - 3201, + 3215, 0, 0, 0 @@ -51766,7 +51766,7 @@ 0, 0, 0, - 3167, + 3181, 0 ], "Membership.memberShortName": [ @@ -51774,13 +51774,13 @@ 0, 0, 0, - 3199, + 3213, 0 ], "Membership.membershipOwningNamespace": [ 140, 0, - 3061, + 3075, 0, 0, 0 @@ -51790,7 +51790,7 @@ 0, 5, 0, - 3196, + 3210, 0 ], "Membership.ownedElement": [ @@ -51798,7 +51798,7 @@ 0, 5, 0, - 3196, + 3210, 0 ], "Membership.ownedRelatedElement": [ @@ -51806,7 +51806,7 @@ 0, 0, 3, - 3198, + 3212, 0 ], "Membership.ownedRelationship": [ @@ -51814,14 +51814,14 @@ 0, 5, 0, - 3196, + 3210, 0 ], "Membership.owner": [ 0, 0, 0, - 3201, + 3215, 0, 0 ], @@ -51834,7 +51834,7 @@ 0 ], "Membership.owningRelatedElement": [ - 3201, + 3215, 0, 0, 0, @@ -51846,13 +51846,13 @@ 0, 0, 0, - 3201, + 3215, 0 ], "Membership.relatedElement": [ 0, 0, - 3201, + 3215, 0, 0, 0 @@ -51860,7 +51860,7 @@ "Membership.source": [ 0, 0, - 3201, + 3215, 0, 0, 0 @@ -51868,7 +51868,7 @@ "Membership.target": [ 0, 0, - 3201, + 3215, 0, 0, 0 @@ -51878,13 +51878,13 @@ 0, 0, 0, - 3201, + 3215, 0 ], "Membership.visibility": [ 3, 0, - 3198, + 3212, 0, 0, 0 @@ -51894,7 +51894,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.declaredName": [ @@ -51902,7 +51902,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.declaredShortName": [ @@ -51910,7 +51910,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.documentation": [ @@ -51918,11 +51918,11 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.importOwningNamespace": [ - 73, + 75, 0, 0, 0, @@ -51932,13 +51932,13 @@ "MembershipExpose.importedElement": [ 0, 0, - 72, + 74, 0, 0, 0 ], "MembershipExpose.importedMembership": [ - 69, + 71, 3, 1, 0, @@ -51946,7 +51946,7 @@ 0 ], "MembershipExpose.isImplied": [ - 73, + 75, 0, 0, 0, @@ -51954,7 +51954,7 @@ 0 ], "MembershipExpose.isImpliedIncluded": [ - 73, + 75, 0, 0, 0, @@ -51962,7 +51962,7 @@ 0 ], "MembershipExpose.isImportAll": [ - 73, + 75, 0, 0, 0, @@ -51972,13 +51972,13 @@ "MembershipExpose.isLibraryElement": [ 0, 0, - 73, + 75, 0, 0, 0 ], "MembershipExpose.isRecursive": [ - 73, + 75, 0, 0, 0, @@ -51990,7 +51990,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.ownedElement": [ @@ -51998,7 +51998,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.ownedRelatedElement": [ @@ -52006,7 +52006,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.ownedRelationship": [ @@ -52014,14 +52014,14 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.owner": [ 0, 0, 0, - 73, + 75, 0, 0 ], @@ -52029,12 +52029,12 @@ 0, 0, 0, - 73, + 75, 0, 0 ], "MembershipExpose.owningRelatedElement": [ - 73, + 75, 0, 0, 0, @@ -52046,13 +52046,13 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.relatedElement": [ 0, 0, - 73, + 75, 0, 0, 0 @@ -52060,7 +52060,7 @@ "MembershipExpose.source": [ 0, 0, - 73, + 75, 0, 0, 0 @@ -52068,7 +52068,7 @@ "MembershipExpose.target": [ 0, 0, - 73, + 75, 0, 0, 0 @@ -52078,11 +52078,11 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.visibility": [ - 73, + 75, 0, 0, 0, @@ -55270,13 +55270,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.annotatedElement": [ 9, 0, - 369, + 376, 0, 7, 0 @@ -55286,7 +55286,7 @@ 0, 13, 0, - 372, + 379, 0 ], "MetadataUsage.chainingFeature": [ @@ -55294,7 +55294,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.declaredName": [ @@ -55302,7 +55302,7 @@ 0, 0, 0, - 380, + 387, 0 ], "MetadataUsage.declaredShortName": [ @@ -55310,13 +55310,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.definition": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55326,7 +55326,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.directedFeature": [ @@ -55334,7 +55334,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.directedUsage": [ @@ -55342,7 +55342,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.direction": [ @@ -55350,7 +55350,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.documentation": [ @@ -55358,7 +55358,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.endFeature": [ @@ -55366,13 +55366,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.feature": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55380,7 +55380,7 @@ "MetadataUsage.featureMembership": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55388,7 +55388,7 @@ "MetadataUsage.featureTarget": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55398,7 +55398,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.importedMembership": [ @@ -55406,13 +55406,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.inheritedFeature": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55420,7 +55420,7 @@ "MetadataUsage.inheritedMembership": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55430,7 +55430,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.intersectingType": [ @@ -55438,11 +55438,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.isAbstract": [ - 385, + 392, 0, 0, 0, @@ -55450,7 +55450,7 @@ 0 ], "MetadataUsage.isComposite": [ - 385, + 392, 0, 0, 0, @@ -55460,13 +55460,13 @@ "MetadataUsage.isConjugated": [ 0, 0, - 385, + 392, 0, 0, 0 ], "MetadataUsage.isConstant": [ - 385, + 392, 0, 0, 0, @@ -55474,7 +55474,7 @@ 0 ], "MetadataUsage.isDerived": [ - 385, + 392, 0, 0, 0, @@ -55482,7 +55482,7 @@ 0 ], "MetadataUsage.isEnd": [ - 385, + 392, 0, 0, 0, @@ -55490,7 +55490,7 @@ 0 ], "MetadataUsage.isImpliedIncluded": [ - 385, + 392, 0, 0, 0, @@ -55498,7 +55498,7 @@ 0 ], "MetadataUsage.isIndividual": [ - 385, + 392, 0, 0, 0, @@ -55508,13 +55508,13 @@ "MetadataUsage.isLibraryElement": [ 0, 0, - 385, + 392, 0, 0, 0 ], "MetadataUsage.isOrdered": [ - 385, + 392, 0, 0, 0, @@ -55522,7 +55522,7 @@ 0 ], "MetadataUsage.isPortion": [ - 385, + 392, 0, 0, 0, @@ -55532,13 +55532,13 @@ "MetadataUsage.isReference": [ 0, 0, - 385, + 392, 0, 0, 0 ], "MetadataUsage.isSufficient": [ - 385, + 392, 0, 0, 0, @@ -55546,7 +55546,7 @@ 0 ], "MetadataUsage.isUnique": [ - 385, + 392, 0, 0, 0, @@ -55558,11 +55558,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.isVariation": [ - 385, + 392, 0, 0, 0, @@ -55572,7 +55572,7 @@ "MetadataUsage.itemDefinition": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55580,7 +55580,7 @@ "MetadataUsage.mayTimeVary": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55588,7 +55588,7 @@ "MetadataUsage.member": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55596,7 +55596,7 @@ "MetadataUsage.membership": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55604,7 +55604,7 @@ "MetadataUsage.metaclass": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55612,7 +55612,7 @@ "MetadataUsage.metadataDefinition": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55630,7 +55630,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedAllocation": [ @@ -55638,7 +55638,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedAnalysisCase": [ @@ -55646,7 +55646,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedAttribute": [ @@ -55654,7 +55654,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedCalculation": [ @@ -55662,7 +55662,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedCase": [ @@ -55670,7 +55670,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedConcern": [ @@ -55678,7 +55678,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedConnection": [ @@ -55686,7 +55686,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedConstraint": [ @@ -55694,7 +55694,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedEnumeration": [ @@ -55702,7 +55702,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedFlow": [ @@ -55710,7 +55710,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedInterface": [ @@ -55718,7 +55718,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedItem": [ @@ -55726,7 +55726,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedMetadata": [ @@ -55734,7 +55734,7 @@ 0, 1, 0, - 384, + 391, 0 ], "MetadataUsage.nestedOccurrence": [ @@ -55742,7 +55742,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedPart": [ @@ -55750,7 +55750,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedPort": [ @@ -55758,7 +55758,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedReference": [ @@ -55766,7 +55766,7 @@ 0, 113, 0, - 272, + 279, 0 ], "MetadataUsage.nestedRendering": [ @@ -55774,7 +55774,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedRequirement": [ @@ -55782,7 +55782,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedState": [ @@ -55790,7 +55790,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedTransition": [ @@ -55798,7 +55798,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedUsage": [ @@ -55806,7 +55806,7 @@ 0, 113, 0, - 272, + 279, 0 ], "MetadataUsage.nestedUseCase": [ @@ -55814,7 +55814,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedVerificationCase": [ @@ -55822,7 +55822,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedView": [ @@ -55830,7 +55830,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedViewpoint": [ @@ -55838,13 +55838,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.occurrenceDefinition": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55854,7 +55854,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedAnnotatingRelationship": [ @@ -55862,7 +55862,7 @@ 0, 13, 0, - 372, + 379, 0 ], "MetadataUsage.ownedAnnotation": [ @@ -55870,7 +55870,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedDifferencing": [ @@ -55878,7 +55878,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedDisjoining": [ @@ -55886,7 +55886,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedElement": [ @@ -55894,7 +55894,7 @@ 0, 113, 0, - 272, + 279, 0 ], "MetadataUsage.ownedEndFeature": [ @@ -55902,7 +55902,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedFeature": [ @@ -55910,7 +55910,7 @@ 0, 0, 0, - 272, + 279, 0 ], "MetadataUsage.ownedFeatureChaining": [ @@ -55918,7 +55918,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedFeatureInverting": [ @@ -55926,7 +55926,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedFeatureMembership": [ @@ -55934,7 +55934,7 @@ 0, 0, 0, - 272, + 279, 0 ], "MetadataUsage.ownedImport": [ @@ -55942,7 +55942,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedIntersecting": [ @@ -55950,7 +55950,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedMember": [ @@ -55958,7 +55958,7 @@ 0, 0, 0, - 272, + 279, 0 ], "MetadataUsage.ownedMembership": [ @@ -55966,7 +55966,7 @@ 0, 0, 0, - 272, + 279, 0 ], "MetadataUsage.ownedRedefinition": [ @@ -55974,11 +55974,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedRelationship": [ - 275, + 282, 110, 0, 0, @@ -55986,7 +55986,7 @@ 0 ], "MetadataUsage.ownedSpecialization": [ - 385, + 392, 0, 0, 0, @@ -55998,7 +55998,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedTypeFeaturing": [ @@ -56006,11 +56006,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedTyping": [ - 385, + 392, 0, 0, 0, @@ -56022,11 +56022,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.owner": [ - 385, + 392, 0, 0, 0, @@ -56034,7 +56034,7 @@ 0 ], "MetadataUsage.owningMembership": [ - 372, + 379, 6, 0, 0, @@ -56042,7 +56042,7 @@ 0 ], "MetadataUsage.owningNamespace": [ - 378, + 385, 0, 0, 0, @@ -56050,7 +56050,7 @@ 0 ], "MetadataUsage.owningRelationship": [ - 379, + 386, 6, 0, 0, @@ -56062,7 +56062,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.qualifiedName": [ @@ -56078,11 +56078,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.type": [ - 155, + 162, 0, 13, 0, @@ -56094,13 +56094,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.usage": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -56110,7 +56110,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.variantMembership": [ @@ -56118,7 +56118,7 @@ 0, 0, 0, - 385, + 392, 0 ], "Multiplicity.aliasIds": [ @@ -60070,12 +60070,12 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.argument": [ 1098, - 204, + 206, 27, 1, 1, @@ -60084,7 +60084,7 @@ "OperatorExpression.behavior": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60094,7 +60094,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.declaredName": [ @@ -60102,7 +60102,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.declaredShortName": [ @@ -60110,7 +60110,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.differencingType": [ @@ -60118,13 +60118,13 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.directedFeature": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60134,7 +60134,7 @@ 0, 6, 0, - 1325, + 1327, 0 ], "OperatorExpression.documentation": [ @@ -60142,7 +60142,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.endFeature": [ @@ -60150,13 +60150,13 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.feature": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60164,7 +60164,7 @@ "OperatorExpression.featureMembership": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60172,7 +60172,7 @@ "OperatorExpression.featureTarget": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60180,7 +60180,7 @@ "OperatorExpression.featuringType": [ 0, 0, - 874, + 876, 0, 457, 0 @@ -60188,7 +60188,7 @@ "OperatorExpression.function": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60198,13 +60198,13 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.inheritedFeature": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60212,14 +60212,14 @@ "OperatorExpression.inheritedMembership": [ 0, 0, - 1331, + 1333, 0, 0, 0 ], "OperatorExpression.input": [ 1174, - 155, + 157, 1, 1, 0, @@ -60228,7 +60228,7 @@ "OperatorExpression.instantiatedType": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60238,11 +60238,11 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.isAbstract": [ - 1331, + 1333, 0, 0, 0, @@ -60250,7 +60250,7 @@ 0 ], "OperatorExpression.isComposite": [ - 1331, + 1333, 0, 0, 0, @@ -60260,13 +60260,13 @@ "OperatorExpression.isConjugated": [ 0, 0, - 1331, + 1333, 0, 0, 0 ], "OperatorExpression.isConstant": [ - 1331, + 1333, 0, 0, 0, @@ -60274,7 +60274,7 @@ 0 ], "OperatorExpression.isDerived": [ - 1331, + 1333, 0, 0, 0, @@ -60282,7 +60282,7 @@ 0 ], "OperatorExpression.isEnd": [ - 1331, + 1333, 0, 0, 0, @@ -60290,7 +60290,7 @@ 0 ], "OperatorExpression.isImpliedIncluded": [ - 1331, + 1333, 0, 0, 0, @@ -60300,7 +60300,7 @@ "OperatorExpression.isLibraryElement": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60308,13 +60308,13 @@ "OperatorExpression.isModelLevelEvaluable": [ 0, 0, - 1331, + 1333, 0, 0, 0 ], "OperatorExpression.isOrdered": [ - 1331, + 1333, 0, 0, 0, @@ -60322,7 +60322,7 @@ 0 ], "OperatorExpression.isPortion": [ - 1331, + 1333, 0, 0, 0, @@ -60330,7 +60330,7 @@ 0 ], "OperatorExpression.isSufficient": [ - 1331, + 1333, 0, 0, 0, @@ -60338,7 +60338,7 @@ 0 ], "OperatorExpression.isUnique": [ - 1331, + 1333, 0, 0, 0, @@ -60346,7 +60346,7 @@ 0 ], "OperatorExpression.isVariable": [ - 1331, + 1333, 0, 0, 0, @@ -60356,7 +60356,7 @@ "OperatorExpression.member": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60364,7 +60364,7 @@ "OperatorExpression.membership": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60378,7 +60378,7 @@ 0 ], "OperatorExpression.operator": [ - 1319, + 1321, 12, 0, 0, @@ -60388,7 +60388,7 @@ "OperatorExpression.output": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60398,7 +60398,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedDifferencing": [ @@ -60406,7 +60406,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedDisjoining": [ @@ -60414,13 +60414,13 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedElement": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60430,12 +60430,12 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedFeature": [ 1197, - 134, + 136, 0, 0, 0, @@ -60446,7 +60446,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedFeatureInverting": [ @@ -60454,12 +60454,12 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedFeatureMembership": [ 1197, - 134, + 136, 0, 0, 0, @@ -60470,7 +60470,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedIntersecting": [ @@ -60478,20 +60478,20 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedMember": [ 0, 0, - 1331, + 1333, 0, 0, 0 ], "OperatorExpression.ownedMembership": [ 1197, - 134, + 136, 0, 0, 0, @@ -60502,12 +60502,12 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedRelationship": [ 1197, - 134, + 136, 0, 0, 0, @@ -60518,7 +60518,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedSubsetting": [ @@ -60526,7 +60526,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedTypeFeaturing": [ @@ -60534,7 +60534,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedTyping": [ @@ -60542,7 +60542,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.ownedUnioning": [ @@ -60550,11 +60550,11 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.owner": [ - 1331, + 1333, 0, 0, 0, @@ -60570,7 +60570,7 @@ 0 ], "OperatorExpression.owningMembership": [ - 1329, + 1331, 2, 0, 0, @@ -60580,13 +60580,13 @@ "OperatorExpression.owningNamespace": [ 232, 0, - 1099, + 1101, 0, 0, 0 ], "OperatorExpression.owningRelationship": [ - 1329, + 1331, 2, 0, 0, @@ -60603,7 +60603,7 @@ ], "OperatorExpression.parameter": [ 1174, - 157, + 159, 0, 0, 0, @@ -60611,7 +60611,7 @@ ], "OperatorExpression.result": [ 1197, - 134, + 136, 0, 0, 0, @@ -60622,13 +60622,13 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OperatorExpression.type": [ 0, 0, - 1331, + 1333, 0, 0, 0 @@ -60638,7 +60638,7 @@ 0, 0, 0, - 1331, + 1333, 0 ], "OwningMembership.aliasIds": [ @@ -60646,7 +60646,7 @@ 0, 0, 0, - 9625, + 9665, 0 ], "OwningMembership.declaredName": [ @@ -60654,7 +60654,7 @@ 0, 0, 0, - 9625, + 9665, 0 ], "OwningMembership.declaredShortName": [ @@ -60662,7 +60662,7 @@ 0, 0, 0, - 9625, + 9665, 0 ], "OwningMembership.documentation": [ @@ -60670,11 +60670,11 @@ 0, 0, 0, - 9625, + 9665, 0 ], "OwningMembership.isImplied": [ - 9625, + 9665, 0, 0, 0, @@ -60682,7 +60682,7 @@ 0 ], "OwningMembership.isImpliedIncluded": [ - 9625, + 9665, 0, 0, 0, @@ -60692,23 +60692,23 @@ "OwningMembership.isLibraryElement": [ 0, 0, - 9625, + 9665, 0, 0, 0 ], "OwningMembership.memberElement": [ - 8977, + 9005, 431, 0, 3, 0, - 214 + 226 ], "OwningMembership.memberElementId": [ 0, 0, - 9622, + 9662, 0, 0, 0 @@ -60716,7 +60716,7 @@ "OwningMembership.memberName": [ 0, 0, - 5669, + 5688, 0, 0, 0 @@ -60730,7 +60730,7 @@ 0 ], "OwningMembership.membershipOwningNamespace": [ - 9625, + 9665, 0, 0, 0, @@ -60742,7 +60742,7 @@ 0, 0, 0, - 9625, + 9665, 0 ], "OwningMembership.ownedElement": [ @@ -60750,21 +60750,21 @@ 0, 0, 0, - 9625, + 9665, 0 ], "OwningMembership.ownedMemberElement": [ - 8977, + 9005, 431, 0, 3, 0, - 214 + 226 ], "OwningMembership.ownedMemberElementId": [ 0, 0, - 9622, + 9662, 0, 0, 0 @@ -60772,7 +60772,7 @@ "OwningMembership.ownedMemberName": [ 0, 0, - 5669, + 5688, 0, 0, 0 @@ -60786,31 +60786,31 @@ 0 ], "OwningMembership.ownedRelatedElement": [ - 8977, + 9005, 431, 0, 3, 0, - 214 + 226 ], "OwningMembership.ownedRelationship": [ 0, 0, 0, 0, - 9625, + 9665, 0 ], "OwningMembership.owner": [ 0, 0, 0, - 9625, + 9665, 0, 0 ], "OwningMembership.owningRelatedElement": [ - 9625, + 9665, 0, 0, 0, @@ -60822,13 +60822,13 @@ 0, 0, 0, - 9625, + 9665, 0 ], "OwningMembership.relatedElement": [ 0, 0, - 9625, + 9665, 0, 0, 0 @@ -60836,7 +60836,7 @@ "OwningMembership.source": [ 0, 0, - 9625, + 9665, 0, 0, 0 @@ -60844,7 +60844,7 @@ "OwningMembership.target": [ 0, 0, - 9622, + 9662, 0, 3, 0 @@ -60854,13 +60854,13 @@ 0, 0, 0, - 9625, + 9665, 0 ], "OwningMembership.visibility": [ 25, 0, - 9600, + 9640, 0, 0, 0 @@ -61054,7 +61054,7 @@ 0, 0, 0, - 4410, + 4434, 0 ], "ParameterMembership.declaredName": [ @@ -61062,7 +61062,7 @@ 0, 0, 0, - 4410, + 4434, 0 ], "ParameterMembership.declaredShortName": [ @@ -61070,7 +61070,7 @@ 0, 0, 0, - 4410, + 4434, 0 ], "ParameterMembership.documentation": [ @@ -61078,11 +61078,11 @@ 0, 0, 0, - 4410, + 4434, 0 ], "ParameterMembership.isImplied": [ - 4410, + 4434, 0, 0, 0, @@ -61090,7 +61090,7 @@ 0 ], "ParameterMembership.isImpliedIncluded": [ - 4410, + 4434, 0, 0, 0, @@ -61100,13 +61100,13 @@ "ParameterMembership.isLibraryElement": [ 0, 0, - 4410, + 4434, 0, 0, 0 ], "ParameterMembership.memberElement": [ - 4197, + 4221, 213, 0, 0, @@ -61116,7 +61116,7 @@ "ParameterMembership.memberElementId": [ 0, 0, - 4410, + 4434, 0, 0, 0 @@ -61124,13 +61124,13 @@ "ParameterMembership.memberName": [ 0, 0, - 4394, + 4418, 0, 0, 0 ], "ParameterMembership.membershipOwningNamespace": [ - 4410, + 4434, 0, 0, 0, @@ -61142,7 +61142,7 @@ 0, 0, 0, - 4410, + 4434, 0 ], "ParameterMembership.ownedElement": [ @@ -61150,11 +61150,11 @@ 0, 0, 0, - 4410, + 4434, 0 ], "ParameterMembership.ownedMemberElement": [ - 4197, + 4221, 213, 0, 0, @@ -61164,13 +61164,13 @@ "ParameterMembership.ownedMemberElementId": [ 0, 0, - 4410, + 4434, 0, 0, 0 ], "ParameterMembership.ownedMemberFeature": [ - 4193, + 4217, 213, 4, 0, @@ -61180,13 +61180,13 @@ "ParameterMembership.ownedMemberName": [ 0, 0, - 4394, + 4418, 0, 0, 0 ], "ParameterMembership.ownedMemberParameter": [ - 4197, + 4221, 213, 0, 0, @@ -61194,7 +61194,7 @@ 0 ], "ParameterMembership.ownedRelatedElement": [ - 4197, + 4221, 213, 0, 0, @@ -61206,19 +61206,19 @@ 0, 0, 0, - 4410, + 4434, 0 ], "ParameterMembership.owner": [ 0, 0, 0, - 4410, + 4434, 0, 0 ], "ParameterMembership.owningRelatedElement": [ - 4410, + 4434, 0, 0, 0, @@ -61230,13 +61230,13 @@ 0, 0, 0, - 4410, + 4434, 0 ], "ParameterMembership.owningType": [ 70, 0, - 4340, + 4364, 0, 0, 0 @@ -61244,7 +61244,7 @@ "ParameterMembership.relatedElement": [ 0, 0, - 4410, + 4434, 0, 0, 0 @@ -61252,7 +61252,7 @@ "ParameterMembership.source": [ 0, 0, - 4410, + 4434, 0, 0, 0 @@ -61260,7 +61260,7 @@ "ParameterMembership.target": [ 0, 0, - 4410, + 4434, 0, 0, 0 @@ -61270,13 +61270,13 @@ 0, 0, 0, - 4410, + 4434, 0 ], "ParameterMembership.visibility": [ 0, 0, - 4410, + 4434, 0, 0, 0 @@ -61286,11 +61286,11 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.declaredName": [ - 925, + 938, 0, 0, 0, @@ -61302,7 +61302,7 @@ 0, 0, 0, - 922, + 935, 0 ], "PartDefinition.differencingType": [ @@ -61310,23 +61310,23 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.directedFeature": [ 0, 0, - 65, + 68, 0, - 860, + 870, 0 ], "PartDefinition.directedUsage": [ 0, 0, - 65, + 68, 0, - 860, + 870, 0 ], "PartDefinition.documentation": [ @@ -61334,7 +61334,7 @@ 0, 15, 0, - 910, + 923, 0 ], "PartDefinition.endFeature": [ @@ -61342,13 +61342,13 @@ 0, 1, 0, - 924, + 937, 0 ], "PartDefinition.feature": [ 0, 0, - 925, + 938, 0, 0, 0 @@ -61356,7 +61356,7 @@ "PartDefinition.featureMembership": [ 0, 0, - 925, + 938, 0, 0, 0 @@ -61366,13 +61366,13 @@ 0, 2, 0, - 923, + 936, 0 ], "PartDefinition.inheritedFeature": [ 0, 0, - 925, + 938, 0, 0, 0 @@ -61380,7 +61380,7 @@ "PartDefinition.inheritedMembership": [ 0, 0, - 925, + 938, 0, 0, 0 @@ -61390,7 +61390,7 @@ 0, 45, 0, - 880, + 893, 0 ], "PartDefinition.intersectingType": [ @@ -61398,11 +61398,11 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.isAbstract": [ - 925, + 938, 0, 0, 0, @@ -61412,13 +61412,13 @@ "PartDefinition.isConjugated": [ 0, 0, - 925, + 938, 0, 0, 0 ], "PartDefinition.isImpliedIncluded": [ - 925, + 938, 0, 0, 0, @@ -61426,7 +61426,7 @@ 0 ], "PartDefinition.isIndividual": [ - 925, + 938, 0, 0, 0, @@ -61436,13 +61436,13 @@ "PartDefinition.isLibraryElement": [ 0, 0, - 925, + 938, 0, 0, 0 ], "PartDefinition.isSufficient": [ - 925, + 938, 0, 0, 0, @@ -61450,7 +61450,7 @@ 0 ], "PartDefinition.isVariation": [ - 925, + 938, 0, 0, 0, @@ -61460,7 +61460,7 @@ "PartDefinition.member": [ 0, 0, - 925, + 938, 0, 0, 0 @@ -61468,7 +61468,7 @@ "PartDefinition.membership": [ 0, 0, - 925, + 938, 0, 0, 0 @@ -61484,7 +61484,7 @@ "PartDefinition.name": [ 0, 0, - 925, + 938, 0, 0, 0 @@ -61492,9 +61492,9 @@ "PartDefinition.output": [ 0, 0, - 48, + 51, 0, - 877, + 887, 0 ], "PartDefinition.ownedAction": [ @@ -61502,7 +61502,7 @@ 0, 63, 0, - 862, + 875, 0 ], "PartDefinition.ownedAllocation": [ @@ -61510,7 +61510,7 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedAnalysisCase": [ @@ -61518,7 +61518,7 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedAnnotation": [ @@ -61526,15 +61526,15 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedAttribute": [ 0, 0, - 337, + 351, 0, - 588, + 587, 0 ], "PartDefinition.ownedCalculation": [ @@ -61542,7 +61542,7 @@ 0, 2, 0, - 923, + 936, 0 ], "PartDefinition.ownedCase": [ @@ -61550,7 +61550,7 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedConcern": [ @@ -61558,7 +61558,7 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedConnection": [ @@ -61566,7 +61566,7 @@ 0, 32, 0, - 893, + 906, 0 ], "PartDefinition.ownedConstraint": [ @@ -61574,7 +61574,7 @@ 0, 26, 0, - 899, + 912, 0 ], "PartDefinition.ownedDifferencing": [ @@ -61582,7 +61582,7 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedDisjoining": [ @@ -61590,13 +61590,13 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedElement": [ 0, 0, - 590, + 603, 0, 335, 0 @@ -61606,7 +61606,7 @@ 0, 1, 0, - 924, + 937, 0 ], "PartDefinition.ownedEnumeration": [ @@ -61614,11 +61614,11 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedFeature": [ - 516, + 529, 1, 0, 0, @@ -61626,7 +61626,7 @@ 23 ], "PartDefinition.ownedFeatureMembership": [ - 540, + 553, 0, 0, 0, @@ -61638,7 +61638,7 @@ 0, 13, 0, - 912, + 925, 0 ], "PartDefinition.ownedImport": [ @@ -61646,7 +61646,7 @@ 0, 0, 0, - 923, + 936, 0 ], "PartDefinition.ownedInterface": [ @@ -61654,7 +61654,7 @@ 0, 5, 0, - 920, + 933, 0 ], "PartDefinition.ownedIntersecting": [ @@ -61662,19 +61662,19 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedItem": [ 0, 0, - 218, + 219, 0, - 707, + 719, 0 ], "PartDefinition.ownedMember": [ - 546, + 559, 14, 8, 0, @@ -61682,7 +61682,7 @@ 22 ], "PartDefinition.ownedMembership": [ - 569, + 582, 13, 8, 0, @@ -61692,17 +61692,17 @@ "PartDefinition.ownedMetadata": [ 0, 0, - 79, + 86, 0, - 846, + 852, 0 ], "PartDefinition.ownedOccurrence": [ 0, 0, - 334, + 338, 0, - 591, + 600, 0 ], "PartDefinition.ownedPart": [ @@ -61710,15 +61710,15 @@ 0, 162, 0, - 763, + 776, 0 ], "PartDefinition.ownedPort": [ 0, 0, - 116, + 119, 0, - 809, + 819, 0 ], "PartDefinition.ownedReference": [ @@ -61726,11 +61726,11 @@ 0, 37, 0, - 888, + 901, 0 ], "PartDefinition.ownedRelationship": [ - 624, + 637, 20, 1, 0, @@ -61742,7 +61742,7 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedRequirement": [ @@ -61750,11 +61750,11 @@ 0, 1, 0, - 924, + 937, 0 ], "PartDefinition.ownedSpecialization": [ - 270, + 283, 0, 0, 0, @@ -61766,11 +61766,11 @@ 0, 29, 0, - 896, + 909, 0 ], "PartDefinition.ownedSubclassification": [ - 270, + 283, 0, 0, 0, @@ -61782,7 +61782,7 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedUnioning": [ @@ -61790,13 +61790,13 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedUsage": [ 0, 0, - 540, + 553, 0, 385, 0 @@ -61806,7 +61806,7 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedVerificationCase": [ @@ -61814,7 +61814,7 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedView": [ @@ -61822,7 +61822,7 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.ownedViewpoint": [ @@ -61830,11 +61830,11 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.owner": [ - 925, + 938, 0, 0, 0, @@ -61842,7 +61842,7 @@ 0 ], "PartDefinition.owningMembership": [ - 910, + 923, 15, 0, 0, @@ -61850,7 +61850,7 @@ 0 ], "PartDefinition.owningNamespace": [ - 925, + 938, 0, 0, 0, @@ -61858,7 +61858,7 @@ 0 ], "PartDefinition.owningRelationship": [ - 910, + 923, 15, 0, 0, @@ -61866,7 +61866,7 @@ 0 ], "PartDefinition.qualifiedName": [ - 924, + 937, 0, 0, 0, @@ -61885,7 +61885,7 @@ 0, 0, 0, - 270, + 283, 0, 0 ], @@ -61894,7 +61894,7 @@ 0, 2, 0, - 923, + 936, 0 ], "PartDefinition.unioningType": [ @@ -61902,13 +61902,13 @@ 0, 0, 0, - 925, + 938, 0 ], "PartDefinition.usage": [ 0, 0, - 925, + 938, 0, 0, 0 @@ -61918,7 +61918,7 @@ 0, 0, 0, - 919, + 932, 0 ], "PartDefinition.variantMembership": [ @@ -61926,7 +61926,7 @@ 0, 0, 0, - 919, + 932, 0 ], "PartUsage.aliasIds": [ @@ -61934,7 +61934,7 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.chainingFeature": [ @@ -61942,7 +61942,7 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.crossFeature": [ @@ -61962,7 +61962,7 @@ 0 ], "PartUsage.declaredName": [ - 1801, + 1817, 0, 0, 0, @@ -61974,13 +61974,13 @@ 0, 0, 0, - 1979, + 1995, 0 ], "PartUsage.definition": [ 0, 0, - 1980, + 1996, 0, 1, 0 @@ -61990,23 +61990,23 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.directedFeature": [ 0, 0, - 138, + 140, 0, - 1843, + 1857, 0 ], "PartUsage.directedUsage": [ 0, 0, - 138, + 140, 0, - 1843, + 1857, 0 ], "PartUsage.direction": [ @@ -62014,7 +62014,7 @@ 0, 0, 0, - 1879, + 1895, 0 ], "PartUsage.documentation": [ @@ -62022,7 +62022,7 @@ 0, 10, 0, - 1971, + 1987, 0 ], "PartUsage.endFeature": [ @@ -62030,7 +62030,7 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.endOwningType": [ @@ -62044,7 +62044,7 @@ "PartUsage.feature": [ 0, 0, - 1981, + 1997, 0, 0, 0 @@ -62052,7 +62052,7 @@ "PartUsage.featureMembership": [ 0, 0, - 1981, + 1997, 0, 0, 0 @@ -62060,7 +62060,7 @@ "PartUsage.featureTarget": [ 0, 0, - 1981, + 1997, 0, 0, 0 @@ -62068,9 +62068,9 @@ "PartUsage.featuringType": [ 0, 0, - 1525, + 1540, 0, - 456, + 457, 0 ], "PartUsage.importedMembership": [ @@ -62078,7 +62078,7 @@ 0, 3, 0, - 1978, + 1994, 0 ], "PartUsage.individualDefinition": [ @@ -62092,7 +62092,7 @@ "PartUsage.inheritedFeature": [ 0, 0, - 1981, + 1997, 0, 0, 0 @@ -62100,7 +62100,7 @@ "PartUsage.inheritedMembership": [ 0, 0, - 1981, + 1997, 0, 0, 0 @@ -62110,7 +62110,7 @@ 0, 56, 0, - 1925, + 1941, 0 ], "PartUsage.intersectingType": [ @@ -62118,11 +62118,11 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.isAbstract": [ - 1981, + 1997, 0, 0, 0, @@ -62130,7 +62130,7 @@ 0 ], "PartUsage.isComposite": [ - 1981, + 1997, 0, 0, 0, @@ -62140,13 +62140,13 @@ "PartUsage.isConjugated": [ 0, 0, - 1981, + 1997, 0, 0, 0 ], "PartUsage.isConstant": [ - 1960, + 1976, 21, 0, 0, @@ -62162,7 +62162,7 @@ 0 ], "PartUsage.isDerived": [ - 1981, + 1997, 0, 0, 0, @@ -62170,7 +62170,7 @@ 0 ], "PartUsage.isEnd": [ - 1981, + 1997, 0, 0, 0, @@ -62178,7 +62178,7 @@ 0 ], "PartUsage.isImpliedIncluded": [ - 1981, + 1997, 0, 0, 0, @@ -62186,7 +62186,7 @@ 0 ], "PartUsage.isIndividual": [ - 1981, + 1997, 0, 0, 0, @@ -62196,13 +62196,13 @@ "PartUsage.isLibraryElement": [ 0, 0, - 1981, + 1997, 0, 0, 0 ], "PartUsage.isOrdered": [ - 1981, + 1997, 0, 0, 0, @@ -62210,7 +62210,7 @@ 0 ], "PartUsage.isPortion": [ - 1981, + 1997, 0, 0, 0, @@ -62220,7 +62220,7 @@ "PartUsage.isReference": [ 45, 0, - 1936, + 1952, 0, 0, 0 @@ -62234,7 +62234,7 @@ 0 ], "PartUsage.isSufficient": [ - 1981, + 1997, 0, 0, 0, @@ -62242,7 +62242,7 @@ 0 ], "PartUsage.isUnique": [ - 1981, + 1997, 0, 0, 0, @@ -62252,9 +62252,9 @@ "PartUsage.isVariable": [ 0, 0, - 1493, + 1508, 0, - 488, + 489, 0 ], "PartUsage.isVariant": [ @@ -62266,7 +62266,7 @@ 0 ], "PartUsage.isVariation": [ - 1981, + 1997, 0, 0, 0, @@ -62276,7 +62276,7 @@ "PartUsage.itemDefinition": [ 0, 0, - 1980, + 1996, 0, 1, 0 @@ -62292,7 +62292,7 @@ "PartUsage.mayTimeVary": [ 0, 0, - 1981, + 1997, 0, 0, 0 @@ -62300,7 +62300,7 @@ "PartUsage.member": [ 0, 0, - 1981, + 1997, 0, 0, 0 @@ -62308,7 +62308,7 @@ "PartUsage.membership": [ 0, 0, - 1981, + 1997, 0, 0, 0 @@ -62316,7 +62316,7 @@ "PartUsage.multiplicity": [ 272, 0, - 1039, + 1054, 0, 0, 0 @@ -62324,7 +62324,7 @@ "PartUsage.name": [ 180, 0, - 1801, + 1817, 0, 0, 0 @@ -62332,9 +62332,9 @@ "PartUsage.nestedAction": [ 0, 0, - 208, + 210, 0, - 1773, + 1787, 0 ], "PartUsage.nestedAllocation": [ @@ -62342,7 +62342,7 @@ 0, 2, 0, - 1979, + 1995, 0 ], "PartUsage.nestedAnalysisCase": [ @@ -62350,23 +62350,23 @@ 0, 9, 0, - 1972, + 1988, 0 ], "PartUsage.nestedAttribute": [ 0, 0, - 405, + 408, 0, - 1576, + 1589, 0 ], "PartUsage.nestedCalculation": [ 0, 0, - 69, + 71, 0, - 1912, + 1926, 0 ], "PartUsage.nestedCase": [ @@ -62374,7 +62374,7 @@ 0, 12, 0, - 1969, + 1985, 0 ], "PartUsage.nestedConcern": [ @@ -62382,7 +62382,7 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.nestedConnection": [ @@ -62390,7 +62390,7 @@ 0, 97, 0, - 1884, + 1900, 0 ], "PartUsage.nestedConstraint": [ @@ -62398,7 +62398,7 @@ 0, 63, 0, - 1918, + 1934, 0 ], "PartUsage.nestedEnumeration": [ @@ -62406,7 +62406,7 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.nestedFlow": [ @@ -62414,7 +62414,7 @@ 0, 23, 0, - 1958, + 1974, 0 ], "PartUsage.nestedInterface": [ @@ -62422,7 +62422,7 @@ 0, 18, 0, - 1963, + 1979, 0 ], "PartUsage.nestedItem": [ @@ -62430,23 +62430,23 @@ 0, 400, 0, - 1581, + 1597, 0 ], "PartUsage.nestedMetadata": [ 0, 0, - 151, + 158, 0, - 1830, + 1839, 0 ], "PartUsage.nestedOccurrence": [ 0, 0, - 715, + 717, 0, - 1266, + 1280, 0 ], "PartUsage.nestedPart": [ @@ -62454,7 +62454,7 @@ 0, 374, 0, - 1607, + 1623, 0 ], "PartUsage.nestedPort": [ @@ -62462,15 +62462,15 @@ 0, 114, 0, - 1867, + 1883, 0 ], "PartUsage.nestedReference": [ 0, 0, - 121, + 122, 0, - 1860, + 1875, 0 ], "PartUsage.nestedRendering": [ @@ -62478,7 +62478,7 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.nestedRequirement": [ @@ -62486,7 +62486,7 @@ 0, 42, 0, - 1939, + 1955, 0 ], "PartUsage.nestedState": [ @@ -62494,7 +62494,7 @@ 0, 18, 0, - 1963, + 1979, 0 ], "PartUsage.nestedTransition": [ @@ -62502,15 +62502,15 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.nestedUsage": [ 0, 0, - 1008, + 1012, 0, - 973, + 985, 0 ], "PartUsage.nestedUseCase": [ @@ -62518,7 +62518,7 @@ 0, 2, 0, - 1979, + 1995, 0 ], "PartUsage.nestedVerificationCase": [ @@ -62526,7 +62526,7 @@ 0, 1, 0, - 1980, + 1996, 0 ], "PartUsage.nestedView": [ @@ -62534,7 +62534,7 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.nestedViewpoint": [ @@ -62542,13 +62542,13 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.occurrenceDefinition": [ 0, 0, - 1980, + 1996, 0, 1, 0 @@ -62556,9 +62556,9 @@ "PartUsage.output": [ 0, 0, - 123, + 125, 0, - 1858, + 1872, 0 ], "PartUsage.ownedAnnotation": [ @@ -62566,7 +62566,7 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.ownedCrossSubsetting": [ @@ -62582,7 +62582,7 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.ownedDisjoining": [ @@ -62590,15 +62590,15 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.ownedElement": [ 0, 0, - 1784, + 1799, 0, - 197, + 198, 0 ], "PartUsage.ownedEndFeature": [ @@ -62606,15 +62606,15 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.ownedFeature": [ - 931, + 935, 31, 0, 0, - 973, + 985, 46 ], "PartUsage.ownedFeatureChaining": [ @@ -62622,7 +62622,7 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.ownedFeatureInverting": [ @@ -62630,15 +62630,15 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.ownedFeatureMembership": [ - 1008, + 1012, 0, 0, 0, - 973, + 985, 0 ], "PartUsage.ownedImport": [ @@ -62646,7 +62646,7 @@ 0, 0, 0, - 1978, + 1994, 0 ], "PartUsage.ownedIntersecting": [ @@ -62654,23 +62654,23 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.ownedMember": [ 368, - 703, - 683, + 707, + 694, 0, - 198, + 199, 29 ], "PartUsage.ownedMembership": [ 722, - 635, - 426, + 639, + 437, 0, - 198, + 199, 0 ], "PartUsage.ownedRedefinition": [ @@ -62678,7 +62678,7 @@ 0, 0, 0, - 1771, + 1787, 0 ], "PartUsage.ownedReferenceSubsetting": [ @@ -62690,15 +62690,15 @@ 0 ], "PartUsage.ownedRelationship": [ - 880, - 1006, + 881, + 1021, 55, 0, 40, 0 ], "PartUsage.ownedSpecialization": [ - 1570, + 1586, 2, 0, 0, @@ -62710,7 +62710,7 @@ 0, 2, 0, - 1596, + 1612, 0 ], "PartUsage.ownedTypeFeaturing": [ @@ -62718,11 +62718,11 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.ownedTyping": [ - 1255, + 1271, 0, 0, 0, @@ -62734,11 +62734,11 @@ 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.owner": [ - 1981, + 1997, 0, 0, 0, @@ -62748,7 +62748,7 @@ "PartUsage.owningDefinition": [ 0, 0, - 611, + 623, 0, 0, 0 @@ -62756,13 +62756,13 @@ "PartUsage.owningFeatureMembership": [ 0, 0, - 1505, + 1520, 0, 0, 0 ], "PartUsage.owningMembership": [ - 1967, + 1983, 14, 0, 0, @@ -62770,7 +62770,7 @@ 0 ], "PartUsage.owningNamespace": [ - 1981, + 1997, 0, 0, 0, @@ -62778,7 +62778,7 @@ 0 ], "PartUsage.owningRelationship": [ - 1967, + 1983, 14, 0, 0, @@ -62788,7 +62788,7 @@ "PartUsage.owningType": [ 0, 0, - 1505, + 1520, 0, 0, 0 @@ -62796,7 +62796,7 @@ "PartUsage.owningUsage": [ 0, 0, - 894, + 897, 0, 0, 0 @@ -62804,7 +62804,7 @@ "PartUsage.partDefinition": [ 0, 0, - 1980, + 1996, 0, 1, 0 @@ -62814,11 +62814,11 @@ 0, 0, 0, - 1973, + 1989, 0 ], "PartUsage.qualifiedName": [ - 1978, + 1994, 0, 0, 0, @@ -62854,23 +62854,23 @@ 0, 4, 0, - 1977, + 1993, 0 ], "PartUsage.type": [ - 1016, + 1029, 16, 775, 1, 0, - 173 + 176 ], "PartUsage.unioningType": [ 0, 0, 0, 0, - 1981, + 1997, 0 ], "PartUsage.upperBound": [ @@ -62884,7 +62884,7 @@ "PartUsage.usage": [ 0, 0, - 1981, + 1997, 0, 0, 0 @@ -62902,7 +62902,7 @@ 0, 0, 0, - 1965, + 1981, 0 ], "PartUsage.variantMembership": [ @@ -62910,7 +62910,7 @@ 0, 0, 0, - 1965, + 1981, 0 ], "PayloadFeature.aliasIds": [ @@ -65230,7 +65230,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.chainingFeature": [ @@ -65238,7 +65238,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.crossFeature": [ @@ -65250,7 +65250,7 @@ 0 ], "PortUsage.declaredName": [ - 445, + 448, 0, 0, 0, @@ -65262,13 +65262,13 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.definition": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65278,7 +65278,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.directedFeature": [ @@ -65286,7 +65286,7 @@ 0, 101, 0, - 388, + 391, 0 ], "PortUsage.directedUsage": [ @@ -65294,7 +65294,7 @@ 0, 101, 0, - 388, + 391, 0 ], "PortUsage.direction": [ @@ -65302,7 +65302,7 @@ 0, 0, 0, - 487, + 490, 0 ], "PortUsage.documentation": [ @@ -65310,7 +65310,7 @@ 0, 1, 0, - 488, + 491, 0 ], "PortUsage.endFeature": [ @@ -65318,7 +65318,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.endOwningType": [ @@ -65332,7 +65332,7 @@ "PortUsage.feature": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65340,7 +65340,7 @@ "PortUsage.featureMembership": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65348,7 +65348,7 @@ "PortUsage.featureTarget": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65356,7 +65356,7 @@ "PortUsage.featuringType": [ 0, 0, - 484, + 487, 0, 5, 0 @@ -65366,13 +65366,13 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.inheritedFeature": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65380,7 +65380,7 @@ "PortUsage.inheritedMembership": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65390,7 +65390,7 @@ 0, 69, 0, - 420, + 423, 0 ], "PortUsage.intersectingType": [ @@ -65398,11 +65398,11 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.isAbstract": [ - 489, + 492, 0, 0, 0, @@ -65410,7 +65410,7 @@ 0 ], "PortUsage.isComposite": [ - 489, + 492, 0, 0, 0, @@ -65420,13 +65420,13 @@ "PortUsage.isConjugated": [ 0, 0, - 489, + 492, 0, 0, 0 ], "PortUsage.isConstant": [ - 393, + 396, 96, 0, 0, @@ -65434,7 +65434,7 @@ 0 ], "PortUsage.isDerived": [ - 489, + 492, 0, 0, 0, @@ -65442,7 +65442,7 @@ 0 ], "PortUsage.isEnd": [ - 489, + 492, 0, 0, 0, @@ -65450,7 +65450,7 @@ 0 ], "PortUsage.isImpliedIncluded": [ - 489, + 492, 0, 0, 0, @@ -65458,7 +65458,7 @@ 0 ], "PortUsage.isIndividual": [ - 489, + 492, 0, 0, 0, @@ -65468,13 +65468,13 @@ "PortUsage.isLibraryElement": [ 0, 0, - 489, + 492, 0, 0, 0 ], "PortUsage.isOrdered": [ - 489, + 492, 0, 0, 0, @@ -65482,7 +65482,7 @@ 0 ], "PortUsage.isPortion": [ - 489, + 492, 0, 0, 0, @@ -65492,13 +65492,13 @@ "PortUsage.isReference": [ 3, 0, - 486, + 489, 0, 0, 0 ], "PortUsage.isSufficient": [ - 489, + 492, 0, 0, 0, @@ -65506,7 +65506,7 @@ 0 ], "PortUsage.isUnique": [ - 489, + 492, 0, 0, 0, @@ -65516,7 +65516,7 @@ "PortUsage.isVariable": [ 0, 0, - 481, + 484, 0, 8, 0 @@ -65530,7 +65530,7 @@ 0 ], "PortUsage.isVariation": [ - 489, + 492, 0, 0, 0, @@ -65540,7 +65540,7 @@ "PortUsage.mayTimeVary": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65548,7 +65548,7 @@ "PortUsage.member": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65556,7 +65556,7 @@ "PortUsage.membership": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65564,7 +65564,7 @@ "PortUsage.multiplicity": [ 24, 6, - 381, + 384, 0, 0, 0 @@ -65572,7 +65572,7 @@ "PortUsage.name": [ 64, 0, - 425, + 428, 0, 0, 0 @@ -65582,7 +65582,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedAllocation": [ @@ -65590,7 +65590,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedAnalysisCase": [ @@ -65598,7 +65598,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedAttribute": [ @@ -65606,7 +65606,7 @@ 0, 3, 0, - 486, + 489, 0 ], "PortUsage.nestedCalculation": [ @@ -65614,7 +65614,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedCase": [ @@ -65622,7 +65622,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedConcern": [ @@ -65630,7 +65630,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedConnection": [ @@ -65638,7 +65638,7 @@ 0, 1, 0, - 488, + 491, 0 ], "PortUsage.nestedConstraint": [ @@ -65646,7 +65646,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedEnumeration": [ @@ -65654,7 +65654,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedFlow": [ @@ -65662,7 +65662,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedInterface": [ @@ -65670,7 +65670,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedItem": [ @@ -65678,7 +65678,7 @@ 0, 7, 0, - 482, + 485, 0 ], "PortUsage.nestedMetadata": [ @@ -65686,7 +65686,7 @@ 0, 10, 0, - 479, + 482, 0 ], "PortUsage.nestedOccurrence": [ @@ -65694,7 +65694,7 @@ 0, 45, 0, - 444, + 447, 0 ], "PortUsage.nestedPart": [ @@ -65702,7 +65702,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedPort": [ @@ -65710,7 +65710,7 @@ 0, 22, 0, - 467, + 470, 0 ], "PortUsage.nestedReference": [ @@ -65718,7 +65718,7 @@ 0, 30, 0, - 459, + 462, 0 ], "PortUsage.nestedRendering": [ @@ -65726,7 +65726,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedRequirement": [ @@ -65734,7 +65734,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedState": [ @@ -65742,7 +65742,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedTransition": [ @@ -65750,7 +65750,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedUsage": [ @@ -65758,7 +65758,7 @@ 0, 78, 0, - 411, + 414, 0 ], "PortUsage.nestedUseCase": [ @@ -65766,7 +65766,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedVerificationCase": [ @@ -65774,7 +65774,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedView": [ @@ -65782,7 +65782,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedViewpoint": [ @@ -65790,13 +65790,13 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.occurrenceDefinition": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65806,7 +65806,7 @@ 0, 61, 0, - 428, + 431, 0 ], "PortUsage.ownedAnnotation": [ @@ -65814,7 +65814,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedDifferencing": [ @@ -65822,7 +65822,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedDisjoining": [ @@ -65830,13 +65830,13 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedElement": [ 0, 0, - 470, + 473, 0, 19, 0 @@ -65846,7 +65846,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedFeature": [ @@ -65854,7 +65854,7 @@ 1, 0, 1, - 410, + 413, 0 ], "PortUsage.ownedFeatureChaining": [ @@ -65862,7 +65862,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedFeatureInverting": [ @@ -65870,7 +65870,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedFeatureMembership": [ @@ -65878,7 +65878,7 @@ 0, 0, 1, - 410, + 413, 0 ], "PortUsage.ownedImport": [ @@ -65886,7 +65886,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedIntersecting": [ @@ -65894,13 +65894,13 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedMember": [ 51, 29, - 390, + 393, 1, 18, 0 @@ -65908,7 +65908,7 @@ "PortUsage.ownedMembership": [ 83, 31, - 356, + 359, 1, 18, 0 @@ -65918,7 +65918,7 @@ 0, 0, 0, - 402, + 405, 0 ], "PortUsage.ownedReferenceSubsetting": [ @@ -65931,14 +65931,14 @@ ], "PortUsage.ownedRelationship": [ 99, - 357, + 360, 30, 1, 2, 0 ], "PortUsage.ownedSpecialization": [ - 439, + 442, 4, 0, 1, @@ -65950,7 +65950,7 @@ 0, 0, 1, - 363, + 366, 0 ], "PortUsage.ownedTypeFeaturing": [ @@ -65958,11 +65958,11 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedTyping": [ - 334, + 337, 0, 0, 1, @@ -65974,11 +65974,11 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.owner": [ - 489, + 492, 0, 0, 0, @@ -65988,7 +65988,7 @@ "PortUsage.owningDefinition": [ 0, 0, - 249, + 252, 0, 0, 0 @@ -65996,13 +65996,13 @@ "PortUsage.owningFeatureMembership": [ 0, 0, - 482, + 485, 0, 0, 0 ], "PortUsage.owningMembership": [ - 489, + 492, 0, 0, 0, @@ -66010,7 +66010,7 @@ 0 ], "PortUsage.owningNamespace": [ - 469, + 472, 0, 20, 0, @@ -66018,7 +66018,7 @@ 0 ], "PortUsage.owningRelationship": [ - 489, + 492, 0, 0, 0, @@ -66028,7 +66028,7 @@ "PortUsage.owningType": [ 0, 0, - 482, + 485, 0, 0, 0 @@ -66044,7 +66044,7 @@ "PortUsage.portDefinition": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -66054,11 +66054,11 @@ 0, 0, 0, - 488, + 491, 0 ], "PortUsage.qualifiedName": [ - 488, + 491, 0, 0, 0, @@ -66094,11 +66094,11 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.type": [ - 272, + 275, 55, 162, 0, @@ -66110,7 +66110,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.upperBound": [ @@ -66124,7 +66124,7 @@ "PortUsage.usage": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -66142,7 +66142,7 @@ 0, 0, 0, - 488, + 491, 0 ], "PortUsage.variantMembership": [ @@ -66150,7 +66150,7 @@ 0, 0, 0, - 488, + 491, 0 ], "Predicate.aliasIds": [ @@ -66558,7 +66558,7 @@ 0, 0, 0, - 2686, + 2721, 0 ], "Redefinition.declaredName": [ @@ -66566,7 +66566,7 @@ 0, 0, 0, - 2684, + 2719, 0 ], "Redefinition.declaredShortName": [ @@ -66574,7 +66574,7 @@ 0, 0, 0, - 2686, + 2721, 0 ], "Redefinition.documentation": [ @@ -66582,19 +66582,19 @@ 0, 0, 0, - 2686, + 2721, 0 ], "Redefinition.general": [ - 1668, + 1700, 20, 53, 0, 0, - 945 + 948 ], "Redefinition.isImplied": [ - 2686, + 2721, 0, 0, 0, @@ -66602,7 +66602,7 @@ 0 ], "Redefinition.isImpliedIncluded": [ - 2686, + 2721, 0, 0, 0, @@ -66612,7 +66612,7 @@ "Redefinition.isLibraryElement": [ 0, 0, - 2686, + 2721, 0, 0, 0 @@ -66630,7 +66630,7 @@ 0, 0, 0, - 2686, + 2721, 0 ], "Redefinition.ownedElement": [ @@ -66638,7 +66638,7 @@ 0, 0, 0, - 2686, + 2721, 0 ], "Redefinition.ownedRelatedElement": [ @@ -66646,7 +66646,7 @@ 0, 0, 0, - 2678, + 2713, 0 ], "Redefinition.ownedRelationship": [ @@ -66654,19 +66654,19 @@ 0, 0, 0, - 2686, + 2721, 0 ], "Redefinition.owner": [ 2, 0, 0, - 2684, + 2719, 0, 0 ], "Redefinition.owningFeature": [ - 2684, + 2719, 0, 0, 0, @@ -66690,7 +66690,7 @@ 0 ], "Redefinition.owningRelatedElement": [ - 2684, + 2719, 0, 0, 0, @@ -66702,13 +66702,13 @@ 0, 0, 0, - 2684, + 2719, 0 ], "Redefinition.owningType": [ 0, 0, - 2684, + 2719, 0, 0, 0 @@ -66722,15 +66722,15 @@ 0 ], "Redefinition.redefinedFeature": [ - 1669, + 1701, 20, 52, 0, 0, - 945 + 948 ], "Redefinition.redefiningFeature": [ - 2685, + 2720, 0, 1, 0, @@ -66738,15 +66738,15 @@ 0 ], "Redefinition.relatedElement": [ - 1668, + 1700, 20, 53, 0, 0, - 945 + 948 ], "Redefinition.source": [ - 2684, + 2719, 0, 2, 0, @@ -66754,7 +66754,7 @@ 0 ], "Redefinition.specific": [ - 2684, + 2719, 0, 2, 0, @@ -66762,15 +66762,15 @@ 0 ], "Redefinition.subsettedFeature": [ - 1668, + 1700, 20, 53, 0, 0, - 945 + 948 ], "Redefinition.subsettingFeature": [ - 2684, + 2719, 0, 2, 0, @@ -66778,19 +66778,19 @@ 0 ], "Redefinition.target": [ - 1668, + 1700, 20, 53, 0, 0, - 945 + 948 ], "Redefinition.textualRepresentation": [ 0, 0, 0, 0, - 2686, + 2721, 0 ], "ReferenceSubsetting.aliasIds": [ @@ -66798,7 +66798,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.declaredName": [ @@ -66806,7 +66806,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.declaredShortName": [ @@ -66814,7 +66814,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.documentation": [ @@ -66822,7 +66822,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.general": [ @@ -66831,10 +66831,10 @@ 38, 0, 0, - 26 + 28 ], "ReferenceSubsetting.isImplied": [ - 557, + 559, 0, 0, 0, @@ -66842,7 +66842,7 @@ 0 ], "ReferenceSubsetting.isImpliedIncluded": [ - 557, + 559, 0, 0, 0, @@ -66852,7 +66852,7 @@ "ReferenceSubsetting.isLibraryElement": [ 0, 0, - 557, + 559, 0, 0, 0 @@ -66862,7 +66862,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.ownedElement": [ @@ -66870,7 +66870,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.ownedRelatedElement": [ @@ -66878,7 +66878,7 @@ 6, 0, 0, - 316, + 318, 0 ], "ReferenceSubsetting.ownedRelationship": [ @@ -66886,19 +66886,19 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.owner": [ 0, 0, 0, - 557, + 559, 0, 0 ], "ReferenceSubsetting.owningFeature": [ - 557, + 559, 0, 0, 0, @@ -66906,7 +66906,7 @@ 0 ], "ReferenceSubsetting.owningRelatedElement": [ - 557, + 559, 0, 0, 0, @@ -66918,13 +66918,13 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.owningType": [ 173, 0, - 384, + 386, 0, 0, 0 @@ -66935,10 +66935,10 @@ 38, 0, 0, - 26 + 28 ], "ReferenceSubsetting.referencingFeature": [ - 557, + 559, 0, 0, 0, @@ -66951,10 +66951,10 @@ 38, 0, 0, - 26 + 28 ], "ReferenceSubsetting.source": [ - 557, + 559, 0, 0, 0, @@ -66962,7 +66962,7 @@ 0 ], "ReferenceSubsetting.specific": [ - 557, + 559, 0, 0, 0, @@ -66975,10 +66975,10 @@ 38, 0, 0, - 26 + 28 ], "ReferenceSubsetting.subsettingFeature": [ - 557, + 559, 0, 0, 0, @@ -66991,14 +66991,14 @@ 38, 0, 0, - 26 + 28 ], "ReferenceSubsetting.textualRepresentation": [ 0, 0, 0, 0, - 557, + 559, 0 ], "ReferenceUsage.aliasIds": [ @@ -67006,7 +67006,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.chainingFeature": [ @@ -67014,7 +67014,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.crossFeature": [ @@ -67034,11 +67034,11 @@ 0 ], "ReferenceUsage.declaredName": [ - 1442, + 1444, 0, 0, 4, - 907, + 910, 0 ], "ReferenceUsage.declaredShortName": [ @@ -67046,13 +67046,13 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.definition": [ 0, 0, - 2352, + 2357, 0, 1, 0 @@ -67062,7 +67062,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.directedFeature": [ @@ -67070,7 +67070,7 @@ 0, 64, 0, - 2289, + 2294, 0 ], "ReferenceUsage.directedUsage": [ @@ -67078,15 +67078,15 @@ 0, 61, 0, - 2292, + 2297, 0 ], "ReferenceUsage.direction": [ - 1270, + 1274, 36, 149, 0, - 898, + 899, 0 ], "ReferenceUsage.documentation": [ @@ -67094,7 +67094,7 @@ 0, 4, 0, - 2349, + 2354, 0 ], "ReferenceUsage.endFeature": [ @@ -67102,7 +67102,7 @@ 0, 10, 0, - 2343, + 2348, 0 ], "ReferenceUsage.endOwningType": [ @@ -67116,7 +67116,7 @@ "ReferenceUsage.feature": [ 0, 0, - 2353, + 2358, 0, 0, 0 @@ -67124,7 +67124,7 @@ "ReferenceUsage.featureMembership": [ 0, 0, - 2353, + 2358, 0, 0, 0 @@ -67132,7 +67132,7 @@ "ReferenceUsage.featureTarget": [ 0, 0, - 2353, + 2358, 0, 0, 0 @@ -67140,7 +67140,7 @@ "ReferenceUsage.featuringType": [ 0, 0, - 2332, + 2337, 0, 21, 0 @@ -67150,13 +67150,13 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.inheritedFeature": [ 0, 0, - 2353, + 2358, 0, 0, 0 @@ -67164,7 +67164,7 @@ "ReferenceUsage.inheritedMembership": [ 0, 0, - 2353, + 2358, 0, 0, 0 @@ -67174,7 +67174,7 @@ 0, 58, 0, - 2295, + 2300, 0 ], "ReferenceUsage.intersectingType": [ @@ -67182,11 +67182,11 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.isAbstract": [ - 2353, + 2358, 0, 0, 0, @@ -67202,7 +67202,7 @@ 0 ], "ReferenceUsage.isComposite": [ - 2353, + 2358, 0, 0, 0, @@ -67212,13 +67212,13 @@ "ReferenceUsage.isConjugated": [ 0, 0, - 2353, + 2358, 0, 0, 0 ], "ReferenceUsage.isConstant": [ - 2262, + 2267, 91, 0, 0, @@ -67234,7 +67234,7 @@ 0 ], "ReferenceUsage.isDerived": [ - 2353, + 2358, 0, 0, 0, @@ -67242,7 +67242,7 @@ 0 ], "ReferenceUsage.isEnd": [ - 2353, + 2358, 0, 0, 0, @@ -67250,7 +67250,7 @@ 0 ], "ReferenceUsage.isImpliedIncluded": [ - 2353, + 2358, 0, 0, 0, @@ -67260,13 +67260,13 @@ "ReferenceUsage.isLibraryElement": [ 0, 0, - 2353, + 2358, 0, 0, 0 ], "ReferenceUsage.isOrdered": [ - 2353, + 2358, 0, 0, 0, @@ -67274,7 +67274,7 @@ 0 ], "ReferenceUsage.isPortion": [ - 2353, + 2358, 0, 0, 0, @@ -67284,7 +67284,7 @@ "ReferenceUsage.isReference": [ 232, 0, - 2121, + 2126, 0, 0, 0 @@ -67298,7 +67298,7 @@ 0 ], "ReferenceUsage.isSufficient": [ - 2353, + 2358, 0, 0, 0, @@ -67306,7 +67306,7 @@ 0 ], "ReferenceUsage.isUnique": [ - 2353, + 2358, 0, 0, 0, @@ -67316,7 +67316,7 @@ "ReferenceUsage.isVariable": [ 0, 0, - 2115, + 2120, 0, 238, 0 @@ -67330,7 +67330,7 @@ 0 ], "ReferenceUsage.isVariation": [ - 2353, + 2358, 0, 0, 0, @@ -67348,7 +67348,7 @@ "ReferenceUsage.mayTimeVary": [ 0, 0, - 2353, + 2358, 0, 0, 0 @@ -67356,7 +67356,7 @@ "ReferenceUsage.member": [ 0, 0, - 2353, + 2358, 0, 0, 0 @@ -67364,7 +67364,7 @@ "ReferenceUsage.membership": [ 0, 0, - 2353, + 2358, 0, 0, 0 @@ -67378,9 +67378,9 @@ 0 ], "ReferenceUsage.name": [ - 522, + 525, 0, - 1788, + 1790, 2, 0, 0 @@ -67390,7 +67390,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedAllocation": [ @@ -67398,7 +67398,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedAnalysisCase": [ @@ -67406,7 +67406,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedAttribute": [ @@ -67414,7 +67414,7 @@ 0, 3, 0, - 2350, + 2355, 0 ], "ReferenceUsage.nestedCalculation": [ @@ -67422,7 +67422,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedCase": [ @@ -67430,7 +67430,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedConcern": [ @@ -67438,7 +67438,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedConnection": [ @@ -67446,7 +67446,7 @@ 0, 1, 0, - 2352, + 2357, 0 ], "ReferenceUsage.nestedConstraint": [ @@ -67454,7 +67454,7 @@ 0, 4, 0, - 2349, + 2354, 0 ], "ReferenceUsage.nestedEnumeration": [ @@ -67462,7 +67462,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedFlow": [ @@ -67470,7 +67470,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedInterface": [ @@ -67478,7 +67478,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedItem": [ @@ -67486,7 +67486,7 @@ 0, 3, 0, - 2350, + 2355, 0 ], "ReferenceUsage.nestedMetadata": [ @@ -67494,7 +67494,7 @@ 0, 95, 0, - 2258, + 2263, 0 ], "ReferenceUsage.nestedOccurrence": [ @@ -67502,7 +67502,7 @@ 0, 10, 0, - 2343, + 2348, 0 ], "ReferenceUsage.nestedPart": [ @@ -67510,7 +67510,7 @@ 0, 3, 0, - 2350, + 2355, 0 ], "ReferenceUsage.nestedPort": [ @@ -67518,7 +67518,7 @@ 0, 4, 0, - 2349, + 2354, 0 ], "ReferenceUsage.nestedReference": [ @@ -67526,7 +67526,7 @@ 0, 26, 0, - 2327, + 2332, 0 ], "ReferenceUsage.nestedRendering": [ @@ -67534,7 +67534,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedRequirement": [ @@ -67542,7 +67542,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedState": [ @@ -67550,7 +67550,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedTransition": [ @@ -67558,7 +67558,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedUsage": [ @@ -67566,7 +67566,7 @@ 0, 39, 0, - 2314, + 2319, 0 ], "ReferenceUsage.nestedUseCase": [ @@ -67574,7 +67574,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedVerificationCase": [ @@ -67582,7 +67582,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedView": [ @@ -67590,7 +67590,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.nestedViewpoint": [ @@ -67598,7 +67598,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.output": [ @@ -67606,7 +67606,7 @@ 0, 58, 0, - 2295, + 2300, 0 ], "ReferenceUsage.ownedAnnotation": [ @@ -67614,7 +67614,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.ownedCrossSubsetting": [ @@ -67630,7 +67630,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.ownedDisjoining": [ @@ -67638,15 +67638,15 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.ownedElement": [ 0, 0, - 1244, + 1247, 0, - 1109, + 1111, 0 ], "ReferenceUsage.ownedEndFeature": [ @@ -67654,7 +67654,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.ownedFeature": [ @@ -67662,7 +67662,7 @@ 1, 0, 0, - 2314, + 2319, 0 ], "ReferenceUsage.ownedFeatureChaining": [ @@ -67670,7 +67670,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.ownedFeatureInverting": [ @@ -67678,7 +67678,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.ownedFeatureMembership": [ @@ -67686,7 +67686,7 @@ 0, 0, 0, - 2314, + 2319, 0 ], "ReferenceUsage.ownedImport": [ @@ -67694,7 +67694,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.ownedIntersecting": [ @@ -67702,31 +67702,31 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.ownedMember": [ 51, 16, - 1174, + 1177, 0, - 1112, + 1114, 0 ], "ReferenceUsage.ownedMembership": [ - 1149, + 1152, 8, 84, 0, - 1112, + 1114, 0 ], "ReferenceUsage.ownedRedefinition": [ - 842, + 845, 0, 4, 0, - 1507, + 1509, 0 ], "ReferenceUsage.ownedReferenceSubsetting": [ @@ -67738,7 +67738,7 @@ 0 ], "ReferenceUsage.ownedRelationship": [ - 2149, + 2154, 96, 3, 0, @@ -67746,7 +67746,7 @@ 0 ], "ReferenceUsage.ownedSpecialization": [ - 1857, + 1862, 18, 4, 0, @@ -67754,11 +67754,11 @@ 0 ], "ReferenceUsage.ownedSubsetting": [ - 958, + 961, 16, 6, 0, - 1373, + 1375, 0 ], "ReferenceUsage.ownedTypeFeaturing": [ @@ -67766,15 +67766,15 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.ownedTyping": [ - 968, + 970, 0, 0, 0, - 1385, + 1388, 0 ], "ReferenceUsage.ownedUnioning": [ @@ -67782,11 +67782,11 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.owner": [ - 2353, + 2358, 0, 0, 0, @@ -67796,7 +67796,7 @@ "ReferenceUsage.owningDefinition": [ 0, 0, - 847, + 849, 0, 0, 0 @@ -67804,13 +67804,13 @@ "ReferenceUsage.owningFeatureMembership": [ 0, 0, - 2283, + 2288, 0, 0, 0 ], "ReferenceUsage.owningMembership": [ - 2331, + 2336, 22, 0, 0, @@ -67818,7 +67818,7 @@ 0 ], "ReferenceUsage.owningNamespace": [ - 2166, + 2171, 0, 187, 0, @@ -67826,7 +67826,7 @@ 0 ], "ReferenceUsage.owningRelationship": [ - 2331, + 2336, 22, 0, 0, @@ -67836,7 +67836,7 @@ "ReferenceUsage.owningType": [ 0, 0, - 2283, + 2288, 0, 0, 0 @@ -67844,13 +67844,13 @@ "ReferenceUsage.owningUsage": [ 0, 0, - 1324, + 1327, 0, 0, 0 ], "ReferenceUsage.qualifiedName": [ - 2017, + 2022, 0, 0, 0, @@ -67861,7 +67861,7 @@ 0, 0, 0, - 842, + 845, 0, 0 ], @@ -67886,23 +67886,23 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.type": [ 418, 2, - 1422, + 1425, 1, 0, - 510 + 512 ], "ReferenceUsage.unioningType": [ 0, 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.upperBound": [ @@ -67918,14 +67918,14 @@ 0, 1409, 0, - 944, + 949, 0 ], "ReferenceUsage.value": [ 0, 0, 0, - 990, + 993, 0, 0 ], @@ -67934,7 +67934,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.variantMembership": [ @@ -67942,7 +67942,7 @@ 0, 0, 0, - 2353, + 2358, 0 ], "ReferenceUsage.visibility": [ @@ -68598,7 +68598,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.chainingFeature": [ @@ -68606,7 +68606,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.declaredName": [ @@ -68614,7 +68614,7 @@ 0, 0, 0, - 30, + 32, 0 ], "RenderingUsage.declaredShortName": [ @@ -68622,13 +68622,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.definition": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68638,7 +68638,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.directedFeature": [ @@ -68646,7 +68646,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.directedUsage": [ @@ -68654,7 +68654,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.direction": [ @@ -68662,7 +68662,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.documentation": [ @@ -68670,7 +68670,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.endFeature": [ @@ -68678,13 +68678,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.feature": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68692,7 +68692,7 @@ "RenderingUsage.featureMembership": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68700,7 +68700,7 @@ "RenderingUsage.featureTarget": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68708,7 +68708,7 @@ "RenderingUsage.featuringType": [ 0, 0, - 33, + 35, 0, 2, 0 @@ -68718,13 +68718,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.inheritedFeature": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68732,7 +68732,7 @@ "RenderingUsage.inheritedMembership": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68742,7 +68742,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.intersectingType": [ @@ -68750,11 +68750,11 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.isAbstract": [ - 35, + 37, 0, 0, 0, @@ -68762,7 +68762,7 @@ 0 ], "RenderingUsage.isComposite": [ - 35, + 37, 0, 0, 0, @@ -68772,13 +68772,13 @@ "RenderingUsage.isConjugated": [ 0, 0, - 35, + 37, 0, 0, 0 ], "RenderingUsage.isConstant": [ - 35, + 37, 0, 0, 0, @@ -68786,7 +68786,7 @@ 0 ], "RenderingUsage.isDerived": [ - 35, + 37, 0, 0, 0, @@ -68794,7 +68794,7 @@ 0 ], "RenderingUsage.isEnd": [ - 35, + 37, 0, 0, 0, @@ -68802,7 +68802,7 @@ 0 ], "RenderingUsage.isImpliedIncluded": [ - 35, + 37, 0, 0, 0, @@ -68810,7 +68810,7 @@ 0 ], "RenderingUsage.isIndividual": [ - 35, + 37, 0, 0, 0, @@ -68820,13 +68820,13 @@ "RenderingUsage.isLibraryElement": [ 0, 0, - 35, + 37, 0, 0, 0 ], "RenderingUsage.isOrdered": [ - 35, + 37, 0, 0, 0, @@ -68834,7 +68834,7 @@ 0 ], "RenderingUsage.isPortion": [ - 35, + 37, 0, 0, 0, @@ -68844,13 +68844,13 @@ "RenderingUsage.isReference": [ 1, 0, - 34, + 36, 0, 0, 0 ], "RenderingUsage.isSufficient": [ - 35, + 37, 0, 0, 0, @@ -68858,7 +68858,7 @@ 0 ], "RenderingUsage.isUnique": [ - 35, + 37, 0, 0, 0, @@ -68868,13 +68868,13 @@ "RenderingUsage.isVariable": [ 0, 0, - 33, + 35, 0, 2, 0 ], "RenderingUsage.isVariation": [ - 35, + 37, 0, 0, 0, @@ -68884,7 +68884,7 @@ "RenderingUsage.itemDefinition": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68900,7 +68900,7 @@ "RenderingUsage.mayTimeVary": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68908,7 +68908,7 @@ "RenderingUsage.member": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68916,7 +68916,7 @@ "RenderingUsage.membership": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68924,13 +68924,13 @@ "RenderingUsage.multiplicity": [ 2, 0, - 31, + 33, 0, 0, 0 ], "RenderingUsage.name": [ - 30, + 32, 0, 5, 0, @@ -68942,7 +68942,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedAllocation": [ @@ -68950,7 +68950,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedAnalysisCase": [ @@ -68958,7 +68958,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedAttribute": [ @@ -68966,7 +68966,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedCalculation": [ @@ -68974,7 +68974,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedCase": [ @@ -68982,7 +68982,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedConcern": [ @@ -68990,7 +68990,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedConnection": [ @@ -68998,7 +68998,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedConstraint": [ @@ -69006,7 +69006,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedEnumeration": [ @@ -69014,7 +69014,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedFlow": [ @@ -69022,7 +69022,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedInterface": [ @@ -69030,7 +69030,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedItem": [ @@ -69038,7 +69038,7 @@ 0, 2, 0, - 33, + 35, 0 ], "RenderingUsage.nestedMetadata": [ @@ -69046,7 +69046,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedOccurrence": [ @@ -69054,7 +69054,7 @@ 0, 2, 0, - 33, + 35, 0 ], "RenderingUsage.nestedPart": [ @@ -69062,7 +69062,7 @@ 0, 2, 0, - 33, + 35, 0 ], "RenderingUsage.nestedPort": [ @@ -69070,7 +69070,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedReference": [ @@ -69078,7 +69078,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedRendering": [ @@ -69086,7 +69086,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedRequirement": [ @@ -69094,7 +69094,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedState": [ @@ -69102,7 +69102,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedTransition": [ @@ -69110,7 +69110,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedUsage": [ @@ -69118,7 +69118,7 @@ 0, 2, 0, - 33, + 35, 0 ], "RenderingUsage.nestedUseCase": [ @@ -69126,7 +69126,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedVerificationCase": [ @@ -69134,7 +69134,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedView": [ @@ -69142,7 +69142,7 @@ 0, 2, 0, - 33, + 35, 0 ], "RenderingUsage.nestedViewpoint": [ @@ -69150,13 +69150,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.occurrenceDefinition": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -69166,7 +69166,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedAnnotation": [ @@ -69174,7 +69174,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedDifferencing": [ @@ -69182,7 +69182,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedDisjoining": [ @@ -69190,13 +69190,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedElement": [ 0, 0, - 34, + 36, 0, 1, 0 @@ -69206,7 +69206,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedFeature": [ @@ -69214,7 +69214,7 @@ 0, 0, 0, - 33, + 35, 0 ], "RenderingUsage.ownedFeatureChaining": [ @@ -69222,7 +69222,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedFeatureInverting": [ @@ -69230,7 +69230,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedFeatureMembership": [ @@ -69238,7 +69238,7 @@ 0, 0, 0, - 33, + 35, 0 ], "RenderingUsage.ownedImport": [ @@ -69246,7 +69246,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedIntersecting": [ @@ -69254,13 +69254,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedMember": [ 1, 1, - 32, + 34, 0, 1, 0 @@ -69268,7 +69268,7 @@ "RenderingUsage.ownedMembership": [ 3, 1, - 30, + 32, 0, 1, 0 @@ -69278,11 +69278,11 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedReferenceSubsetting": [ - 30, + 32, 0, 0, 0, @@ -69291,14 +69291,14 @@ ], "RenderingUsage.ownedRelationship": [ 4, - 30, + 32, 1, 0, 0, 0 ], "RenderingUsage.ownedSpecialization": [ - 34, + 36, 0, 0, 0, @@ -69306,7 +69306,7 @@ 0 ], "RenderingUsage.ownedSubsetting": [ - 32, + 34, 0, 0, 0, @@ -69318,7 +69318,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedTyping": [ @@ -69326,7 +69326,7 @@ 0, 0, 0, - 33, + 35, 0 ], "RenderingUsage.ownedUnioning": [ @@ -69334,11 +69334,11 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.owner": [ - 35, + 37, 0, 0, 0, @@ -69356,13 +69356,13 @@ "RenderingUsage.owningFeatureMembership": [ 0, 0, - 33, + 35, 0, 0, 0 ], "RenderingUsage.owningMembership": [ - 35, + 37, 0, 0, 0, @@ -69370,7 +69370,7 @@ 0 ], "RenderingUsage.owningNamespace": [ - 35, + 37, 0, 0, 0, @@ -69378,7 +69378,7 @@ 0 ], "RenderingUsage.owningRelationship": [ - 35, + 37, 0, 0, 0, @@ -69388,7 +69388,7 @@ "RenderingUsage.owningType": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -69396,7 +69396,7 @@ "RenderingUsage.owningUsage": [ 0, 0, - 28, + 30, 0, 0, 0 @@ -69404,7 +69404,7 @@ "RenderingUsage.partDefinition": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -69414,11 +69414,11 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.qualifiedName": [ - 35, + 37, 0, 0, 0, @@ -69429,14 +69429,14 @@ 0, 0, 0, - 30, + 32, 0, 0 ], "RenderingUsage.renderingDefinition": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -69454,13 +69454,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.type": [ 2, 0, - 33, + 35, 0, 0, 0 @@ -69470,7 +69470,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.upperBound": [ @@ -69484,7 +69484,7 @@ "RenderingUsage.usage": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -69494,7 +69494,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.variantMembership": [ @@ -69502,7 +69502,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RequirementConstraintMembership.aliasIds": [ @@ -71838,7 +71838,7 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.declaredName": [ @@ -71846,7 +71846,7 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.declaredShortName": [ @@ -71854,7 +71854,7 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.documentation": [ @@ -71862,11 +71862,11 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.isImplied": [ - 409, + 411, 0, 0, 0, @@ -71874,7 +71874,7 @@ 0 ], "ResultExpressionMembership.isImpliedIncluded": [ - 409, + 411, 0, 0, 0, @@ -71884,13 +71884,13 @@ "ResultExpressionMembership.isLibraryElement": [ 0, 0, - 409, + 411, 0, 0, 0 ], "ResultExpressionMembership.memberElement": [ - 409, + 411, 0, 0, 0, @@ -71900,13 +71900,13 @@ "ResultExpressionMembership.memberElementId": [ 0, 0, - 409, + 411, 0, 0, 0 ], "ResultExpressionMembership.membershipOwningNamespace": [ - 409, + 411, 0, 0, 0, @@ -71918,7 +71918,7 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.ownedElement": [ @@ -71926,11 +71926,11 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.ownedMemberElement": [ - 409, + 411, 0, 0, 0, @@ -71940,13 +71940,13 @@ "ResultExpressionMembership.ownedMemberElementId": [ 0, 0, - 409, + 411, 0, 0, 0 ], "ResultExpressionMembership.ownedMemberFeature": [ - 380, + 382, 0, 29, 0, @@ -71954,7 +71954,7 @@ 0 ], "ResultExpressionMembership.ownedRelatedElement": [ - 409, + 411, 0, 0, 0, @@ -71966,11 +71966,11 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.ownedResultExpression": [ - 409, + 411, 0, 0, 0, @@ -71981,12 +71981,12 @@ 0, 0, 0, - 409, + 411, 0, 0 ], "ResultExpressionMembership.owningRelatedElement": [ - 409, + 411, 0, 0, 0, @@ -71998,11 +71998,11 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.owningType": [ - 380, + 382, 0, 29, 0, @@ -72012,7 +72012,7 @@ "ResultExpressionMembership.relatedElement": [ 0, 0, - 409, + 411, 0, 0, 0 @@ -72020,7 +72020,7 @@ "ResultExpressionMembership.source": [ 0, 0, - 409, + 411, 0, 0, 0 @@ -72028,7 +72028,7 @@ "ResultExpressionMembership.target": [ 0, 0, - 409, + 411, 0, 0, 0 @@ -72038,13 +72038,13 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.visibility": [ 0, 0, - 409, + 411, 0, 0, 0 @@ -72054,7 +72054,7 @@ 0, 0, 0, - 4764, + 4780, 0 ], "ReturnParameterMembership.declaredName": [ @@ -72062,7 +72062,7 @@ 0, 0, 0, - 4764, + 4780, 0 ], "ReturnParameterMembership.declaredShortName": [ @@ -72070,7 +72070,7 @@ 0, 0, 0, - 4764, + 4780, 0 ], "ReturnParameterMembership.documentation": [ @@ -72078,11 +72078,11 @@ 0, 0, 0, - 4764, + 4780, 0 ], "ReturnParameterMembership.isImplied": [ - 4764, + 4780, 0, 0, 0, @@ -72090,7 +72090,7 @@ 0 ], "ReturnParameterMembership.isImpliedIncluded": [ - 4764, + 4780, 0, 0, 0, @@ -72100,14 +72100,14 @@ "ReturnParameterMembership.isLibraryElement": [ 0, 0, - 4764, + 4780, 0, 0, 0 ], "ReturnParameterMembership.memberElement": [ - 4419, - 345, + 4433, + 347, 0, 0, 0, @@ -72116,7 +72116,7 @@ "ReturnParameterMembership.memberElementId": [ 0, 0, - 4764, + 4780, 0, 0, 0 @@ -72124,13 +72124,13 @@ "ReturnParameterMembership.memberName": [ 0, 0, - 4764, + 4780, 0, 0, 0 ], "ReturnParameterMembership.membershipOwningNamespace": [ - 4764, + 4780, 0, 0, 0, @@ -72142,7 +72142,7 @@ 0, 0, 0, - 4764, + 4780, 0 ], "ReturnParameterMembership.ownedElement": [ @@ -72150,12 +72150,12 @@ 0, 0, 0, - 4764, + 4780, 0 ], "ReturnParameterMembership.ownedMemberElement": [ - 4419, - 345, + 4433, + 347, 0, 0, 0, @@ -72164,14 +72164,14 @@ "ReturnParameterMembership.ownedMemberElementId": [ 0, 0, - 4764, + 4780, 0, 0, 0 ], "ReturnParameterMembership.ownedMemberFeature": [ - 4418, - 345, + 4432, + 347, 1, 0, 0, @@ -72180,22 +72180,22 @@ "ReturnParameterMembership.ownedMemberName": [ 0, 0, - 4764, + 4780, 0, 0, 0 ], "ReturnParameterMembership.ownedMemberParameter": [ - 4419, - 345, + 4433, + 347, 0, 0, 0, 0 ], "ReturnParameterMembership.ownedRelatedElement": [ - 4419, - 345, + 4433, + 347, 0, 0, 0, @@ -72206,19 +72206,19 @@ 0, 0, 0, - 4764, + 4780, 0 ], "ReturnParameterMembership.owner": [ 0, 0, 0, - 4764, + 4780, 0, 0 ], "ReturnParameterMembership.owningRelatedElement": [ - 4764, + 4780, 0, 0, 0, @@ -72230,13 +72230,13 @@ 0, 0, 0, - 4764, + 4780, 0 ], "ReturnParameterMembership.owningType": [ 171, 0, - 4593, + 4609, 0, 0, 0 @@ -72244,7 +72244,7 @@ "ReturnParameterMembership.relatedElement": [ 0, 0, - 4764, + 4780, 0, 0, 0 @@ -72252,7 +72252,7 @@ "ReturnParameterMembership.source": [ 0, 0, - 4764, + 4780, 0, 0, 0 @@ -72260,7 +72260,7 @@ "ReturnParameterMembership.target": [ 0, 0, - 4764, + 4780, 0, 0, 0 @@ -72270,13 +72270,13 @@ 0, 0, 0, - 4764, + 4780, 0 ], "ReturnParameterMembership.visibility": [ 0, 0, - 4764, + 4780, 0, 0, 0 @@ -78030,7 +78030,7 @@ 0, 0, 0, - 614, + 629, 0 ], "Subclassification.declaredName": [ @@ -78038,7 +78038,7 @@ 0, 0, 0, - 612, + 627, 0 ], "Subclassification.declaredShortName": [ @@ -78046,7 +78046,7 @@ 0, 0, 0, - 614, + 629, 0 ], "Subclassification.documentation": [ @@ -78054,19 +78054,19 @@ 0, 0, 0, - 614, + 629, 0 ], "Subclassification.general": [ - 349, + 362, 0, 14, 0, 0, - 251 + 253 ], "Subclassification.isImplied": [ - 614, + 629, 0, 0, 0, @@ -78074,7 +78074,7 @@ 0 ], "Subclassification.isImpliedIncluded": [ - 614, + 629, 0, 0, 0, @@ -78084,7 +78084,7 @@ "Subclassification.isLibraryElement": [ 0, 0, - 614, + 629, 0, 0, 0 @@ -78102,7 +78102,7 @@ 0, 0, 0, - 614, + 629, 0 ], "Subclassification.ownedElement": [ @@ -78110,7 +78110,7 @@ 0, 0, 0, - 614, + 629, 0 ], "Subclassification.ownedRelatedElement": [ @@ -78118,7 +78118,7 @@ 0, 0, 0, - 614, + 629, 0 ], "Subclassification.ownedRelationship": [ @@ -78126,19 +78126,19 @@ 0, 0, 0, - 614, + 629, 0 ], "Subclassification.owner": [ 2, 0, 0, - 612, + 627, 0, 0 ], "Subclassification.owningClassifier": [ - 612, + 627, 0, 0, 0, @@ -78162,7 +78162,7 @@ 0 ], "Subclassification.owningRelatedElement": [ - 612, + 627, 0, 0, 0, @@ -78174,13 +78174,13 @@ 0, 0, 0, - 612, + 627, 0 ], "Subclassification.owningType": [ 0, 0, - 612, + 627, 0, 0, 0 @@ -78194,15 +78194,15 @@ 0 ], "Subclassification.relatedElement": [ - 347, + 360, 1, 15, 0, 0, - 251 + 253 ], "Subclassification.source": [ - 612, + 627, 0, 2, 0, @@ -78210,7 +78210,7 @@ 0 ], "Subclassification.specific": [ - 613, + 628, 0, 1, 0, @@ -78218,7 +78218,7 @@ 0 ], "Subclassification.subclassifier": [ - 612, + 627, 0, 2, 0, @@ -78226,27 +78226,27 @@ 0 ], "Subclassification.superclassifier": [ - 348, + 361, 0, 15, 0, 0, - 251 + 253 ], "Subclassification.target": [ - 348, + 361, 0, 15, 0, 0, - 251 + 253 ], "Subclassification.textualRepresentation": [ 0, 0, 0, 0, - 614, + 629, 0 ], "SubjectMembership.aliasIds": [ @@ -90518,7 +90518,7 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.declaredName": [ @@ -90526,7 +90526,7 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.declaredShortName": [ @@ -90534,7 +90534,7 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.documentation": [ @@ -90542,11 +90542,11 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.isImplied": [ - 33, + 35, 0, 0, 0, @@ -90554,7 +90554,7 @@ 0 ], "ViewRenderingMembership.isImpliedIncluded": [ - 33, + 35, 0, 0, 0, @@ -90564,13 +90564,13 @@ "ViewRenderingMembership.isLibraryElement": [ 0, 0, - 33, + 35, 0, 0, 0 ], "ViewRenderingMembership.memberElement": [ - 31, + 33, 2, 0, 0, @@ -90580,7 +90580,7 @@ "ViewRenderingMembership.memberElementId": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90588,13 +90588,13 @@ "ViewRenderingMembership.memberName": [ 0, 0, - 31, + 33, 0, 0, 0 ], "ViewRenderingMembership.membershipOwningNamespace": [ - 33, + 35, 0, 0, 0, @@ -90606,7 +90606,7 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.ownedElement": [ @@ -90614,11 +90614,11 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.ownedMemberElement": [ - 31, + 33, 2, 0, 0, @@ -90628,13 +90628,13 @@ "ViewRenderingMembership.ownedMemberElementId": [ 0, 0, - 33, + 35, 0, 0, 0 ], "ViewRenderingMembership.ownedMemberFeature": [ - 31, + 33, 2, 0, 0, @@ -90644,13 +90644,13 @@ "ViewRenderingMembership.ownedMemberName": [ 0, 0, - 31, + 33, 0, 0, 0 ], "ViewRenderingMembership.ownedRelatedElement": [ - 31, + 33, 2, 0, 0, @@ -90662,11 +90662,11 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.ownedRendering": [ - 31, + 33, 2, 0, 0, @@ -90677,12 +90677,12 @@ 0, 0, 0, - 33, + 35, 0, 0 ], "ViewRenderingMembership.owningRelatedElement": [ - 33, + 35, 0, 0, 0, @@ -90694,11 +90694,11 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.owningType": [ - 33, + 35, 0, 0, 0, @@ -90708,7 +90708,7 @@ "ViewRenderingMembership.referencedRendering": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90716,7 +90716,7 @@ "ViewRenderingMembership.relatedElement": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90724,7 +90724,7 @@ "ViewRenderingMembership.source": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90732,7 +90732,7 @@ "ViewRenderingMembership.target": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90742,13 +90742,13 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.visibility": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90758,7 +90758,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.chainingFeature": [ @@ -90766,11 +90766,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.declaredName": [ - 97, + 99, 0, 0, 0, @@ -90782,13 +90782,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.definition": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90798,7 +90798,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.directedFeature": [ @@ -90806,7 +90806,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.directedUsage": [ @@ -90814,7 +90814,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.direction": [ @@ -90822,13 +90822,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.documentation": [ 0, 0, - 21, + 23, 0, 78, 0 @@ -90838,13 +90838,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.exposedElement": [ 0, 0, - 85, + 87, 0, 14, 0 @@ -90852,7 +90852,7 @@ "ViewUsage.feature": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90860,7 +90860,7 @@ "ViewUsage.featureMembership": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90868,7 +90868,7 @@ "ViewUsage.featureTarget": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90878,13 +90878,13 @@ 0, 11, 0, - 88, + 90, 0 ], "ViewUsage.importedMembership": [ 0, 0, - 88, + 90, 0, 11, 0 @@ -90892,7 +90892,7 @@ "ViewUsage.inheritedFeature": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90900,7 +90900,7 @@ "ViewUsage.inheritedMembership": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90910,7 +90910,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.intersectingType": [ @@ -90918,11 +90918,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.isAbstract": [ - 99, + 101, 0, 0, 0, @@ -90930,7 +90930,7 @@ 0 ], "ViewUsage.isComposite": [ - 99, + 101, 0, 0, 0, @@ -90940,13 +90940,13 @@ "ViewUsage.isConjugated": [ 0, 0, - 99, + 101, 0, 0, 0 ], "ViewUsage.isConstant": [ - 99, + 101, 0, 0, 0, @@ -90954,7 +90954,7 @@ 0 ], "ViewUsage.isDerived": [ - 99, + 101, 0, 0, 0, @@ -90962,7 +90962,7 @@ 0 ], "ViewUsage.isEnd": [ - 99, + 101, 0, 0, 0, @@ -90970,7 +90970,7 @@ 0 ], "ViewUsage.isImpliedIncluded": [ - 99, + 101, 0, 0, 0, @@ -90978,7 +90978,7 @@ 0 ], "ViewUsage.isIndividual": [ - 99, + 101, 0, 0, 0, @@ -90988,13 +90988,13 @@ "ViewUsage.isLibraryElement": [ 0, 0, - 99, + 101, 0, 0, 0 ], "ViewUsage.isOrdered": [ - 99, + 101, 0, 0, 0, @@ -91002,7 +91002,7 @@ 0 ], "ViewUsage.isPortion": [ - 99, + 101, 0, 0, 0, @@ -91012,13 +91012,13 @@ "ViewUsage.isReference": [ 1, 0, - 98, + 100, 0, 0, 0 ], "ViewUsage.isSufficient": [ - 99, + 101, 0, 0, 0, @@ -91026,7 +91026,7 @@ 0 ], "ViewUsage.isUnique": [ - 99, + 101, 0, 0, 0, @@ -91038,11 +91038,11 @@ 0, 11, 0, - 88, + 90, 0 ], "ViewUsage.isVariation": [ - 99, + 101, 0, 0, 0, @@ -91052,7 +91052,7 @@ "ViewUsage.itemDefinition": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91068,7 +91068,7 @@ "ViewUsage.mayTimeVary": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91076,7 +91076,7 @@ "ViewUsage.member": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91084,7 +91084,7 @@ "ViewUsage.membership": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91100,7 +91100,7 @@ "ViewUsage.name": [ 2, 0, - 97, + 99, 0, 0, 0 @@ -91110,7 +91110,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedAllocation": [ @@ -91118,7 +91118,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedAnalysisCase": [ @@ -91126,7 +91126,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedAttribute": [ @@ -91134,7 +91134,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedCalculation": [ @@ -91142,7 +91142,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedCase": [ @@ -91150,7 +91150,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedConcern": [ @@ -91158,7 +91158,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedConnection": [ @@ -91166,7 +91166,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedConstraint": [ @@ -91174,7 +91174,7 @@ 0, 7, 0, - 92, + 94, 0 ], "ViewUsage.nestedEnumeration": [ @@ -91182,7 +91182,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedFlow": [ @@ -91190,7 +91190,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedInterface": [ @@ -91198,13 +91198,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedItem": [ 0, 0, - 34, + 36, 0, 65, 0 @@ -91214,13 +91214,13 @@ 0, 29, 0, - 70, + 72, 0 ], "ViewUsage.nestedOccurrence": [ 0, 0, - 37, + 39, 0, 62, 0 @@ -91228,7 +91228,7 @@ "ViewUsage.nestedPart": [ 0, 0, - 34, + 36, 0, 65, 0 @@ -91238,7 +91238,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedReference": [ @@ -91246,13 +91246,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedRendering": [ 0, 0, - 29, + 31, 0, 70, 0 @@ -91262,7 +91262,7 @@ 0, 7, 0, - 92, + 94, 0 ], "ViewUsage.nestedState": [ @@ -91270,7 +91270,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedTransition": [ @@ -91278,13 +91278,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedUsage": [ 0, 0, - 37, + 39, 0, 62, 0 @@ -91294,7 +91294,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedVerificationCase": [ @@ -91302,7 +91302,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedView": [ @@ -91310,7 +91310,7 @@ 0, 4, 0, - 95, + 97, 0 ], "ViewUsage.nestedViewpoint": [ @@ -91318,13 +91318,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.occurrenceDefinition": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91334,7 +91334,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedAnnotation": [ @@ -91342,7 +91342,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedDifferencing": [ @@ -91350,7 +91350,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedDisjoining": [ @@ -91358,13 +91358,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedElement": [ 0, 0, - 68, + 70, 0, 31, 0 @@ -91374,11 +91374,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedFeature": [ - 35, + 37, 2, 0, 0, @@ -91390,7 +91390,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedFeatureInverting": [ @@ -91398,11 +91398,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedFeatureMembership": [ - 37, + 39, 0, 0, 0, @@ -91410,7 +91410,7 @@ 0 ], "ViewUsage.ownedImport": [ - 88, + 90, 0, 0, 0, @@ -91422,11 +91422,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedMember": [ - 40, + 42, 9, 9, 0, @@ -91434,7 +91434,7 @@ 0 ], "ViewUsage.ownedMembership": [ - 51, + 53, 2, 5, 0, @@ -91446,11 +91446,11 @@ 0, 0, 0, - 97, + 99, 0 ], "ViewUsage.ownedRelationship": [ - 92, + 94, 7, 0, 0, @@ -91462,7 +91462,7 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewUsage.ownedSubsetting": [ @@ -91470,7 +91470,7 @@ 0, 0, 0, - 90, + 92, 0 ], "ViewUsage.ownedTypeFeaturing": [ @@ -91478,7 +91478,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedTyping": [ @@ -91486,7 +91486,7 @@ 0, 0, 0, - 42, + 44, 0 ], "ViewUsage.ownedUnioning": [ @@ -91494,11 +91494,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.owner": [ - 99, + 101, 0, 0, 0, @@ -91522,7 +91522,7 @@ 0 ], "ViewUsage.owningMembership": [ - 98, + 100, 1, 0, 0, @@ -91530,7 +91530,7 @@ 0 ], "ViewUsage.owningNamespace": [ - 99, + 101, 0, 0, 0, @@ -91538,7 +91538,7 @@ 0 ], "ViewUsage.owningRelationship": [ - 98, + 100, 1, 0, 0, @@ -91564,7 +91564,7 @@ "ViewUsage.partDefinition": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91574,11 +91574,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.qualifiedName": [ - 99, + 101, 0, 0, 0, @@ -91598,7 +91598,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.subsets": [ @@ -91614,13 +91614,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.type": [ 9, 0, - 45, + 47, 0, 0, 45 @@ -91630,7 +91630,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.upperBound": [ @@ -91644,7 +91644,7 @@ "ViewUsage.usage": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91654,7 +91654,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.variantMembership": [ @@ -91662,7 +91662,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.viewCondition": [ @@ -91670,13 +91670,13 @@ 0, 7, 0, - 92, + 94, 0 ], "ViewUsage.viewDefinition": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91684,7 +91684,7 @@ "ViewUsage.viewRendering": [ 0, 0, - 29, + 31, 0, 0, 0 diff --git a/docs/project/api-json-differential.md b/docs/project/api-json-differential.md index 7f9f0eb518..710595dfdc 100644 --- a/docs/project/api-json-differential.md +++ b/docs/project/api-json-differential.md @@ -190,7 +190,7 @@ The pinned pilot's verdict on the probe (`validate-sysml-batch`): clean. ## Results (pilot `2026-08`, 930 files) -**Scorecard:** 930 files; 91817 elements matched (18396 ours-only, 37359 pilot-only, 0 of them implied); properties: 1113691 present-equal, 27125 present-different, 1066771 ours-missing, 67750 pilot-missing, 1959166 absent-both, 26051 indeterminate. +**Scorecard:** 930 files; 92570 elements matched (18486 ours-only, 37647 pilot-only, 0 of them implied); properties: 1123072 present-equal, 27387 present-different, 1075538 ours-missing, 68357 pilot-missing, 1976159 absent-both, 26394 indeterminate. The pilot's export failed on 56 files (`pilotFailed`: its own export throws on an element without a resource, 52 of them specification examples and 4 test fixtures; the files are named in the run's text report), ours refused 36 (all of them specification examples the parser could not read whole), left the pilot's 56 failed files out and converted 26 documents alone for declaring an element another document of their root declares (`oursColliding`); no root fell back to per-document conversion. 11730 (metaclass, property) rows carry a comparison; 111008 references compared through the unkeyed sentinel, 158907 of our `sysx:` annotations were left out, and 285/347 elements (ours/pilot) were dropped for ambiguous keys, 16850/31316 for having none. @@ -202,7 +202,7 @@ The pilot's export failed on 56 files (`pilotFailed`: its own export throws on a | `examples/pilot-corpora/kerml-examples` | 58 | 6399 | 1166 | 1842 | 44577 | 2504 | 63934 | 5065 | | `examples/spec-examples` | 511 | 7074 | 990 | 2634 | 47298 | 1484 | 75012 | 5041 | | `tests/testdata` | 36 | 1414 | 171 | 495 | 9277 | 401 | 15672 | 997 | -| `examples` | 52 | 26254 | 5956 | 14776 | 186183 | 7989 | 318978 | 19327 | +| `examples` | 52| 26982| 6046| 15058| 333619| 8295| 323002| 20063 | | `tools/referee/diff/testdata` | 4 | 53 | 0 | 0 | 362 | 1 | 462 | 41 | | `docs/manual/examples` | 8 | 7020 | 920 | 2082 | 48509 | 1982 | 88453 | 4679 | @@ -371,48 +371,48 @@ The (metaclass, property) rows ranked by the corpus elements on which the pilot | # | metaclass | property | ours-missing | present-different | in-flight overlap | derivation clause | |---:|---|---|---:|---:|---|---| -| 1 | `FeatureMembership` | `isLibraryElement` | 10854 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 2 | `FeatureMembership` | `memberElementId` | 10854 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | -| 3 | `FeatureMembership` | `ownedMemberElementId` | 10854 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | -| 4 | `FeatureMembership` | `relatedElement` | 10854 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | -| 5 | `FeatureMembership` | `source` | 10854 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | -| 6 | `FeatureMembership` | `target` | 10854 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | -| 7 | `FeatureMembership` | `visibility` | 10790 | 1 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | -| 8 | `Feature` | `featureTarget` | 10148 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::featureTarget`: the last `chainingFeature`, else the feature itself (KerML 8.3.3.3, deriveFeatureFeatureTarget; KERML11-1 crossFeature) | -| 9 | `Feature` | `inheritedFeature` | 10148 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::inheritedFeature = inheritedMembership.memberElement->selectByKind(Feature)` (KerML 8.3.3.1, deriveTypeInheritedFeature) | -| 10 | `Feature` | `inheritedMembership` | 10148 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::inheritedMembership = inheritedMemberships(excluded)` over the supertypes (KerML 8.3.3.1, deriveTypeInheritedMembership) | -| 11 | `Feature` | `isConjugated` | 10148 | 0 | none found | `Type::isConjugated = ownedConjugator <> null` (KerML 8.3.3.1 Type; a derived attribute without a named derive constraint); the pilot writes `false` on every type | -| 12 | `Feature` | `isLibraryElement` | 10148 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 13 | `Feature` | `member` | 10148 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Namespace::member = membership.memberElement` (KerML 8.3.2.4, deriveNamespaceMember) | -| 14 | `Feature` | `membership` | 10148 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Namespace::membership = ownedMembership->union(importedMembership)`, and for a Type also `inheritedMembership` (KerML 8.3.2.4, 8.3.3.1) | -| 15 | `Feature` | `feature` | 10142 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::feature = featureMembership.ownedMemberFeature` (KerML 8.3.3.1, deriveTypeFeature) | -| 16 | `Feature` | `featureMembership` | 10142 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::featureMembership = ownedFeatureMembership->union(inheritedMembership->selectByKind(FeatureMembership))` (KerML 8.3.3.1; KERML11-191 restricts the inherited part to the supertypes) | -| 17 | `Feature` | `featuringType` | 9846 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::featuringType = typeFeaturing.featuringType`, plus the owning type of an owned feature (KerML 8.3.3.3, deriveFeatureFeaturingType; KERML11-3/4 multiplicity featuring) | -| 18 | `Feature` | `type` | 9615 | 14 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::type = typing.type` with the types inherited through chaining and redefinition (KerML 8.3.3.3, deriveFeatureType) | -| 19 | `OwningMembership` | `isLibraryElement` | 9625 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 20 | `OwningMembership` | `relatedElement` | 9625 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | -| 21 | `OwningMembership` | `source` | 9625 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | -| 22 | `OwningMembership` | `memberElementId` | 9622 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | -| 23 | `OwningMembership` | `ownedMemberElementId` | 9622 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | -| 24 | `OwningMembership` | `target` | 9622 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | -| 25 | `OwningMembership` | `visibility` | 9600 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | -| 26 | `Feature` | `name` | 9538 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Element::name = effectiveName()`: the declared name, or for a feature the name of the feature it redefines (KerML 8.3.2.1, deriveElementName) | -| 27 | `Feature` | `owningFeatureMembership` | 9497 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningFeatureMembership = owningMembership->selectByKind(FeatureMembership)` (KerML 8.3.3.3) | -| 28 | `Feature` | `owningType` | 9497 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | -| 29 | `FeatureMembership` | `memberName` | 9305 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberName = memberElement.name` (KerML 8.3.2.3.5, deriveMembershipMemberName) | -| 30 | `FeatureMembership` | `ownedMemberName` | 9305 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberName = ownedMemberElement.name` (KerML 8.3.2.3.6) | -| 31 | `Feature` | `owningNamespace` | 8757 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Element::owningNamespace = owningMembership.membershipOwningNamespace` (KerML 8.3.2.1, deriveElementOwningNamespace) | -| 32 | `FeatureValue` | `isLibraryElement` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 33 | `FeatureValue` | `memberElementId` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | -| 34 | `FeatureValue` | `ownedMemberElementId` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | -| 35 | `FeatureValue` | `relatedElement` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | -| 36 | `FeatureValue` | `source` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | -| 37 | `FeatureValue` | `target` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | -| 38 | `FeatureValue` | `visibility` | 7083 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | -| 39 | `FeatureTyping` | `isLibraryElement` | 5994 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 40 | `FeatureTyping` | `owningType` | 5990 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | +| 1 | `FeatureMembership` | `isLibraryElement` | 10968 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 2 | `FeatureMembership` | `memberElementId` | 10968 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | +| 3 | `FeatureMembership` | `ownedMemberElementId` | 10968 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | +| 4 | `FeatureMembership` | `relatedElement` | 10968 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | +| 5 | `FeatureMembership` | `source` | 10968 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | +| 6 | `FeatureMembership` | `target` | 10968 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | +| 7 | `FeatureMembership` | `visibility` | 10904 | 1 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | +| 8 | `Feature` | `featureTarget` | 10188 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::featureTarget`: the last `chainingFeature`, else the feature itself (KerML 8.3.3.3, deriveFeatureFeatureTarget; KERML11-1 crossFeature) | +| 9 | `Feature` | `inheritedFeature` | 10188 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::inheritedFeature = inheritedMembership.memberElement->selectByKind(Feature)` (KerML 8.3.3.1, deriveTypeInheritedFeature) | +| 10 | `Feature` | `inheritedMembership` | 10188 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::inheritedMembership = inheritedMemberships(excluded)` over the supertypes (KerML 8.3.3.1, deriveTypeInheritedMembership) | +| 11 | `Feature` | `isConjugated` | 10188 | 0 | none found | `Type::isConjugated = ownedConjugator <> null` (KerML 8.3.3.1 Type; a derived attribute without a named derive constraint); the pilot writes `false` on every type | +| 12 | `Feature` | `isLibraryElement` | 10188 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 13 | `Feature` | `member` | 10188 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Namespace::member = membership.memberElement` (KerML 8.3.2.4, deriveNamespaceMember) | +| 14 | `Feature` | `membership` | 10188 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Namespace::membership = ownedMembership->union(importedMembership)`, and for a Type also `inheritedMembership` (KerML 8.3.2.4, 8.3.3.1) | +| 15 | `Feature` | `feature` | 10182 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::feature = featureMembership.ownedMemberFeature` (KerML 8.3.3.1, deriveTypeFeature) | +| 16 | `Feature` | `featureMembership` | 10182 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::featureMembership = ownedFeatureMembership->union(inheritedMembership->selectByKind(FeatureMembership))` (KerML 8.3.3.1; KERML11-191 restricts the inherited part to the supertypes) | +| 17 | `Feature` | `featuringType` | 9886 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::featuringType = typeFeaturing.featuringType`, plus the owning type of an owned feature (KerML 8.3.3.3, deriveFeatureFeaturingType; KERML11-3/4 multiplicity featuring) | +| 18 | `Feature` | `type` | 9655 | 14 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::type = typing.type` with the types inherited through chaining and redefinition (KerML 8.3.3.3, deriveFeatureType) | +| 19 | `OwningMembership` | `isLibraryElement` | 9665 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 20 | `OwningMembership` | `relatedElement` | 9665 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | +| 21 | `OwningMembership` | `source` | 9665 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | +| 22 | `OwningMembership` | `memberElementId` | 9662 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | +| 23 | `OwningMembership` | `ownedMemberElementId` | 9662 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | +| 24 | `OwningMembership` | `target` | 9662 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | +| 25 | `OwningMembership` | `visibility` | 9640 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | +| 26 | `Feature` | `name` | 9578 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Element::name = effectiveName()`: the declared name, or for a feature the name of the feature it redefines (KerML 8.3.2.1, deriveElementName) | +| 27 | `Feature` | `owningFeatureMembership` | 9537 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningFeatureMembership = owningMembership->selectByKind(FeatureMembership)` (KerML 8.3.3.3) | +| 28 | `Feature` | `owningType` | 9537 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | +| 29 | `FeatureMembership` | `memberName` | 9417 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberName = memberElement.name` (KerML 8.3.2.3.5, deriveMembershipMemberName) | +| 30 | `FeatureMembership` | `ownedMemberName` | 9417 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberName = ownedMemberElement.name` (KerML 8.3.2.3.6) | +| 31 | `Feature` | `owningNamespace` | 8797 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Element::owningNamespace = owningMembership.membershipOwningNamespace` (KerML 8.3.2.1, deriveElementOwningNamespace) | +| 32 | `FeatureValue` | `isLibraryElement` | 7185 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 33 | `FeatureValue` | `memberElementId` | 7185 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | +| 34 | `FeatureValue` | `ownedMemberElementId` | 7185 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | +| 35 | `FeatureValue` | `relatedElement` | 7185 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | +| 36 | `FeatureValue` | `source` | 7185 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | +| 37 | `FeatureValue` | `target` | 7185 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | +| 38 | `FeatureValue` | `visibility` | 7185 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | +| 39 | `FeatureTyping` | `isLibraryElement` | 6079 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 40 | `FeatureTyping` | `owningType` | 6075 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | | 41 | `Redefinition` | `redefinedFeature` | 52 | 20 | closed for this repository's libraries (above) | `Redefinition::redefinedFeature : Feature` (KerML 8.3.3.3.8) is an element reference, and every `Element` carries an `elementId` (KerML 8.3.2.1.2) the API's JSON refers to it by; the 330 redefinitions of a feature of this repository's libraries once spelled as a name, `{"@ref": "caption"}`, now link by the element's fixed id — the same movement for `FeatureTyping::type`, `MetadataUsage::type`, `FeatureReferenceExpression::referent` and `ReferenceSubsetting::referencedFeature` into those libraries — and the 58 left are redefinitions of a feature inherited within the model itself that the writer spells as a name (`vehicle_b_1::providePower`) | -| 42 | `AttributeUsage` | `ownedRelationship` | 36 | 1197 | none found | `Element::ownedRelationship : Relationship [0..*] {ordered}` (KerML 8.3.2.1.2), in the order the notation adds them (KerML 8.2.1 Table 3; `FeatureSpecializationPart`, then `ValuePart`, then the body): a head's typings, specializations and multiplicity as spelled, then its `FeatureValue`, then its members. The writer seated the materialized relationships last, in a fixed kind order; it now owns them as spelled, which moved 4861 properties over 101 rows (67 `ownedRelationship`, 22 `ownedSpecialization`, 12 `ownedSubsetting`) from present-different to present-equal, no other bucket touched (this row 2332 → 1197, `PartDefinition` 215 → 20, `PartUsage` 1554 → 1004, `Feature` 1802 → 1401). What remains (1197) is a different shape: on a usage that writes no multiplicity part (`attribute cargoMass : MassValue;`) the pilot owns an `OwningMembership` of a `Multiplicity`, not implied, after the `FeatureTyping`; ours states none | +| 42 | `AttributeUsage` | `ownedRelationship` | 36 | 1242 | none found | `Element::ownedRelationship : Relationship [0..*] {ordered}` (KerML 8.3.2.1.2), in the order the notation adds them (KerML 8.2.1 Table 3; `FeatureSpecializationPart`, then `ValuePart`, then the body): a head's typings, specializations and multiplicity as spelled, then its `FeatureValue`, then its members. The writer seated the materialized relationships last, in a fixed kind order; it now owns them as spelled, which moved 4861 properties over 101 rows (67 `ownedRelationship`, 22 `ownedSpecialization`, 12 `ownedSubsetting`) from present-different to present-equal, no other bucket touched (this row 2332 → 1197, `PartDefinition` 215 → 20, `PartUsage` 1554 → 1004, `Feature` 1802 → 1401). What remains (1197) is a different shape: on a usage that writes no multiplicity part (`attribute cargoMass : MassValue;`) the pilot owns an `OwningMembership` of a `Multiplicity`, not implied, after the `FeatureTyping`; ours states none | | 43 | `FeatureReferenceExpression` | `ownedMembership` | 0 | 7 | the writer owns the `Membership` (`export/rdf_expr.go` `featureReferent`); the 7 left are the `FunctionReferenceMember` shape, a `FeatureMembership` owning an `Expression` typed by the named function (KerML 8.2.5.8.3), which ours writes as a `Membership` of the function | `FeatureReferenceExpression::referent` is the `memberElement` of the first `ownedMembership` that is not a `ParameterMembership` (KerML 8.3.4.8.5, deriveFeatureReferenceExpressionReferent); the notation maps a feature reference to that owned `Membership` (8.2.5.8.3, `FeatureReferenceMember`) | Rows an evaluator rule in PR #1232 (`internal/semantic/metamodel/rules.go`) already names are marked; that PR adds a lazy metamodel evaluator and layers its derived values into the API-JSON writer, so its merge is expected to move those rows from ours-missing to present-equal or present-different, and this referee is how that movement is measured. diff --git a/docs/project/pilot-differential-baseline.json b/docs/project/pilot-differential-baseline.json index df5a2ad266..0d8c07e674 100644 --- a/docs/project/pilot-differential-baseline.json +++ b/docs/project/pilot-differential-baseline.json @@ -69,7 +69,7 @@ "dir": "examples", "origin": "ours", "files": 52, - "digest": "sha256:451596b19bfcca198268d5b8ef8f3d307cedb69ebfa73521d1798d8f6d4b8c4f" + "digest": "sha256:39c218f3362255947ae0cb31c1429bac4244d02261f0ac0eaf0a06b67680b005" }, { "name": "probes", @@ -94,9 +94,9 @@ "agreement": 1098, "severityMismatch": 11, "openSysMLOnly": 366, - "pilotOnly": 2448, + "pilotOnly": 2450, "openSysMLDiagnostics": 1475, - "pilotDiagnostics": 3557 + "pilotDiagnostics": 3559 }, "roots": [ { @@ -17882,9 +17882,9 @@ "agreement": 0, "severityMismatch": 0, "openSysMLOnly": 8, - "pilotOnly": 61, + "pilotOnly": 63, "openSysMLDiagnostics": 8, - "pilotDiagnostics": 61 + "pilotDiagnostics": 63 }, "files": [ { @@ -18025,181 +18025,193 @@ "openSysMLOnly": [], "pilotOnly": [ { - "line": 150, + "line": 187, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 156, + "line": 193, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 171, + "line": 208, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 185, + "line": 222, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 191, + "line": 228, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 202, + "line": 239, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 209, + "line": 246, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 219, + "line": 256, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 225, + "line": 262, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 230, + "line": 267, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 240, + "line": 277, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 246, + "line": 283, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 260, + "line": 297, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 266, + "line": 303, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 277, + "line": 314, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 287, + "line": 324, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 297, + "line": 334, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 303, + "line": 340, + "severity": "warning", + "category": "kind-mismatch", + "count": 1 + }, + { + "line": 346, + "severity": "warning", + "category": "kind-mismatch", + "count": 1 + }, + { + "line": 360, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 309, + "line": 366, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 323, + "line": 381, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 333, + "line": 395, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 347, + "line": 401, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 353, + "line": 407, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 359, + "line": 414, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 397, + "line": 452, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 403, + "line": 458, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 413, + "line": 468, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 426, + "line": 481, "severity": "warning", "category": "kind-mismatch", "count": 1 }, { - "line": 426, + "line": 481, "severity": "warning", "category": "unmapped", "count": 17 }, { - "line": 432, + "line": 487, "severity": "warning", "category": "kind-mismatch", "count": 1 @@ -25459,9 +25471,9 @@ "agreement": 1098, "severityMismatch": 11, "openSysMLOnly": 365, - "pilotOnly": 2448, + "pilotOnly": 2450, "openSysMLDiagnostics": 1474, - "pilotDiagnostics": 3557 + "pilotDiagnostics": 3559 }, "findings": [ { diff --git a/docs/project/pilot-differential.md b/docs/project/pilot-differential.md index 1fcc7e8529..0ac40cde25 100644 --- a/docs/project/pilot-differential.md +++ b/docs/project/pilot-differential.md @@ -255,9 +255,9 @@ nor double-counted as two independent disagreements. | `examples/pilot-corpora/kerml-examples` | 58 | 55 | 16 | 0 | 0 | 0 | 16 | 0 | | `examples/spec-examples` | 511 | 150 | 1094 | 3395 | 1038 | 6 | 50 | 2351 | | `tests/testdata` | 40 | 25 | 78 | 101 | 60 | 5 | 13 | 36 | -| `examples` | 52 | 45 | 8 | 61 | 0 | 0 | 8 | 61 | +| `examples` | 52 | 45 | 8 | 63 | 0 | 0 | 8 | 63 | | `tools/referee/diff/testdata` (probes) | 4 | 1 | 6 | 0 | 0 | 0 | 6 | 0 | -| **Total** | **920** | **517** | **1475** | **3557** | **1098** | **11** | **366** | **2448** | +| **Total** | **920** | **517** | **1475** | **3559** | **1098** | **11** | **366** | **2450** | **Read the `only ours` total by root, never as one number.** Step 2 removes nine resolver false positives from the reference's **own** corpora: `pilot-examples` 16 → **7** and @@ -307,7 +307,7 @@ Per category, the only-ours totals are: `training` 1 `multiplicity`; `pilot-exam 1 `unresolved-reference`, 2 `multiplicity`; `examples` 5 `unmapped`, 1 `kind-mismatch`, 2 `multiplicity`; `probes` 6 `unmapped`; `spec-examples` 7 `syntax`, 38 `unresolved-reference`, 3 `kind-mismatch`, 2 `unmapped`. Only-pilot: `testdata` 14 `kind-mismatch`, 17 `unmapped`, -3 `syntax`, 2 `unresolved-reference`; `examples` 23 `unmapped`, 38 `kind-mismatch`; `spec-examples` 1359 `unmapped`, +3 `syntax`, 2 `unresolved-reference`; `examples` 23 `unmapped`, 40 `kind-mismatch`; `spec-examples` 1359 `unmapped`, 586 `kind-mismatch`, 196 `syntax`, 156 `unresolved-reference`, 50 `multiplicity`, 4 `units`. The `spec-examples` figures are dominated by fragments: the specification's examples leave @@ -977,8 +977,8 @@ cascades through the rest of the file. The movement is entirely one file, | Count | Before the initializer rewrite | Now | |---|---:|---:| -| only pilot | 82 | **2448** | -| pilot diagnostics | 123 | **3557** | +| only pilot | 82 | **2450** | +| pilot diagnostics | 123 | **3559** | | severity-only | 9 | **11** | The rewrite itself took only-pilot to 61 and pilot diagnostics to 101; the `Now` column states @@ -1203,13 +1203,13 @@ page's history. | Count | Now | |---|---:| | overall: fully agreeing / only ours / our diagnostics | **517 / 366 / 1475** | -| only pilot | **2448** | -| pilot diagnostics | **3557** | +| only pilot | **2450** | +| pilot diagnostics | **3559** | | severity-only | **11** | | unmapped, our side | **288** | | kerml-examples: only ours | **16** | | pilot-examples: only ours | **261** | -| examples: only pilot | **61** | +| examples: only pilot | **63** | The KerML root is now the *cleanest* of the three OMG roots in proportion: **9** only-ours against 6 only-pilot, with 56 of 58 files fully agreeing (439 / 6 and 10 / 58 when the root was added, and From 703e4ccaa999416823a941ac0d0ac24e49865d37 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 25 Oct 2026 05:51:52 +0000 Subject: [PATCH 11/14] fix(docplan): resolve markup sections by their explicit id and report ambiguous document usages An AsciiDoc anchor is the section's name as written when it is a basic name, else slugged, and a reference spelt as the id (`<>`, `<>`) finds the section either way. A heading qualified by a usage typed by more than one document is an ambiguous target, as for a part. Co-Authored-By: jason.han --- docs/manual/authoring.md | 39 ++++--- internal/ir/docplan/compiler.go | 40 ++++--- .../markup/testdata/asciidoc_anchors.adoc | 9 ++ .../markup/testdata/asciidoc_anchors.json | 1 + internal/ir/docplan/markup_bodies.go | 9 +- internal/ir/docplan/markup_sections.go | 100 +++++++++++------- internal/ir/docplan/whole_bodies_test.go | 66 ++++++++++++ 7 files changed, 185 insertions(+), 79 deletions(-) create mode 100644 internal/ir/docplan/markup/testdata/asciidoc_anchors.adoc create mode 100644 internal/ir/docplan/markup/testdata/asciidoc_anchors.json diff --git a/docs/manual/authoring.md b/docs/manual/authoring.md index f4710ed2ac..d9325487bf 100644 --- a/docs/manual/authoring.md +++ b/docs/manual/authoring.md @@ -299,20 +299,25 @@ tables of contents and title pages (`-doc-number-sections`, `-doc-toc`, Each such section is named, so it is a `Ref` target and an HTML anchor like a `part : Section`. The name is the explicit id when the markup gives one (AsciiDoc `[[id]]` or `[#id]` on the title; Markdown has no CommonMark -spelling for one), else a slug of the title: lower-cased, every run of -characters other than letters and digits replaced by one underscore, -leading and trailing underscores dropped, an underscore prefixed to a -leading digit (`Mass budget` → `mass_budget`, `3rd level, deep!` → -`_3rd_level_deep`). Names are unique within the document: a derived or -explicit name already taken by a content part or an earlier heading gets -the first free suffix `_2`, `_3`, … in body order — the second `Mass budget` -above would be `mass_budget_2`. The name is not a model element: a -`sysml:` destination is resolved against the model first, and only an -unknown name is looked up among the document's headings, so a model element -of the same name in scope wins — give the heading an explicit id or refer -to the element by a longer name. From another document, qualify the name by -the document definition or a usage of it (`sysml:MassReport::mass_budget`) -as for a named part; the anchor is the section's path, `overview-mass_budget`. +spelling for one), kept as written when it is a basic name (`[[MassBudget]]` +→ `MassBudget`) and otherwise slugged like a title; else a slug of the title: +lower-cased, every run of characters other than letters and digits replaced +by one underscore, leading and trailing underscores dropped, an underscore +prefixed to a leading digit (`Mass budget` → `mass_budget`, `3rd level, +deep!` → `_3rd_level_deep`, `[[mass-budget]]` → `mass_budget`). Names are +unique within the document: a derived or explicit name already taken by a +content part or an earlier heading gets the first free suffix `_2`, `_3`, … +in body order — the second `Mass budget` above would be `mass_budget_2`. +The name is not a model element: a `sysml:` destination is resolved against +the model first, and only a name no element answers to is looked up among +the document's headings — by name, or by an explicit id exactly as written +(`sysml:mass-budget` finds `[[mass-budget]]`) — so a model element of the +same name in scope wins; give the heading an explicit id or refer to the +element by a longer name. From another document, qualify the name by the +document definition or a usage of it (`sysml:MassReport::mass_budget`) as +for a named part; a usage typed by more than one document is the +`ambiguous-ref-target` error, as for a part. The anchor is the section's +path, `overview-mass_budget`. Constructs that no content block renders are refused with a typed planning error naming the construct and its line within the body, rather than @@ -404,9 +409,9 @@ title in a `part : Paragraph` body is refused — with one addition: an anchor on the title, `[[mass_budget]]` or `[#mass_budget]`, is the section's name, and `<>` or `sysml:ref[mass_budget]` resolves to it. An id spelt with characters a name cannot carry (`[[mass-budget]]`) -is normalised by the slug rule, and an xref written as the id still finds -it. Without an anchor the name is the slug of the title; Asciidoctor's -automatic `_title` ids are not used. +is normalised by the slug rule to `mass_budget`, and an xref written as the +id, `<>`, still finds it. Without an anchor the name is the +slug of the title; Asciidoctor's automatic `_title` ids are not used. Constructs no content block renders are refused with a typed planning error naming the construct and its body line, as for Markdown: a document diff --git a/internal/ir/docplan/compiler.go b/internal/ir/docplan/compiler.go index db172744d3..d4cd844b04 100644 --- a/internal/ir/docplan/compiler.go +++ b/internal/ir/docplan/compiler.go @@ -926,17 +926,7 @@ func (c *compiler) documentRootTarget(sym *symbols.Symbol, run *Run) (*symbols.S } return defs[0], nil default: - names := make([]string, len(defs)) - for i, def := range defs { - names[i] = symbols.FQNOf(def) - } - return nil, &Error{ - Kind: ErrorAmbiguousRefTarget, - Document: c.document, - Content: symbols.FQNOf(sym), - Actual: strings.Join(names, " and "), - Origin: run.origin, - } + return nil, c.ambiguousDocument(sym, defs, run.origin) } } @@ -961,17 +951,23 @@ func (c *compiler) chainRootDocument(run *Run) (*symbols.Symbol, error) { case 1: return defs[0], nil default: - names := make([]string, len(defs)) - for i, def := range defs { - names[i] = symbols.FQNOf(def) - } - return nil, &Error{ - Kind: ErrorAmbiguousRefTarget, - Document: c.document, - Content: symbols.FQNOf(root), - Actual: strings.Join(names, " and "), - Origin: run.origin, - } + return nil, c.ambiguousDocument(root, defs, run.origin) + } +} + +// ambiguousDocument is the error for a usage typed by more than one document +// definition where a reference needs exactly one. +func (c *compiler) ambiguousDocument(usage *symbols.Symbol, defs []*symbols.Symbol, origin symbols.Origin) *Error { + names := make([]string, len(defs)) + for i, def := range defs { + names[i] = symbols.FQNOf(def) + } + return &Error{ + Kind: ErrorAmbiguousRefTarget, + Document: c.document, + Content: symbols.FQNOf(usage), + Actual: strings.Join(names, " and "), + Origin: origin, } } diff --git a/internal/ir/docplan/markup/testdata/asciidoc_anchors.adoc b/internal/ir/docplan/markup/testdata/asciidoc_anchors.adoc new file mode 100644 index 0000000000..af07154b46 --- /dev/null +++ b/internal/ir/docplan/markup/testdata/asciidoc_anchors.adoc @@ -0,0 +1,9 @@ +[[MassBudget]] +== Mass budget + +See <> and sysml:ref[power-budget]. + +[[power-budget]] +== Power budget + +See <> and sysml:ref[MassBudget]. diff --git a/internal/ir/docplan/markup/testdata/asciidoc_anchors.json b/internal/ir/docplan/markup/testdata/asciidoc_anchors.json new file mode 100644 index 0000000000..4d578fb819 --- /dev/null +++ b/internal/ir/docplan/markup/testdata/asciidoc_anchors.json @@ -0,0 +1 @@ +{"blocks":[{"kind":"section","line":2,"level":1,"id":"MassBudget","runs":[{"kind":"text","style":"plain","text":"Mass budget"}],"blocks":[{"kind":"paragraph","line":4,"runs":[{"kind":"text","style":"plain","text":"See "},{"kind":"xref","target":"power-budget","text":""},{"kind":"text","style":"plain","text":" and "},{"kind":"ref","target":"power-budget","text":""},{"kind":"text","style":"plain","text":"."}]}]},{"kind":"section","line":7,"level":1,"id":"power-budget","runs":[{"kind":"text","style":"plain","text":"Power budget"}],"blocks":[{"kind":"paragraph","line":9,"runs":[{"kind":"text","style":"plain","text":"See "},{"kind":"xref","target":"MassBudget","text":""},{"kind":"text","style":"plain","text":" and "},{"kind":"ref","target":"MassBudget","text":""},{"kind":"text","style":"plain","text":"."}]}]}]} diff --git a/internal/ir/docplan/markup_bodies.go b/internal/ir/docplan/markup_bodies.go index 4db376e754..929f82496d 100644 --- a/internal/ir/docplan/markup_bodies.go +++ b/internal/ir/docplan/markup_bodies.go @@ -179,7 +179,7 @@ func (c *compiler) markupRef(owner, rep *symbols.Symbol, body string, run markup line := 1 + strings.Count(body[:run.Span.Start], "\n") value, ok := parser.ParseOneExpression(rep.DocName, run.Destination) if !ok { - if section, doc, found := c.markupSectionRef(rep.OwnerScope, run.Destination, nil); found { + if section, doc, found, _ := c.markupSectionRef(rep.OwnerScope, run.Destination, nil, origin); found { return Run{kind: RunRef, text: run.Text, refName: section.name, refNameDoc: doc, bound: true, origin: origin}, nil } return Run{}, &Error{ @@ -194,8 +194,11 @@ func (c *compiler) markupRef(owner, rep *symbols.Symbol, body string, run markup target, root, err := c.resolveTargetValue(owner, rep.OwnerScope, value, ErrorInvalidRefTarget, ErrorUnknownRefTarget, origin) if err != nil { var planning *Error - if errors.As(err, &planning) && planning.Kind == ErrorUnknownRefTarget { - if section, doc, found := c.markupSectionRef(rep.OwnerScope, run.Destination, value); found { + if errors.As(err, &planning) && (planning.Kind == ErrorUnknownRefTarget || planning.Kind == ErrorInvalidRefTarget) { + section, doc, found, sectionErr := c.markupSectionRef(rep.OwnerScope, run.Destination, value, origin) + if sectionErr != nil { + err = sectionErr + } else if found { return Run{kind: RunRef, text: run.Text, refName: section.name, refNameDoc: doc, bound: true, origin: origin}, nil } } diff --git a/internal/ir/docplan/markup_sections.go b/internal/ir/docplan/markup_sections.go index dc4ec43338..41cf257622 100644 --- a/internal/ir/docplan/markup_sections.go +++ b/internal/ir/docplan/markup_sections.go @@ -22,10 +22,21 @@ type markupSection struct { } // markupOutline is what one document's markup bodies contribute: the name -// each body's headings take, in order, and the sections by name. +// each body's headings take, in order, the sections by name, and the name +// each explicit id was given, so a reference spelt as the id finds it. type markupOutline struct { names map[*symbols.Symbol][]string sections map[string]markupSection + ids map[string]string +} + +// section is the section named by name, or by the explicit id name spells. +func (o *markupOutline) section(name string) (markupSection, bool) { + if allocated, ok := o.ids[name]; ok { + name = allocated + } + section, ok := o.sections[name] + return section, ok } // parsedBody is a textual representation's body parsed once: its language, @@ -122,7 +133,7 @@ func (c *compiler) outlineOf(doc *symbols.Symbol) *markupOutline { if outline, ok := c.outlines[doc]; ok { return outline } - outline := &markupOutline{names: make(map[*symbols.Symbol][]string), sections: make(map[string]markupSection)} + outline := &markupOutline{names: make(map[*symbols.Symbol][]string), sections: make(map[string]markupSection), ids: make(map[string]string)} c.outlines[doc] = outline used := make(map[string]bool) c.collectContentNames(doc, used) @@ -145,8 +156,9 @@ func (c *compiler) collectContentNames(owner *symbols.Symbol, used map[string]bo } // scanBodies names the headings of every document and section body under -// owner in declaration order: the explicit id, else a slug of the title, each -// made unique within the document, with the named path the section takes. +// owner in declaration order: the explicit id, else a slug of the title (see +// sectionName), each made unique within the document, with the named path +// the section takes. func (c *compiler) scanBodies(owner *symbols.Symbol, path []string, outline *markupOutline, used map[string]bool) { for _, member := range c.effectiveMembers(owner) { if member.Kind == symbols.SymbolPartUsage && c.isContent(member) { @@ -170,8 +182,11 @@ func (c *compiler) scanBodies(owner *symbols.Symbol, path []string, outline *mar if block.Kind != markup.BlockHeading { continue } - name := uniqueSectionName(sectionSlug(block.ID, block.Title), used) + name := uniqueSectionName(sectionName(block.ID, block.Title), used) used[name] = true + if block.ID != "" { + outline.ids[block.ID] = name + } outline.names[member] = append(outline.names[member], name) for len(open) > 0 && open[len(open)-1].level >= block.Level { open = open[:len(open)-1] @@ -190,15 +205,23 @@ func (c *compiler) scanBodies(owner *symbols.Symbol, path []string, outline *mar } } -// sectionSlug derives a section's name from its explicit id, else its title: -// lower-cased, every run of characters that are neither letters nor digits -// one underscore, and never starting with a digit, so the name is a SysML -// name a `sysml:` destination can spell. -func sectionSlug(id, title string) string { - text := id - if text == "" { - text = title +// sectionName is a section's name before it is made unique: an explicit id +// that is a basic name as written, else the slug of the id, else of the title. +func sectionName(id, title string) string { + if source.IsIdentifier(id) { + return id + } + if id != "" { + return sectionSlug(id) } + return sectionSlug(title) +} + +// sectionSlug derives a section name from text: lower-cased, every run of +// characters that are neither letters nor digits one underscore, and never +// starting with a digit, so the name is a SysML name a `sysml:` destination +// can spell. +func sectionSlug(text string) string { var b strings.Builder pending := false for _, r := range text { @@ -314,54 +337,57 @@ func (c *compiler) nestMarkupSections(owner, rep *symbols.Symbol, parsed *parsed } // markupSectionRef resolves a reference destination no model element answers -// to as a markup-born section: a bare name in this document, or a name -// qualified by a document definition or document usage, in that document. -func (c *compiler) markupSectionRef(scope *symbols.Scope, destination string, value ast.Node) (markupSection, *symbols.Symbol, bool) { +// to as a markup-born section: a name or explicit id in this document, or a +// name qualified by a document definition or document usage, in that +// document. A usage typed by more than one document is an ambiguous target. +func (c *compiler) markupSectionRef(scope *symbols.Scope, destination string, value ast.Node, origin symbols.Origin) (markupSection, *symbols.Symbol, bool, error) { name, ok := refQualifiedName(value) - if !ok { - section, found := c.outlineOf(c.entry).sections[sectionSlug(destination, "")] - return section, nil, found + if !ok || (len(name.Parts) == 1 && !name.Global) { + section, found := c.outlineOf(c.entry).section(destination) + return section, nil, found, nil } parts := name.Parts - if len(parts) == 1 && !name.Global { - section, found := c.outlineOf(c.entry).sections[parts[0].Text] - return section, nil, found - } prefix := &ast.QualifiedName{Global: name.Global, Parts: parts[:len(parts)-1]} resolved, ok := c.resolver.ResolveQualified(scope, prefix) if !ok || resolved == nil { - return markupSection{}, nil, false + return markupSection{}, nil, false, nil } if canonical, ok := c.resolver.ResolveAliasTarget(resolved); ok { resolved = canonical } - doc := c.documentOf(resolved) - if doc == nil { - return markupSection{}, nil, false + doc, err := c.documentOf(resolved, origin) + if err != nil || doc == nil { + return markupSection{}, nil, false, err } - section, found := c.outlineOf(doc).sections[parts[len(parts)-1].Text] + section, found := c.outlineOf(doc).section(parts[len(parts)-1].Text) if doc == c.entry { doc = nil } - return section, doc, found + return section, doc, found, nil } // documentOf is the document definition a symbol stands for: the definition -// itself, or the one definition typing a document usage. -func (c *compiler) documentOf(sym *symbols.Symbol) *symbols.Symbol { +// itself, or the one definition typing a document usage; a usage typed by +// more than one document definition is an ambiguous target. +func (c *compiler) documentOf(sym *symbols.Symbol, origin symbols.Origin) (*symbols.Symbol, error) { if sym.Kind == symbols.SymbolPartDef { if c.model.Conforms(sym, c.bases.document) { - return sym + return sym, nil } - return nil + return nil, nil } if _, usage := sym.Decl.(*ast.Usage); !usage { - return nil + return nil, nil } - if defs := c.documentTypesOf(sym); len(defs) == 1 { - return defs[0] + defs := c.documentTypesOf(sym) + switch len(defs) { + case 0: + return nil, nil + case 1: + return defs[0], nil + default: + return nil, c.ambiguousDocument(sym, defs, origin) } - return nil } // refQualifiedName is the qualified name a target expression spells, if any. diff --git a/internal/ir/docplan/whole_bodies_test.go b/internal/ir/docplan/whole_bodies_test.go index a4040214ab..d44ff72221 100644 --- a/internal/ir/docplan/whole_bodies_test.go +++ b/internal/ir/docplan/whole_bodies_test.go @@ -202,3 +202,69 @@ paragraph t.Errorf("references %q, want %q", got, want) } } + +// An explicit anchor is the section's name as written when it is a basic +// name, and the slug of the id otherwise; an xref spelt as the id, however +// it is written, resolves to the section. +func TestCompileWholeDocumentAsciiDocExplicitIDs(t *testing.T) { + useRecordedAsciiDoc(t) + fixture := loadPlanningFixture(t, ` + part def Report :> Document { + attribute redefines title = "Report"; + `+asciiDocBody(t, "asciidoc_anchors.adoc")+` + } +`) + plan := fixture.mustCompile(t, "Report") + want := strings.TrimLeft(` +MassBudget Mass budget + paragraph +power_budget Power budget + paragraph +`, "\n") + if got := outline(plan.Content(), 0); got != want { + t.Fatalf("outline:\n%s\nwant:\n%s", got, want) + } + var refs []string + for _, section := range plan.Content() { + for _, run := range section.Children()[0].Runs() { + if run.Kind() == RunRef { + refs = append(refs, strings.Join(run.RefPath(), "/")+"="+run.Text()) + } + } + } + want = "power_budget=Power budget power_budget=Power budget MassBudget=Mass budget MassBudget=Mass budget" + if got := strings.Join(refs, " "); got != want { + t.Errorf("references %q, want %q", got, want) + } +} + +// A heading qualified by a usage typed by more than one document is an +// ambiguous target naming both documents, not an unknown one. +func TestCompileWholeDocumentAmbiguousDocumentUsage(t *testing.T) { + fixture := loadPlanningFixture(t, ` + ref both : First, Second; + part def First :> Document { + attribute redefines title = "First"; + rep language "markdown" /* # Overview */ + } + part def Second :> Document { + attribute redefines title = "Second"; + rep language "markdown" /* # Overview */ + } + part def Report :> Document { + attribute redefines title = "Report"; + rep language "markdown" /* See [](sysml:both::overview). */ + } + `) + _, err := fixture.compile(t, "Report") + planning := bodyPlanningError(t, err) + if planning.Kind != ErrorAmbiguousRefTarget { + t.Fatalf("error = %v, want kind %s", err, ErrorAmbiguousRefTarget) + } + if !strings.Contains(planning.Error(), "Observatory::First and Observatory::Second") { + t.Errorf("message = %q", planning.Error()) + } + if planning.Line != 1 || !planning.Origin.Located() { + t.Errorf("line %d, located %v", planning.Line, planning.Origin.Located()) + } +} From 2672d357c0ebf1950964b7a71337f037faabb250 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 25 Oct 2026 05:56:47 +0000 Subject: [PATCH 12/14] fix(docplan): keep allocated section names ahead of explicit-id aliases A later heading's explicit id never takes over an earlier heading's name, a repeated id keeps naming its first heading, and a quoted single name (`sysml:ref['power-budget']`) is looked up by its text. Co-Authored-By: jason.han --- docs/manual/authoring.md | 7 ++-- .../markup/testdata/asciidoc_aliases.adoc | 10 ++++++ .../markup/testdata/asciidoc_aliases.json | 1 + internal/ir/docplan/markup_sections.go | 23 +++++++++---- internal/ir/docplan/whole_bodies_test.go | 34 +++++++++++++++++++ 5 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 internal/ir/docplan/markup/testdata/asciidoc_aliases.adoc create mode 100644 internal/ir/docplan/markup/testdata/asciidoc_aliases.json diff --git a/docs/manual/authoring.md b/docs/manual/authoring.md index d9325487bf..a47c6c96f1 100644 --- a/docs/manual/authoring.md +++ b/docs/manual/authoring.md @@ -410,8 +410,11 @@ anchor on the title, `[[mass_budget]]` or `[#mass_budget]`, is the section's name, and `<>` or `sysml:ref[mass_budget]` resolves to it. An id spelt with characters a name cannot carry (`[[mass-budget]]`) is normalised by the slug rule to `mass_budget`, and an xref written as the -id, `<>`, still finds it. Without an anchor the name is the -slug of the title; Asciidoctor's automatic `_title` ids are not used. +id, `<>` or `sysml:ref['mass-budget']`, still finds it. An id +already taken as an earlier heading's name gets the `_2` suffix and does +not take that name over, and a repeated id keeps naming its first heading. +Without an anchor the name is the slug of the title; Asciidoctor's +automatic `_title` ids are not used. Constructs no content block renders are refused with a typed planning error naming the construct and its body line, as for Markdown: a document diff --git a/internal/ir/docplan/markup/testdata/asciidoc_aliases.adoc b/internal/ir/docplan/markup/testdata/asciidoc_aliases.adoc new file mode 100644 index 0000000000..6e75bef8de --- /dev/null +++ b/internal/ir/docplan/markup/testdata/asciidoc_aliases.adoc @@ -0,0 +1,10 @@ +[[overview]] +== Appendix + +See <>, sysml:ref['power-budget'] and <>. + +[[power-budget]] +== Power budget + +[[power-budget]] +== Reserve power diff --git a/internal/ir/docplan/markup/testdata/asciidoc_aliases.json b/internal/ir/docplan/markup/testdata/asciidoc_aliases.json new file mode 100644 index 0000000000..3ab31d6f88 --- /dev/null +++ b/internal/ir/docplan/markup/testdata/asciidoc_aliases.json @@ -0,0 +1 @@ +{"blocks":[{"kind":"section","line":2,"level":1,"id":"overview","runs":[{"kind":"text","style":"plain","text":"Appendix"}],"blocks":[{"kind":"paragraph","line":4,"runs":[{"kind":"text","style":"plain","text":"See "},{"kind":"xref","target":"overview","text":""},{"kind":"text","style":"plain","text":", "},{"kind":"ref","target":"power-budget","text":""},{"kind":"text","style":"plain","text":" and "},{"kind":"xref","target":"power-budget","text":""},{"kind":"text","style":"plain","text":"."}]}]},{"kind":"section","line":7,"level":1,"id":"power-budget","runs":[{"kind":"text","style":"plain","text":"Power budget"}],"blocks":[]},{"kind":"section","line":10,"level":1,"id":"power-budget","runs":[{"kind":"text","style":"plain","text":"Reserve power"}],"blocks":[]}]} diff --git a/internal/ir/docplan/markup_sections.go b/internal/ir/docplan/markup_sections.go index 41cf257622..aa98a4c354 100644 --- a/internal/ir/docplan/markup_sections.go +++ b/internal/ir/docplan/markup_sections.go @@ -30,12 +30,17 @@ type markupOutline struct { ids map[string]string } -// section is the section named by name, or by the explicit id name spells. +// section is the section named by name, else the one whose explicit id name +// spells; an allocated name is never shadowed by a later heading's id. func (o *markupOutline) section(name string) (markupSection, bool) { - if allocated, ok := o.ids[name]; ok { - name = allocated + if section, ok := o.sections[name]; ok { + return section, true } - section, ok := o.sections[name] + allocated, ok := o.ids[name] + if !ok { + return markupSection{}, false + } + section, ok := o.sections[allocated] return section, ok } @@ -158,7 +163,7 @@ func (c *compiler) collectContentNames(owner *symbols.Symbol, used map[string]bo // scanBodies names the headings of every document and section body under // owner in declaration order: the explicit id, else a slug of the title (see // sectionName), each made unique within the document, with the named path -// the section takes. +// the section takes; a repeated explicit id keeps naming its first heading. func (c *compiler) scanBodies(owner *symbols.Symbol, path []string, outline *markupOutline, used map[string]bool) { for _, member := range c.effectiveMembers(owner) { if member.Kind == symbols.SymbolPartUsage && c.isContent(member) { @@ -184,7 +189,7 @@ func (c *compiler) scanBodies(owner *symbols.Symbol, path []string, outline *mar } name := uniqueSectionName(sectionName(block.ID, block.Title), used) used[name] = true - if block.ID != "" { + if _, taken := outline.ids[block.ID]; block.ID != "" && !taken { outline.ids[block.ID] = name } outline.names[member] = append(outline.names[member], name) @@ -342,11 +347,15 @@ func (c *compiler) nestMarkupSections(owner, rep *symbols.Symbol, parsed *parsed // document. A usage typed by more than one document is an ambiguous target. func (c *compiler) markupSectionRef(scope *symbols.Scope, destination string, value ast.Node, origin symbols.Origin) (markupSection, *symbols.Symbol, bool, error) { name, ok := refQualifiedName(value) - if !ok || (len(name.Parts) == 1 && !name.Global) { + if !ok { section, found := c.outlineOf(c.entry).section(destination) return section, nil, found, nil } parts := name.Parts + if len(parts) == 1 && !name.Global { + section, found := c.outlineOf(c.entry).section(parts[0].Text) + return section, nil, found, nil + } prefix := &ast.QualifiedName{Global: name.Global, Parts: parts[:len(parts)-1]} resolved, ok := c.resolver.ResolveQualified(scope, prefix) if !ok || resolved == nil { diff --git a/internal/ir/docplan/whole_bodies_test.go b/internal/ir/docplan/whole_bodies_test.go index d44ff72221..c50cc22e42 100644 --- a/internal/ir/docplan/whole_bodies_test.go +++ b/internal/ir/docplan/whole_bodies_test.go @@ -268,3 +268,37 @@ func TestCompileWholeDocumentAmbiguousDocumentUsage(t *testing.T) { t.Errorf("line %d, located %v", planning.Line, planning.Origin.Located()) } } + +// An allocated name is never shadowed by a later heading's explicit id, a +// repeated id keeps naming its first heading, and a quoted name spells an id. +func TestCompileWholeDocumentSectionAliases(t *testing.T) { + useRecordedAsciiDoc(t) + fixture := loadPlanningFixture(t, ` + part def Report :> Document { + attribute redefines title = "Report"; + rep language "markdown" /* # Overview */ + `+asciiDocBody(t, "asciidoc_aliases.adoc")+` + } +`) + plan := fixture.mustCompile(t, "Report") + want := strings.TrimLeft(` +overview Overview +overview_2 Appendix + paragraph +power_budget Power budget +power_budget_2 Reserve power +`, "\n") + if got := outline(plan.Content(), 0); got != want { + t.Fatalf("outline:\n%s\nwant:\n%s", got, want) + } + var refs []string + for _, run := range plan.Content()[1].Children()[0].Runs() { + if run.Kind() == RunRef { + refs = append(refs, strings.Join(run.RefPath(), "/")+"="+run.Text()) + } + } + want = "overview=Overview power_budget=Power budget power_budget=Power budget" + if got := strings.Join(refs, " "); got != want { + t.Errorf("references %q, want %q", got, want) + } +} From 845e20e5c300c287cdd217f87066dda87df9febb Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 25 Oct 2026 18:02:00 +0000 Subject: [PATCH 13/14] fix(docplan): resolve nested markup sections by their named path A heading nested under another heading or under a part : Section is now a reference target by its path (sysml:appendix.derivation, sysml:overview.mass_budget), in its own document and qualified by a document from another, so the path a section renders under is also the path a reference may spell. Co-Authored-By: jason.han --- docs/manual/authoring.md | 3 + internal/ir/docplan/markup_sections.go | 84 ++++++++++++++++++++---- internal/ir/docplan/whole_bodies_test.go | 70 ++++++++++++++++++++ 3 files changed, 144 insertions(+), 13 deletions(-) diff --git a/docs/manual/authoring.md b/docs/manual/authoring.md index af8e2b59a4..20b90a6767 100644 --- a/docs/manual/authoring.md +++ b/docs/manual/authoring.md @@ -340,6 +340,9 @@ document definition or a usage of it (`sysml:MassReport::mass_budget`) as for a named part; a usage typed by more than one document is the `ambiguous-ref-target` error, as for a part. The anchor is the section's path, `overview-mass_budget`. +A nested heading is also a target by its named path — `sysml:overview.mass_budget`, +or `sysml:appendix.derivation` for a heading in a body inside a `part : Section` — +qualified the same way from another document (`sysml:MassReport::appendix.derivation`). Constructs that no content block renders are refused with a typed planning error naming the construct and its line within the body, rather than diff --git a/internal/ir/docplan/markup_sections.go b/internal/ir/docplan/markup_sections.go index aa98a4c354..70a03384d9 100644 --- a/internal/ir/docplan/markup_sections.go +++ b/internal/ir/docplan/markup_sections.go @@ -44,6 +44,21 @@ func (o *markupOutline) section(name string) (markupSection, bool) { return section, ok } +// sectionAt is the section whose named path is path: its last segment a name +// or explicit id, the ones before it the names of the sections above it. +func (o *markupOutline) sectionAt(path []string) (markupSection, bool) { + section, ok := o.section(path[len(path)-1]) + if !ok || len(section.path) != len(path) { + return markupSection{}, false + } + for i, name := range path[:len(path)-1] { + if section.path[i] != name { + return markupSection{}, false + } + } + return section, true +} + // parsedBody is a textual representation's body parsed once: its language, // text, offsets into the source and blocks, or the planning error instead. type parsedBody struct { @@ -342,14 +357,30 @@ func (c *compiler) nestMarkupSections(owner, rep *symbols.Symbol, parsed *parsed } // markupSectionRef resolves a reference destination no model element answers -// to as a markup-born section: a name or explicit id in this document, or a -// name qualified by a document definition or document usage, in that -// document. A usage typed by more than one document is an ambiguous target. +// to as a markup-born section: a bare name or the named path of a nested +// heading in this document, or either qualified by a document definition or +// document usage, in that document. func (c *compiler) markupSectionRef(scope *symbols.Scope, destination string, value ast.Node, origin symbols.Origin) (markupSection, *symbols.Symbol, bool, error) { name, ok := refQualifiedName(value) if !ok { - section, found := c.outlineOf(c.entry).section(destination) - return section, nil, found, nil + qualifier, path := splitSectionPath(destination) + if len(path) == 1 { + section, found := c.outlineOf(c.entry).section(destination) + return section, nil, found, nil + } + doc := c.entry + if qualifier != nil { + resolved, err := c.documentNamed(scope, qualifier, origin) + if err != nil || resolved == nil { + return markupSection{}, nil, false, err + } + doc = resolved + } + section, found := c.outlineOf(doc).sectionAt(path) + if doc == c.entry { + doc = nil + } + return section, doc, found, nil } parts := name.Parts if len(parts) == 1 && !name.Global { @@ -357,14 +388,7 @@ func (c *compiler) markupSectionRef(scope *symbols.Scope, destination string, va return section, nil, found, nil } prefix := &ast.QualifiedName{Global: name.Global, Parts: parts[:len(parts)-1]} - resolved, ok := c.resolver.ResolveQualified(scope, prefix) - if !ok || resolved == nil { - return markupSection{}, nil, false, nil - } - if canonical, ok := c.resolver.ResolveAliasTarget(resolved); ok { - resolved = canonical - } - doc, err := c.documentOf(resolved, origin) + doc, err := c.documentNamed(scope, prefix, origin) if err != nil || doc == nil { return markupSection{}, nil, false, err } @@ -375,6 +399,40 @@ func (c *compiler) markupSectionRef(scope *symbols.Scope, destination string, va return section, doc, found, nil } +// documentNamed is the document a qualified name stands for, or nil when the +// name resolves to nothing or to no document. +func (c *compiler) documentNamed(scope *symbols.Scope, name *ast.QualifiedName, origin symbols.Origin) (*symbols.Symbol, error) { + resolved, ok := c.resolver.ResolveQualified(scope, name) + if !ok || resolved == nil { + return nil, nil + } + if canonical, ok := c.resolver.ResolveAliasTarget(resolved); ok { + resolved = canonical + } + return c.documentOf(resolved, origin) +} + +// splitSectionPath reads a dotted destination (`appendix.derivation`, +// `Report::appendix.derivation`) as a section path, with the document +// qualifier written ahead of its first segment when there is one. +func splitSectionPath(destination string) (*ast.QualifiedName, []string) { + path := strings.Split(destination, ".") + if len(path) < 2 { + return nil, path + } + global := strings.HasPrefix(path[0], "::") + segments := strings.Split(strings.TrimPrefix(path[0], "::"), "::") + if len(segments) < 2 { + return nil, path + } + qualifier := &ast.QualifiedName{Global: global} + for _, text := range segments[:len(segments)-1] { + qualifier.Parts = append(qualifier.Parts, ast.NameSegment{Text: text}) + } + path[0] = segments[len(segments)-1] + return qualifier, path +} + // documentOf is the document definition a symbol stands for: the definition // itself, or the one definition typing a document usage; a usage typed by // more than one document definition is an ambiguous target. diff --git a/internal/ir/docplan/whole_bodies_test.go b/internal/ir/docplan/whole_bodies_test.go index c50cc22e42..565828867a 100644 --- a/internal/ir/docplan/whole_bodies_test.go +++ b/internal/ir/docplan/whole_bodies_test.go @@ -302,3 +302,73 @@ power_budget_2 Reserve power t.Errorf("references %q, want %q", got, want) } } + +// A nested heading is also a target by its named path, in this document and +// qualified by a document definition from another. +func TestCompileWholeDocumentNestedSectionPaths(t *testing.T) { + fixture := loadPlanningFixture(t, ` + part def Report :> Document { + attribute redefines title = "Report"; + rep language "markdown" /* See [](sysml:overview.mass_budget) and [](sysml:appendix.derivation). + * + * # Overview + * + * ## Mass budget + */ + part appendix : Section { + attribute redefines title = "Appendix"; + rep language "markdown" /* ## Derivation */ + } + } + part def Other :> Document { + attribute redefines title = "Other"; + rep language "markdown" /* See [](sysml:Report::appendix.derivation) and [](sysml:Report::overview.mass_budget). */ + } +`) + plan := fixture.mustCompile(t, "Report") + want := "overview/mass_budget=Mass budget appendix/derivation=Derivation" + if got := strings.Join(sectionRefs(plan.Content()), " "); got != want { + t.Errorf("references %q, want %q", got, want) + } + plan = fixture.mustCompile(t, "Other") + want = "Observatory::Report:appendix/derivation=Derivation Observatory::Report:overview/mass_budget=Mass budget" + if got := strings.Join(sectionRefs(plan.Content()), " "); got != want { + t.Errorf("cross-document references %q, want %q", got, want) + } + _, err := loadPlanningFixture(t, ` + part def Report :> Document { + attribute redefines title = "Report"; + rep language "markdown" /* See [](sysml:overview.derivation). + * + * # Overview + */ + part appendix : Section { + attribute redefines title = "Appendix"; + rep language "markdown" /* ## Derivation */ + } + } +`).compile(t, "Report") + if planning := bodyPlanningError(t, err); planning.Kind != ErrorUnknownRefTarget { + t.Errorf("a path under the wrong section: %v, want kind %s", err, ErrorUnknownRefTarget) + } +} + +// sectionRefs lists every reference run under content as +// [document:]path=text, in document order. +func sectionRefs(content []Content) []string { + var refs []string + for _, node := range content { + for _, run := range node.Runs() { + if run.Kind() != RunRef { + continue + } + ref := strings.Join(run.RefPath(), "/") + "=" + run.Text() + if doc := run.RefDocument(); doc != "" { + ref = doc + ":" + ref + } + refs = append(refs, ref) + } + refs = append(refs, sectionRefs(node.Children())...) + } + return refs +} From ae3d670a81cfa3116326d55df7fba072856de25b Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Sun, 25 Oct 2026 18:11:39 +0000 Subject: [PATCH 14/14] test(referee): re-record the API-JSON differential baseline after merging develop The merge brought develop's baseline, recorded before the self-model grew, so the examples root moves as before (26227 -> 26982 matched elements); the manual-examples root gains the whole-document example merged in from the document-bodies branch (10 -> 11 files), and spec-examples moves by three property counts develop's own later changes left behind. The record's headline, gap rows and per-root rows, and the count lines docs-counts derives, follow the new baseline. Co-Authored-By: jason.han --- README.md | 4 +- docs/internals/architecture.md | 4 +- .../api-json-differential-baseline.json | 4872 ++++++++--------- docs/project/api-json-differential.md | 102 +- 4 files changed, 2491 insertions(+), 2491 deletions(-) diff --git a/README.md b/README.md index 824c102646..9fa6fd3793 100644 --- a/README.md +++ b/README.md @@ -346,11 +346,11 @@ The project is under active development, with the core infrastructure operationa **Measured against the pinned reference** (`PILOT_TAG=2026-08`, artifact `0.62.0`). Every number below is generated by `make docs-counts` from the committed baselines and gated; none of them is typed in by hand. -- **Corpus agreement:** 517 of 920 files agree diagnostic-by-diagnostic; 366 diagnostics are ours alone and 2448 the reference's alone, and the first number must be read by root: the aggregate includes candidate conformance differences, intentional execution-scope warnings on reference corpora and diagnostics from our own examples ([differential](docs/project/pilot-differential.md), `go run -C tools ./cmd/pilot-diff`). +- **Corpus agreement:** 517 of 920 files agree diagnostic-by-diagnostic; 366 diagnostics are ours alone and 2450 the reference's alone, and the first number must be read by root: the aggregate includes candidate conformance differences, intentional execution-scope warnings on reference corpora and diagnostics from our own examples ([differential](docs/project/pilot-differential.md), `go run -C tools ./cmd/pilot-diff`). - **Declared-diagnostic silence:** of the 512 declared `errors` rows in the reference's own Xpect suites, we report nothing for 0. 245 we report word-for-word; 248 wording-only and 7 location-only differences are agreement in substance and are not counted as gaps; 0 more we report as a warning and 2 elsewhere in the file ([Xpect oracle](docs/project/pilot-xpect.md), `go run -C tools ./cmd/pilot-xpect`). - **Scope agreement:** 230 of 230 declared scope assertions match exactly (same source). - **Permissiveness gaps:** of 349 invalid models we wrote ourselves, the reference rejects 5 that we accept by default, and 332 both reject; 5 further cases agree only when we are asked strictly. We authored every one of these cases ourselves, so the denominator measures the reach of our own corpus and not our conformance; agreement reached only under an opt-in strict mode is weaker evidence than agreement by default ([rejection oracle](docs/project/pilot-rejection.md), `go run -C tools ./cmd/pilot-reject`). -- **Declared errata:** the registry declares 16 defect(s) in the published reference material — 9 with a specification-derived correction, 7 documented without one, since no intended reading can be inferred ([OMG issues](docs/project/omg-issues.md), `tools/oracle/errata`). Every figure above is as published and stays the conformance statement; running the same oracles over the corrected text instead reports 518 of 920 files agreeing, 365 diagnostics ours alone and 2448 the reference's alone, 0 declared rows we are silent on, and 0 of 349 authored cases the reference alone rejects. The corrected figures are diagnostic only: an erratum never reclassifies a divergence category, and the published corpus is never edited. +- **Declared errata:** the registry declares 16 defect(s) in the published reference material — 9 with a specification-derived correction, 7 documented without one, since no intended reading can be inferred ([OMG issues](docs/project/omg-issues.md), `tools/oracle/errata`). Every figure above is as published and stays the conformance statement; running the same oracles over the corrected text instead reports 518 of 920 files agreeing, 365 diagnostics ours alone and 2450 the reference's alone, 0 declared rows we are silent on, and 0 of 349 authored cases the reference alone rejects. The corrected figures are diagnostic only: an erratum never reclassifies a divergence category, and the published corpus is never edited. - **Self-assessed surface:** the action, state-machine and classifier-behavior rows have no external referee at all — the four refereed figures above cannot see them, because the pinned artifact evaluates expressions but executes neither actions nor state machines. [Spec compliance](docs/project/spec-compliance.md) counts them. What these numbers cannot show: the OMG corpora are demonstrations rather than an official conformance suite; the differential is one-directional, comparing the diagnostics the two implementations report on the same files; the Xpect suites are the pilot authors' test intent rather than a certification oracle; and none of these is a percentage of the specification — no global compliance figure is claimed anywhere. diff --git a/docs/internals/architecture.md b/docs/internals/architecture.md index aefb323119..24468c5526 100644 --- a/docs/internals/architecture.md +++ b/docs/internals/architecture.md @@ -871,11 +871,11 @@ Every behavioral feature must have: **Measured against the pinned reference** (`PILOT_TAG=2026-08`, artifact `0.62.0`). Every number below is generated by `make docs-counts` from the committed baselines and gated; none of them is typed in by hand. -- **Corpus agreement:** 517 of 920 files agree diagnostic-by-diagnostic; 366 diagnostics are ours alone and 2448 the reference's alone, and the first number must be read by root: the aggregate includes candidate conformance differences, intentional execution-scope warnings on reference corpora and diagnostics from our own examples ([differential](../project/pilot-differential.md), `go run -C tools ./cmd/pilot-diff`). +- **Corpus agreement:** 517 of 920 files agree diagnostic-by-diagnostic; 366 diagnostics are ours alone and 2450 the reference's alone, and the first number must be read by root: the aggregate includes candidate conformance differences, intentional execution-scope warnings on reference corpora and diagnostics from our own examples ([differential](../project/pilot-differential.md), `go run -C tools ./cmd/pilot-diff`). - **Declared-diagnostic silence:** of the 512 declared `errors` rows in the reference's own Xpect suites, we report nothing for 0. 245 we report word-for-word; 248 wording-only and 7 location-only differences are agreement in substance and are not counted as gaps; 0 more we report as a warning and 2 elsewhere in the file ([Xpect oracle](../project/pilot-xpect.md), `go run -C tools ./cmd/pilot-xpect`). - **Scope agreement:** 230 of 230 declared scope assertions match exactly (same source). - **Permissiveness gaps:** of 349 invalid models we wrote ourselves, the reference rejects 5 that we accept by default, and 332 both reject; 5 further cases agree only when we are asked strictly. We authored every one of these cases ourselves, so the denominator measures the reach of our own corpus and not our conformance; agreement reached only under an opt-in strict mode is weaker evidence than agreement by default ([rejection oracle](../project/pilot-rejection.md), `go run -C tools ./cmd/pilot-reject`). -- **Declared errata:** the registry declares 16 defect(s) in the published reference material — 9 with a specification-derived correction, 7 documented without one, since no intended reading can be inferred ([OMG issues](../project/omg-issues.md), `tools/oracle/errata`). Every figure above is as published and stays the conformance statement; running the same oracles over the corrected text instead reports 518 of 920 files agreeing, 365 diagnostics ours alone and 2448 the reference's alone, 0 declared rows we are silent on, and 0 of 349 authored cases the reference alone rejects. The corrected figures are diagnostic only: an erratum never reclassifies a divergence category, and the published corpus is never edited. +- **Declared errata:** the registry declares 16 defect(s) in the published reference material — 9 with a specification-derived correction, 7 documented without one, since no intended reading can be inferred ([OMG issues](../project/omg-issues.md), `tools/oracle/errata`). Every figure above is as published and stays the conformance statement; running the same oracles over the corrected text instead reports 518 of 920 files agreeing, 365 diagnostics ours alone and 2450 the reference's alone, 0 declared rows we are silent on, and 0 of 349 authored cases the reference alone rejects. The corrected figures are diagnostic only: an erratum never reclassifies a divergence category, and the published corpus is never edited. - **Self-assessed surface:** the action, state-machine and classifier-behavior rows have no external referee at all — the four refereed figures above cannot see them, because the pinned artifact evaluates expressions but executes neither actions nor state machines. [Spec compliance](../project/spec-compliance.md) counts them. What these numbers cannot show: the OMG corpora are demonstrations rather than an official conformance suite; the differential is one-directional, comparing the diagnostics the two implementations report on the same files; the Xpect suites are the pilot authors' test intent rather than a certification oracle; and none of these is a percentage of the specification — no global compliance figure is claimed anywhere. diff --git a/docs/project/api-json-differential-baseline.json b/docs/project/api-json-differential-baseline.json index 64db02ef5a..f279b66734 100644 --- a/docs/project/api-json-differential-baseline.json +++ b/docs/project/api-json-differential-baseline.json @@ -65,7 +65,7 @@ "dir": "examples", "origin": "ours", "files": 52, - "digest": "sha256:688edb659f8bcd9f644b2278dae231f65af44dd0f39b374f7e6286f4289d9373" + "digest": "sha256:39c218f3362255947ae0cb31c1429bac4244d02261f0ac0eaf0a06b67680b005" }, { "name": "probes", @@ -78,8 +78,8 @@ "name": "manual-examples", "dir": "docs/manual/examples", "origin": "ours", - "files": 10, - "digest": "sha256:8b7a1446ca187b4ee7ee004b5071c23ed12a2f927c8ed23777e1a50adc691beb" + "files": 11, + "digest": "sha256:817bcc10d912772ed88d34c1fb500161d00a1e940adca71b72885b6866e4a5c6" }, { "name": "opensysml-libraries", @@ -106,41 +106,41 @@ "Standard-library elements the pilot writes (isLibraryElement, one copy per file that refers to them) are left out and counted under pilotLibraryElements; this repository's writer refers to library elements and never writes them." ], "totals": { - "files": 930, + "files": 931, "oursRefused": 36, "oursUnconvertible": 0, "oursColliding": 28, "pilotFailed": 56, - "pilotLibraryElements": 33998, + "pilotLibraryElements": 35527, "elements": { - "matched": 91870, - "oursOnly": 18396, - "pilotOnly": 37363, + "matched": 92666, + "oursOnly": 18486, + "pilotOnly": 37659, "pilotOnlyImplied": 0, "typeMismatch": 1729 }, "properties": { - "presentEqual": 1114347, - "presentDifferent": 27130, - "oursMissing": 1067384, - "pilotMissing": 67792, - "absentBoth": 1960337, - "indeterminate": 26061 + "presentEqual": 1124221, + "presentDifferent": 27397, + "oursMissing": 1076605, + "pilotMissing": 68432, + "absentBoth": 1978268, + "indeterminate": 26434 }, "rows": 11730, - "unkeyedReferences": 111116, - "extensionProperties": 159079, + "unkeyedReferences": 112280, + "extensionProperties": 160378, "duplicateElements": { "ours": 527, - "pilot": 78121 + "pilot": 82679 }, "ambiguousKeys": { "ours": 287, "pilot": 347 }, "unkeyableElements": { - "ours": 16850, - "pilot": 31317 + "ours": 17040, + "pilot": 32159 } }, "roots": [ @@ -301,9 +301,9 @@ "typeMismatch": 397 }, "properties": { - "presentEqual": 76417, - "presentDifferent": 1553, - "oursMissing": 74026, + "presentEqual": 76419, + "presentDifferent": 1552, + "oursMissing": 74025, "pilotMissing": 5295, "absentBoth": 135574, "indeterminate": 1985 @@ -366,31 +366,31 @@ "oursColliding": 3, "pilotLibraryElements": 13888, "elements": { - "matched": 26227, - "oursOnly": 5956, - "pilotOnly": 14770, + "matched": 26982, + "oursOnly": 6046, + "pilotOnly": 15058, "pilotOnlyImplied": 0, "typeMismatch": 186 }, "properties": { - "presentEqual": 324224, - "presentDifferent": 8033, - "oursMissing": 314224, - "pilotMissing": 19455, - "absentBoth": 583071, - "indeterminate": 9526 + "presentEqual": 333619, + "presentDifferent": 8295, + "oursMissing": 323002, + "pilotMissing": 20063, + "absentBoth": 600082, + "indeterminate": 9869 }, "duplicateElements": { "ours": 423, - "pilot": 59705 + "pilot": 64263 }, "ambiguousKeys": { "ours": 176, "pilot": 82 }, "unkeyableElements": { - "ours": 7766, - "pilot": 17717 + "ours": 7956, + "pilot": 18559 } }, { @@ -431,24 +431,24 @@ { "name": "manual-examples", "dir": "docs/manual/examples", - "files": 10, + "files": 11, "oursRefused": 0, "pilotFailed": 0, - "pilotLibraryElements": 15317, + "pilotLibraryElements": 16846, "elements": { - "matched": 7150, + "matched": 7191, "oursOnly": 920, - "pilotOnly": 2100, + "pilotOnly": 2108, "pilotOnlyImplied": 0, "typeMismatch": 0 }, "properties": { - "presentEqual": 88227, - "presentDifferent": 1999, - "oursMissing": 89067, - "pilotMissing": 4780, - "absentBoth": 149171, - "indeterminate": 2140 + "presentEqual": 88704, + "presentDifferent": 2005, + "oursMissing": 89511, + "pilotMissing": 4812, + "absentBoth": 150091, + "indeterminate": 2170 }, "duplicateElements": { "ours": 0, @@ -10102,13 +10102,13 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.attributeDefinition": [ 0, 0, - 2470, + 2547, 0, 0, 0 @@ -10118,15 +10118,15 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.declaredName": [ - 1525, + 1570, 0, 0, 0, - 945, + 977, 0 ], "AttributeUsage.declaredShortName": [ @@ -10134,13 +10134,13 @@ 0, 0, 0, - 2463, + 2540, 0 ], "AttributeUsage.definition": [ 0, 0, - 2470, + 2547, 0, 0, 0 @@ -10150,7 +10150,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.directedFeature": [ @@ -10158,7 +10158,7 @@ 0, 2, 0, - 2468, + 2545, 0 ], "AttributeUsage.directedUsage": [ @@ -10166,7 +10166,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.direction": [ @@ -10174,7 +10174,7 @@ 0, 0, 0, - 2390, + 2467, 0 ], "AttributeUsage.documentation": [ @@ -10182,7 +10182,7 @@ 0, 8, 0, - 2462, + 2539, 0 ], "AttributeUsage.endFeature": [ @@ -10190,13 +10190,13 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.feature": [ 0, 0, - 2470, + 2547, 0, 0, 0 @@ -10204,7 +10204,7 @@ "AttributeUsage.featureMembership": [ 0, 0, - 2470, + 2547, 0, 0, 0 @@ -10212,7 +10212,7 @@ "AttributeUsage.featureTarget": [ 0, 0, - 2470, + 2547, 0, 0, 0 @@ -10220,7 +10220,7 @@ "AttributeUsage.featuringType": [ 0, 0, - 2315, + 2392, 0, 155, 0 @@ -10230,13 +10230,13 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.inheritedFeature": [ 0, 0, - 2470, + 2547, 0, 0, 0 @@ -10244,7 +10244,7 @@ "AttributeUsage.inheritedMembership": [ 0, 0, - 2470, + 2547, 0, 0, 0 @@ -10254,7 +10254,7 @@ 0, 2, 0, - 2468, + 2545, 0 ], "AttributeUsage.intersectingType": [ @@ -10262,11 +10262,11 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.isAbstract": [ - 2470, + 2547, 0, 0, 0, @@ -10274,7 +10274,7 @@ 0 ], "AttributeUsage.isComposite": [ - 2470, + 2547, 0, 0, 0, @@ -10284,13 +10284,13 @@ "AttributeUsage.isConjugated": [ 0, 0, - 2470, + 2547, 0, 0, 0 ], "AttributeUsage.isConstant": [ - 2470, + 2547, 0, 0, 0, @@ -10301,12 +10301,12 @@ 0, 0, 0, - 35, + 37, 0, 0 ], "AttributeUsage.isDerived": [ - 2470, + 2547, 0, 0, 0, @@ -10314,7 +10314,7 @@ 0 ], "AttributeUsage.isEnd": [ - 2470, + 2547, 0, 0, 0, @@ -10322,7 +10322,7 @@ 0 ], "AttributeUsage.isImpliedIncluded": [ - 2470, + 2547, 0, 0, 0, @@ -10340,13 +10340,13 @@ "AttributeUsage.isLibraryElement": [ 0, 0, - 2470, + 2547, 0, 0, 0 ], "AttributeUsage.isOrdered": [ - 2470, + 2547, 0, 0, 0, @@ -10354,7 +10354,7 @@ 0 ], "AttributeUsage.isPortion": [ - 2470, + 2547, 0, 0, 0, @@ -10364,7 +10364,7 @@ "AttributeUsage.isReference": [ 4, 0, - 2466, + 2543, 0, 0, 0 @@ -10378,7 +10378,7 @@ 0 ], "AttributeUsage.isSufficient": [ - 2470, + 2547, 0, 0, 0, @@ -10386,7 +10386,7 @@ 0 ], "AttributeUsage.isUnique": [ - 2470, + 2547, 0, 0, 0, @@ -10396,7 +10396,7 @@ "AttributeUsage.isVariable": [ 0, 0, - 2128, + 2205, 0, 342, 0 @@ -10410,7 +10410,7 @@ 0 ], "AttributeUsage.isVariation": [ - 2470, + 2547, 0, 0, 0, @@ -10428,7 +10428,7 @@ "AttributeUsage.mayTimeVary": [ 0, 0, - 2470, + 2547, 0, 0, 0 @@ -10436,7 +10436,7 @@ "AttributeUsage.member": [ 0, 0, - 2470, + 2547, 0, 0, 0 @@ -10444,7 +10444,7 @@ "AttributeUsage.membership": [ 0, 0, - 2470, + 2547, 0, 0, 0 @@ -10452,15 +10452,15 @@ "AttributeUsage.multiplicity": [ 92, 0, - 1232, + 1277, 0, 0, 0 ], "AttributeUsage.name": [ - 938, + 970, 0, - 1525, + 1570, 0, 0, 0 @@ -10470,7 +10470,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedAllocation": [ @@ -10478,7 +10478,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedAnalysisCase": [ @@ -10486,7 +10486,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedAttribute": [ @@ -10494,7 +10494,7 @@ 0, 32, 0, - 2438, + 2515, 0 ], "AttributeUsage.nestedCalculation": [ @@ -10502,7 +10502,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedCase": [ @@ -10510,7 +10510,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedConcern": [ @@ -10518,7 +10518,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedConnection": [ @@ -10526,7 +10526,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedConstraint": [ @@ -10534,7 +10534,7 @@ 0, 2, 0, - 2468, + 2545, 0 ], "AttributeUsage.nestedEnumeration": [ @@ -10542,7 +10542,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedFlow": [ @@ -10550,7 +10550,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedInterface": [ @@ -10558,7 +10558,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedItem": [ @@ -10566,7 +10566,7 @@ 0, 4, 0, - 2466, + 2543, 0 ], "AttributeUsage.nestedMetadata": [ @@ -10574,7 +10574,7 @@ 0, 9, 0, - 2461, + 2538, 0 ], "AttributeUsage.nestedOccurrence": [ @@ -10582,7 +10582,7 @@ 0, 6, 0, - 2464, + 2541, 0 ], "AttributeUsage.nestedPart": [ @@ -10590,7 +10590,7 @@ 0, 1, 0, - 2469, + 2546, 0 ], "AttributeUsage.nestedPort": [ @@ -10598,7 +10598,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedReference": [ @@ -10606,7 +10606,7 @@ 0, 65, 0, - 2405, + 2482, 0 ], "AttributeUsage.nestedRendering": [ @@ -10614,7 +10614,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedRequirement": [ @@ -10622,7 +10622,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedState": [ @@ -10630,7 +10630,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedTransition": [ @@ -10638,7 +10638,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedUsage": [ @@ -10646,7 +10646,7 @@ 0, 97, 0, - 2373, + 2450, 0 ], "AttributeUsage.nestedUseCase": [ @@ -10654,7 +10654,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedVerificationCase": [ @@ -10662,7 +10662,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedView": [ @@ -10670,7 +10670,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.nestedViewpoint": [ @@ -10678,7 +10678,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.output": [ @@ -10686,7 +10686,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.ownedAnnotation": [ @@ -10694,7 +10694,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.ownedDifferencing": [ @@ -10702,7 +10702,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.ownedDisjoining": [ @@ -10710,13 +10710,13 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.ownedElement": [ 0, 0, - 2387, + 2464, 0, 83, 0 @@ -10726,7 +10726,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.ownedFeature": [ @@ -10734,7 +10734,7 @@ 0, 0, 0, - 2373, + 2450, 0 ], "AttributeUsage.ownedFeatureChaining": [ @@ -10742,7 +10742,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.ownedFeatureInverting": [ @@ -10750,7 +10750,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.ownedFeatureMembership": [ @@ -10758,7 +10758,7 @@ 0, 0, 0, - 2373, + 2450, 0 ], "AttributeUsage.ownedImport": [ @@ -10766,7 +10766,7 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.ownedIntersecting": [ @@ -10774,31 +10774,31 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.ownedMember": [ 62, 54, - 2270, + 2347, 0, 84, 0 ], "AttributeUsage.ownedMembership": [ - 1148, - 629, - 609, + 1180, + 672, + 611, 0, 84, 0 ], "AttributeUsage.ownedRedefinition": [ - 989, + 1021, 0, 0, 0, - 1481, + 1526, 0 ], "AttributeUsage.ownedReferenceSubsetting": [ @@ -10810,15 +10810,15 @@ 0 ], "AttributeUsage.ownedRelationship": [ - 1213, - 1202, + 1245, + 1247, 36, 0, 19, 0 ], "AttributeUsage.ownedSpecialization": [ - 2307, + 2384, 0, 0, 0, @@ -10826,11 +10826,11 @@ 0 ], "AttributeUsage.ownedSubsetting": [ - 1202, + 1234, 0, 0, 0, - 1268, + 1313, 0 ], "AttributeUsage.ownedTypeFeaturing": [ @@ -10838,15 +10838,15 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.ownedTyping": [ - 1142, + 1187, 0, 0, 0, - 1328, + 1360, 0 ], "AttributeUsage.ownedUnioning": [ @@ -10854,11 +10854,11 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.owner": [ - 2470, + 2547, 0, 0, 0, @@ -10868,7 +10868,7 @@ "AttributeUsage.owningDefinition": [ 0, 0, - 1400, + 1474, 0, 0, 0 @@ -10876,13 +10876,13 @@ "AttributeUsage.owningFeatureMembership": [ 0, 0, - 2301, + 2378, 0, 0, 0 ], "AttributeUsage.owningMembership": [ - 2454, + 2531, 16, 0, 0, @@ -10890,7 +10890,7 @@ 0 ], "AttributeUsage.owningNamespace": [ - 2468, + 2545, 0, 2, 0, @@ -10898,7 +10898,7 @@ 0 ], "AttributeUsage.owningRelationship": [ - 2454, + 2531, 16, 0, 0, @@ -10908,7 +10908,7 @@ "AttributeUsage.owningType": [ 0, 0, - 2301, + 2378, 0, 0, 0 @@ -10916,13 +10916,13 @@ "AttributeUsage.owningUsage": [ 0, 0, - 899, + 902, 0, 0, 0 ], "AttributeUsage.qualifiedName": [ - 2454, + 2531, 0, 0, 0, @@ -10933,7 +10933,7 @@ 0, 0, 0, - 989, + 1021, 0, 0 ], @@ -10966,23 +10966,23 @@ 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.type": [ 115, 1, - 1335, + 1367, 0, 0, - 1019 + 1064 ], "AttributeUsage.unioningType": [ 0, 0, 0, 0, - 2470, + 2547, 0 ], "AttributeUsage.upperBound": [ @@ -10998,14 +10998,14 @@ 0, 712, 0, - 1758, + 1835, 0 ], "AttributeUsage.value": [ 0, 0, 0, - 1627, + 1702, 0, 0 ], @@ -11014,7 +11014,7 @@ 0, 0, 0, - 2463, + 2540, 0 ], "AttributeUsage.variantMembership": [ @@ -11022,7 +11022,7 @@ 0, 0, 0, - 2463, + 2540, 0 ], "AttributeUsage.visibility": [ @@ -13566,7 +13566,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.aliasIds": [ @@ -13574,7 +13574,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.calculation": [ @@ -13582,11 +13582,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.declaredName": [ - 173, + 175, 0, 0, 0, @@ -13598,7 +13598,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.differencingType": [ @@ -13606,13 +13606,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.directedFeature": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13620,7 +13620,7 @@ "CalculationDefinition.directedUsage": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13630,7 +13630,7 @@ 0, 1, 0, - 172, + 174, 0 ], "CalculationDefinition.endFeature": [ @@ -13638,7 +13638,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.expression": [ @@ -13646,13 +13646,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.feature": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13660,7 +13660,7 @@ "CalculationDefinition.featureMembership": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13670,13 +13670,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.inheritedFeature": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13684,7 +13684,7 @@ "CalculationDefinition.inheritedMembership": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13692,7 +13692,7 @@ "CalculationDefinition.input": [ 0, 0, - 148, + 150, 0, 25, 0 @@ -13702,11 +13702,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.isAbstract": [ - 173, + 175, 0, 0, 0, @@ -13716,13 +13716,13 @@ "CalculationDefinition.isConjugated": [ 0, 0, - 173, + 175, 0, 0, 0 ], "CalculationDefinition.isImpliedIncluded": [ - 173, + 175, 0, 0, 0, @@ -13730,7 +13730,7 @@ 0 ], "CalculationDefinition.isIndividual": [ - 173, + 175, 0, 0, 0, @@ -13740,7 +13740,7 @@ "CalculationDefinition.isLibraryElement": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13748,13 +13748,13 @@ "CalculationDefinition.isModelLevelEvaluable": [ 0, 0, - 173, + 175, 0, 0, 0 ], "CalculationDefinition.isSufficient": [ - 173, + 175, 0, 0, 0, @@ -13762,7 +13762,7 @@ 0 ], "CalculationDefinition.isVariation": [ - 173, + 175, 0, 0, 0, @@ -13772,7 +13772,7 @@ "CalculationDefinition.member": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13780,7 +13780,7 @@ "CalculationDefinition.membership": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13788,7 +13788,7 @@ "CalculationDefinition.name": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13796,7 +13796,7 @@ "CalculationDefinition.output": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13806,7 +13806,7 @@ 0, 2, 0, - 171, + 173, 0 ], "CalculationDefinition.ownedAllocation": [ @@ -13814,7 +13814,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedAnalysisCase": [ @@ -13822,7 +13822,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedAnnotation": [ @@ -13830,7 +13830,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedAttribute": [ @@ -13838,7 +13838,7 @@ 0, 11, 0, - 162, + 164, 0 ], "CalculationDefinition.ownedCalculation": [ @@ -13846,7 +13846,7 @@ 0, 1, 0, - 172, + 174, 0 ], "CalculationDefinition.ownedCase": [ @@ -13854,7 +13854,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedConcern": [ @@ -13862,7 +13862,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedConnection": [ @@ -13870,7 +13870,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedConstraint": [ @@ -13878,7 +13878,7 @@ 0, 2, 0, - 171, + 173, 0 ], "CalculationDefinition.ownedDifferencing": [ @@ -13886,7 +13886,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedDisjoining": [ @@ -13894,13 +13894,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedElement": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -13910,7 +13910,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedEnumeration": [ @@ -13918,11 +13918,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedFeature": [ - 134, + 136, 39, 0, 0, @@ -13930,7 +13930,7 @@ 0 ], "CalculationDefinition.ownedFeatureMembership": [ - 172, + 174, 1, 0, 0, @@ -13942,7 +13942,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedImport": [ @@ -13950,7 +13950,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedInterface": [ @@ -13958,7 +13958,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedIntersecting": [ @@ -13966,7 +13966,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedItem": [ @@ -13974,11 +13974,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedMember": [ - 134, + 136, 39, 0, 0, @@ -13986,7 +13986,7 @@ 0 ], "CalculationDefinition.ownedMembership": [ - 172, + 174, 1, 0, 0, @@ -13998,7 +13998,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedOccurrence": [ @@ -14006,7 +14006,7 @@ 0, 4, 0, - 169, + 171, 0 ], "CalculationDefinition.ownedPart": [ @@ -14014,7 +14014,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedPort": [ @@ -14022,19 +14022,19 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedReference": [ 0, 0, - 148, + 150, 0, 25, 0 ], "CalculationDefinition.ownedRelationship": [ - 172, + 174, 1, 0, 0, @@ -14046,7 +14046,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedRequirement": [ @@ -14054,11 +14054,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedSpecialization": [ - 103, + 105, 0, 0, 0, @@ -14070,11 +14070,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedSubclassification": [ - 103, + 105, 0, 0, 0, @@ -14086,7 +14086,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedUnioning": [ @@ -14094,13 +14094,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedUsage": [ 0, 0, - 149, + 151, 0, 24, 0 @@ -14110,7 +14110,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedVerificationCase": [ @@ -14118,7 +14118,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedView": [ @@ -14126,7 +14126,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.ownedViewpoint": [ @@ -14134,11 +14134,11 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.owner": [ - 173, + 175, 0, 0, 0, @@ -14146,7 +14146,7 @@ 0 ], "CalculationDefinition.owningMembership": [ - 164, + 166, 9, 0, 0, @@ -14154,7 +14154,7 @@ 0 ], "CalculationDefinition.owningNamespace": [ - 173, + 175, 0, 0, 0, @@ -14162,7 +14162,7 @@ 0 ], "CalculationDefinition.owningRelationship": [ - 164, + 166, 9, 0, 0, @@ -14172,13 +14172,13 @@ "CalculationDefinition.parameter": [ 0, 0, - 173, + 175, 0, 0, 0 ], "CalculationDefinition.qualifiedName": [ - 173, + 175, 0, 0, 0, @@ -14188,7 +14188,7 @@ "CalculationDefinition.result": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -14197,14 +14197,14 @@ 0, 0, 0, - 103, + 105, 0, 0 ], "CalculationDefinition.step": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -14214,7 +14214,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.unioningType": [ @@ -14222,13 +14222,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.usage": [ 0, 0, - 173, + 175, 0, 0, 0 @@ -14238,7 +14238,7 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationDefinition.variantMembership": [ @@ -14246,13 +14246,13 @@ 0, 0, 0, - 173, + 175, 0 ], "CalculationUsage.actionDefinition": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14262,13 +14262,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.behavior": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14276,7 +14276,7 @@ "CalculationUsage.calculationDefinition": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14286,11 +14286,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.declaredName": [ - 100, + 102, 0, 0, 0, @@ -14302,13 +14302,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.definition": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14318,13 +14318,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.directedFeature": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14332,7 +14332,7 @@ "CalculationUsage.directedUsage": [ 0, 0, - 113, + 115, 0, 1, 0 @@ -14342,7 +14342,7 @@ 0, 0, 0, - 105, + 107, 0 ], "CalculationUsage.documentation": [ @@ -14350,7 +14350,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.endFeature": [ @@ -14358,13 +14358,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.feature": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14372,7 +14372,7 @@ "CalculationUsage.featureMembership": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14380,7 +14380,7 @@ "CalculationUsage.featureTarget": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14388,7 +14388,7 @@ "CalculationUsage.featuringType": [ 0, 0, - 92, + 94, 0, 22, 0 @@ -14396,7 +14396,7 @@ "CalculationUsage.function": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14406,13 +14406,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.inheritedFeature": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14420,7 +14420,7 @@ "CalculationUsage.inheritedMembership": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14428,7 +14428,7 @@ "CalculationUsage.input": [ 0, 0, - 98, + 100, 0, 16, 0 @@ -14438,11 +14438,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.isAbstract": [ - 114, + 116, 0, 0, 0, @@ -14450,7 +14450,7 @@ 0 ], "CalculationUsage.isComposite": [ - 114, + 116, 0, 0, 0, @@ -14460,13 +14460,13 @@ "CalculationUsage.isConjugated": [ 0, 0, - 114, + 116, 0, 0, 0 ], "CalculationUsage.isConstant": [ - 114, + 116, 0, 0, 0, @@ -14474,7 +14474,7 @@ 0 ], "CalculationUsage.isDerived": [ - 114, + 116, 0, 0, 0, @@ -14482,7 +14482,7 @@ 0 ], "CalculationUsage.isEnd": [ - 114, + 116, 0, 0, 0, @@ -14490,7 +14490,7 @@ 0 ], "CalculationUsage.isImpliedIncluded": [ - 114, + 116, 0, 0, 0, @@ -14498,7 +14498,7 @@ 0 ], "CalculationUsage.isIndividual": [ - 114, + 116, 0, 0, 0, @@ -14508,7 +14508,7 @@ "CalculationUsage.isLibraryElement": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14516,13 +14516,13 @@ "CalculationUsage.isModelLevelEvaluable": [ 0, 0, - 114, + 116, 0, 0, 0 ], "CalculationUsage.isOrdered": [ - 114, + 116, 0, 0, 0, @@ -14530,7 +14530,7 @@ 0 ], "CalculationUsage.isPortion": [ - 114, + 116, 0, 0, 0, @@ -14540,13 +14540,13 @@ "CalculationUsage.isReference": [ 0, 0, - 114, + 116, 0, 0, 0 ], "CalculationUsage.isSufficient": [ - 114, + 116, 0, 0, 0, @@ -14554,7 +14554,7 @@ 0 ], "CalculationUsage.isUnique": [ - 114, + 116, 0, 0, 0, @@ -14566,11 +14566,11 @@ 0, 9, 0, - 105, + 107, 0 ], "CalculationUsage.isVariation": [ - 114, + 116, 0, 0, 0, @@ -14580,7 +14580,7 @@ "CalculationUsage.mayTimeVary": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14588,7 +14588,7 @@ "CalculationUsage.member": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14596,7 +14596,7 @@ "CalculationUsage.membership": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14604,7 +14604,7 @@ "CalculationUsage.name": [ 12, 0, - 100, + 102, 0, 0, 0 @@ -14614,7 +14614,7 @@ 0, 2, 0, - 112, + 114, 0 ], "CalculationUsage.nestedAllocation": [ @@ -14622,7 +14622,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedAnalysisCase": [ @@ -14630,7 +14630,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedAttribute": [ @@ -14638,7 +14638,7 @@ 0, 3, 0, - 111, + 113, 0 ], "CalculationUsage.nestedCalculation": [ @@ -14646,7 +14646,7 @@ 0, 2, 0, - 112, + 114, 0 ], "CalculationUsage.nestedCase": [ @@ -14654,7 +14654,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedConcern": [ @@ -14662,7 +14662,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedConnection": [ @@ -14670,7 +14670,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedConstraint": [ @@ -14678,7 +14678,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedEnumeration": [ @@ -14686,7 +14686,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedFlow": [ @@ -14694,7 +14694,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedInterface": [ @@ -14702,7 +14702,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedItem": [ @@ -14710,7 +14710,7 @@ 0, 6, 0, - 108, + 110, 0 ], "CalculationUsage.nestedMetadata": [ @@ -14718,7 +14718,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedOccurrence": [ @@ -14726,7 +14726,7 @@ 0, 6, 0, - 108, + 110, 0 ], "CalculationUsage.nestedPart": [ @@ -14734,7 +14734,7 @@ 0, 6, 0, - 108, + 110, 0 ], "CalculationUsage.nestedPort": [ @@ -14742,13 +14742,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedReference": [ 0, 0, - 82, + 84, 0, 32, 0 @@ -14758,7 +14758,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedRequirement": [ @@ -14766,7 +14766,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedState": [ @@ -14774,7 +14774,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedTransition": [ @@ -14782,13 +14782,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedUsage": [ 0, 0, - 84, + 86, 0, 30, 0 @@ -14798,7 +14798,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedVerificationCase": [ @@ -14806,7 +14806,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedView": [ @@ -14814,7 +14814,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.nestedViewpoint": [ @@ -14822,13 +14822,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.occurrenceDefinition": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14836,7 +14836,7 @@ "CalculationUsage.output": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -14846,7 +14846,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedDifferencing": [ @@ -14854,7 +14854,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedDisjoining": [ @@ -14862,13 +14862,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedElement": [ 0, 0, - 92, + 94, 0, 22, 0 @@ -14878,11 +14878,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedFeature": [ - 86, + 88, 4, 0, 1, @@ -14894,7 +14894,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedFeatureInverting": [ @@ -14902,11 +14902,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedFeatureMembership": [ - 90, + 92, 0, 0, 1, @@ -14918,7 +14918,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedIntersecting": [ @@ -14926,11 +14926,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedMember": [ - 86, + 88, 4, 2, 1, @@ -14938,7 +14938,7 @@ 0 ], "CalculationUsage.ownedMembership": [ - 92, + 94, 0, 0, 1, @@ -14950,11 +14950,11 @@ 0, 0, 0, - 102, + 104, 0 ], "CalculationUsage.ownedRelationship": [ - 113, + 115, 1, 0, 0, @@ -14962,7 +14962,7 @@ 0 ], "CalculationUsage.ownedSpecialization": [ - 95, + 97, 0, 0, 0, @@ -14974,7 +14974,7 @@ 0, 0, 0, - 96, + 98, 0 ], "CalculationUsage.ownedTypeFeaturing": [ @@ -14982,11 +14982,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.ownedTyping": [ - 79, + 81, 0, 0, 0, @@ -14998,11 +14998,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.owner": [ - 114, + 116, 0, 0, 0, @@ -15020,13 +15020,13 @@ "CalculationUsage.owningFeatureMembership": [ 0, 0, - 92, + 94, 0, 0, 0 ], "CalculationUsage.owningMembership": [ - 114, + 116, 0, 0, 0, @@ -15034,7 +15034,7 @@ 0 ], "CalculationUsage.owningNamespace": [ - 114, + 116, 0, 0, 0, @@ -15042,7 +15042,7 @@ 0 ], "CalculationUsage.owningRelationship": [ - 114, + 116, 0, 0, 0, @@ -15052,7 +15052,7 @@ "CalculationUsage.owningType": [ 0, 0, - 92, + 94, 0, 0, 0 @@ -15060,7 +15060,7 @@ "CalculationUsage.owningUsage": [ 0, 0, - 88, + 90, 0, 0, 0 @@ -15068,7 +15068,7 @@ "CalculationUsage.parameter": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -15078,11 +15078,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.qualifiedName": [ - 112, + 114, 0, 0, 0, @@ -15100,7 +15100,7 @@ "CalculationUsage.result": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -15118,11 +15118,11 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.type": [ - 72, + 74, 0, 38, 0, @@ -15134,13 +15134,13 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.usage": [ 0, 0, - 114, + 116, 0, 0, 0 @@ -15158,7 +15158,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CalculationUsage.variantMembership": [ @@ -15166,7 +15166,7 @@ 0, 0, 0, - 114, + 116, 0 ], "CaseDefinition.action": [ @@ -21894,13 +21894,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.association": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -21910,27 +21910,27 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.connectionDefinition": [ 0, 0, - 79, + 87, 0, 0, 0 ], "ConnectionUsage.connectorEnd": [ 1, - 71, + 79, 7, 0, 0, 0 ], "ConnectionUsage.declaredName": [ - 79, + 87, 0, 0, 0, @@ -21942,13 +21942,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.defaultFeaturingType": [ 0, 0, - 55, + 63, 0, 0, 0 @@ -21956,7 +21956,7 @@ "ConnectionUsage.definition": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -21966,7 +21966,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.directedFeature": [ @@ -21974,7 +21974,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.directedUsage": [ @@ -21982,7 +21982,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.direction": [ @@ -21990,7 +21990,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.documentation": [ @@ -21998,13 +21998,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.endFeature": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22012,7 +22012,7 @@ "ConnectionUsage.feature": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22020,7 +22020,7 @@ "ConnectionUsage.featureMembership": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22028,7 +22028,7 @@ "ConnectionUsage.featureTarget": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22036,7 +22036,7 @@ "ConnectionUsage.featuringType": [ 0, 0, - 55, + 63, 0, 24, 0 @@ -22046,13 +22046,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.inheritedFeature": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22060,7 +22060,7 @@ "ConnectionUsage.inheritedMembership": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22070,7 +22070,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.intersectingType": [ @@ -22078,11 +22078,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.isAbstract": [ - 79, + 87, 0, 0, 0, @@ -22090,7 +22090,7 @@ 0 ], "ConnectionUsage.isComposite": [ - 79, + 87, 0, 0, 0, @@ -22100,13 +22100,13 @@ "ConnectionUsage.isConjugated": [ 0, 0, - 79, + 87, 0, 0, 0 ], "ConnectionUsage.isConstant": [ - 79, + 87, 0, 0, 0, @@ -22114,7 +22114,7 @@ 0 ], "ConnectionUsage.isDerived": [ - 79, + 87, 0, 0, 0, @@ -22122,7 +22122,7 @@ 0 ], "ConnectionUsage.isEnd": [ - 79, + 87, 0, 0, 0, @@ -22130,7 +22130,7 @@ 0 ], "ConnectionUsage.isImplied": [ - 79, + 87, 0, 0, 0, @@ -22138,7 +22138,7 @@ 0 ], "ConnectionUsage.isImpliedIncluded": [ - 79, + 87, 0, 0, 0, @@ -22146,7 +22146,7 @@ 0 ], "ConnectionUsage.isIndividual": [ - 79, + 87, 0, 0, 0, @@ -22156,13 +22156,13 @@ "ConnectionUsage.isLibraryElement": [ 0, 0, - 79, + 87, 0, 0, 0 ], "ConnectionUsage.isOrdered": [ - 79, + 87, 0, 0, 0, @@ -22170,7 +22170,7 @@ 0 ], "ConnectionUsage.isPortion": [ - 79, + 87, 0, 0, 0, @@ -22180,13 +22180,13 @@ "ConnectionUsage.isReference": [ 0, 0, - 79, + 87, 0, 0, 0 ], "ConnectionUsage.isSufficient": [ - 79, + 87, 0, 0, 0, @@ -22194,7 +22194,7 @@ 0 ], "ConnectionUsage.isUnique": [ - 79, + 87, 0, 0, 0, @@ -22204,13 +22204,13 @@ "ConnectionUsage.isVariable": [ 0, 0, - 55, + 63, 0, 24, 0 ], "ConnectionUsage.isVariation": [ - 79, + 87, 0, 0, 0, @@ -22220,7 +22220,7 @@ "ConnectionUsage.itemDefinition": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22236,7 +22236,7 @@ "ConnectionUsage.mayTimeVary": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22244,7 +22244,7 @@ "ConnectionUsage.member": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22252,7 +22252,7 @@ "ConnectionUsage.membership": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22268,7 +22268,7 @@ "ConnectionUsage.name": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22278,7 +22278,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedAllocation": [ @@ -22286,7 +22286,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedAnalysisCase": [ @@ -22294,7 +22294,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedAttribute": [ @@ -22302,7 +22302,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedCalculation": [ @@ -22310,7 +22310,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedCase": [ @@ -22318,7 +22318,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedConcern": [ @@ -22326,7 +22326,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedConnection": [ @@ -22334,7 +22334,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedConstraint": [ @@ -22342,7 +22342,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedEnumeration": [ @@ -22350,7 +22350,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedFlow": [ @@ -22358,7 +22358,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedInterface": [ @@ -22366,7 +22366,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedItem": [ @@ -22374,7 +22374,7 @@ 0, 3, 0, - 76, + 84, 0 ], "ConnectionUsage.nestedMetadata": [ @@ -22382,7 +22382,7 @@ 0, 14, 0, - 65, + 73, 0 ], "ConnectionUsage.nestedOccurrence": [ @@ -22390,7 +22390,7 @@ 0, 4, 0, - 75, + 83, 0 ], "ConnectionUsage.nestedPart": [ @@ -22398,7 +22398,7 @@ 0, 3, 0, - 76, + 84, 0 ], "ConnectionUsage.nestedPort": [ @@ -22406,13 +22406,13 @@ 0, 1, 0, - 78, + 86, 0 ], "ConnectionUsage.nestedReference": [ 0, 0, - 75, + 83, 0, 4, 0 @@ -22422,7 +22422,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedRequirement": [ @@ -22430,7 +22430,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedState": [ @@ -22438,7 +22438,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedTransition": [ @@ -22446,13 +22446,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedUsage": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22462,7 +22462,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedVerificationCase": [ @@ -22470,7 +22470,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedView": [ @@ -22478,7 +22478,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.nestedViewpoint": [ @@ -22486,13 +22486,13 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.occurrenceDefinition": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22502,7 +22502,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedAnnotation": [ @@ -22510,7 +22510,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedDifferencing": [ @@ -22518,7 +22518,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedDisjoining": [ @@ -22526,20 +22526,20 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedElement": [ 0, 0, - 79, + 87, 0, 0, 0 ], "ConnectionUsage.ownedEndFeature": [ 1, - 71, + 79, 7, 0, 0, @@ -22547,7 +22547,7 @@ ], "ConnectionUsage.ownedFeature": [ 8, - 71, + 79, 0, 0, 0, @@ -22558,7 +22558,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedFeatureInverting": [ @@ -22566,11 +22566,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedFeatureMembership": [ - 79, + 87, 0, 0, 0, @@ -22582,7 +22582,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedIntersecting": [ @@ -22590,19 +22590,19 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedMember": [ 8, - 71, + 79, 0, 0, 0, 0 ], "ConnectionUsage.ownedMembership": [ - 79, + 87, 0, 0, 0, @@ -22614,7 +22614,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedRelatedElement": [ @@ -22622,11 +22622,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedRelationship": [ - 79, + 87, 0, 0, 0, @@ -22634,7 +22634,7 @@ 0 ], "ConnectionUsage.ownedSpecialization": [ - 61, + 69, 0, 0, 0, @@ -22646,7 +22646,7 @@ 0, 0, 0, - 77, + 85, 0 ], "ConnectionUsage.ownedTypeFeaturing": [ @@ -22654,11 +22654,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.ownedTyping": [ - 61, + 69, 0, 0, 0, @@ -22670,11 +22670,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.owner": [ - 79, + 87, 0, 0, 0, @@ -22684,7 +22684,7 @@ "ConnectionUsage.owningDefinition": [ 0, 0, - 49, + 57, 0, 0, 0 @@ -22692,13 +22692,13 @@ "ConnectionUsage.owningFeatureMembership": [ 0, 0, - 55, + 63, 0, 0, 0 ], "ConnectionUsage.owningMembership": [ - 79, + 87, 0, 0, 0, @@ -22706,7 +22706,7 @@ 0 ], "ConnectionUsage.owningNamespace": [ - 79, + 87, 0, 0, 0, @@ -22718,11 +22718,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.owningRelationship": [ - 79, + 87, 0, 0, 0, @@ -22732,7 +22732,7 @@ "ConnectionUsage.owningType": [ 0, 0, - 55, + 63, 0, 0, 0 @@ -22748,7 +22748,7 @@ "ConnectionUsage.partDefinition": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22758,11 +22758,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.qualifiedName": [ - 79, + 87, 0, 0, 0, @@ -22772,7 +22772,7 @@ "ConnectionUsage.relatedElement": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22780,7 +22780,7 @@ "ConnectionUsage.relatedFeature": [ 11, 1, - 67, + 75, 0, 0, 0 @@ -22788,7 +22788,7 @@ "ConnectionUsage.source": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22796,7 +22796,7 @@ "ConnectionUsage.sourceFeature": [ 11, 0, - 68, + 76, 0, 0, 0 @@ -22812,7 +22812,7 @@ "ConnectionUsage.target": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22820,7 +22820,7 @@ "ConnectionUsage.targetFeature": [ 10, 0, - 69, + 77, 0, 0, 0 @@ -22830,11 +22830,11 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.type": [ - 51, + 59, 4, 24, 0, @@ -22846,7 +22846,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.upperBound": [ @@ -22860,7 +22860,7 @@ "ConnectionUsage.usage": [ 0, 0, - 79, + 87, 0, 0, 0 @@ -22870,7 +22870,7 @@ 0, 0, 0, - 79, + 87, 0 ], "ConnectionUsage.variantMembership": [ @@ -22878,7 +22878,7 @@ 0, 0, 0, - 79, + 87, 0 ], "Connector.aliasIds": [ @@ -27958,13 +27958,13 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.annotatedElement": [ 0, 0, - 374, + 376, 0, 0, 0 @@ -27974,11 +27974,11 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.body": [ - 373, + 375, 1, 0, 0, @@ -27990,7 +27990,7 @@ 0, 0, 0, - 369, + 371, 0 ], "Documentation.declaredShortName": [ @@ -27998,7 +27998,7 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.documentation": [ @@ -28006,19 +28006,19 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.documentedElement": [ 0, 0, - 374, + 376, 0, 0, 0 ], "Documentation.isImpliedIncluded": [ - 374, + 376, 0, 0, 0, @@ -28028,7 +28028,7 @@ "Documentation.isLibraryElement": [ 0, 0, - 374, + 376, 0, 0, 0 @@ -28038,7 +28038,7 @@ 0, 0, 0, - 372, + 374, 0 ], "Documentation.name": [ @@ -28054,7 +28054,7 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.ownedAnnotation": [ @@ -28062,7 +28062,7 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.ownedElement": [ @@ -28070,7 +28070,7 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.ownedRelationship": [ @@ -28078,11 +28078,11 @@ 0, 0, 0, - 374, + 376, 0 ], "Documentation.owner": [ - 374, + 376, 0, 0, 0, @@ -28090,7 +28090,7 @@ 0 ], "Documentation.owningMembership": [ - 365, + 367, 9, 0, 0, @@ -28098,7 +28098,7 @@ 0 ], "Documentation.owningNamespace": [ - 374, + 376, 0, 0, 0, @@ -28106,7 +28106,7 @@ 0 ], "Documentation.owningRelationship": [ - 365, + 367, 9, 0, 0, @@ -28126,7 +28126,7 @@ 0, 0, 0, - 374, + 376, 0 ], "ElementFilterMembership.aliasIds": [ @@ -28342,7 +28342,7 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.declaredName": [ @@ -28350,7 +28350,7 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.declaredShortName": [ @@ -28358,7 +28358,7 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.documentation": [ @@ -28366,11 +28366,11 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.isImplied": [ - 504, + 520, 0, 0, 0, @@ -28378,7 +28378,7 @@ 0 ], "EndFeatureMembership.isImpliedIncluded": [ - 504, + 520, 0, 0, 0, @@ -28388,14 +28388,14 @@ "EndFeatureMembership.isLibraryElement": [ 0, 0, - 504, + 520, 0, 0, 0 ], "EndFeatureMembership.memberElement": [ 129, - 375, + 391, 0, 0, 0, @@ -28404,7 +28404,7 @@ "EndFeatureMembership.memberElementId": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28412,13 +28412,13 @@ "EndFeatureMembership.memberName": [ 0, 0, - 503, + 519, 0, 0, 0 ], "EndFeatureMembership.membershipOwningNamespace": [ - 504, + 520, 0, 0, 0, @@ -28430,7 +28430,7 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.ownedElement": [ @@ -28438,12 +28438,12 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.ownedMemberElement": [ 129, - 375, + 391, 0, 0, 0, @@ -28452,7 +28452,7 @@ "EndFeatureMembership.ownedMemberElementId": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28460,7 +28460,7 @@ "EndFeatureMembership.ownedMemberFeature": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28468,14 +28468,14 @@ "EndFeatureMembership.ownedMemberName": [ 0, 0, - 503, + 519, 0, 0, 0 ], "EndFeatureMembership.ownedRelatedElement": [ 129, - 375, + 391, 0, 0, 0, @@ -28486,19 +28486,19 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.owner": [ 0, 0, 0, - 504, + 520, 0, 0 ], "EndFeatureMembership.owningRelatedElement": [ - 504, + 520, 0, 0, 0, @@ -28510,13 +28510,13 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.owningType": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28524,7 +28524,7 @@ "EndFeatureMembership.relatedElement": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28532,7 +28532,7 @@ "EndFeatureMembership.source": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28540,7 +28540,7 @@ "EndFeatureMembership.target": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -28550,13 +28550,13 @@ 0, 0, 0, - 504, + 520, 0 ], "EndFeatureMembership.visibility": [ 0, 0, - 504, + 520, 0, 0, 0 @@ -32430,7 +32430,7 @@ 0, 0, 0, - 10156, + 10196, 0 ], "Feature.chainingFeature": [ @@ -32438,7 +32438,7 @@ 43, 130, 6, - 9758, + 9798, 24 ], "Feature.chains": [ @@ -32470,7 +32470,7 @@ 0, 0, 0, - 9231, + 9271, 0 ], "Feature.declaredShortName": [ @@ -32478,7 +32478,7 @@ 0, 0, 0, - 10156, + 10196, 0 ], "Feature.differences": [ @@ -32494,7 +32494,7 @@ 0, 4, 0, - 10152, + 10192, 0 ], "Feature.directedFeature": [ @@ -32502,12 +32502,12 @@ 0, 629, 0, - 9527, + 9567, 0 ], "Feature.direction": [ - 8579, - 191, + 8617, + 193, 4, 101, 1281, @@ -32526,7 +32526,7 @@ 0, 21, 0, - 10135, + 10175, 0 ], "Feature.endFeature": [ @@ -32534,7 +32534,7 @@ 0, 55, 0, - 10101, + 10141, 0 ], "Feature.endOwningType": [ @@ -32548,7 +32548,7 @@ "Feature.feature": [ 0, 0, - 10150, + 10190, 0, 6, 0 @@ -32556,7 +32556,7 @@ "Feature.featureMembership": [ 0, 0, - 10150, + 10190, 0, 6, 0 @@ -32564,7 +32564,7 @@ "Feature.featureTarget": [ 0, 0, - 10156, + 10196, 0, 0, 0 @@ -32572,7 +32572,7 @@ "Feature.featuringType": [ 67, 0, - 9854, + 9894, 0, 234, 1 @@ -32582,13 +32582,13 @@ 0, 15, 0, - 10141, + 10181, 0 ], "Feature.inheritedFeature": [ 0, 0, - 10156, + 10196, 0, 0, 0 @@ -32596,7 +32596,7 @@ "Feature.inheritedMembership": [ 0, 0, - 10156, + 10196, 0, 0, 0 @@ -32606,7 +32606,7 @@ 0, 444, 0, - 9712, + 9752, 0 ], "Feature.intersectingType": [ @@ -32614,7 +32614,7 @@ 0, 3, 0, - 10153, + 10193, 0 ], "Feature.intersects": [ @@ -32634,7 +32634,7 @@ 0 ], "Feature.isAbstract": [ - 10156, + 10196, 0, 0, 0, @@ -32642,7 +32642,7 @@ 0 ], "Feature.isComposite": [ - 10122, + 10162, 34, 0, 0, @@ -32652,13 +32652,13 @@ "Feature.isConjugated": [ 0, 0, - 10156, + 10196, 0, 0, 0 ], "Feature.isConstant": [ - 10156, + 10196, 0, 0, 0, @@ -32674,7 +32674,7 @@ 0 ], "Feature.isDerived": [ - 10156, + 10196, 0, 0, 0, @@ -32682,7 +32682,7 @@ 0 ], "Feature.isEnd": [ - 10156, + 10196, 0, 0, 0, @@ -32690,7 +32690,7 @@ 0 ], "Feature.isImpliedIncluded": [ - 10156, + 10196, 0, 0, 0, @@ -32708,13 +32708,13 @@ "Feature.isLibraryElement": [ 0, 0, - 10156, + 10196, 0, 0, 0 ], "Feature.isOrdered": [ - 10156, + 10196, 0, 0, 0, @@ -32722,7 +32722,7 @@ 0 ], "Feature.isPortion": [ - 10156, + 10196, 0, 0, 0, @@ -32738,7 +32738,7 @@ 0 ], "Feature.isSufficient": [ - 10156, + 10196, 0, 0, 0, @@ -32746,7 +32746,7 @@ 0 ], "Feature.isUnique": [ - 10156, + 10196, 0, 0, 0, @@ -32754,7 +32754,7 @@ 0 ], "Feature.isVariable": [ - 9055, + 9095, 0, 75, 0, @@ -32780,7 +32780,7 @@ "Feature.member": [ 0, 0, - 10156, + 10196, 0, 0, 0 @@ -32788,7 +32788,7 @@ "Feature.membership": [ 0, 0, - 10156, + 10196, 0, 0, 0 @@ -32804,7 +32804,7 @@ "Feature.name": [ 190, 0, - 9546, + 9586, 0, 0, 0 @@ -32814,7 +32814,7 @@ 0, 453, 0, - 9703, + 9743, 0 ], "Feature.ownedAnnotation": [ @@ -32822,7 +32822,7 @@ 0, 0, 0, - 10156, + 10196, 0 ], "Feature.ownedConjugator": [ @@ -32846,7 +32846,7 @@ 0, 4, 0, - 10152, + 10192, 0 ], "Feature.ownedDisjoining": [ @@ -32854,15 +32854,15 @@ 0, 3, 0, - 10153, + 10193, 0 ], "Feature.ownedElement": [ 0, 0, - 4896, + 4920, 0, - 5260, + 5276, 0 ], "Feature.ownedEndFeature": [ @@ -32870,7 +32870,7 @@ 0, 1, 0, - 10155, + 10195, 0 ], "Feature.ownedFeature": [ @@ -32878,7 +32878,7 @@ 4, 568, 0, - 9457, + 9497, 6 ], "Feature.ownedFeatureChaining": [ @@ -32886,7 +32886,7 @@ 0, 121, 6, - 9758, + 9798, 0 ], "Feature.ownedFeatureInverting": [ @@ -32894,7 +32894,7 @@ 0, 7, 0, - 10149, + 10189, 0 ], "Feature.ownedFeatureMembership": [ @@ -32902,7 +32902,7 @@ 1, 568, 0, - 9457, + 9497, 0 ], "Feature.ownedImport": [ @@ -32910,7 +32910,7 @@ 0, 0, 0, - 10141, + 10181, 0 ], "Feature.ownedIntersecting": [ @@ -32918,31 +32918,31 @@ 0, 3, 0, - 10153, + 10193, 0 ], "Feature.ownedMember": [ 119, 104, - 4650, + 4674, 0, - 5275, + 5291, 8 ], "Feature.ownedMembership": [ - 4275, + 4299, 569, 37, - 92, - 5183, + 94, + 5197, 0 ], "Feature.ownedRedefinition": [ 280, 0, - 633, + 653, 0, - 9243, + 9263, 0 ], "Feature.ownedReferenceSubsetting": [ @@ -32954,27 +32954,27 @@ 0 ], "Feature.ownedRelationship": [ - 4163, - 1401, + 4167, + 1421, 137, - 88, - 4367, + 90, + 4381, 0 ], "Feature.ownedSpecialization": [ 874, 20, - 662, + 682, 34, - 8566, + 8586, 0 ], "Feature.ownedSubsetting": [ 371, 8, - 645, + 665, 6, - 9126, + 9146, 0 ], "Feature.ownedTypeFeaturing": [ @@ -32982,7 +32982,7 @@ 0, 70, 0, - 10086, + 10126, 0 ], "Feature.ownedTyping": [ @@ -32990,7 +32990,7 @@ 0, 29, 28, - 9438, + 9478, 0 ], "Feature.ownedUnioning": [ @@ -32998,11 +32998,11 @@ 0, 7, 0, - 10149, + 10189, 0 ], "Feature.owner": [ - 10156, + 10196, 0, 0, 0, @@ -33012,14 +33012,14 @@ "Feature.owningFeatureMembership": [ 0, 0, - 9505, + 9545, 0, 0, 0 ], "Feature.owningMembership": [ - 9537, - 355, + 9575, + 357, 6, 0, 0, @@ -33028,14 +33028,14 @@ "Feature.owningNamespace": [ 1133, 0, - 8765, + 8805, 0, 0, 0 ], "Feature.owningRelationship": [ - 9794, - 362, + 9832, + 364, 0, 0, 0, @@ -33044,7 +33044,7 @@ "Feature.owningType": [ 0, 0, - 9505, + 9545, 0, 0, 0 @@ -33094,13 +33094,13 @@ 0, 0, 0, - 10156, + 10196, 0 ], "Feature.type": [ 346, 14, - 9623, + 9663, 0, 0, 173 @@ -33110,7 +33110,7 @@ 0, 7, 0, - 10149, + 10189, 0 ], "Feature.unions": [ @@ -34078,7 +34078,7 @@ 0, 0, 0, - 10855, + 10976, 0 ], "FeatureMembership.declaredName": [ @@ -34086,7 +34086,7 @@ 0, 0, 0, - 10855, + 10976, 0 ], "FeatureMembership.declaredShortName": [ @@ -34094,7 +34094,7 @@ 0, 0, 0, - 10855, + 10976, 0 ], "FeatureMembership.documentation": [ @@ -34102,11 +34102,11 @@ 0, 0, 0, - 10855, + 10976, 0 ], "FeatureMembership.isImplied": [ - 10855, + 10976, 0, 0, 0, @@ -34114,7 +34114,7 @@ 0 ], "FeatureMembership.isImpliedIncluded": [ - 10855, + 10976, 0, 0, 0, @@ -34124,23 +34124,23 @@ "FeatureMembership.isLibraryElement": [ 0, 0, - 10855, + 10976, 0, 0, 0 ], "FeatureMembership.memberElement": [ - 9389, + 9508, 570, 0, 0, 0, - 896 + 898 ], "FeatureMembership.memberElementId": [ 0, 0, - 10855, + 10976, 0, 0, 0 @@ -34148,7 +34148,7 @@ "FeatureMembership.memberName": [ 0, 0, - 9306, + 9425, 0, 0, 0 @@ -34162,7 +34162,7 @@ 0 ], "FeatureMembership.membershipOwningNamespace": [ - 10855, + 10976, 0, 0, 0, @@ -34174,7 +34174,7 @@ 0, 0, 0, - 10855, + 10976, 0 ], "FeatureMembership.ownedElement": [ @@ -34182,37 +34182,37 @@ 0, 0, 0, - 10855, + 10976, 0 ], "FeatureMembership.ownedMemberElement": [ - 9389, + 9508, 570, 0, 0, 0, - 896 + 898 ], "FeatureMembership.ownedMemberElementId": [ 0, 0, - 10855, + 10976, 0, 0, 0 ], "FeatureMembership.ownedMemberFeature": [ - 9295, + 9414, 568, 96, 0, 0, - 896 + 898 ], "FeatureMembership.ownedMemberName": [ 0, 0, - 9306, + 9425, 0, 0, 0 @@ -34226,31 +34226,31 @@ 0 ], "FeatureMembership.ownedRelatedElement": [ - 9389, + 9508, 570, 0, 0, 0, - 896 + 898 ], "FeatureMembership.ownedRelationship": [ 0, 0, 0, 0, - 10855, + 10976, 0 ], "FeatureMembership.owner": [ 0, 0, 0, - 10855, + 10976, 0, 0 ], "FeatureMembership.owningRelatedElement": [ - 10855, + 10976, 0, 0, 0, @@ -34262,11 +34262,11 @@ 0, 0, 0, - 10855, + 10976, 0 ], "FeatureMembership.owningType": [ - 10691, + 10812, 0, 164, 0, @@ -34276,7 +34276,7 @@ "FeatureMembership.relatedElement": [ 0, 0, - 10855, + 10976, 0, 0, 0 @@ -34284,7 +34284,7 @@ "FeatureMembership.source": [ 0, 0, - 10855, + 10976, 0, 0, 0 @@ -34292,7 +34292,7 @@ "FeatureMembership.target": [ 0, 0, - 10855, + 10976, 0, 0, 0 @@ -34302,13 +34302,13 @@ 0, 0, 0, - 10855, + 10976, 0 ], "FeatureMembership.visibility": [ 63, 1, - 10791, + 10912, 0, 0, 0 @@ -34318,13 +34318,13 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.behavior": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34334,7 +34334,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.declaredName": [ @@ -34342,7 +34342,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.declaredShortName": [ @@ -34350,7 +34350,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.differencingType": [ @@ -34358,13 +34358,13 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.directedFeature": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34374,7 +34374,7 @@ 0, 1, 0, - 2161, + 2165, 0 ], "FeatureReferenceExpression.documentation": [ @@ -34382,7 +34382,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.endFeature": [ @@ -34390,13 +34390,13 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.feature": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34404,7 +34404,7 @@ "FeatureReferenceExpression.featureMembership": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34412,7 +34412,7 @@ "FeatureReferenceExpression.featureTarget": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34420,15 +34420,15 @@ "FeatureReferenceExpression.featuringType": [ 0, 0, - 1724, + 1726, 0, - 438, + 440, 0 ], "FeatureReferenceExpression.function": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34438,13 +34438,13 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.inheritedFeature": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34452,7 +34452,7 @@ "FeatureReferenceExpression.inheritedMembership": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34462,7 +34462,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.intersectingType": [ @@ -34470,11 +34470,11 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.isAbstract": [ - 2162, + 2166, 0, 0, 0, @@ -34482,7 +34482,7 @@ 0 ], "FeatureReferenceExpression.isComposite": [ - 2162, + 2166, 0, 0, 0, @@ -34492,13 +34492,13 @@ "FeatureReferenceExpression.isConjugated": [ 0, 0, - 2162, + 2166, 0, 0, 0 ], "FeatureReferenceExpression.isConstant": [ - 2162, + 2166, 0, 0, 0, @@ -34506,7 +34506,7 @@ 0 ], "FeatureReferenceExpression.isDerived": [ - 2162, + 2166, 0, 0, 0, @@ -34514,7 +34514,7 @@ 0 ], "FeatureReferenceExpression.isEnd": [ - 2162, + 2166, 0, 0, 0, @@ -34522,7 +34522,7 @@ 0 ], "FeatureReferenceExpression.isImpliedIncluded": [ - 2162, + 2166, 0, 0, 0, @@ -34532,7 +34532,7 @@ "FeatureReferenceExpression.isLibraryElement": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34540,13 +34540,13 @@ "FeatureReferenceExpression.isModelLevelEvaluable": [ 0, 0, - 2162, + 2166, 0, 0, 0 ], "FeatureReferenceExpression.isOrdered": [ - 2162, + 2166, 0, 0, 0, @@ -34554,7 +34554,7 @@ 0 ], "FeatureReferenceExpression.isPortion": [ - 2162, + 2166, 0, 0, 0, @@ -34562,7 +34562,7 @@ 0 ], "FeatureReferenceExpression.isSufficient": [ - 2162, + 2166, 0, 0, 0, @@ -34570,7 +34570,7 @@ 0 ], "FeatureReferenceExpression.isUnique": [ - 2162, + 2166, 0, 0, 0, @@ -34578,7 +34578,7 @@ 0 ], "FeatureReferenceExpression.isVariable": [ - 2162, + 2166, 0, 0, 0, @@ -34588,7 +34588,7 @@ "FeatureReferenceExpression.member": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34596,7 +34596,7 @@ "FeatureReferenceExpression.membership": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34612,7 +34612,7 @@ "FeatureReferenceExpression.output": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34622,7 +34622,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedDifferencing": [ @@ -34630,7 +34630,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedDisjoining": [ @@ -34638,13 +34638,13 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedElement": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34654,11 +34654,11 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedFeature": [ - 2155, + 2159, 7, 0, 0, @@ -34670,7 +34670,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedFeatureInverting": [ @@ -34678,11 +34678,11 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedFeatureMembership": [ - 2155, + 2159, 7, 0, 0, @@ -34694,7 +34694,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedIntersecting": [ @@ -34702,19 +34702,19 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedMember": [ 0, 0, - 2162, + 2166, 0, 0, 0 ], "FeatureReferenceExpression.ownedMembership": [ - 2155, + 2159, 7, 0, 0, @@ -34726,11 +34726,11 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedRelationship": [ - 2155, + 2159, 7, 0, 0, @@ -34742,7 +34742,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedSubsetting": [ @@ -34750,7 +34750,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedTypeFeaturing": [ @@ -34758,7 +34758,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedTyping": [ @@ -34766,7 +34766,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.ownedUnioning": [ @@ -34774,11 +34774,11 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.owner": [ - 2162, + 2166, 0, 0, 0, @@ -34794,7 +34794,7 @@ 0 ], "FeatureReferenceExpression.owningMembership": [ - 2161, + 2165, 1, 0, 0, @@ -34804,13 +34804,13 @@ "FeatureReferenceExpression.owningNamespace": [ 7, 0, - 2155, + 2159, 0, 0, 0 ], "FeatureReferenceExpression.owningRelationship": [ - 2161, + 2165, 1, 0, 0, @@ -34826,7 +34826,7 @@ 0 ], "FeatureReferenceExpression.parameter": [ - 2162, + 2166, 0, 0, 0, @@ -34834,7 +34834,7 @@ 0 ], "FeatureReferenceExpression.referent": [ - 1659, + 1663, 28, 9, 0, @@ -34842,7 +34842,7 @@ 466 ], "FeatureReferenceExpression.result": [ - 2162, + 2166, 0, 0, 0, @@ -34854,13 +34854,13 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureReferenceExpression.type": [ 0, 0, - 2162, + 2166, 0, 0, 0 @@ -34870,7 +34870,7 @@ 0, 0, 0, - 2162, + 2166, 0 ], "FeatureTyping.aliasIds": [ @@ -34878,7 +34878,7 @@ 0, 0, 0, - 5998, + 6086, 0 ], "FeatureTyping.declaredName": [ @@ -34886,7 +34886,7 @@ 0, 0, 0, - 5994, + 6082, 0 ], "FeatureTyping.declaredShortName": [ @@ -34894,7 +34894,7 @@ 0, 0, 0, - 5998, + 6086, 0 ], "FeatureTyping.documentation": [ @@ -34902,19 +34902,19 @@ 0, 1, 0, - 5997, + 6085, 0 ], "FeatureTyping.general": [ - 3406, + 3442, 4, 330, 0, 0, - 2258 + 2310 ], "FeatureTyping.isImplied": [ - 5998, + 6086, 0, 0, 0, @@ -34922,7 +34922,7 @@ 0 ], "FeatureTyping.isImpliedIncluded": [ - 5998, + 6086, 0, 0, 0, @@ -34932,7 +34932,7 @@ "FeatureTyping.isLibraryElement": [ 0, 0, - 5998, + 6086, 0, 0, 0 @@ -34950,7 +34950,7 @@ 0, 1, 0, - 5997, + 6085, 0 ], "FeatureTyping.ownedElement": [ @@ -34958,7 +34958,7 @@ 0, 1, 0, - 5997, + 6085, 0 ], "FeatureTyping.ownedRelatedElement": [ @@ -34966,7 +34966,7 @@ 0, 4, 1, - 5993, + 6081, 0 ], "FeatureTyping.ownedRelationship": [ @@ -34974,7 +34974,7 @@ 1, 0, 3, - 5994, + 6082, 0 ], "FeatureTyping.ownedSpecialization": [ @@ -34997,12 +34997,12 @@ 4, 0, 0, - 5994, + 6082, 0, 0 ], "FeatureTyping.owningFeature": [ - 5994, + 6082, 0, 0, 0, @@ -35026,7 +35026,7 @@ 0 ], "FeatureTyping.owningRelatedElement": [ - 5994, + 6082, 0, 0, 0, @@ -35038,13 +35038,13 @@ 0, 0, 0, - 5994, + 6082, 0 ], "FeatureTyping.owningType": [ 0, 0, - 5994, + 6082, 0, 0, 0 @@ -35058,15 +35058,15 @@ 0 ], "FeatureTyping.relatedElement": [ - 3406, + 3442, 4, 330, 0, 0, - 2258 + 2310 ], "FeatureTyping.source": [ - 5994, + 6082, 0, 4, 0, @@ -35074,7 +35074,7 @@ 0 ], "FeatureTyping.specific": [ - 5994, + 6082, 0, 4, 0, @@ -35082,31 +35082,31 @@ 0 ], "FeatureTyping.target": [ - 3406, + 3442, 4, 330, 0, 0, - 2258 + 2310 ], "FeatureTyping.textualRepresentation": [ 0, 0, 0, 0, - 5998, + 6086, 0 ], "FeatureTyping.type": [ - 3408, + 3444, 4, 328, 0, 0, - 2258 + 2310 ], "FeatureTyping.typedFeature": [ - 5996, + 6084, 0, 2, 0, @@ -35118,7 +35118,7 @@ 0, 0, 0, - 7091, + 7196, 0 ], "FeatureValue.declaredName": [ @@ -35126,7 +35126,7 @@ 0, 0, 0, - 7091, + 7196, 0 ], "FeatureValue.declaredShortName": [ @@ -35134,7 +35134,7 @@ 0, 0, 0, - 7091, + 7196, 0 ], "FeatureValue.documentation": [ @@ -35142,11 +35142,11 @@ 0, 0, 0, - 7091, + 7196, 0 ], "FeatureValue.featureWithValue": [ - 7091, + 7196, 0, 0, 0, @@ -35154,7 +35154,7 @@ 0 ], "FeatureValue.isDefault": [ - 7091, + 7196, 0, 0, 0, @@ -35162,7 +35162,7 @@ 0 ], "FeatureValue.isImplied": [ - 7091, + 7196, 0, 0, 0, @@ -35170,7 +35170,7 @@ 0 ], "FeatureValue.isImpliedIncluded": [ - 7091, + 7196, 0, 0, 0, @@ -35178,7 +35178,7 @@ 0 ], "FeatureValue.isInitial": [ - 7091, + 7196, 0, 0, 0, @@ -35188,14 +35188,14 @@ "FeatureValue.isLibraryElement": [ 0, 0, - 7091, + 7196, 0, 0, 0 ], "FeatureValue.memberElement": [ - 6785, - 306, + 6888, + 308, 0, 0, 0, @@ -35204,13 +35204,13 @@ "FeatureValue.memberElementId": [ 0, 0, - 7091, + 7196, 0, 0, 0 ], "FeatureValue.membershipOwningNamespace": [ - 7091, + 7196, 0, 0, 0, @@ -35222,7 +35222,7 @@ 0, 0, 0, - 7091, + 7196, 0 ], "FeatureValue.ownedElement": [ @@ -35230,12 +35230,12 @@ 0, 0, 0, - 7091, + 7196, 0 ], "FeatureValue.ownedMemberElement": [ - 6785, - 306, + 6888, + 308, 0, 0, 0, @@ -35244,14 +35244,14 @@ "FeatureValue.ownedMemberElementId": [ 0, 0, - 7091, + 7196, 0, 0, 0 ], "FeatureValue.ownedRelatedElement": [ - 6785, - 306, + 6888, + 308, 0, 0, 0, @@ -35262,19 +35262,19 @@ 0, 0, 0, - 7091, + 7196, 0 ], "FeatureValue.owner": [ 0, 0, 0, - 7091, + 7196, 0, 0 ], "FeatureValue.owningRelatedElement": [ - 7091, + 7196, 0, 0, 0, @@ -35286,13 +35286,13 @@ 0, 0, 0, - 7091, + 7196, 0 ], "FeatureValue.relatedElement": [ 0, 0, - 7091, + 7196, 0, 0, 0 @@ -35300,7 +35300,7 @@ "FeatureValue.source": [ 0, 0, - 7091, + 7196, 0, 0, 0 @@ -35308,7 +35308,7 @@ "FeatureValue.target": [ 0, 0, - 7091, + 7196, 0, 0, 0 @@ -35318,12 +35318,12 @@ 0, 0, 0, - 7091, + 7196, 0 ], "FeatureValue.value": [ - 6785, - 306, + 6888, + 308, 0, 0, 0, @@ -35332,7 +35332,7 @@ "FeatureValue.visibility": [ 0, 0, - 7091, + 7196, 0, 0, 0 @@ -46014,11 +46014,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.argument": [ - 436, + 446, 4, 0, 14, @@ -46028,7 +46028,7 @@ "InvocationExpression.behavior": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46038,7 +46038,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.declaredName": [ @@ -46046,7 +46046,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.declaredShortName": [ @@ -46054,7 +46054,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.differencingType": [ @@ -46062,13 +46062,13 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.directedFeature": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46078,7 +46078,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.documentation": [ @@ -46086,7 +46086,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.endFeature": [ @@ -46094,13 +46094,13 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.feature": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46108,7 +46108,7 @@ "InvocationExpression.featureMembership": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46116,7 +46116,7 @@ "InvocationExpression.featureTarget": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46124,31 +46124,31 @@ "InvocationExpression.featuringType": [ 0, 0, - 398, + 408, 0, 72, 0 ], "InvocationExpression.function": [ - 114, + 116, 6, 17, 0, 0, - 333 + 341 ], "InvocationExpression.importedMembership": [ 0, 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.inheritedFeature": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46156,14 +46156,14 @@ "InvocationExpression.inheritedMembership": [ 0, 0, - 470, + 480, 0, 0, 0 ], "InvocationExpression.input": [ - 377, - 77, + 385, + 79, 1, 0, 15, @@ -46172,7 +46172,7 @@ "InvocationExpression.instantiatedType": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46182,11 +46182,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.isAbstract": [ - 470, + 480, 0, 0, 0, @@ -46194,7 +46194,7 @@ 0 ], "InvocationExpression.isComposite": [ - 470, + 480, 0, 0, 0, @@ -46204,13 +46204,13 @@ "InvocationExpression.isConjugated": [ 0, 0, - 470, + 480, 0, 0, 0 ], "InvocationExpression.isConstant": [ - 470, + 480, 0, 0, 0, @@ -46218,7 +46218,7 @@ 0 ], "InvocationExpression.isDerived": [ - 470, + 480, 0, 0, 0, @@ -46226,7 +46226,7 @@ 0 ], "InvocationExpression.isEnd": [ - 470, + 480, 0, 0, 0, @@ -46234,7 +46234,7 @@ 0 ], "InvocationExpression.isImpliedIncluded": [ - 470, + 480, 0, 0, 0, @@ -46244,7 +46244,7 @@ "InvocationExpression.isLibraryElement": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46252,13 +46252,13 @@ "InvocationExpression.isModelLevelEvaluable": [ 0, 0, - 470, + 480, 0, 0, 0 ], "InvocationExpression.isOrdered": [ - 470, + 480, 0, 0, 0, @@ -46266,7 +46266,7 @@ 0 ], "InvocationExpression.isPortion": [ - 470, + 480, 0, 0, 0, @@ -46274,7 +46274,7 @@ 0 ], "InvocationExpression.isSufficient": [ - 470, + 480, 0, 0, 0, @@ -46282,7 +46282,7 @@ 0 ], "InvocationExpression.isUnique": [ - 470, + 480, 0, 0, 0, @@ -46290,7 +46290,7 @@ 0 ], "InvocationExpression.isVariable": [ - 470, + 480, 0, 0, 0, @@ -46300,7 +46300,7 @@ "InvocationExpression.member": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46308,7 +46308,7 @@ "InvocationExpression.membership": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46318,13 +46318,13 @@ 0, 0, 29, - 441, + 451, 0 ], "InvocationExpression.output": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46334,7 +46334,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedDifferencing": [ @@ -46342,7 +46342,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedDisjoining": [ @@ -46350,13 +46350,13 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedElement": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46366,11 +46366,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedFeature": [ - 466, + 476, 4, 0, 0, @@ -46382,7 +46382,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedFeatureInverting": [ @@ -46390,11 +46390,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedFeatureMembership": [ - 470, + 480, 0, 0, 0, @@ -46406,7 +46406,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedIntersecting": [ @@ -46414,19 +46414,19 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedMember": [ 0, 0, - 470, + 480, 0, 0, 0 ], "InvocationExpression.ownedMembership": [ - 441, + 451, 29, 0, 0, @@ -46438,11 +46438,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedRelationship": [ - 441, + 451, 29, 0, 0, @@ -46454,7 +46454,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedSubsetting": [ @@ -46462,7 +46462,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedTypeFeaturing": [ @@ -46470,7 +46470,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedTyping": [ @@ -46478,7 +46478,7 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.ownedUnioning": [ @@ -46486,11 +46486,11 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.owner": [ - 470, + 480, 0, 0, 0, @@ -46500,13 +46500,13 @@ "InvocationExpression.owningFeatureMembership": [ 0, 0, - 131, + 133, 0, 0, 0 ], "InvocationExpression.owningMembership": [ - 470, + 480, 0, 0, 0, @@ -46514,15 +46514,15 @@ 0 ], "InvocationExpression.owningNamespace": [ - 127, + 129, 0, - 343, + 351, 0, 0, 0 ], "InvocationExpression.owningRelationship": [ - 470, + 480, 0, 0, 0, @@ -46532,21 +46532,21 @@ "InvocationExpression.owningType": [ 0, 0, - 131, + 133, 0, 0, 0 ], "InvocationExpression.parameter": [ - 391, - 79, + 399, + 81, 0, 0, 0, 0 ], "InvocationExpression.result": [ - 466, + 476, 4, 0, 0, @@ -46558,13 +46558,13 @@ 0, 0, 0, - 470, + 480, 0 ], "InvocationExpression.type": [ 0, 0, - 470, + 480, 0, 0, 0 @@ -46574,7 +46574,7 @@ 0, 0, 0, - 470, + 480, 0 ], "ItemDefinition.aliasIds": [ @@ -46582,11 +46582,11 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.declaredName": [ - 167, + 168, 0, 0, 0, @@ -46598,7 +46598,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.differencingType": [ @@ -46606,7 +46606,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.directedFeature": [ @@ -46614,7 +46614,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.directedUsage": [ @@ -46622,7 +46622,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.documentation": [ @@ -46630,7 +46630,7 @@ 0, 4, 0, - 163, + 164, 0 ], "ItemDefinition.endFeature": [ @@ -46638,13 +46638,13 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.feature": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46652,7 +46652,7 @@ "ItemDefinition.featureMembership": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46662,13 +46662,13 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.inheritedFeature": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46676,7 +46676,7 @@ "ItemDefinition.inheritedMembership": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46686,7 +46686,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.intersectingType": [ @@ -46694,11 +46694,11 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.isAbstract": [ - 167, + 168, 0, 0, 0, @@ -46708,13 +46708,13 @@ "ItemDefinition.isConjugated": [ 0, 0, - 167, + 168, 0, 0, 0 ], "ItemDefinition.isImpliedIncluded": [ - 167, + 168, 0, 0, 0, @@ -46722,7 +46722,7 @@ 0 ], "ItemDefinition.isIndividual": [ - 167, + 168, 0, 0, 0, @@ -46732,13 +46732,13 @@ "ItemDefinition.isLibraryElement": [ 0, 0, - 167, + 168, 0, 0, 0 ], "ItemDefinition.isSufficient": [ - 167, + 168, 0, 0, 0, @@ -46746,7 +46746,7 @@ 0 ], "ItemDefinition.isVariation": [ - 167, + 168, 0, 0, 0, @@ -46756,7 +46756,7 @@ "ItemDefinition.member": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46764,7 +46764,7 @@ "ItemDefinition.membership": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46780,7 +46780,7 @@ "ItemDefinition.name": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -46790,7 +46790,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedAction": [ @@ -46798,7 +46798,7 @@ 0, 1, 0, - 166, + 167, 0 ], "ItemDefinition.ownedAllocation": [ @@ -46806,7 +46806,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedAnalysisCase": [ @@ -46814,7 +46814,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedAnnotation": [ @@ -46822,7 +46822,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedAttribute": [ @@ -46830,7 +46830,7 @@ 0, 30, 0, - 137, + 138, 0 ], "ItemDefinition.ownedCalculation": [ @@ -46838,7 +46838,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedCase": [ @@ -46846,7 +46846,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedConcern": [ @@ -46854,7 +46854,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedConnection": [ @@ -46862,7 +46862,7 @@ 0, 3, 0, - 164, + 165, 0 ], "ItemDefinition.ownedConstraint": [ @@ -46870,7 +46870,7 @@ 0, 2, 0, - 165, + 166, 0 ], "ItemDefinition.ownedDifferencing": [ @@ -46878,7 +46878,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedDisjoining": [ @@ -46886,7 +46886,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedElement": [ @@ -46894,7 +46894,7 @@ 0, 58, 0, - 109, + 110, 0 ], "ItemDefinition.ownedEndFeature": [ @@ -46902,7 +46902,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedEnumeration": [ @@ -46910,7 +46910,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedFeature": [ @@ -46918,7 +46918,7 @@ 0, 0, 0, - 115, + 116, 1 ], "ItemDefinition.ownedFeatureMembership": [ @@ -46926,7 +46926,7 @@ 0, 0, 0, - 115, + 116, 0 ], "ItemDefinition.ownedFlow": [ @@ -46934,7 +46934,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedImport": [ @@ -46942,7 +46942,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedInterface": [ @@ -46950,7 +46950,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedIntersecting": [ @@ -46958,7 +46958,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedItem": [ @@ -46966,7 +46966,7 @@ 0, 20, 0, - 147, + 148, 0 ], "ItemDefinition.ownedMember": [ @@ -46974,7 +46974,7 @@ 4, 2, 0, - 109, + 110, 1 ], "ItemDefinition.ownedMembership": [ @@ -46982,7 +46982,7 @@ 4, 2, 0, - 109, + 110, 0 ], "ItemDefinition.ownedMetadata": [ @@ -46990,7 +46990,7 @@ 0, 5, 0, - 162, + 163, 0 ], "ItemDefinition.ownedOccurrence": [ @@ -46998,7 +46998,7 @@ 0, 24, 0, - 143, + 144, 0 ], "ItemDefinition.ownedPart": [ @@ -47006,7 +47006,7 @@ 0, 9, 0, - 158, + 159, 0 ], "ItemDefinition.ownedPort": [ @@ -47014,7 +47014,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedReference": [ @@ -47022,7 +47022,7 @@ 0, 8, 0, - 159, + 160, 0 ], "ItemDefinition.ownedRelationship": [ @@ -47030,7 +47030,7 @@ 6, 0, 0, - 101, + 102, 0 ], "ItemDefinition.ownedRendering": [ @@ -47038,7 +47038,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedRequirement": [ @@ -47046,7 +47046,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedSpecialization": [ @@ -47054,7 +47054,7 @@ 0, 0, 0, - 149, + 150, 0 ], "ItemDefinition.ownedState": [ @@ -47062,7 +47062,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedSubclassification": [ @@ -47070,7 +47070,7 @@ 0, 0, 0, - 149, + 150, 0 ], "ItemDefinition.ownedTransition": [ @@ -47078,7 +47078,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedUnioning": [ @@ -47086,7 +47086,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedUsage": [ @@ -47094,7 +47094,7 @@ 0, 52, 0, - 115, + 116, 0 ], "ItemDefinition.ownedUseCase": [ @@ -47102,7 +47102,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedVerificationCase": [ @@ -47110,7 +47110,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedView": [ @@ -47118,7 +47118,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.ownedViewpoint": [ @@ -47126,11 +47126,11 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.owner": [ - 167, + 168, 0, 0, 0, @@ -47138,7 +47138,7 @@ 0 ], "ItemDefinition.owningMembership": [ - 165, + 166, 2, 0, 0, @@ -47146,7 +47146,7 @@ 0 ], "ItemDefinition.owningNamespace": [ - 167, + 168, 0, 0, 0, @@ -47154,7 +47154,7 @@ 0 ], "ItemDefinition.owningRelationship": [ - 165, + 166, 2, 0, 0, @@ -47162,7 +47162,7 @@ 0 ], "ItemDefinition.qualifiedName": [ - 166, + 167, 0, 0, 0, @@ -47182,7 +47182,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.unioningType": [ @@ -47190,13 +47190,13 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.usage": [ 0, 0, - 167, + 168, 0, 0, 0 @@ -47206,7 +47206,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemDefinition.variantMembership": [ @@ -47214,7 +47214,7 @@ 0, 0, 0, - 167, + 168, 0 ], "ItemUsage.aliasIds": [ @@ -47222,7 +47222,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.chainingFeature": [ @@ -47230,7 +47230,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.crossFeature": [ @@ -47250,7 +47250,7 @@ 0 ], "ItemUsage.declaredName": [ - 330, + 332, 0, 0, 0, @@ -47262,13 +47262,13 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.definition": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47278,7 +47278,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.directedFeature": [ @@ -47286,7 +47286,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.directedUsage": [ @@ -47294,11 +47294,11 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.direction": [ - 233, + 235, 0, 0, 0, @@ -47310,7 +47310,7 @@ 0, 8, 0, - 358, + 360, 0 ], "ItemUsage.endFeature": [ @@ -47318,7 +47318,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.endOwningType": [ @@ -47332,7 +47332,7 @@ "ItemUsage.feature": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47340,7 +47340,7 @@ "ItemUsage.featureMembership": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47348,7 +47348,7 @@ "ItemUsage.featureTarget": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47356,7 +47356,7 @@ "ItemUsage.featuringType": [ 0, 0, - 346, + 348, 0, 20, 0 @@ -47366,7 +47366,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.individualDefinition": [ @@ -47380,7 +47380,7 @@ "ItemUsage.inheritedFeature": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47388,7 +47388,7 @@ "ItemUsage.inheritedMembership": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47398,7 +47398,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.intersectingType": [ @@ -47406,11 +47406,11 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.isAbstract": [ - 366, + 368, 0, 0, 0, @@ -47418,7 +47418,7 @@ 0 ], "ItemUsage.isComposite": [ - 365, + 367, 1, 0, 0, @@ -47428,13 +47428,13 @@ "ItemUsage.isConjugated": [ 0, 0, - 366, + 368, 0, 0, 0 ], "ItemUsage.isConstant": [ - 343, + 345, 23, 0, 0, @@ -47442,7 +47442,7 @@ 0 ], "ItemUsage.isDerived": [ - 366, + 368, 0, 0, 0, @@ -47450,7 +47450,7 @@ 0 ], "ItemUsage.isEnd": [ - 366, + 368, 0, 0, 0, @@ -47458,7 +47458,7 @@ 0 ], "ItemUsage.isImpliedIncluded": [ - 366, + 368, 0, 0, 0, @@ -47466,7 +47466,7 @@ 0 ], "ItemUsage.isIndividual": [ - 366, + 368, 0, 0, 0, @@ -47476,13 +47476,13 @@ "ItemUsage.isLibraryElement": [ 0, 0, - 366, + 368, 0, 0, 0 ], "ItemUsage.isOrdered": [ - 366, + 368, 0, 0, 0, @@ -47490,7 +47490,7 @@ 0 ], "ItemUsage.isPortion": [ - 366, + 368, 0, 0, 0, @@ -47500,13 +47500,13 @@ "ItemUsage.isReference": [ 23, 0, - 343, + 345, 0, 0, 0 ], "ItemUsage.isSufficient": [ - 366, + 368, 0, 0, 0, @@ -47514,7 +47514,7 @@ 0 ], "ItemUsage.isUnique": [ - 366, + 368, 0, 0, 0, @@ -47524,13 +47524,13 @@ "ItemUsage.isVariable": [ 0, 0, - 339, + 341, 0, 27, 0 ], "ItemUsage.isVariation": [ - 366, + 368, 0, 0, 0, @@ -47540,7 +47540,7 @@ "ItemUsage.itemDefinition": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47556,7 +47556,7 @@ "ItemUsage.mayTimeVary": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47564,7 +47564,7 @@ "ItemUsage.member": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47572,7 +47572,7 @@ "ItemUsage.membership": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47580,7 +47580,7 @@ "ItemUsage.multiplicity": [ 49, 0, - 250, + 252, 0, 0, 0 @@ -47588,7 +47588,7 @@ "ItemUsage.name": [ 35, 0, - 330, + 332, 0, 0, 0 @@ -47598,7 +47598,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedAllocation": [ @@ -47606,7 +47606,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedAnalysisCase": [ @@ -47614,7 +47614,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedAttribute": [ @@ -47622,7 +47622,7 @@ 0, 13, 0, - 353, + 355, 0 ], "ItemUsage.nestedCalculation": [ @@ -47630,7 +47630,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedCase": [ @@ -47638,7 +47638,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedConcern": [ @@ -47646,7 +47646,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedConnection": [ @@ -47654,7 +47654,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedConstraint": [ @@ -47662,7 +47662,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedEnumeration": [ @@ -47670,7 +47670,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedFlow": [ @@ -47678,7 +47678,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedInterface": [ @@ -47686,7 +47686,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedItem": [ @@ -47694,7 +47694,7 @@ 0, 10, 0, - 356, + 358, 0 ], "ItemUsage.nestedMetadata": [ @@ -47702,7 +47702,7 @@ 0, 9, 0, - 357, + 359, 0 ], "ItemUsage.nestedOccurrence": [ @@ -47710,7 +47710,7 @@ 0, 10, 0, - 356, + 358, 0 ], "ItemUsage.nestedPart": [ @@ -47718,7 +47718,7 @@ 0, 5, 0, - 361, + 363, 0 ], "ItemUsage.nestedPort": [ @@ -47726,7 +47726,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedReference": [ @@ -47734,7 +47734,7 @@ 0, 20, 0, - 346, + 348, 0 ], "ItemUsage.nestedRendering": [ @@ -47742,7 +47742,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedRequirement": [ @@ -47750,7 +47750,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedState": [ @@ -47758,7 +47758,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedTransition": [ @@ -47766,7 +47766,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedUsage": [ @@ -47774,7 +47774,7 @@ 0, 39, 0, - 327, + 329, 0 ], "ItemUsage.nestedUseCase": [ @@ -47782,7 +47782,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedVerificationCase": [ @@ -47790,7 +47790,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedView": [ @@ -47798,7 +47798,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.nestedViewpoint": [ @@ -47806,13 +47806,13 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.occurrenceDefinition": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -47822,7 +47822,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedAnnotation": [ @@ -47830,7 +47830,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedCrossSubsetting": [ @@ -47846,7 +47846,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedDisjoining": [ @@ -47854,13 +47854,13 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedElement": [ 0, 0, - 329, + 331, 0, 37, 0 @@ -47870,7 +47870,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedFeature": [ @@ -47878,7 +47878,7 @@ 0, 0, 0, - 327, + 329, 0 ], "ItemUsage.ownedFeatureChaining": [ @@ -47886,7 +47886,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedFeatureInverting": [ @@ -47894,7 +47894,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedFeatureMembership": [ @@ -47902,7 +47902,7 @@ 0, 0, 0, - 327, + 329, 0 ], "ItemUsage.ownedImport": [ @@ -47910,7 +47910,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedIntersecting": [ @@ -47918,13 +47918,13 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedMember": [ 20, 42, - 265, + 267, 0, 39, 0 @@ -47932,7 +47932,7 @@ "ItemUsage.ownedMembership": [ 77, 32, - 218, + 220, 0, 39, 0 @@ -47942,19 +47942,19 @@ 0, 0, 0, - 318, + 320, 0 ], "ItemUsage.ownedRelationship": [ 89, - 234, + 236, 33, 0, 10, 0 ], "ItemUsage.ownedSpecialization": [ - 307, + 309, 2, 0, 0, @@ -47966,7 +47966,7 @@ 0, 2, 0, - 302, + 304, 0 ], "ItemUsage.ownedTypeFeaturing": [ @@ -47974,11 +47974,11 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.ownedTyping": [ - 279, + 281, 0, 0, 0, @@ -47990,11 +47990,11 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.owner": [ - 366, + 368, 0, 0, 0, @@ -48004,7 +48004,7 @@ "ItemUsage.owningDefinition": [ 0, 0, - 236, + 238, 0, 0, 0 @@ -48012,13 +48012,13 @@ "ItemUsage.owningFeatureMembership": [ 0, 0, - 346, + 348, 0, 0, 0 ], "ItemUsage.owningMembership": [ - 364, + 366, 2, 0, 0, @@ -48026,7 +48026,7 @@ 0 ], "ItemUsage.owningNamespace": [ - 366, + 368, 0, 0, 0, @@ -48034,7 +48034,7 @@ 0 ], "ItemUsage.owningRelationship": [ - 364, + 366, 2, 0, 0, @@ -48044,7 +48044,7 @@ "ItemUsage.owningType": [ 0, 0, - 346, + 348, 0, 0, 0 @@ -48062,11 +48062,11 @@ 0, 0, 0, - 363, + 365, 0 ], "ItemUsage.qualifiedName": [ - 361, + 363, 0, 0, 0, @@ -48094,11 +48094,11 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.type": [ - 243, + 245, 2, 98, 0, @@ -48110,7 +48110,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.upperBound": [ @@ -48124,7 +48124,7 @@ "ItemUsage.usage": [ 0, 0, - 366, + 368, 0, 0, 0 @@ -48142,7 +48142,7 @@ 0, 0, 0, - 366, + 368, 0 ], "ItemUsage.variantMembership": [ @@ -48150,7 +48150,7 @@ 0, 0, 0, - 366, + 368, 0 ], "JoinNode.actionDefinition": [ @@ -49022,13 +49022,13 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.behavior": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49038,7 +49038,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.declaredName": [ @@ -49046,7 +49046,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.declaredShortName": [ @@ -49054,7 +49054,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.differencingType": [ @@ -49062,13 +49062,13 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.directedFeature": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49078,7 +49078,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.documentation": [ @@ -49086,7 +49086,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.endFeature": [ @@ -49094,13 +49094,13 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.feature": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49108,7 +49108,7 @@ "LiteralBoolean.featureMembership": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49116,7 +49116,7 @@ "LiteralBoolean.featureTarget": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49124,15 +49124,15 @@ "LiteralBoolean.featuringType": [ 0, 0, - 90, + 92, 0, - 289, + 294, 0 ], "LiteralBoolean.function": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49142,13 +49142,13 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.inheritedFeature": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49156,7 +49156,7 @@ "LiteralBoolean.inheritedMembership": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49166,7 +49166,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.intersectingType": [ @@ -49174,11 +49174,11 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.isAbstract": [ - 379, + 386, 0, 0, 0, @@ -49186,7 +49186,7 @@ 0 ], "LiteralBoolean.isComposite": [ - 379, + 386, 0, 0, 0, @@ -49196,13 +49196,13 @@ "LiteralBoolean.isConjugated": [ 0, 0, - 379, + 386, 0, 0, 0 ], "LiteralBoolean.isConstant": [ - 379, + 386, 0, 0, 0, @@ -49210,7 +49210,7 @@ 0 ], "LiteralBoolean.isDerived": [ - 379, + 386, 0, 0, 0, @@ -49218,7 +49218,7 @@ 0 ], "LiteralBoolean.isEnd": [ - 379, + 386, 0, 0, 0, @@ -49226,7 +49226,7 @@ 0 ], "LiteralBoolean.isImpliedIncluded": [ - 379, + 386, 0, 0, 0, @@ -49236,7 +49236,7 @@ "LiteralBoolean.isLibraryElement": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49244,13 +49244,13 @@ "LiteralBoolean.isModelLevelEvaluable": [ 0, 0, - 379, + 386, 0, 0, 0 ], "LiteralBoolean.isOrdered": [ - 379, + 386, 0, 0, 0, @@ -49258,7 +49258,7 @@ 0 ], "LiteralBoolean.isPortion": [ - 379, + 386, 0, 0, 0, @@ -49266,7 +49266,7 @@ 0 ], "LiteralBoolean.isSufficient": [ - 379, + 386, 0, 0, 0, @@ -49274,7 +49274,7 @@ 0 ], "LiteralBoolean.isUnique": [ - 379, + 386, 0, 0, 0, @@ -49282,7 +49282,7 @@ 0 ], "LiteralBoolean.isVariable": [ - 379, + 386, 0, 0, 0, @@ -49292,7 +49292,7 @@ "LiteralBoolean.member": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49300,7 +49300,7 @@ "LiteralBoolean.membership": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49308,7 +49308,7 @@ "LiteralBoolean.output": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49318,7 +49318,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedDifferencing": [ @@ -49326,7 +49326,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedDisjoining": [ @@ -49334,7 +49334,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedElement": [ @@ -49342,7 +49342,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedEndFeature": [ @@ -49350,7 +49350,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedFeature": [ @@ -49358,7 +49358,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedFeatureChaining": [ @@ -49366,7 +49366,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedFeatureInverting": [ @@ -49374,7 +49374,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedFeatureMembership": [ @@ -49382,7 +49382,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedImport": [ @@ -49390,7 +49390,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedIntersecting": [ @@ -49398,7 +49398,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedMember": [ @@ -49406,7 +49406,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedMembership": [ @@ -49414,7 +49414,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedRedefinition": [ @@ -49422,7 +49422,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedRelationship": [ @@ -49430,7 +49430,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedSpecialization": [ @@ -49438,7 +49438,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedSubsetting": [ @@ -49446,7 +49446,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedTypeFeaturing": [ @@ -49454,7 +49454,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedTyping": [ @@ -49462,7 +49462,7 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.ownedUnioning": [ @@ -49470,11 +49470,11 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.owner": [ - 379, + 386, 0, 0, 0, @@ -49482,7 +49482,7 @@ 0 ], "LiteralBoolean.owningMembership": [ - 379, + 386, 0, 0, 0, @@ -49492,13 +49492,13 @@ "LiteralBoolean.owningNamespace": [ 0, 0, - 379, + 386, 0, 0, 0 ], "LiteralBoolean.owningRelationship": [ - 379, + 386, 0, 0, 0, @@ -49508,7 +49508,7 @@ "LiteralBoolean.parameter": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49516,7 +49516,7 @@ "LiteralBoolean.result": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49526,13 +49526,13 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.type": [ 0, 0, - 379, + 386, 0, 0, 0 @@ -49542,11 +49542,11 @@ 0, 0, 0, - 379, + 386, 0 ], "LiteralBoolean.value": [ - 379, + 386, 0, 0, 0, @@ -50086,13 +50086,13 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.behavior": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50102,7 +50102,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.declaredName": [ @@ -50110,7 +50110,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.declaredShortName": [ @@ -50118,7 +50118,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.differencingType": [ @@ -50126,13 +50126,13 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.directedFeature": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50142,7 +50142,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.documentation": [ @@ -50150,7 +50150,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.endFeature": [ @@ -50158,13 +50158,13 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.feature": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50172,7 +50172,7 @@ "LiteralInteger.featureMembership": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50180,7 +50180,7 @@ "LiteralInteger.featureTarget": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50190,13 +50190,13 @@ 0, 1804, 0, - 201, + 203, 0 ], "LiteralInteger.function": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50206,13 +50206,13 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.inheritedFeature": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50220,7 +50220,7 @@ "LiteralInteger.inheritedMembership": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50230,7 +50230,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.intersectingType": [ @@ -50238,11 +50238,11 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.isAbstract": [ - 2005, + 2007, 0, 0, 0, @@ -50250,7 +50250,7 @@ 0 ], "LiteralInteger.isComposite": [ - 2005, + 2007, 0, 0, 0, @@ -50260,13 +50260,13 @@ "LiteralInteger.isConjugated": [ 0, 0, - 2005, + 2007, 0, 0, 0 ], "LiteralInteger.isConstant": [ - 2005, + 2007, 0, 0, 0, @@ -50274,7 +50274,7 @@ 0 ], "LiteralInteger.isDerived": [ - 2005, + 2007, 0, 0, 0, @@ -50282,7 +50282,7 @@ 0 ], "LiteralInteger.isEnd": [ - 2005, + 2007, 0, 0, 0, @@ -50290,7 +50290,7 @@ 0 ], "LiteralInteger.isImpliedIncluded": [ - 2005, + 2007, 0, 0, 0, @@ -50300,7 +50300,7 @@ "LiteralInteger.isLibraryElement": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50308,13 +50308,13 @@ "LiteralInteger.isModelLevelEvaluable": [ 0, 0, - 2005, + 2007, 0, 0, 0 ], "LiteralInteger.isOrdered": [ - 2005, + 2007, 0, 0, 0, @@ -50322,7 +50322,7 @@ 0 ], "LiteralInteger.isPortion": [ - 2005, + 2007, 0, 0, 0, @@ -50330,7 +50330,7 @@ 0 ], "LiteralInteger.isSufficient": [ - 2005, + 2007, 0, 0, 0, @@ -50338,7 +50338,7 @@ 0 ], "LiteralInteger.isUnique": [ - 2005, + 2007, 0, 0, 0, @@ -50346,7 +50346,7 @@ 0 ], "LiteralInteger.isVariable": [ - 2005, + 2007, 0, 0, 0, @@ -50356,7 +50356,7 @@ "LiteralInteger.member": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50364,7 +50364,7 @@ "LiteralInteger.membership": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50372,7 +50372,7 @@ "LiteralInteger.output": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50382,7 +50382,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedDifferencing": [ @@ -50390,7 +50390,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedDisjoining": [ @@ -50398,7 +50398,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedElement": [ @@ -50406,7 +50406,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedEndFeature": [ @@ -50414,7 +50414,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedFeature": [ @@ -50422,7 +50422,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedFeatureChaining": [ @@ -50430,7 +50430,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedFeatureInverting": [ @@ -50438,7 +50438,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedFeatureMembership": [ @@ -50446,7 +50446,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedImport": [ @@ -50454,7 +50454,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedIntersecting": [ @@ -50462,7 +50462,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedMember": [ @@ -50470,7 +50470,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedMembership": [ @@ -50478,7 +50478,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedRedefinition": [ @@ -50486,7 +50486,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedRelationship": [ @@ -50494,7 +50494,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedSpecialization": [ @@ -50502,7 +50502,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedSubsetting": [ @@ -50510,7 +50510,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedTypeFeaturing": [ @@ -50518,7 +50518,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedTyping": [ @@ -50526,7 +50526,7 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.ownedUnioning": [ @@ -50534,11 +50534,11 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.owner": [ - 2005, + 2007, 0, 0, 0, @@ -50546,7 +50546,7 @@ 0 ], "LiteralInteger.owningMembership": [ - 2005, + 2007, 0, 0, 0, @@ -50556,13 +50556,13 @@ "LiteralInteger.owningNamespace": [ 0, 0, - 2005, + 2007, 0, 0, 0 ], "LiteralInteger.owningRelationship": [ - 2005, + 2007, 0, 0, 0, @@ -50572,7 +50572,7 @@ "LiteralInteger.parameter": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50580,7 +50580,7 @@ "LiteralInteger.result": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50590,13 +50590,13 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.type": [ 0, 0, - 2005, + 2007, 0, 0, 0 @@ -50606,11 +50606,11 @@ 0, 0, 0, - 2005, + 2007, 0 ], "LiteralInteger.value": [ - 2005, + 2007, 0, 0, 0, @@ -51158,13 +51158,13 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.behavior": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51174,7 +51174,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.declaredName": [ @@ -51182,7 +51182,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.declaredShortName": [ @@ -51190,7 +51190,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.differencingType": [ @@ -51198,13 +51198,13 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.directedFeature": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51214,7 +51214,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.documentation": [ @@ -51222,7 +51222,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.endFeature": [ @@ -51230,13 +51230,13 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.feature": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51244,7 +51244,7 @@ "LiteralString.featureMembership": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51252,7 +51252,7 @@ "LiteralString.featureTarget": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51260,15 +51260,15 @@ "LiteralString.featuringType": [ 0, 0, - 390, + 400, 0, - 705, + 775, 0 ], "LiteralString.function": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51278,13 +51278,13 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.inheritedFeature": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51292,7 +51292,7 @@ "LiteralString.inheritedMembership": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51302,7 +51302,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.intersectingType": [ @@ -51310,11 +51310,11 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.isAbstract": [ - 1095, + 1175, 0, 0, 0, @@ -51322,7 +51322,7 @@ 0 ], "LiteralString.isComposite": [ - 1095, + 1175, 0, 0, 0, @@ -51332,13 +51332,13 @@ "LiteralString.isConjugated": [ 0, 0, - 1095, + 1175, 0, 0, 0 ], "LiteralString.isConstant": [ - 1095, + 1175, 0, 0, 0, @@ -51346,7 +51346,7 @@ 0 ], "LiteralString.isDerived": [ - 1095, + 1175, 0, 0, 0, @@ -51354,7 +51354,7 @@ 0 ], "LiteralString.isEnd": [ - 1095, + 1175, 0, 0, 0, @@ -51362,7 +51362,7 @@ 0 ], "LiteralString.isImpliedIncluded": [ - 1095, + 1175, 0, 0, 0, @@ -51372,7 +51372,7 @@ "LiteralString.isLibraryElement": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51380,13 +51380,13 @@ "LiteralString.isModelLevelEvaluable": [ 0, 0, - 1095, + 1175, 0, 0, 0 ], "LiteralString.isOrdered": [ - 1095, + 1175, 0, 0, 0, @@ -51394,7 +51394,7 @@ 0 ], "LiteralString.isPortion": [ - 1095, + 1175, 0, 0, 0, @@ -51402,7 +51402,7 @@ 0 ], "LiteralString.isSufficient": [ - 1095, + 1175, 0, 0, 0, @@ -51410,7 +51410,7 @@ 0 ], "LiteralString.isUnique": [ - 1095, + 1175, 0, 0, 0, @@ -51418,7 +51418,7 @@ 0 ], "LiteralString.isVariable": [ - 1095, + 1175, 0, 0, 0, @@ -51428,7 +51428,7 @@ "LiteralString.member": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51436,7 +51436,7 @@ "LiteralString.membership": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51444,7 +51444,7 @@ "LiteralString.output": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51454,7 +51454,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedDifferencing": [ @@ -51462,7 +51462,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedDisjoining": [ @@ -51470,7 +51470,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedElement": [ @@ -51478,7 +51478,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedEndFeature": [ @@ -51486,7 +51486,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedFeature": [ @@ -51494,7 +51494,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedFeatureChaining": [ @@ -51502,7 +51502,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedFeatureInverting": [ @@ -51510,7 +51510,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedFeatureMembership": [ @@ -51518,7 +51518,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedImport": [ @@ -51526,7 +51526,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedIntersecting": [ @@ -51534,7 +51534,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedMember": [ @@ -51542,7 +51542,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedMembership": [ @@ -51550,7 +51550,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedRedefinition": [ @@ -51558,7 +51558,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedRelationship": [ @@ -51566,7 +51566,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedSpecialization": [ @@ -51574,7 +51574,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedSubsetting": [ @@ -51582,7 +51582,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedTypeFeaturing": [ @@ -51590,7 +51590,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedTyping": [ @@ -51598,7 +51598,7 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.ownedUnioning": [ @@ -51606,11 +51606,11 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.owner": [ - 1095, + 1175, 0, 0, 0, @@ -51618,7 +51618,7 @@ 0 ], "LiteralString.owningMembership": [ - 1095, + 1175, 0, 0, 0, @@ -51628,13 +51628,13 @@ "LiteralString.owningNamespace": [ 0, 0, - 1095, + 1175, 0, 0, 0 ], "LiteralString.owningRelationship": [ - 1095, + 1175, 0, 0, 0, @@ -51644,7 +51644,7 @@ "LiteralString.parameter": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51652,7 +51652,7 @@ "LiteralString.result": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51662,13 +51662,13 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.type": [ 0, 0, - 1095, + 1175, 0, 0, 0 @@ -51678,11 +51678,11 @@ 0, 0, 0, - 1095, + 1175, 0 ], "LiteralString.value": [ - 1095, + 1175, 0, 0, 0, @@ -51694,7 +51694,7 @@ 0, 0, 0, - 3203, + 3217, 0 ], "Membership.declaredName": [ @@ -51702,7 +51702,7 @@ 0, 0, 0, - 3203, + 3217, 0 ], "Membership.declaredShortName": [ @@ -51710,7 +51710,7 @@ 0, 0, 0, - 3203, + 3217, 0 ], "Membership.documentation": [ @@ -51718,11 +51718,11 @@ 0, 3, 0, - 3200, + 3214, 0 ], "Membership.isImplied": [ - 3203, + 3217, 0, 0, 0, @@ -51730,7 +51730,7 @@ 0 ], "Membership.isImpliedIncluded": [ - 3203, + 3217, 0, 0, 0, @@ -51740,23 +51740,23 @@ "Membership.isLibraryElement": [ 0, 0, - 3203, + 3217, 0, 0, 0 ], "Membership.memberElement": [ - 2220, + 2226, 23, 40, 0, 0, - 920 + 928 ], "Membership.memberElementId": [ 0, 0, - 3203, + 3217, 0, 0, 0 @@ -51766,7 +51766,7 @@ 0, 0, 0, - 3169, + 3183, 0 ], "Membership.memberShortName": [ @@ -51774,13 +51774,13 @@ 0, 0, 0, - 3201, + 3215, 0 ], "Membership.membershipOwningNamespace": [ 140, 0, - 3063, + 3077, 0, 0, 0 @@ -51790,7 +51790,7 @@ 0, 5, 0, - 3198, + 3212, 0 ], "Membership.ownedElement": [ @@ -51798,7 +51798,7 @@ 0, 5, 0, - 3198, + 3212, 0 ], "Membership.ownedRelatedElement": [ @@ -51806,7 +51806,7 @@ 0, 0, 3, - 3200, + 3214, 0 ], "Membership.ownedRelationship": [ @@ -51814,14 +51814,14 @@ 0, 5, 0, - 3198, + 3212, 0 ], "Membership.owner": [ 0, 0, 0, - 3203, + 3217, 0, 0 ], @@ -51834,7 +51834,7 @@ 0 ], "Membership.owningRelatedElement": [ - 3203, + 3217, 0, 0, 0, @@ -51846,13 +51846,13 @@ 0, 0, 0, - 3203, + 3217, 0 ], "Membership.relatedElement": [ 0, 0, - 3203, + 3217, 0, 0, 0 @@ -51860,7 +51860,7 @@ "Membership.source": [ 0, 0, - 3203, + 3217, 0, 0, 0 @@ -51868,7 +51868,7 @@ "Membership.target": [ 0, 0, - 3203, + 3217, 0, 0, 0 @@ -51878,13 +51878,13 @@ 0, 0, 0, - 3203, + 3217, 0 ], "Membership.visibility": [ 3, 0, - 3200, + 3214, 0, 0, 0 @@ -51894,7 +51894,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.declaredName": [ @@ -51902,7 +51902,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.declaredShortName": [ @@ -51910,7 +51910,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.documentation": [ @@ -51918,11 +51918,11 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.importOwningNamespace": [ - 73, + 75, 0, 0, 0, @@ -51932,13 +51932,13 @@ "MembershipExpose.importedElement": [ 0, 0, - 72, + 74, 0, 0, 0 ], "MembershipExpose.importedMembership": [ - 69, + 71, 3, 1, 0, @@ -51946,7 +51946,7 @@ 0 ], "MembershipExpose.isImplied": [ - 73, + 75, 0, 0, 0, @@ -51954,7 +51954,7 @@ 0 ], "MembershipExpose.isImpliedIncluded": [ - 73, + 75, 0, 0, 0, @@ -51962,7 +51962,7 @@ 0 ], "MembershipExpose.isImportAll": [ - 73, + 75, 0, 0, 0, @@ -51972,13 +51972,13 @@ "MembershipExpose.isLibraryElement": [ 0, 0, - 73, + 75, 0, 0, 0 ], "MembershipExpose.isRecursive": [ - 73, + 75, 0, 0, 0, @@ -51990,7 +51990,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.ownedElement": [ @@ -51998,7 +51998,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.ownedRelatedElement": [ @@ -52006,7 +52006,7 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.ownedRelationship": [ @@ -52014,14 +52014,14 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.owner": [ 0, 0, 0, - 73, + 75, 0, 0 ], @@ -52029,12 +52029,12 @@ 0, 0, 0, - 73, + 75, 0, 0 ], "MembershipExpose.owningRelatedElement": [ - 73, + 75, 0, 0, 0, @@ -52046,13 +52046,13 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.relatedElement": [ 0, 0, - 73, + 75, 0, 0, 0 @@ -52060,7 +52060,7 @@ "MembershipExpose.source": [ 0, 0, - 73, + 75, 0, 0, 0 @@ -52068,7 +52068,7 @@ "MembershipExpose.target": [ 0, 0, - 73, + 75, 0, 0, 0 @@ -52078,11 +52078,11 @@ 0, 0, 0, - 73, + 75, 0 ], "MembershipExpose.visibility": [ - 73, + 75, 0, 0, 0, @@ -55270,13 +55270,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.annotatedElement": [ 9, 0, - 369, + 376, 0, 7, 0 @@ -55286,7 +55286,7 @@ 0, 13, 0, - 372, + 379, 0 ], "MetadataUsage.chainingFeature": [ @@ -55294,7 +55294,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.declaredName": [ @@ -55302,7 +55302,7 @@ 0, 0, 0, - 380, + 387, 0 ], "MetadataUsage.declaredShortName": [ @@ -55310,13 +55310,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.definition": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55326,7 +55326,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.directedFeature": [ @@ -55334,7 +55334,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.directedUsage": [ @@ -55342,7 +55342,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.direction": [ @@ -55350,7 +55350,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.documentation": [ @@ -55358,7 +55358,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.endFeature": [ @@ -55366,13 +55366,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.feature": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55380,7 +55380,7 @@ "MetadataUsage.featureMembership": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55388,7 +55388,7 @@ "MetadataUsage.featureTarget": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55398,7 +55398,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.importedMembership": [ @@ -55406,13 +55406,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.inheritedFeature": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55420,7 +55420,7 @@ "MetadataUsage.inheritedMembership": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55430,7 +55430,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.intersectingType": [ @@ -55438,11 +55438,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.isAbstract": [ - 385, + 392, 0, 0, 0, @@ -55450,7 +55450,7 @@ 0 ], "MetadataUsage.isComposite": [ - 385, + 392, 0, 0, 0, @@ -55460,13 +55460,13 @@ "MetadataUsage.isConjugated": [ 0, 0, - 385, + 392, 0, 0, 0 ], "MetadataUsage.isConstant": [ - 385, + 392, 0, 0, 0, @@ -55474,7 +55474,7 @@ 0 ], "MetadataUsage.isDerived": [ - 385, + 392, 0, 0, 0, @@ -55482,7 +55482,7 @@ 0 ], "MetadataUsage.isEnd": [ - 385, + 392, 0, 0, 0, @@ -55490,7 +55490,7 @@ 0 ], "MetadataUsage.isImpliedIncluded": [ - 385, + 392, 0, 0, 0, @@ -55498,7 +55498,7 @@ 0 ], "MetadataUsage.isIndividual": [ - 385, + 392, 0, 0, 0, @@ -55508,13 +55508,13 @@ "MetadataUsage.isLibraryElement": [ 0, 0, - 385, + 392, 0, 0, 0 ], "MetadataUsage.isOrdered": [ - 385, + 392, 0, 0, 0, @@ -55522,7 +55522,7 @@ 0 ], "MetadataUsage.isPortion": [ - 385, + 392, 0, 0, 0, @@ -55532,13 +55532,13 @@ "MetadataUsage.isReference": [ 0, 0, - 385, + 392, 0, 0, 0 ], "MetadataUsage.isSufficient": [ - 385, + 392, 0, 0, 0, @@ -55546,7 +55546,7 @@ 0 ], "MetadataUsage.isUnique": [ - 385, + 392, 0, 0, 0, @@ -55558,11 +55558,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.isVariation": [ - 385, + 392, 0, 0, 0, @@ -55572,7 +55572,7 @@ "MetadataUsage.itemDefinition": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55580,7 +55580,7 @@ "MetadataUsage.mayTimeVary": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55588,7 +55588,7 @@ "MetadataUsage.member": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55596,7 +55596,7 @@ "MetadataUsage.membership": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55604,7 +55604,7 @@ "MetadataUsage.metaclass": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55612,7 +55612,7 @@ "MetadataUsage.metadataDefinition": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55630,7 +55630,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedAllocation": [ @@ -55638,7 +55638,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedAnalysisCase": [ @@ -55646,7 +55646,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedAttribute": [ @@ -55654,7 +55654,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedCalculation": [ @@ -55662,7 +55662,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedCase": [ @@ -55670,7 +55670,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedConcern": [ @@ -55678,7 +55678,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedConnection": [ @@ -55686,7 +55686,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedConstraint": [ @@ -55694,7 +55694,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedEnumeration": [ @@ -55702,7 +55702,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedFlow": [ @@ -55710,7 +55710,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedInterface": [ @@ -55718,7 +55718,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedItem": [ @@ -55726,7 +55726,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedMetadata": [ @@ -55734,7 +55734,7 @@ 0, 1, 0, - 384, + 391, 0 ], "MetadataUsage.nestedOccurrence": [ @@ -55742,7 +55742,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedPart": [ @@ -55750,7 +55750,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedPort": [ @@ -55758,7 +55758,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedReference": [ @@ -55766,7 +55766,7 @@ 0, 113, 0, - 272, + 279, 0 ], "MetadataUsage.nestedRendering": [ @@ -55774,7 +55774,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedRequirement": [ @@ -55782,7 +55782,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedState": [ @@ -55790,7 +55790,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedTransition": [ @@ -55798,7 +55798,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedUsage": [ @@ -55806,7 +55806,7 @@ 0, 113, 0, - 272, + 279, 0 ], "MetadataUsage.nestedUseCase": [ @@ -55814,7 +55814,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedVerificationCase": [ @@ -55822,7 +55822,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedView": [ @@ -55830,7 +55830,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.nestedViewpoint": [ @@ -55838,13 +55838,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.occurrenceDefinition": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -55854,7 +55854,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedAnnotatingRelationship": [ @@ -55862,7 +55862,7 @@ 0, 13, 0, - 372, + 379, 0 ], "MetadataUsage.ownedAnnotation": [ @@ -55870,7 +55870,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedDifferencing": [ @@ -55878,7 +55878,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedDisjoining": [ @@ -55886,7 +55886,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedElement": [ @@ -55894,7 +55894,7 @@ 0, 113, 0, - 272, + 279, 0 ], "MetadataUsage.ownedEndFeature": [ @@ -55902,7 +55902,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedFeature": [ @@ -55910,7 +55910,7 @@ 0, 0, 0, - 272, + 279, 0 ], "MetadataUsage.ownedFeatureChaining": [ @@ -55918,7 +55918,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedFeatureInverting": [ @@ -55926,7 +55926,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedFeatureMembership": [ @@ -55934,7 +55934,7 @@ 0, 0, 0, - 272, + 279, 0 ], "MetadataUsage.ownedImport": [ @@ -55942,7 +55942,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedIntersecting": [ @@ -55950,7 +55950,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedMember": [ @@ -55958,7 +55958,7 @@ 0, 0, 0, - 272, + 279, 0 ], "MetadataUsage.ownedMembership": [ @@ -55966,7 +55966,7 @@ 0, 0, 0, - 272, + 279, 0 ], "MetadataUsage.ownedRedefinition": [ @@ -55974,11 +55974,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedRelationship": [ - 275, + 282, 110, 0, 0, @@ -55986,7 +55986,7 @@ 0 ], "MetadataUsage.ownedSpecialization": [ - 385, + 392, 0, 0, 0, @@ -55998,7 +55998,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedTypeFeaturing": [ @@ -56006,11 +56006,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.ownedTyping": [ - 385, + 392, 0, 0, 0, @@ -56022,11 +56022,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.owner": [ - 385, + 392, 0, 0, 0, @@ -56034,7 +56034,7 @@ 0 ], "MetadataUsage.owningMembership": [ - 372, + 379, 6, 0, 0, @@ -56042,7 +56042,7 @@ 0 ], "MetadataUsage.owningNamespace": [ - 378, + 385, 0, 0, 0, @@ -56050,7 +56050,7 @@ 0 ], "MetadataUsage.owningRelationship": [ - 379, + 386, 6, 0, 0, @@ -56062,7 +56062,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.qualifiedName": [ @@ -56078,11 +56078,11 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.type": [ - 155, + 162, 0, 13, 0, @@ -56094,13 +56094,13 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.usage": [ 0, 0, - 385, + 392, 0, 0, 0 @@ -56110,7 +56110,7 @@ 0, 0, 0, - 385, + 392, 0 ], "MetadataUsage.variantMembership": [ @@ -56118,7 +56118,7 @@ 0, 0, 0, - 385, + 392, 0 ], "Multiplicity.aliasIds": [ @@ -57166,7 +57166,7 @@ 0, 0, 0, - 857, + 858, 0 ], "Namespace.declaredName": [ @@ -57174,7 +57174,7 @@ 0, 0, 0, - 838, + 839, 0 ], "Namespace.declaredShortName": [ @@ -57182,7 +57182,7 @@ 0, 0, 0, - 855, + 856, 0 ], "Namespace.documentation": [ @@ -57190,7 +57190,7 @@ 0, 3, 0, - 854, + 855, 0 ], "Namespace.importedMembership": [ @@ -57198,11 +57198,11 @@ 0, 11, 0, - 846, + 847, 0 ], "Namespace.isImpliedIncluded": [ - 857, + 858, 0, 0, 0, @@ -57212,7 +57212,7 @@ "Namespace.isLibraryElement": [ 0, 0, - 857, + 858, 0, 0, 0 @@ -57220,7 +57220,7 @@ "Namespace.member": [ 0, 0, - 851, + 852, 0, 6, 0 @@ -57228,7 +57228,7 @@ "Namespace.membership": [ 0, 0, - 852, + 853, 0, 5, 0 @@ -57246,13 +57246,13 @@ 0, 0, 0, - 857, + 858, 0 ], "Namespace.ownedElement": [ 0, 0, - 850, + 851, 0, 7, 0 @@ -57262,11 +57262,11 @@ 0, 7, 1, - 843, + 844, 0 ], "Namespace.ownedMember": [ - 814, + 815, 34, 1, 0, @@ -57274,7 +57274,7 @@ 0 ], "Namespace.ownedMembership": [ - 814, + 815, 34, 1, 0, @@ -57282,7 +57282,7 @@ 0 ], "Namespace.ownedRelationship": [ - 819, + 820, 34, 1, 1, @@ -57318,7 +57318,7 @@ 0, 0, 0, - 838, + 839, 0 ], "Namespace.qualifiedName": [ @@ -57342,7 +57342,7 @@ 0, 0, 0, - 857, + 858, 0 ], "NamespaceExpose.aliasIds": [ @@ -57550,7 +57550,7 @@ 0, 0, 0, - 673, + 674, 0 ], "NamespaceImport.declaredName": [ @@ -57558,7 +57558,7 @@ 0, 0, 0, - 673, + 674, 0 ], "NamespaceImport.declaredShortName": [ @@ -57566,7 +57566,7 @@ 0, 0, 0, - 673, + 674, 0 ], "NamespaceImport.documentation": [ @@ -57574,11 +57574,11 @@ 0, 1, 0, - 672, + 673, 0 ], "NamespaceImport.importOwningNamespace": [ - 673, + 674, 0, 0, 0, @@ -57588,7 +57588,7 @@ "NamespaceImport.importedElement": [ 0, 0, - 673, + 674, 0, 0, 0 @@ -57599,10 +57599,10 @@ 8, 0, 0, - 347 + 348 ], "NamespaceImport.isImplied": [ - 673, + 674, 0, 0, 0, @@ -57610,7 +57610,7 @@ 0 ], "NamespaceImport.isImpliedIncluded": [ - 673, + 674, 0, 0, 0, @@ -57618,7 +57618,7 @@ 0 ], "NamespaceImport.isImportAll": [ - 673, + 674, 0, 0, 0, @@ -57628,13 +57628,13 @@ "NamespaceImport.isLibraryElement": [ 0, 0, - 673, + 674, 0, 0, 0 ], "NamespaceImport.isRecursive": [ - 673, + 674, 0, 0, 0, @@ -57646,7 +57646,7 @@ 0, 2, 0, - 671, + 672, 0 ], "NamespaceImport.ownedElement": [ @@ -57654,7 +57654,7 @@ 0, 2, 0, - 671, + 672, 0 ], "NamespaceImport.ownedRelatedElement": [ @@ -57662,7 +57662,7 @@ 0, 0, 1, - 660, + 661, 0 ], "NamespaceImport.ownedRelationship": [ @@ -57670,14 +57670,14 @@ 0, 2, 0, - 671, + 672, 0 ], "NamespaceImport.owner": [ 0, 0, 0, - 673, + 674, 0, 0 ], @@ -57685,12 +57685,12 @@ 0, 0, 0, - 666, + 667, 0, 0 ], "NamespaceImport.owningRelatedElement": [ - 673, + 674, 0, 0, 0, @@ -57702,13 +57702,13 @@ 0, 0, 0, - 673, + 674, 0 ], "NamespaceImport.relatedElement": [ 0, 0, - 673, + 674, 0, 0, 0 @@ -57716,7 +57716,7 @@ "NamespaceImport.source": [ 0, 0, - 673, + 674, 0, 0, 0 @@ -57724,7 +57724,7 @@ "NamespaceImport.target": [ 0, 0, - 673, + 674, 0, 0, 0 @@ -57734,11 +57734,11 @@ 0, 0, 0, - 673, + 674, 0 ], "NamespaceImport.visibility": [ - 666, + 667, 0, 7, 0, @@ -60070,12 +60070,12 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.argument": [ 1100, - 204, + 206, 27, 1, 1, @@ -60084,7 +60084,7 @@ "OperatorExpression.behavior": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60094,7 +60094,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.declaredName": [ @@ -60102,7 +60102,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.declaredShortName": [ @@ -60110,7 +60110,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.differencingType": [ @@ -60118,13 +60118,13 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.directedFeature": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60134,7 +60134,7 @@ 0, 6, 0, - 1327, + 1329, 0 ], "OperatorExpression.documentation": [ @@ -60142,7 +60142,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.endFeature": [ @@ -60150,13 +60150,13 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.feature": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60164,7 +60164,7 @@ "OperatorExpression.featureMembership": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60172,7 +60172,7 @@ "OperatorExpression.featureTarget": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60180,7 +60180,7 @@ "OperatorExpression.featuringType": [ 0, 0, - 874, + 876, 0, 459, 0 @@ -60188,7 +60188,7 @@ "OperatorExpression.function": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60198,13 +60198,13 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.inheritedFeature": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60212,14 +60212,14 @@ "OperatorExpression.inheritedMembership": [ 0, 0, - 1333, + 1335, 0, 0, 0 ], "OperatorExpression.input": [ 1176, - 155, + 157, 1, 1, 0, @@ -60228,7 +60228,7 @@ "OperatorExpression.instantiatedType": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60238,11 +60238,11 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.isAbstract": [ - 1333, + 1335, 0, 0, 0, @@ -60250,7 +60250,7 @@ 0 ], "OperatorExpression.isComposite": [ - 1333, + 1335, 0, 0, 0, @@ -60260,13 +60260,13 @@ "OperatorExpression.isConjugated": [ 0, 0, - 1333, + 1335, 0, 0, 0 ], "OperatorExpression.isConstant": [ - 1333, + 1335, 0, 0, 0, @@ -60274,7 +60274,7 @@ 0 ], "OperatorExpression.isDerived": [ - 1333, + 1335, 0, 0, 0, @@ -60282,7 +60282,7 @@ 0 ], "OperatorExpression.isEnd": [ - 1333, + 1335, 0, 0, 0, @@ -60290,7 +60290,7 @@ 0 ], "OperatorExpression.isImpliedIncluded": [ - 1333, + 1335, 0, 0, 0, @@ -60300,7 +60300,7 @@ "OperatorExpression.isLibraryElement": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60308,13 +60308,13 @@ "OperatorExpression.isModelLevelEvaluable": [ 0, 0, - 1333, + 1335, 0, 0, 0 ], "OperatorExpression.isOrdered": [ - 1333, + 1335, 0, 0, 0, @@ -60322,7 +60322,7 @@ 0 ], "OperatorExpression.isPortion": [ - 1333, + 1335, 0, 0, 0, @@ -60330,7 +60330,7 @@ 0 ], "OperatorExpression.isSufficient": [ - 1333, + 1335, 0, 0, 0, @@ -60338,7 +60338,7 @@ 0 ], "OperatorExpression.isUnique": [ - 1333, + 1335, 0, 0, 0, @@ -60346,7 +60346,7 @@ 0 ], "OperatorExpression.isVariable": [ - 1333, + 1335, 0, 0, 0, @@ -60356,7 +60356,7 @@ "OperatorExpression.member": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60364,7 +60364,7 @@ "OperatorExpression.membership": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60378,7 +60378,7 @@ 0 ], "OperatorExpression.operator": [ - 1321, + 1323, 12, 0, 0, @@ -60388,7 +60388,7 @@ "OperatorExpression.output": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60398,7 +60398,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedDifferencing": [ @@ -60406,7 +60406,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedDisjoining": [ @@ -60414,13 +60414,13 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedElement": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60430,12 +60430,12 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedFeature": [ 1199, - 134, + 136, 0, 0, 0, @@ -60446,7 +60446,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedFeatureInverting": [ @@ -60454,12 +60454,12 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedFeatureMembership": [ 1199, - 134, + 136, 0, 0, 0, @@ -60470,7 +60470,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedIntersecting": [ @@ -60478,20 +60478,20 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedMember": [ 0, 0, - 1333, + 1335, 0, 0, 0 ], "OperatorExpression.ownedMembership": [ 1199, - 134, + 136, 0, 0, 0, @@ -60502,12 +60502,12 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedRelationship": [ 1199, - 134, + 136, 0, 0, 0, @@ -60518,7 +60518,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedSubsetting": [ @@ -60526,7 +60526,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedTypeFeaturing": [ @@ -60534,7 +60534,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedTyping": [ @@ -60542,7 +60542,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.ownedUnioning": [ @@ -60550,11 +60550,11 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.owner": [ - 1333, + 1335, 0, 0, 0, @@ -60570,7 +60570,7 @@ 0 ], "OperatorExpression.owningMembership": [ - 1331, + 1333, 2, 0, 0, @@ -60580,13 +60580,13 @@ "OperatorExpression.owningNamespace": [ 232, 0, - 1101, + 1103, 0, 0, 0 ], "OperatorExpression.owningRelationship": [ - 1331, + 1333, 2, 0, 0, @@ -60603,7 +60603,7 @@ ], "OperatorExpression.parameter": [ 1176, - 157, + 159, 0, 0, 0, @@ -60611,7 +60611,7 @@ ], "OperatorExpression.result": [ 1199, - 134, + 136, 0, 0, 0, @@ -60622,13 +60622,13 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OperatorExpression.type": [ 0, 0, - 1333, + 1335, 0, 0, 0 @@ -60638,7 +60638,7 @@ 0, 0, 0, - 1333, + 1335, 0 ], "OwningMembership.aliasIds": [ @@ -60646,7 +60646,7 @@ 0, 0, 0, - 9628, + 9675, 0 ], "OwningMembership.declaredName": [ @@ -60654,7 +60654,7 @@ 0, 0, 0, - 9628, + 9675, 0 ], "OwningMembership.declaredShortName": [ @@ -60662,7 +60662,7 @@ 0, 0, 0, - 9628, + 9675, 0 ], "OwningMembership.documentation": [ @@ -60670,11 +60670,11 @@ 0, 0, 0, - 9628, + 9675, 0 ], "OwningMembership.isImplied": [ - 9628, + 9675, 0, 0, 0, @@ -60682,7 +60682,7 @@ 0 ], "OwningMembership.isImpliedIncluded": [ - 9628, + 9675, 0, 0, 0, @@ -60692,23 +60692,23 @@ "OwningMembership.isLibraryElement": [ 0, 0, - 9628, + 9675, 0, 0, 0 ], "OwningMembership.memberElement": [ - 8980, + 9015, 431, 0, 3, 0, - 214 + 226 ], "OwningMembership.memberElementId": [ 0, 0, - 9625, + 9672, 0, 0, 0 @@ -60716,7 +60716,7 @@ "OwningMembership.memberName": [ 0, 0, - 5671, + 5694, 0, 0, 0 @@ -60730,7 +60730,7 @@ 0 ], "OwningMembership.membershipOwningNamespace": [ - 9628, + 9675, 0, 0, 0, @@ -60742,7 +60742,7 @@ 0, 0, 0, - 9628, + 9675, 0 ], "OwningMembership.ownedElement": [ @@ -60750,21 +60750,21 @@ 0, 0, 0, - 9628, + 9675, 0 ], "OwningMembership.ownedMemberElement": [ - 8980, + 9015, 431, 0, 3, 0, - 214 + 226 ], "OwningMembership.ownedMemberElementId": [ 0, 0, - 9625, + 9672, 0, 0, 0 @@ -60772,7 +60772,7 @@ "OwningMembership.ownedMemberName": [ 0, 0, - 5671, + 5694, 0, 0, 0 @@ -60786,31 +60786,31 @@ 0 ], "OwningMembership.ownedRelatedElement": [ - 8980, + 9015, 431, 0, 3, 0, - 214 + 226 ], "OwningMembership.ownedRelationship": [ 0, 0, 0, 0, - 9628, + 9675, 0 ], "OwningMembership.owner": [ 0, 0, 0, - 9628, + 9675, 0, 0 ], "OwningMembership.owningRelatedElement": [ - 9628, + 9675, 0, 0, 0, @@ -60822,13 +60822,13 @@ 0, 0, 0, - 9628, + 9675, 0 ], "OwningMembership.relatedElement": [ 0, 0, - 9628, + 9675, 0, 0, 0 @@ -60836,7 +60836,7 @@ "OwningMembership.source": [ 0, 0, - 9628, + 9675, 0, 0, 0 @@ -60844,7 +60844,7 @@ "OwningMembership.target": [ 0, 0, - 9625, + 9672, 0, 3, 0 @@ -60854,13 +60854,13 @@ 0, 0, 0, - 9628, + 9675, 0 ], "OwningMembership.visibility": [ 25, 0, - 9603, + 9650, 0, 0, 0 @@ -60870,11 +60870,11 @@ 0, 0, 0, - 1230, + 1231, 0 ], "Package.declaredName": [ - 1201, + 1202, 0, 0, 0, @@ -60886,7 +60886,7 @@ 0, 0, 0, - 1230, + 1231, 0 ], "Package.documentation": [ @@ -60894,7 +60894,7 @@ 0, 41, 0, - 1189, + 1190, 0 ], "Package.filterCondition": [ @@ -60902,19 +60902,19 @@ 0, 44, 0, - 1186, + 1187, 0 ], "Package.importedMembership": [ 0, 0, - 482, + 483, 0, 748, 0 ], "Package.isImpliedIncluded": [ - 1230, + 1231, 0, 0, 0, @@ -60924,7 +60924,7 @@ "Package.isLibraryElement": [ 0, 0, - 1230, + 1231, 0, 0, 0 @@ -60932,7 +60932,7 @@ "Package.member": [ 0, 0, - 1194, + 1195, 0, 36, 0 @@ -60940,7 +60940,7 @@ "Package.membership": [ 0, 0, - 1194, + 1195, 0, 36, 0 @@ -60948,7 +60948,7 @@ "Package.name": [ 0, 0, - 1201, + 1202, 0, 0, 0 @@ -60958,19 +60958,19 @@ 0, 0, 0, - 1230, + 1231, 0 ], "Package.ownedElement": [ 0, 0, - 1178, + 1179, 0, 52, 0 ], "Package.ownedImport": [ - 488, + 489, 0, 0, 0, @@ -60978,7 +60978,7 @@ 0 ], "Package.ownedMember": [ - 1000, + 1001, 62, 50, 0, @@ -60986,7 +60986,7 @@ 66 ], "Package.ownedMembership": [ - 1104, + 1105, 65, 11, 0, @@ -60994,7 +60994,7 @@ 0 ], "Package.ownedRelationship": [ - 1120, + 1121, 76, 0, 0, @@ -61002,7 +61002,7 @@ 0 ], "Package.owner": [ - 1230, + 1231, 0, 0, 0, @@ -61010,7 +61010,7 @@ 0 ], "Package.owningMembership": [ - 1168, + 1169, 33, 0, 0, @@ -61018,7 +61018,7 @@ 0 ], "Package.owningNamespace": [ - 1201, + 1202, 0, 0, 0, @@ -61026,7 +61026,7 @@ 0 ], "Package.owningRelationship": [ - 1197, + 1198, 33, 0, 0, @@ -61034,7 +61034,7 @@ 0 ], "Package.qualifiedName": [ - 1200, + 1201, 1, 0, 0, @@ -61046,7 +61046,7 @@ 0, 0, 0, - 1230, + 1231, 0 ], "ParameterMembership.aliasIds": [ @@ -61054,7 +61054,7 @@ 0, 0, 0, - 4414, + 4438, 0 ], "ParameterMembership.declaredName": [ @@ -61062,7 +61062,7 @@ 0, 0, 0, - 4414, + 4438, 0 ], "ParameterMembership.declaredShortName": [ @@ -61070,7 +61070,7 @@ 0, 0, 0, - 4414, + 4438, 0 ], "ParameterMembership.documentation": [ @@ -61078,11 +61078,11 @@ 0, 0, 0, - 4414, + 4438, 0 ], "ParameterMembership.isImplied": [ - 4414, + 4438, 0, 0, 0, @@ -61090,7 +61090,7 @@ 0 ], "ParameterMembership.isImpliedIncluded": [ - 4414, + 4438, 0, 0, 0, @@ -61100,13 +61100,13 @@ "ParameterMembership.isLibraryElement": [ 0, 0, - 4414, + 4438, 0, 0, 0 ], "ParameterMembership.memberElement": [ - 4201, + 4225, 213, 0, 0, @@ -61116,7 +61116,7 @@ "ParameterMembership.memberElementId": [ 0, 0, - 4414, + 4438, 0, 0, 0 @@ -61124,13 +61124,13 @@ "ParameterMembership.memberName": [ 0, 0, - 4398, + 4422, 0, 0, 0 ], "ParameterMembership.membershipOwningNamespace": [ - 4414, + 4438, 0, 0, 0, @@ -61142,7 +61142,7 @@ 0, 0, 0, - 4414, + 4438, 0 ], "ParameterMembership.ownedElement": [ @@ -61150,11 +61150,11 @@ 0, 0, 0, - 4414, + 4438, 0 ], "ParameterMembership.ownedMemberElement": [ - 4201, + 4225, 213, 0, 0, @@ -61164,13 +61164,13 @@ "ParameterMembership.ownedMemberElementId": [ 0, 0, - 4414, + 4438, 0, 0, 0 ], "ParameterMembership.ownedMemberFeature": [ - 4197, + 4221, 213, 4, 0, @@ -61180,13 +61180,13 @@ "ParameterMembership.ownedMemberName": [ 0, 0, - 4398, + 4422, 0, 0, 0 ], "ParameterMembership.ownedMemberParameter": [ - 4201, + 4225, 213, 0, 0, @@ -61194,7 +61194,7 @@ 0 ], "ParameterMembership.ownedRelatedElement": [ - 4201, + 4225, 213, 0, 0, @@ -61206,19 +61206,19 @@ 0, 0, 0, - 4414, + 4438, 0 ], "ParameterMembership.owner": [ 0, 0, 0, - 4414, + 4438, 0, 0 ], "ParameterMembership.owningRelatedElement": [ - 4414, + 4438, 0, 0, 0, @@ -61230,13 +61230,13 @@ 0, 0, 0, - 4414, + 4438, 0 ], "ParameterMembership.owningType": [ 70, 0, - 4344, + 4368, 0, 0, 0 @@ -61244,7 +61244,7 @@ "ParameterMembership.relatedElement": [ 0, 0, - 4414, + 4438, 0, 0, 0 @@ -61252,7 +61252,7 @@ "ParameterMembership.source": [ 0, 0, - 4414, + 4438, 0, 0, 0 @@ -61260,7 +61260,7 @@ "ParameterMembership.target": [ 0, 0, - 4414, + 4438, 0, 0, 0 @@ -61270,13 +61270,13 @@ 0, 0, 0, - 4414, + 4438, 0 ], "ParameterMembership.visibility": [ 0, 0, - 4414, + 4438, 0, 0, 0 @@ -61286,11 +61286,11 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.declaredName": [ - 926, + 941, 0, 0, 0, @@ -61302,7 +61302,7 @@ 0, 0, 0, - 923, + 938, 0 ], "PartDefinition.differencingType": [ @@ -61310,23 +61310,23 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.directedFeature": [ 0, 0, - 65, + 68, 0, - 861, + 873, 0 ], "PartDefinition.directedUsage": [ 0, 0, - 65, + 68, 0, - 861, + 873, 0 ], "PartDefinition.documentation": [ @@ -61334,7 +61334,7 @@ 0, 15, 0, - 911, + 926, 0 ], "PartDefinition.endFeature": [ @@ -61342,13 +61342,13 @@ 0, 1, 0, - 925, + 940, 0 ], "PartDefinition.feature": [ 0, 0, - 926, + 941, 0, 0, 0 @@ -61356,7 +61356,7 @@ "PartDefinition.featureMembership": [ 0, 0, - 926, + 941, 0, 0, 0 @@ -61366,13 +61366,13 @@ 0, 2, 0, - 924, + 939, 0 ], "PartDefinition.inheritedFeature": [ 0, 0, - 926, + 941, 0, 0, 0 @@ -61380,7 +61380,7 @@ "PartDefinition.inheritedMembership": [ 0, 0, - 926, + 941, 0, 0, 0 @@ -61390,7 +61390,7 @@ 0, 45, 0, - 881, + 896, 0 ], "PartDefinition.intersectingType": [ @@ -61398,11 +61398,11 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.isAbstract": [ - 926, + 941, 0, 0, 0, @@ -61412,13 +61412,13 @@ "PartDefinition.isConjugated": [ 0, 0, - 926, + 941, 0, 0, 0 ], "PartDefinition.isImpliedIncluded": [ - 926, + 941, 0, 0, 0, @@ -61426,7 +61426,7 @@ 0 ], "PartDefinition.isIndividual": [ - 926, + 941, 0, 0, 0, @@ -61436,13 +61436,13 @@ "PartDefinition.isLibraryElement": [ 0, 0, - 926, + 941, 0, 0, 0 ], "PartDefinition.isSufficient": [ - 926, + 941, 0, 0, 0, @@ -61450,7 +61450,7 @@ 0 ], "PartDefinition.isVariation": [ - 926, + 941, 0, 0, 0, @@ -61460,7 +61460,7 @@ "PartDefinition.member": [ 0, 0, - 926, + 941, 0, 0, 0 @@ -61468,7 +61468,7 @@ "PartDefinition.membership": [ 0, 0, - 926, + 941, 0, 0, 0 @@ -61484,7 +61484,7 @@ "PartDefinition.name": [ 0, 0, - 926, + 941, 0, 0, 0 @@ -61492,9 +61492,9 @@ "PartDefinition.output": [ 0, 0, - 48, + 51, 0, - 878, + 890, 0 ], "PartDefinition.ownedAction": [ @@ -61502,7 +61502,7 @@ 0, 63, 0, - 863, + 878, 0 ], "PartDefinition.ownedAllocation": [ @@ -61510,7 +61510,7 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedAnalysisCase": [ @@ -61518,7 +61518,7 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedAnnotation": [ @@ -61526,15 +61526,15 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedAttribute": [ 0, 0, - 339, + 353, 0, - 587, + 588, 0 ], "PartDefinition.ownedCalculation": [ @@ -61542,7 +61542,7 @@ 0, 2, 0, - 924, + 939, 0 ], "PartDefinition.ownedCase": [ @@ -61550,7 +61550,7 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedConcern": [ @@ -61558,7 +61558,7 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedConnection": [ @@ -61566,7 +61566,7 @@ 0, 32, 0, - 894, + 909, 0 ], "PartDefinition.ownedConstraint": [ @@ -61574,7 +61574,7 @@ 0, 26, 0, - 900, + 915, 0 ], "PartDefinition.ownedDifferencing": [ @@ -61582,7 +61582,7 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedDisjoining": [ @@ -61590,13 +61590,13 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedElement": [ 0, 0, - 591, + 606, 0, 335, 0 @@ -61606,7 +61606,7 @@ 0, 1, 0, - 925, + 940, 0 ], "PartDefinition.ownedEnumeration": [ @@ -61614,11 +61614,11 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedFeature": [ - 517, + 532, 1, 0, 0, @@ -61626,7 +61626,7 @@ 23 ], "PartDefinition.ownedFeatureMembership": [ - 541, + 556, 0, 0, 0, @@ -61638,7 +61638,7 @@ 0, 13, 0, - 913, + 928, 0 ], "PartDefinition.ownedImport": [ @@ -61646,7 +61646,7 @@ 0, 0, 0, - 924, + 939, 0 ], "PartDefinition.ownedInterface": [ @@ -61654,7 +61654,7 @@ 0, 5, 0, - 921, + 936, 0 ], "PartDefinition.ownedIntersecting": [ @@ -61662,19 +61662,19 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedItem": [ 0, 0, - 217, + 220, 0, - 709, + 721, 0 ], "PartDefinition.ownedMember": [ - 547, + 562, 14, 8, 0, @@ -61682,7 +61682,7 @@ 22 ], "PartDefinition.ownedMembership": [ - 570, + 585, 13, 8, 0, @@ -61692,45 +61692,45 @@ "PartDefinition.ownedMetadata": [ 0, 0, - 79, + 86, 0, - 847, + 855, 0 ], "PartDefinition.ownedOccurrence": [ 0, 0, - 333, + 339, 0, - 593, + 602, 0 ], "PartDefinition.ownedPart": [ 0, 0, - 161, + 163, 0, - 765, + 778, 0 ], "PartDefinition.ownedPort": [ 0, 0, - 116, + 119, 0, - 810, + 822, 0 ], "PartDefinition.ownedReference": [ 0, 0, - 37, + 38, 0, - 889, + 903, 0 ], "PartDefinition.ownedRelationship": [ - 625, + 640, 20, 1, 0, @@ -61742,7 +61742,7 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedRequirement": [ @@ -61750,15 +61750,15 @@ 0, 1, 0, - 925, + 940, 0 ], "PartDefinition.ownedSpecialization": [ - 270, + 284, 0, 0, 0, - 656, + 657, 0 ], "PartDefinition.ownedState": [ @@ -61766,15 +61766,15 @@ 0, 29, 0, - 897, + 912, 0 ], "PartDefinition.ownedSubclassification": [ - 270, + 284, 0, 0, 0, - 656, + 657, 0 ], "PartDefinition.ownedTransition": [ @@ -61782,7 +61782,7 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedUnioning": [ @@ -61790,13 +61790,13 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedUsage": [ 0, 0, - 541, + 556, 0, 385, 0 @@ -61806,7 +61806,7 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedVerificationCase": [ @@ -61814,7 +61814,7 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedView": [ @@ -61822,7 +61822,7 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.ownedViewpoint": [ @@ -61830,11 +61830,11 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.owner": [ - 926, + 941, 0, 0, 0, @@ -61842,7 +61842,7 @@ 0 ], "PartDefinition.owningMembership": [ - 911, + 926, 15, 0, 0, @@ -61850,7 +61850,7 @@ 0 ], "PartDefinition.owningNamespace": [ - 926, + 941, 0, 0, 0, @@ -61858,7 +61858,7 @@ 0 ], "PartDefinition.owningRelationship": [ - 911, + 926, 15, 0, 0, @@ -61866,7 +61866,7 @@ 0 ], "PartDefinition.qualifiedName": [ - 925, + 940, 0, 0, 0, @@ -61885,16 +61885,16 @@ 0, 0, 0, - 270, + 284, 0, 0 ], "PartDefinition.textualRepresentation": [ 0, 0, - 2, + 3, 0, - 924, + 938, 0 ], "PartDefinition.unioningType": [ @@ -61902,13 +61902,13 @@ 0, 0, 0, - 926, + 941, 0 ], "PartDefinition.usage": [ 0, 0, - 926, + 941, 0, 0, 0 @@ -61918,7 +61918,7 @@ 0, 0, 0, - 920, + 935, 0 ], "PartDefinition.variantMembership": [ @@ -61926,7 +61926,7 @@ 0, 0, 0, - 920, + 935, 0 ], "PartUsage.aliasIds": [ @@ -61934,7 +61934,7 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.chainingFeature": [ @@ -61942,7 +61942,7 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.crossFeature": [ @@ -61962,7 +61962,7 @@ 0 ], "PartUsage.declaredName": [ - 1798, + 1819, 0, 0, 0, @@ -61974,13 +61974,13 @@ 0, 0, 0, - 1976, + 1997, 0 ], "PartUsage.definition": [ 0, 0, - 1977, + 1998, 0, 1, 0 @@ -61990,23 +61990,23 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.directedFeature": [ 0, 0, - 138, + 140, 0, - 1840, + 1859, 0 ], "PartUsage.directedUsage": [ 0, 0, - 138, + 140, 0, - 1840, + 1859, 0 ], "PartUsage.direction": [ @@ -62014,7 +62014,7 @@ 0, 0, 0, - 1876, + 1897, 0 ], "PartUsage.documentation": [ @@ -62022,7 +62022,7 @@ 0, 10, 0, - 1968, + 1989, 0 ], "PartUsage.endFeature": [ @@ -62030,7 +62030,7 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.endOwningType": [ @@ -62044,7 +62044,7 @@ "PartUsage.feature": [ 0, 0, - 1978, + 1999, 0, 0, 0 @@ -62052,7 +62052,7 @@ "PartUsage.featureMembership": [ 0, 0, - 1978, + 1999, 0, 0, 0 @@ -62060,7 +62060,7 @@ "PartUsage.featureTarget": [ 0, 0, - 1978, + 1999, 0, 0, 0 @@ -62068,9 +62068,9 @@ "PartUsage.featuringType": [ 0, 0, - 1522, + 1541, 0, - 456, + 458, 0 ], "PartUsage.importedMembership": [ @@ -62078,7 +62078,7 @@ 0, 3, 0, - 1975, + 1996, 0 ], "PartUsage.individualDefinition": [ @@ -62092,7 +62092,7 @@ "PartUsage.inheritedFeature": [ 0, 0, - 1978, + 1999, 0, 0, 0 @@ -62100,7 +62100,7 @@ "PartUsage.inheritedMembership": [ 0, 0, - 1978, + 1999, 0, 0, 0 @@ -62110,7 +62110,7 @@ 0, 56, 0, - 1922, + 1943, 0 ], "PartUsage.intersectingType": [ @@ -62118,11 +62118,11 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.isAbstract": [ - 1978, + 1999, 0, 0, 0, @@ -62130,7 +62130,7 @@ 0 ], "PartUsage.isComposite": [ - 1978, + 1999, 0, 0, 0, @@ -62140,13 +62140,13 @@ "PartUsage.isConjugated": [ 0, 0, - 1978, + 1999, 0, 0, 0 ], "PartUsage.isConstant": [ - 1957, + 1978, 21, 0, 0, @@ -62162,7 +62162,7 @@ 0 ], "PartUsage.isDerived": [ - 1978, + 1999, 0, 0, 0, @@ -62170,7 +62170,7 @@ 0 ], "PartUsage.isEnd": [ - 1978, + 1999, 0, 0, 0, @@ -62178,7 +62178,7 @@ 0 ], "PartUsage.isImpliedIncluded": [ - 1978, + 1999, 0, 0, 0, @@ -62186,7 +62186,7 @@ 0 ], "PartUsage.isIndividual": [ - 1978, + 1999, 0, 0, 0, @@ -62196,13 +62196,13 @@ "PartUsage.isLibraryElement": [ 0, 0, - 1978, + 1999, 0, 0, 0 ], "PartUsage.isOrdered": [ - 1978, + 1999, 0, 0, 0, @@ -62210,7 +62210,7 @@ 0 ], "PartUsage.isPortion": [ - 1978, + 1999, 0, 0, 0, @@ -62220,7 +62220,7 @@ "PartUsage.isReference": [ 45, 0, - 1933, + 1954, 0, 0, 0 @@ -62234,7 +62234,7 @@ 0 ], "PartUsage.isSufficient": [ - 1978, + 1999, 0, 0, 0, @@ -62242,7 +62242,7 @@ 0 ], "PartUsage.isUnique": [ - 1978, + 1999, 0, 0, 0, @@ -62252,9 +62252,9 @@ "PartUsage.isVariable": [ 0, 0, - 1490, + 1509, 0, - 488, + 490, 0 ], "PartUsage.isVariant": [ @@ -62266,7 +62266,7 @@ 0 ], "PartUsage.isVariation": [ - 1978, + 1999, 0, 0, 0, @@ -62276,7 +62276,7 @@ "PartUsage.itemDefinition": [ 0, 0, - 1977, + 1998, 0, 1, 0 @@ -62292,7 +62292,7 @@ "PartUsage.mayTimeVary": [ 0, 0, - 1978, + 1999, 0, 0, 0 @@ -62300,7 +62300,7 @@ "PartUsage.member": [ 0, 0, - 1978, + 1999, 0, 0, 0 @@ -62308,7 +62308,7 @@ "PartUsage.membership": [ 0, 0, - 1978, + 1999, 0, 0, 0 @@ -62316,7 +62316,7 @@ "PartUsage.multiplicity": [ 272, 0, - 1036, + 1055, 0, 0, 0 @@ -62324,7 +62324,7 @@ "PartUsage.name": [ 180, 0, - 1798, + 1819, 0, 0, 0 @@ -62332,9 +62332,9 @@ "PartUsage.nestedAction": [ 0, 0, - 208, + 210, 0, - 1770, + 1789, 0 ], "PartUsage.nestedAllocation": [ @@ -62342,7 +62342,7 @@ 0, 2, 0, - 1976, + 1997, 0 ], "PartUsage.nestedAnalysisCase": [ @@ -62350,23 +62350,23 @@ 0, 9, 0, - 1969, + 1990, 0 ], "PartUsage.nestedAttribute": [ 0, 0, - 405, + 408, 0, - 1573, + 1591, 0 ], "PartUsage.nestedCalculation": [ 0, 0, - 69, + 71, 0, - 1909, + 1928, 0 ], "PartUsage.nestedCase": [ @@ -62374,7 +62374,7 @@ 0, 12, 0, - 1966, + 1987, 0 ], "PartUsage.nestedConcern": [ @@ -62382,7 +62382,7 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.nestedConnection": [ @@ -62390,7 +62390,7 @@ 0, 97, 0, - 1881, + 1902, 0 ], "PartUsage.nestedConstraint": [ @@ -62398,7 +62398,7 @@ 0, 63, 0, - 1915, + 1936, 0 ], "PartUsage.nestedEnumeration": [ @@ -62406,7 +62406,7 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.nestedFlow": [ @@ -62414,7 +62414,7 @@ 0, 23, 0, - 1955, + 1976, 0 ], "PartUsage.nestedInterface": [ @@ -62422,39 +62422,39 @@ 0, 18, 0, - 1960, + 1981, 0 ], "PartUsage.nestedItem": [ 0, 0, - 399, + 400, 0, - 1579, + 1599, 0 ], "PartUsage.nestedMetadata": [ 0, 0, - 151, + 158, 0, - 1827, + 1841, 0 ], "PartUsage.nestedOccurrence": [ 0, 0, - 714, + 717, 0, - 1264, + 1282, 0 ], "PartUsage.nestedPart": [ 0, 0, - 373, + 374, 0, - 1605, + 1625, 0 ], "PartUsage.nestedPort": [ @@ -62462,15 +62462,15 @@ 0, 114, 0, - 1864, + 1885, 0 ], "PartUsage.nestedReference": [ 0, 0, - 119, + 122, 0, - 1859, + 1877, 0 ], "PartUsage.nestedRendering": [ @@ -62478,7 +62478,7 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.nestedRequirement": [ @@ -62486,7 +62486,7 @@ 0, 42, 0, - 1936, + 1957, 0 ], "PartUsage.nestedState": [ @@ -62494,7 +62494,7 @@ 0, 18, 0, - 1960, + 1981, 0 ], "PartUsage.nestedTransition": [ @@ -62502,15 +62502,15 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.nestedUsage": [ 0, 0, - 1006, + 1012, 0, - 972, + 987, 0 ], "PartUsage.nestedUseCase": [ @@ -62518,7 +62518,7 @@ 0, 2, 0, - 1976, + 1997, 0 ], "PartUsage.nestedVerificationCase": [ @@ -62526,7 +62526,7 @@ 0, 1, 0, - 1977, + 1998, 0 ], "PartUsage.nestedView": [ @@ -62534,7 +62534,7 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.nestedViewpoint": [ @@ -62542,13 +62542,13 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.occurrenceDefinition": [ 0, 0, - 1977, + 1998, 0, 1, 0 @@ -62556,9 +62556,9 @@ "PartUsage.output": [ 0, 0, - 123, + 125, 0, - 1855, + 1874, 0 ], "PartUsage.ownedAnnotation": [ @@ -62566,7 +62566,7 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.ownedCrossSubsetting": [ @@ -62582,7 +62582,7 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.ownedDisjoining": [ @@ -62590,15 +62590,15 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.ownedElement": [ 0, 0, - 1781, + 1800, 0, - 197, + 199, 0 ], "PartUsage.ownedEndFeature": [ @@ -62606,15 +62606,15 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.ownedFeature": [ - 929, + 935, 31, 0, 0, - 972, + 987, 46 ], "PartUsage.ownedFeatureChaining": [ @@ -62622,7 +62622,7 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.ownedFeatureInverting": [ @@ -62630,15 +62630,15 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.ownedFeatureMembership": [ - 1006, + 1012, 0, 0, 0, - 972, + 987, 0 ], "PartUsage.ownedImport": [ @@ -62646,7 +62646,7 @@ 0, 0, 0, - 1975, + 1996, 0 ], "PartUsage.ownedIntersecting": [ @@ -62654,23 +62654,23 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.ownedMember": [ 368, - 701, - 682, + 707, + 695, 0, - 198, + 200, 29 ], "PartUsage.ownedMembership": [ 722, - 633, - 425, + 639, + 438, 0, - 198, + 200, 0 ], "PartUsage.ownedRedefinition": [ @@ -62678,7 +62678,7 @@ 0, 0, 0, - 1768, + 1789, 0 ], "PartUsage.ownedReferenceSubsetting": [ @@ -62690,19 +62690,19 @@ 0 ], "PartUsage.ownedRelationship": [ - 880, - 1005, - 53, + 882, + 1022, + 55, 0, 40, 0 ], "PartUsage.ownedSpecialization": [ - 1569, + 1588, 2, 0, 0, - 407, + 409, 0 ], "PartUsage.ownedSubsetting": [ @@ -62710,7 +62710,7 @@ 0, 2, 0, - 1593, + 1614, 0 ], "PartUsage.ownedTypeFeaturing": [ @@ -62718,15 +62718,15 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.ownedTyping": [ - 1254, + 1273, 0, 0, 0, - 724, + 726, 0 ], "PartUsage.ownedUnioning": [ @@ -62734,11 +62734,11 @@ 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.owner": [ - 1978, + 1999, 0, 0, 0, @@ -62748,7 +62748,7 @@ "PartUsage.owningDefinition": [ 0, 0, - 609, + 624, 0, 0, 0 @@ -62756,13 +62756,13 @@ "PartUsage.owningFeatureMembership": [ 0, 0, - 1502, + 1521, 0, 0, 0 ], "PartUsage.owningMembership": [ - 1964, + 1985, 14, 0, 0, @@ -62770,7 +62770,7 @@ 0 ], "PartUsage.owningNamespace": [ - 1978, + 1999, 0, 0, 0, @@ -62778,7 +62778,7 @@ 0 ], "PartUsage.owningRelationship": [ - 1964, + 1985, 14, 0, 0, @@ -62788,7 +62788,7 @@ "PartUsage.owningType": [ 0, 0, - 1502, + 1521, 0, 0, 0 @@ -62796,7 +62796,7 @@ "PartUsage.owningUsage": [ 0, 0, - 893, + 897, 0, 0, 0 @@ -62804,7 +62804,7 @@ "PartUsage.partDefinition": [ 0, 0, - 1977, + 1998, 0, 1, 0 @@ -62814,11 +62814,11 @@ 0, 0, 0, - 1970, + 1991, 0 ], "PartUsage.qualifiedName": [ - 1975, + 1996, 0, 0, 0, @@ -62852,25 +62852,25 @@ "PartUsage.textualRepresentation": [ 0, 0, - 2, + 4, 0, - 1976, + 1995, 0 ], "PartUsage.type": [ - 1017, + 1031, 16, - 773, + 775, 1, 0, - 171 + 176 ], "PartUsage.unioningType": [ 0, 0, 0, 0, - 1978, + 1999, 0 ], "PartUsage.upperBound": [ @@ -62884,7 +62884,7 @@ "PartUsage.usage": [ 0, 0, - 1978, + 1999, 0, 0, 0 @@ -62902,7 +62902,7 @@ 0, 0, 0, - 1962, + 1983, 0 ], "PartUsage.variantMembership": [ @@ -62910,7 +62910,7 @@ 0, 0, 0, - 1962, + 1983, 0 ], "PayloadFeature.aliasIds": [ @@ -65230,7 +65230,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.chainingFeature": [ @@ -65238,7 +65238,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.crossFeature": [ @@ -65250,7 +65250,7 @@ 0 ], "PortUsage.declaredName": [ - 445, + 448, 0, 0, 0, @@ -65262,13 +65262,13 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.definition": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65278,7 +65278,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.directedFeature": [ @@ -65286,7 +65286,7 @@ 0, 101, 0, - 388, + 391, 0 ], "PortUsage.directedUsage": [ @@ -65294,7 +65294,7 @@ 0, 101, 0, - 388, + 391, 0 ], "PortUsage.direction": [ @@ -65302,7 +65302,7 @@ 0, 0, 0, - 487, + 490, 0 ], "PortUsage.documentation": [ @@ -65310,7 +65310,7 @@ 0, 1, 0, - 488, + 491, 0 ], "PortUsage.endFeature": [ @@ -65318,7 +65318,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.endOwningType": [ @@ -65332,7 +65332,7 @@ "PortUsage.feature": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65340,7 +65340,7 @@ "PortUsage.featureMembership": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65348,7 +65348,7 @@ "PortUsage.featureTarget": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65356,7 +65356,7 @@ "PortUsage.featuringType": [ 0, 0, - 484, + 487, 0, 5, 0 @@ -65366,13 +65366,13 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.inheritedFeature": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65380,7 +65380,7 @@ "PortUsage.inheritedMembership": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65390,7 +65390,7 @@ 0, 69, 0, - 420, + 423, 0 ], "PortUsage.intersectingType": [ @@ -65398,11 +65398,11 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.isAbstract": [ - 489, + 492, 0, 0, 0, @@ -65410,7 +65410,7 @@ 0 ], "PortUsage.isComposite": [ - 489, + 492, 0, 0, 0, @@ -65420,13 +65420,13 @@ "PortUsage.isConjugated": [ 0, 0, - 489, + 492, 0, 0, 0 ], "PortUsage.isConstant": [ - 393, + 396, 96, 0, 0, @@ -65434,7 +65434,7 @@ 0 ], "PortUsage.isDerived": [ - 489, + 492, 0, 0, 0, @@ -65442,7 +65442,7 @@ 0 ], "PortUsage.isEnd": [ - 489, + 492, 0, 0, 0, @@ -65450,7 +65450,7 @@ 0 ], "PortUsage.isImpliedIncluded": [ - 489, + 492, 0, 0, 0, @@ -65458,7 +65458,7 @@ 0 ], "PortUsage.isIndividual": [ - 489, + 492, 0, 0, 0, @@ -65468,13 +65468,13 @@ "PortUsage.isLibraryElement": [ 0, 0, - 489, + 492, 0, 0, 0 ], "PortUsage.isOrdered": [ - 489, + 492, 0, 0, 0, @@ -65482,7 +65482,7 @@ 0 ], "PortUsage.isPortion": [ - 489, + 492, 0, 0, 0, @@ -65492,13 +65492,13 @@ "PortUsage.isReference": [ 3, 0, - 486, + 489, 0, 0, 0 ], "PortUsage.isSufficient": [ - 489, + 492, 0, 0, 0, @@ -65506,7 +65506,7 @@ 0 ], "PortUsage.isUnique": [ - 489, + 492, 0, 0, 0, @@ -65516,7 +65516,7 @@ "PortUsage.isVariable": [ 0, 0, - 481, + 484, 0, 8, 0 @@ -65530,7 +65530,7 @@ 0 ], "PortUsage.isVariation": [ - 489, + 492, 0, 0, 0, @@ -65540,7 +65540,7 @@ "PortUsage.mayTimeVary": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65548,7 +65548,7 @@ "PortUsage.member": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65556,7 +65556,7 @@ "PortUsage.membership": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65564,7 +65564,7 @@ "PortUsage.multiplicity": [ 24, 6, - 381, + 384, 0, 0, 0 @@ -65572,7 +65572,7 @@ "PortUsage.name": [ 64, 0, - 425, + 428, 0, 0, 0 @@ -65582,7 +65582,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedAllocation": [ @@ -65590,7 +65590,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedAnalysisCase": [ @@ -65598,7 +65598,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedAttribute": [ @@ -65606,7 +65606,7 @@ 0, 3, 0, - 486, + 489, 0 ], "PortUsage.nestedCalculation": [ @@ -65614,7 +65614,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedCase": [ @@ -65622,7 +65622,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedConcern": [ @@ -65630,7 +65630,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedConnection": [ @@ -65638,7 +65638,7 @@ 0, 1, 0, - 488, + 491, 0 ], "PortUsage.nestedConstraint": [ @@ -65646,7 +65646,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedEnumeration": [ @@ -65654,7 +65654,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedFlow": [ @@ -65662,7 +65662,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedInterface": [ @@ -65670,7 +65670,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedItem": [ @@ -65678,7 +65678,7 @@ 0, 7, 0, - 482, + 485, 0 ], "PortUsage.nestedMetadata": [ @@ -65686,7 +65686,7 @@ 0, 10, 0, - 479, + 482, 0 ], "PortUsage.nestedOccurrence": [ @@ -65694,7 +65694,7 @@ 0, 45, 0, - 444, + 447, 0 ], "PortUsage.nestedPart": [ @@ -65702,7 +65702,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedPort": [ @@ -65710,7 +65710,7 @@ 0, 22, 0, - 467, + 470, 0 ], "PortUsage.nestedReference": [ @@ -65718,7 +65718,7 @@ 0, 30, 0, - 459, + 462, 0 ], "PortUsage.nestedRendering": [ @@ -65726,7 +65726,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedRequirement": [ @@ -65734,7 +65734,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedState": [ @@ -65742,7 +65742,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedTransition": [ @@ -65750,7 +65750,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedUsage": [ @@ -65758,7 +65758,7 @@ 0, 78, 0, - 411, + 414, 0 ], "PortUsage.nestedUseCase": [ @@ -65766,7 +65766,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedVerificationCase": [ @@ -65774,7 +65774,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedView": [ @@ -65782,7 +65782,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.nestedViewpoint": [ @@ -65790,13 +65790,13 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.occurrenceDefinition": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -65806,7 +65806,7 @@ 0, 61, 0, - 428, + 431, 0 ], "PortUsage.ownedAnnotation": [ @@ -65814,7 +65814,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedDifferencing": [ @@ -65822,7 +65822,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedDisjoining": [ @@ -65830,13 +65830,13 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedElement": [ 0, 0, - 470, + 473, 0, 19, 0 @@ -65846,7 +65846,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedFeature": [ @@ -65854,7 +65854,7 @@ 1, 0, 1, - 410, + 413, 0 ], "PortUsage.ownedFeatureChaining": [ @@ -65862,7 +65862,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedFeatureInverting": [ @@ -65870,7 +65870,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedFeatureMembership": [ @@ -65878,7 +65878,7 @@ 0, 0, 1, - 410, + 413, 0 ], "PortUsage.ownedImport": [ @@ -65886,7 +65886,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedIntersecting": [ @@ -65894,13 +65894,13 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedMember": [ 51, 29, - 390, + 393, 1, 18, 0 @@ -65908,7 +65908,7 @@ "PortUsage.ownedMembership": [ 83, 31, - 356, + 359, 1, 18, 0 @@ -65918,7 +65918,7 @@ 0, 0, 0, - 402, + 405, 0 ], "PortUsage.ownedReferenceSubsetting": [ @@ -65931,14 +65931,14 @@ ], "PortUsage.ownedRelationship": [ 99, - 357, + 360, 30, 1, 2, 0 ], "PortUsage.ownedSpecialization": [ - 439, + 442, 4, 0, 1, @@ -65950,7 +65950,7 @@ 0, 0, 1, - 363, + 366, 0 ], "PortUsage.ownedTypeFeaturing": [ @@ -65958,11 +65958,11 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.ownedTyping": [ - 334, + 337, 0, 0, 1, @@ -65974,11 +65974,11 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.owner": [ - 489, + 492, 0, 0, 0, @@ -65988,7 +65988,7 @@ "PortUsage.owningDefinition": [ 0, 0, - 249, + 252, 0, 0, 0 @@ -65996,13 +65996,13 @@ "PortUsage.owningFeatureMembership": [ 0, 0, - 482, + 485, 0, 0, 0 ], "PortUsage.owningMembership": [ - 489, + 492, 0, 0, 0, @@ -66010,7 +66010,7 @@ 0 ], "PortUsage.owningNamespace": [ - 469, + 472, 0, 20, 0, @@ -66018,7 +66018,7 @@ 0 ], "PortUsage.owningRelationship": [ - 489, + 492, 0, 0, 0, @@ -66028,7 +66028,7 @@ "PortUsage.owningType": [ 0, 0, - 482, + 485, 0, 0, 0 @@ -66044,7 +66044,7 @@ "PortUsage.portDefinition": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -66054,11 +66054,11 @@ 0, 0, 0, - 488, + 491, 0 ], "PortUsage.qualifiedName": [ - 488, + 491, 0, 0, 0, @@ -66094,11 +66094,11 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.type": [ - 272, + 275, 55, 162, 0, @@ -66110,7 +66110,7 @@ 0, 0, 0, - 489, + 492, 0 ], "PortUsage.upperBound": [ @@ -66124,7 +66124,7 @@ "PortUsage.usage": [ 0, 0, - 489, + 492, 0, 0, 0 @@ -66142,7 +66142,7 @@ 0, 0, 0, - 488, + 491, 0 ], "PortUsage.variantMembership": [ @@ -66150,7 +66150,7 @@ 0, 0, 0, - 488, + 491, 0 ], "Predicate.aliasIds": [ @@ -66558,7 +66558,7 @@ 0, 0, 0, - 2684, + 2722, 0 ], "Redefinition.declaredName": [ @@ -66566,7 +66566,7 @@ 0, 0, 0, - 2682, + 2720, 0 ], "Redefinition.declaredShortName": [ @@ -66574,7 +66574,7 @@ 0, 0, 0, - 2684, + 2722, 0 ], "Redefinition.documentation": [ @@ -66582,19 +66582,19 @@ 0, 0, 0, - 2684, + 2722, 0 ], "Redefinition.general": [ - 1668, + 1700, 20, 53, 0, 0, - 943 + 949 ], "Redefinition.isImplied": [ - 2684, + 2722, 0, 0, 0, @@ -66602,7 +66602,7 @@ 0 ], "Redefinition.isImpliedIncluded": [ - 2684, + 2722, 0, 0, 0, @@ -66612,7 +66612,7 @@ "Redefinition.isLibraryElement": [ 0, 0, - 2684, + 2722, 0, 0, 0 @@ -66630,7 +66630,7 @@ 0, 0, 0, - 2684, + 2722, 0 ], "Redefinition.ownedElement": [ @@ -66638,7 +66638,7 @@ 0, 0, 0, - 2684, + 2722, 0 ], "Redefinition.ownedRelatedElement": [ @@ -66646,7 +66646,7 @@ 0, 0, 0, - 2676, + 2714, 0 ], "Redefinition.ownedRelationship": [ @@ -66654,19 +66654,19 @@ 0, 0, 0, - 2684, + 2722, 0 ], "Redefinition.owner": [ 2, 0, 0, - 2682, + 2720, 0, 0 ], "Redefinition.owningFeature": [ - 2682, + 2720, 0, 0, 0, @@ -66690,7 +66690,7 @@ 0 ], "Redefinition.owningRelatedElement": [ - 2682, + 2720, 0, 0, 0, @@ -66702,13 +66702,13 @@ 0, 0, 0, - 2682, + 2720, 0 ], "Redefinition.owningType": [ 0, 0, - 2682, + 2720, 0, 0, 0 @@ -66722,15 +66722,15 @@ 0 ], "Redefinition.redefinedFeature": [ - 1669, + 1701, 20, 52, 0, 0, - 943 + 949 ], "Redefinition.redefiningFeature": [ - 2683, + 2721, 0, 1, 0, @@ -66738,15 +66738,15 @@ 0 ], "Redefinition.relatedElement": [ - 1668, + 1700, 20, 53, 0, 0, - 943 + 949 ], "Redefinition.source": [ - 2682, + 2720, 0, 2, 0, @@ -66754,7 +66754,7 @@ 0 ], "Redefinition.specific": [ - 2682, + 2720, 0, 2, 0, @@ -66762,15 +66762,15 @@ 0 ], "Redefinition.subsettedFeature": [ - 1668, + 1700, 20, 53, 0, 0, - 943 + 949 ], "Redefinition.subsettingFeature": [ - 2682, + 2720, 0, 2, 0, @@ -66778,19 +66778,19 @@ 0 ], "Redefinition.target": [ - 1668, + 1700, 20, 53, 0, 0, - 943 + 949 ], "Redefinition.textualRepresentation": [ 0, 0, 0, 0, - 2684, + 2722, 0 ], "ReferenceSubsetting.aliasIds": [ @@ -66798,7 +66798,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.declaredName": [ @@ -66806,7 +66806,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.declaredShortName": [ @@ -66814,7 +66814,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.documentation": [ @@ -66822,7 +66822,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.general": [ @@ -66831,10 +66831,10 @@ 38, 0, 0, - 26 + 28 ], "ReferenceSubsetting.isImplied": [ - 557, + 559, 0, 0, 0, @@ -66842,7 +66842,7 @@ 0 ], "ReferenceSubsetting.isImpliedIncluded": [ - 557, + 559, 0, 0, 0, @@ -66852,7 +66852,7 @@ "ReferenceSubsetting.isLibraryElement": [ 0, 0, - 557, + 559, 0, 0, 0 @@ -66862,7 +66862,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.ownedElement": [ @@ -66870,7 +66870,7 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.ownedRelatedElement": [ @@ -66878,7 +66878,7 @@ 6, 0, 0, - 316, + 318, 0 ], "ReferenceSubsetting.ownedRelationship": [ @@ -66886,19 +66886,19 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.owner": [ 0, 0, 0, - 557, + 559, 0, 0 ], "ReferenceSubsetting.owningFeature": [ - 557, + 559, 0, 0, 0, @@ -66906,7 +66906,7 @@ 0 ], "ReferenceSubsetting.owningRelatedElement": [ - 557, + 559, 0, 0, 0, @@ -66918,13 +66918,13 @@ 0, 0, 0, - 557, + 559, 0 ], "ReferenceSubsetting.owningType": [ 173, 0, - 384, + 386, 0, 0, 0 @@ -66935,10 +66935,10 @@ 38, 0, 0, - 26 + 28 ], "ReferenceSubsetting.referencingFeature": [ - 557, + 559, 0, 0, 0, @@ -66951,10 +66951,10 @@ 38, 0, 0, - 26 + 28 ], "ReferenceSubsetting.source": [ - 557, + 559, 0, 0, 0, @@ -66962,7 +66962,7 @@ 0 ], "ReferenceSubsetting.specific": [ - 557, + 559, 0, 0, 0, @@ -66975,10 +66975,10 @@ 38, 0, 0, - 26 + 28 ], "ReferenceSubsetting.subsettingFeature": [ - 557, + 559, 0, 0, 0, @@ -66991,14 +66991,14 @@ 38, 0, 0, - 26 + 28 ], "ReferenceSubsetting.textualRepresentation": [ 0, 0, 0, 0, - 557, + 559, 0 ], "ReferenceUsage.aliasIds": [ @@ -67006,7 +67006,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.chainingFeature": [ @@ -67014,7 +67014,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.crossFeature": [ @@ -67034,11 +67034,11 @@ 0 ], "ReferenceUsage.declaredName": [ - 1442, + 1444, 0, 0, 4, - 905, + 911, 0 ], "ReferenceUsage.declaredShortName": [ @@ -67046,13 +67046,13 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.definition": [ 0, 0, - 2350, + 2358, 0, 1, 0 @@ -67062,7 +67062,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.directedFeature": [ @@ -67070,7 +67070,7 @@ 0, 64, 0, - 2287, + 2295, 0 ], "ReferenceUsage.directedUsage": [ @@ -67078,15 +67078,15 @@ 0, 61, 0, - 2290, + 2298, 0 ], "ReferenceUsage.direction": [ - 1270, + 1274, 36, 149, 0, - 896, + 900, 0 ], "ReferenceUsage.documentation": [ @@ -67094,7 +67094,7 @@ 0, 4, 0, - 2347, + 2355, 0 ], "ReferenceUsage.endFeature": [ @@ -67102,7 +67102,7 @@ 0, 10, 0, - 2341, + 2349, 0 ], "ReferenceUsage.endOwningType": [ @@ -67116,7 +67116,7 @@ "ReferenceUsage.feature": [ 0, 0, - 2351, + 2359, 0, 0, 0 @@ -67124,7 +67124,7 @@ "ReferenceUsage.featureMembership": [ 0, 0, - 2351, + 2359, 0, 0, 0 @@ -67132,7 +67132,7 @@ "ReferenceUsage.featureTarget": [ 0, 0, - 2351, + 2359, 0, 0, 0 @@ -67140,7 +67140,7 @@ "ReferenceUsage.featuringType": [ 0, 0, - 2330, + 2338, 0, 21, 0 @@ -67150,13 +67150,13 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.inheritedFeature": [ 0, 0, - 2351, + 2359, 0, 0, 0 @@ -67164,7 +67164,7 @@ "ReferenceUsage.inheritedMembership": [ 0, 0, - 2351, + 2359, 0, 0, 0 @@ -67174,7 +67174,7 @@ 0, 58, 0, - 2293, + 2301, 0 ], "ReferenceUsage.intersectingType": [ @@ -67182,11 +67182,11 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.isAbstract": [ - 2351, + 2359, 0, 0, 0, @@ -67202,7 +67202,7 @@ 0 ], "ReferenceUsage.isComposite": [ - 2351, + 2359, 0, 0, 0, @@ -67212,13 +67212,13 @@ "ReferenceUsage.isConjugated": [ 0, 0, - 2351, + 2359, 0, 0, 0 ], "ReferenceUsage.isConstant": [ - 2260, + 2268, 91, 0, 0, @@ -67234,7 +67234,7 @@ 0 ], "ReferenceUsage.isDerived": [ - 2351, + 2359, 0, 0, 0, @@ -67242,7 +67242,7 @@ 0 ], "ReferenceUsage.isEnd": [ - 2351, + 2359, 0, 0, 0, @@ -67250,7 +67250,7 @@ 0 ], "ReferenceUsage.isImpliedIncluded": [ - 2351, + 2359, 0, 0, 0, @@ -67260,13 +67260,13 @@ "ReferenceUsage.isLibraryElement": [ 0, 0, - 2351, + 2359, 0, 0, 0 ], "ReferenceUsage.isOrdered": [ - 2351, + 2359, 0, 0, 0, @@ -67274,7 +67274,7 @@ 0 ], "ReferenceUsage.isPortion": [ - 2351, + 2359, 0, 0, 0, @@ -67284,7 +67284,7 @@ "ReferenceUsage.isReference": [ 232, 0, - 2119, + 2127, 0, 0, 0 @@ -67298,7 +67298,7 @@ 0 ], "ReferenceUsage.isSufficient": [ - 2351, + 2359, 0, 0, 0, @@ -67306,7 +67306,7 @@ 0 ], "ReferenceUsage.isUnique": [ - 2351, + 2359, 0, 0, 0, @@ -67316,7 +67316,7 @@ "ReferenceUsage.isVariable": [ 0, 0, - 2113, + 2121, 0, 238, 0 @@ -67330,7 +67330,7 @@ 0 ], "ReferenceUsage.isVariation": [ - 2351, + 2359, 0, 0, 0, @@ -67348,7 +67348,7 @@ "ReferenceUsage.mayTimeVary": [ 0, 0, - 2351, + 2359, 0, 0, 0 @@ -67356,7 +67356,7 @@ "ReferenceUsage.member": [ 0, 0, - 2351, + 2359, 0, 0, 0 @@ -67364,7 +67364,7 @@ "ReferenceUsage.membership": [ 0, 0, - 2351, + 2359, 0, 0, 0 @@ -67378,9 +67378,9 @@ 0 ], "ReferenceUsage.name": [ - 520, + 526, 0, - 1788, + 1790, 2, 0, 0 @@ -67390,7 +67390,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedAllocation": [ @@ -67398,7 +67398,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedAnalysisCase": [ @@ -67406,7 +67406,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedAttribute": [ @@ -67414,7 +67414,7 @@ 0, 3, 0, - 2348, + 2356, 0 ], "ReferenceUsage.nestedCalculation": [ @@ -67422,7 +67422,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedCase": [ @@ -67430,7 +67430,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedConcern": [ @@ -67438,7 +67438,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedConnection": [ @@ -67446,7 +67446,7 @@ 0, 1, 0, - 2350, + 2358, 0 ], "ReferenceUsage.nestedConstraint": [ @@ -67454,7 +67454,7 @@ 0, 4, 0, - 2347, + 2355, 0 ], "ReferenceUsage.nestedEnumeration": [ @@ -67462,7 +67462,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedFlow": [ @@ -67470,7 +67470,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedInterface": [ @@ -67478,7 +67478,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedItem": [ @@ -67486,7 +67486,7 @@ 0, 3, 0, - 2348, + 2356, 0 ], "ReferenceUsage.nestedMetadata": [ @@ -67494,7 +67494,7 @@ 0, 95, 0, - 2256, + 2264, 0 ], "ReferenceUsage.nestedOccurrence": [ @@ -67502,7 +67502,7 @@ 0, 10, 0, - 2341, + 2349, 0 ], "ReferenceUsage.nestedPart": [ @@ -67510,7 +67510,7 @@ 0, 3, 0, - 2348, + 2356, 0 ], "ReferenceUsage.nestedPort": [ @@ -67518,7 +67518,7 @@ 0, 4, 0, - 2347, + 2355, 0 ], "ReferenceUsage.nestedReference": [ @@ -67526,7 +67526,7 @@ 0, 26, 0, - 2325, + 2333, 0 ], "ReferenceUsage.nestedRendering": [ @@ -67534,7 +67534,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedRequirement": [ @@ -67542,7 +67542,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedState": [ @@ -67550,7 +67550,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedTransition": [ @@ -67558,7 +67558,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedUsage": [ @@ -67566,7 +67566,7 @@ 0, 39, 0, - 2312, + 2320, 0 ], "ReferenceUsage.nestedUseCase": [ @@ -67574,7 +67574,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedVerificationCase": [ @@ -67582,7 +67582,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedView": [ @@ -67590,7 +67590,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.nestedViewpoint": [ @@ -67598,7 +67598,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.output": [ @@ -67606,7 +67606,7 @@ 0, 58, 0, - 2293, + 2301, 0 ], "ReferenceUsage.ownedAnnotation": [ @@ -67614,7 +67614,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.ownedCrossSubsetting": [ @@ -67630,7 +67630,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.ownedDisjoining": [ @@ -67638,15 +67638,15 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.ownedElement": [ 0, 0, - 1242, + 1248, 0, - 1109, + 1111, 0 ], "ReferenceUsage.ownedEndFeature": [ @@ -67654,7 +67654,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.ownedFeature": [ @@ -67662,7 +67662,7 @@ 1, 0, 0, - 2312, + 2320, 0 ], "ReferenceUsage.ownedFeatureChaining": [ @@ -67670,7 +67670,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.ownedFeatureInverting": [ @@ -67678,7 +67678,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.ownedFeatureMembership": [ @@ -67686,7 +67686,7 @@ 0, 0, 0, - 2312, + 2320, 0 ], "ReferenceUsage.ownedImport": [ @@ -67694,7 +67694,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.ownedIntersecting": [ @@ -67702,31 +67702,31 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.ownedMember": [ 51, 16, - 1172, + 1178, 0, - 1112, + 1114, 0 ], "ReferenceUsage.ownedMembership": [ - 1147, + 1153, 8, 84, 0, - 1112, + 1114, 0 ], "ReferenceUsage.ownedRedefinition": [ - 840, + 846, 0, 4, 0, - 1507, + 1509, 0 ], "ReferenceUsage.ownedReferenceSubsetting": [ @@ -67738,7 +67738,7 @@ 0 ], "ReferenceUsage.ownedRelationship": [ - 2147, + 2155, 96, 3, 0, @@ -67746,7 +67746,7 @@ 0 ], "ReferenceUsage.ownedSpecialization": [ - 1855, + 1863, 18, 4, 0, @@ -67754,11 +67754,11 @@ 0 ], "ReferenceUsage.ownedSubsetting": [ - 956, + 962, 16, 6, 0, - 1373, + 1375, 0 ], "ReferenceUsage.ownedTypeFeaturing": [ @@ -67766,15 +67766,15 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.ownedTyping": [ - 968, + 970, 0, 0, 0, - 1383, + 1389, 0 ], "ReferenceUsage.ownedUnioning": [ @@ -67782,11 +67782,11 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.owner": [ - 2351, + 2359, 0, 0, 0, @@ -67796,7 +67796,7 @@ "ReferenceUsage.owningDefinition": [ 0, 0, - 847, + 850, 0, 0, 0 @@ -67804,13 +67804,13 @@ "ReferenceUsage.owningFeatureMembership": [ 0, 0, - 2281, + 2289, 0, 0, 0 ], "ReferenceUsage.owningMembership": [ - 2329, + 2337, 22, 0, 0, @@ -67818,7 +67818,7 @@ 0 ], "ReferenceUsage.owningNamespace": [ - 2164, + 2172, 0, 187, 0, @@ -67826,7 +67826,7 @@ 0 ], "ReferenceUsage.owningRelationship": [ - 2329, + 2337, 22, 0, 0, @@ -67836,7 +67836,7 @@ "ReferenceUsage.owningType": [ 0, 0, - 2281, + 2289, 0, 0, 0 @@ -67844,13 +67844,13 @@ "ReferenceUsage.owningUsage": [ 0, 0, - 1322, + 1327, 0, 0, 0 ], "ReferenceUsage.qualifiedName": [ - 2015, + 2023, 0, 0, 0, @@ -67861,7 +67861,7 @@ 0, 0, 0, - 840, + 846, 0, 0 ], @@ -67886,23 +67886,23 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.type": [ 418, 2, - 1420, + 1426, 1, 0, - 510 + 512 ], "ReferenceUsage.unioningType": [ 0, 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.upperBound": [ @@ -67918,14 +67918,14 @@ 0, 1409, 0, - 942, + 950, 0 ], "ReferenceUsage.value": [ 0, 0, 0, - 988, + 994, 0, 0 ], @@ -67934,7 +67934,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.variantMembership": [ @@ -67942,7 +67942,7 @@ 0, 0, 0, - 2351, + 2359, 0 ], "ReferenceUsage.visibility": [ @@ -68598,7 +68598,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.chainingFeature": [ @@ -68606,7 +68606,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.declaredName": [ @@ -68614,7 +68614,7 @@ 0, 0, 0, - 30, + 32, 0 ], "RenderingUsage.declaredShortName": [ @@ -68622,13 +68622,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.definition": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68638,7 +68638,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.directedFeature": [ @@ -68646,7 +68646,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.directedUsage": [ @@ -68654,7 +68654,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.direction": [ @@ -68662,7 +68662,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.documentation": [ @@ -68670,7 +68670,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.endFeature": [ @@ -68678,13 +68678,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.feature": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68692,7 +68692,7 @@ "RenderingUsage.featureMembership": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68700,7 +68700,7 @@ "RenderingUsage.featureTarget": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68708,7 +68708,7 @@ "RenderingUsage.featuringType": [ 0, 0, - 33, + 35, 0, 2, 0 @@ -68718,13 +68718,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.inheritedFeature": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68732,7 +68732,7 @@ "RenderingUsage.inheritedMembership": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68742,7 +68742,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.intersectingType": [ @@ -68750,11 +68750,11 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.isAbstract": [ - 35, + 37, 0, 0, 0, @@ -68762,7 +68762,7 @@ 0 ], "RenderingUsage.isComposite": [ - 35, + 37, 0, 0, 0, @@ -68772,13 +68772,13 @@ "RenderingUsage.isConjugated": [ 0, 0, - 35, + 37, 0, 0, 0 ], "RenderingUsage.isConstant": [ - 35, + 37, 0, 0, 0, @@ -68786,7 +68786,7 @@ 0 ], "RenderingUsage.isDerived": [ - 35, + 37, 0, 0, 0, @@ -68794,7 +68794,7 @@ 0 ], "RenderingUsage.isEnd": [ - 35, + 37, 0, 0, 0, @@ -68802,7 +68802,7 @@ 0 ], "RenderingUsage.isImpliedIncluded": [ - 35, + 37, 0, 0, 0, @@ -68810,7 +68810,7 @@ 0 ], "RenderingUsage.isIndividual": [ - 35, + 37, 0, 0, 0, @@ -68820,13 +68820,13 @@ "RenderingUsage.isLibraryElement": [ 0, 0, - 35, + 37, 0, 0, 0 ], "RenderingUsage.isOrdered": [ - 35, + 37, 0, 0, 0, @@ -68834,7 +68834,7 @@ 0 ], "RenderingUsage.isPortion": [ - 35, + 37, 0, 0, 0, @@ -68844,13 +68844,13 @@ "RenderingUsage.isReference": [ 1, 0, - 34, + 36, 0, 0, 0 ], "RenderingUsage.isSufficient": [ - 35, + 37, 0, 0, 0, @@ -68858,7 +68858,7 @@ 0 ], "RenderingUsage.isUnique": [ - 35, + 37, 0, 0, 0, @@ -68868,13 +68868,13 @@ "RenderingUsage.isVariable": [ 0, 0, - 33, + 35, 0, 2, 0 ], "RenderingUsage.isVariation": [ - 35, + 37, 0, 0, 0, @@ -68884,7 +68884,7 @@ "RenderingUsage.itemDefinition": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68900,7 +68900,7 @@ "RenderingUsage.mayTimeVary": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68908,7 +68908,7 @@ "RenderingUsage.member": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68916,7 +68916,7 @@ "RenderingUsage.membership": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -68924,13 +68924,13 @@ "RenderingUsage.multiplicity": [ 2, 0, - 31, + 33, 0, 0, 0 ], "RenderingUsage.name": [ - 30, + 32, 0, 5, 0, @@ -68942,7 +68942,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedAllocation": [ @@ -68950,7 +68950,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedAnalysisCase": [ @@ -68958,7 +68958,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedAttribute": [ @@ -68966,7 +68966,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedCalculation": [ @@ -68974,7 +68974,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedCase": [ @@ -68982,7 +68982,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedConcern": [ @@ -68990,7 +68990,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedConnection": [ @@ -68998,7 +68998,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedConstraint": [ @@ -69006,7 +69006,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedEnumeration": [ @@ -69014,7 +69014,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedFlow": [ @@ -69022,7 +69022,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedInterface": [ @@ -69030,7 +69030,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedItem": [ @@ -69038,7 +69038,7 @@ 0, 2, 0, - 33, + 35, 0 ], "RenderingUsage.nestedMetadata": [ @@ -69046,7 +69046,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedOccurrence": [ @@ -69054,7 +69054,7 @@ 0, 2, 0, - 33, + 35, 0 ], "RenderingUsage.nestedPart": [ @@ -69062,7 +69062,7 @@ 0, 2, 0, - 33, + 35, 0 ], "RenderingUsage.nestedPort": [ @@ -69070,7 +69070,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedReference": [ @@ -69078,7 +69078,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedRendering": [ @@ -69086,7 +69086,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedRequirement": [ @@ -69094,7 +69094,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedState": [ @@ -69102,7 +69102,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedTransition": [ @@ -69110,7 +69110,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedUsage": [ @@ -69118,7 +69118,7 @@ 0, 2, 0, - 33, + 35, 0 ], "RenderingUsage.nestedUseCase": [ @@ -69126,7 +69126,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedVerificationCase": [ @@ -69134,7 +69134,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.nestedView": [ @@ -69142,7 +69142,7 @@ 0, 2, 0, - 33, + 35, 0 ], "RenderingUsage.nestedViewpoint": [ @@ -69150,13 +69150,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.occurrenceDefinition": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -69166,7 +69166,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedAnnotation": [ @@ -69174,7 +69174,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedDifferencing": [ @@ -69182,7 +69182,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedDisjoining": [ @@ -69190,13 +69190,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedElement": [ 0, 0, - 34, + 36, 0, 1, 0 @@ -69206,7 +69206,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedFeature": [ @@ -69214,7 +69214,7 @@ 0, 0, 0, - 33, + 35, 0 ], "RenderingUsage.ownedFeatureChaining": [ @@ -69222,7 +69222,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedFeatureInverting": [ @@ -69230,7 +69230,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedFeatureMembership": [ @@ -69238,7 +69238,7 @@ 0, 0, 0, - 33, + 35, 0 ], "RenderingUsage.ownedImport": [ @@ -69246,7 +69246,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedIntersecting": [ @@ -69254,13 +69254,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedMember": [ 1, 1, - 32, + 34, 0, 1, 0 @@ -69268,7 +69268,7 @@ "RenderingUsage.ownedMembership": [ 3, 1, - 30, + 32, 0, 1, 0 @@ -69278,11 +69278,11 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedReferenceSubsetting": [ - 30, + 32, 0, 0, 0, @@ -69291,14 +69291,14 @@ ], "RenderingUsage.ownedRelationship": [ 4, - 30, + 32, 1, 0, 0, 0 ], "RenderingUsage.ownedSpecialization": [ - 34, + 36, 0, 0, 0, @@ -69306,7 +69306,7 @@ 0 ], "RenderingUsage.ownedSubsetting": [ - 32, + 34, 0, 0, 0, @@ -69318,7 +69318,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.ownedTyping": [ @@ -69326,7 +69326,7 @@ 0, 0, 0, - 33, + 35, 0 ], "RenderingUsage.ownedUnioning": [ @@ -69334,11 +69334,11 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.owner": [ - 35, + 37, 0, 0, 0, @@ -69356,13 +69356,13 @@ "RenderingUsage.owningFeatureMembership": [ 0, 0, - 33, + 35, 0, 0, 0 ], "RenderingUsage.owningMembership": [ - 35, + 37, 0, 0, 0, @@ -69370,7 +69370,7 @@ 0 ], "RenderingUsage.owningNamespace": [ - 35, + 37, 0, 0, 0, @@ -69378,7 +69378,7 @@ 0 ], "RenderingUsage.owningRelationship": [ - 35, + 37, 0, 0, 0, @@ -69388,7 +69388,7 @@ "RenderingUsage.owningType": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -69396,7 +69396,7 @@ "RenderingUsage.owningUsage": [ 0, 0, - 28, + 30, 0, 0, 0 @@ -69404,7 +69404,7 @@ "RenderingUsage.partDefinition": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -69414,11 +69414,11 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.qualifiedName": [ - 35, + 37, 0, 0, 0, @@ -69429,14 +69429,14 @@ 0, 0, 0, - 30, + 32, 0, 0 ], "RenderingUsage.renderingDefinition": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -69454,13 +69454,13 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.type": [ 2, 0, - 33, + 35, 0, 0, 0 @@ -69470,7 +69470,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.upperBound": [ @@ -69484,7 +69484,7 @@ "RenderingUsage.usage": [ 0, 0, - 35, + 37, 0, 0, 0 @@ -69494,7 +69494,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RenderingUsage.variantMembership": [ @@ -69502,7 +69502,7 @@ 0, 0, 0, - 35, + 37, 0 ], "RequirementConstraintMembership.aliasIds": [ @@ -71838,7 +71838,7 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.declaredName": [ @@ -71846,7 +71846,7 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.declaredShortName": [ @@ -71854,7 +71854,7 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.documentation": [ @@ -71862,11 +71862,11 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.isImplied": [ - 409, + 411, 0, 0, 0, @@ -71874,7 +71874,7 @@ 0 ], "ResultExpressionMembership.isImpliedIncluded": [ - 409, + 411, 0, 0, 0, @@ -71884,13 +71884,13 @@ "ResultExpressionMembership.isLibraryElement": [ 0, 0, - 409, + 411, 0, 0, 0 ], "ResultExpressionMembership.memberElement": [ - 409, + 411, 0, 0, 0, @@ -71900,13 +71900,13 @@ "ResultExpressionMembership.memberElementId": [ 0, 0, - 409, + 411, 0, 0, 0 ], "ResultExpressionMembership.membershipOwningNamespace": [ - 409, + 411, 0, 0, 0, @@ -71918,7 +71918,7 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.ownedElement": [ @@ -71926,11 +71926,11 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.ownedMemberElement": [ - 409, + 411, 0, 0, 0, @@ -71940,13 +71940,13 @@ "ResultExpressionMembership.ownedMemberElementId": [ 0, 0, - 409, + 411, 0, 0, 0 ], "ResultExpressionMembership.ownedMemberFeature": [ - 380, + 382, 0, 29, 0, @@ -71954,7 +71954,7 @@ 0 ], "ResultExpressionMembership.ownedRelatedElement": [ - 409, + 411, 0, 0, 0, @@ -71966,11 +71966,11 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.ownedResultExpression": [ - 409, + 411, 0, 0, 0, @@ -71981,12 +71981,12 @@ 0, 0, 0, - 409, + 411, 0, 0 ], "ResultExpressionMembership.owningRelatedElement": [ - 409, + 411, 0, 0, 0, @@ -71998,11 +71998,11 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.owningType": [ - 380, + 382, 0, 29, 0, @@ -72012,7 +72012,7 @@ "ResultExpressionMembership.relatedElement": [ 0, 0, - 409, + 411, 0, 0, 0 @@ -72020,7 +72020,7 @@ "ResultExpressionMembership.source": [ 0, 0, - 409, + 411, 0, 0, 0 @@ -72028,7 +72028,7 @@ "ResultExpressionMembership.target": [ 0, 0, - 409, + 411, 0, 0, 0 @@ -72038,13 +72038,13 @@ 0, 0, 0, - 409, + 411, 0 ], "ResultExpressionMembership.visibility": [ 0, 0, - 409, + 411, 0, 0, 0 @@ -72054,7 +72054,7 @@ 0, 0, 0, - 4768, + 4784, 0 ], "ReturnParameterMembership.declaredName": [ @@ -72062,7 +72062,7 @@ 0, 0, 0, - 4768, + 4784, 0 ], "ReturnParameterMembership.declaredShortName": [ @@ -72070,7 +72070,7 @@ 0, 0, 0, - 4768, + 4784, 0 ], "ReturnParameterMembership.documentation": [ @@ -72078,11 +72078,11 @@ 0, 0, 0, - 4768, + 4784, 0 ], "ReturnParameterMembership.isImplied": [ - 4768, + 4784, 0, 0, 0, @@ -72090,7 +72090,7 @@ 0 ], "ReturnParameterMembership.isImpliedIncluded": [ - 4768, + 4784, 0, 0, 0, @@ -72100,14 +72100,14 @@ "ReturnParameterMembership.isLibraryElement": [ 0, 0, - 4768, + 4784, 0, 0, 0 ], "ReturnParameterMembership.memberElement": [ - 4423, - 345, + 4437, + 347, 0, 0, 0, @@ -72116,7 +72116,7 @@ "ReturnParameterMembership.memberElementId": [ 0, 0, - 4768, + 4784, 0, 0, 0 @@ -72124,13 +72124,13 @@ "ReturnParameterMembership.memberName": [ 0, 0, - 4768, + 4784, 0, 0, 0 ], "ReturnParameterMembership.membershipOwningNamespace": [ - 4768, + 4784, 0, 0, 0, @@ -72142,7 +72142,7 @@ 0, 0, 0, - 4768, + 4784, 0 ], "ReturnParameterMembership.ownedElement": [ @@ -72150,12 +72150,12 @@ 0, 0, 0, - 4768, + 4784, 0 ], "ReturnParameterMembership.ownedMemberElement": [ - 4423, - 345, + 4437, + 347, 0, 0, 0, @@ -72164,14 +72164,14 @@ "ReturnParameterMembership.ownedMemberElementId": [ 0, 0, - 4768, + 4784, 0, 0, 0 ], "ReturnParameterMembership.ownedMemberFeature": [ - 4422, - 345, + 4436, + 347, 1, 0, 0, @@ -72180,22 +72180,22 @@ "ReturnParameterMembership.ownedMemberName": [ 0, 0, - 4768, + 4784, 0, 0, 0 ], "ReturnParameterMembership.ownedMemberParameter": [ - 4423, - 345, + 4437, + 347, 0, 0, 0, 0 ], "ReturnParameterMembership.ownedRelatedElement": [ - 4423, - 345, + 4437, + 347, 0, 0, 0, @@ -72206,19 +72206,19 @@ 0, 0, 0, - 4768, + 4784, 0 ], "ReturnParameterMembership.owner": [ 0, 0, 0, - 4768, + 4784, 0, 0 ], "ReturnParameterMembership.owningRelatedElement": [ - 4768, + 4784, 0, 0, 0, @@ -72230,13 +72230,13 @@ 0, 0, 0, - 4768, + 4784, 0 ], "ReturnParameterMembership.owningType": [ 171, 0, - 4597, + 4613, 0, 0, 0 @@ -72244,7 +72244,7 @@ "ReturnParameterMembership.relatedElement": [ 0, 0, - 4768, + 4784, 0, 0, 0 @@ -72252,7 +72252,7 @@ "ReturnParameterMembership.source": [ 0, 0, - 4768, + 4784, 0, 0, 0 @@ -72260,7 +72260,7 @@ "ReturnParameterMembership.target": [ 0, 0, - 4768, + 4784, 0, 0, 0 @@ -72270,13 +72270,13 @@ 0, 0, 0, - 4768, + 4784, 0 ], "ReturnParameterMembership.visibility": [ 0, 0, - 4768, + 4784, 0, 0, 0 @@ -78030,7 +78030,7 @@ 0, 0, 0, - 614, + 630, 0 ], "Subclassification.declaredName": [ @@ -78038,7 +78038,7 @@ 0, 0, 0, - 612, + 628, 0 ], "Subclassification.declaredShortName": [ @@ -78046,7 +78046,7 @@ 0, 0, 0, - 614, + 630, 0 ], "Subclassification.documentation": [ @@ -78054,19 +78054,19 @@ 0, 0, 0, - 614, + 630, 0 ], "Subclassification.general": [ - 349, + 362, 0, 14, 0, 0, - 251 + 254 ], "Subclassification.isImplied": [ - 614, + 630, 0, 0, 0, @@ -78074,7 +78074,7 @@ 0 ], "Subclassification.isImpliedIncluded": [ - 614, + 630, 0, 0, 0, @@ -78084,7 +78084,7 @@ "Subclassification.isLibraryElement": [ 0, 0, - 614, + 630, 0, 0, 0 @@ -78102,7 +78102,7 @@ 0, 0, 0, - 614, + 630, 0 ], "Subclassification.ownedElement": [ @@ -78110,7 +78110,7 @@ 0, 0, 0, - 614, + 630, 0 ], "Subclassification.ownedRelatedElement": [ @@ -78118,7 +78118,7 @@ 0, 0, 0, - 614, + 630, 0 ], "Subclassification.ownedRelationship": [ @@ -78126,19 +78126,19 @@ 0, 0, 0, - 614, + 630, 0 ], "Subclassification.owner": [ 2, 0, 0, - 612, + 628, 0, 0 ], "Subclassification.owningClassifier": [ - 612, + 628, 0, 0, 0, @@ -78162,7 +78162,7 @@ 0 ], "Subclassification.owningRelatedElement": [ - 612, + 628, 0, 0, 0, @@ -78174,13 +78174,13 @@ 0, 0, 0, - 612, + 628, 0 ], "Subclassification.owningType": [ 0, 0, - 612, + 628, 0, 0, 0 @@ -78194,15 +78194,15 @@ 0 ], "Subclassification.relatedElement": [ - 347, + 360, 1, 15, 0, 0, - 251 + 254 ], "Subclassification.source": [ - 612, + 628, 0, 2, 0, @@ -78210,7 +78210,7 @@ 0 ], "Subclassification.specific": [ - 613, + 629, 0, 1, 0, @@ -78218,7 +78218,7 @@ 0 ], "Subclassification.subclassifier": [ - 612, + 628, 0, 2, 0, @@ -78226,27 +78226,27 @@ 0 ], "Subclassification.superclassifier": [ - 348, + 361, 0, 15, 0, 0, - 251 + 254 ], "Subclassification.target": [ - 348, + 361, 0, 15, 0, 0, - 251 + 254 ], "Subclassification.textualRepresentation": [ 0, 0, 0, 0, - 614, + 630, 0 ], "SubjectMembership.aliasIds": [ @@ -82918,13 +82918,13 @@ 0, 0, 0, - 9, + 12, 0 ], "TextualRepresentation.annotatedElement": [ 0, 0, - 9, + 12, 0, 0, 0 @@ -82934,11 +82934,11 @@ 0, 0, 0, - 9, + 12, 0 ], "TextualRepresentation.body": [ - 9, + 12, 0, 0, 0, @@ -82950,7 +82950,7 @@ 0, 0, 0, - 7, + 10, 0 ], "TextualRepresentation.declaredShortName": [ @@ -82958,7 +82958,7 @@ 0, 0, 0, - 9, + 12, 0 ], "TextualRepresentation.documentation": [ @@ -82966,11 +82966,11 @@ 0, 0, 0, - 9, + 12, 0 ], "TextualRepresentation.isImpliedIncluded": [ - 9, + 12, 0, 0, 0, @@ -82980,13 +82980,13 @@ "TextualRepresentation.isLibraryElement": [ 0, 0, - 9, + 12, 0, 0, 0 ], "TextualRepresentation.language": [ - 9, + 12, 0, 0, 0, @@ -83006,7 +83006,7 @@ 0, 0, 0, - 9, + 12, 0 ], "TextualRepresentation.ownedAnnotation": [ @@ -83014,7 +83014,7 @@ 0, 0, 0, - 9, + 12, 0 ], "TextualRepresentation.ownedElement": [ @@ -83022,7 +83022,7 @@ 0, 0, 0, - 9, + 12, 0 ], "TextualRepresentation.ownedRelationship": [ @@ -83030,11 +83030,11 @@ 0, 0, 0, - 9, + 12, 0 ], "TextualRepresentation.owner": [ - 9, + 12, 0, 0, 0, @@ -83042,7 +83042,7 @@ 0 ], "TextualRepresentation.owningMembership": [ - 9, + 12, 0, 0, 0, @@ -83050,7 +83050,7 @@ 0 ], "TextualRepresentation.owningNamespace": [ - 9, + 12, 0, 0, 0, @@ -83058,7 +83058,7 @@ 0 ], "TextualRepresentation.owningRelationship": [ - 9, + 12, 0, 0, 0, @@ -83076,7 +83076,7 @@ "TextualRepresentation.representedElement": [ 0, 0, - 9, + 12, 0, 0, 0 @@ -83086,7 +83086,7 @@ 0, 0, 0, - 9, + 12, 0 ], "TransitionFeatureMembership.aliasIds": [ @@ -87218,8 +87218,8 @@ 0 ], "UseCaseUsage.isComposite": [ - 26, - 1, + 27, + 0, 0, 0, 0, @@ -87306,9 +87306,9 @@ 0 ], "UseCaseUsage.isReference": [ + 1, 0, - 0, - 27, + 26, 0, 0, 0 @@ -90518,7 +90518,7 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.declaredName": [ @@ -90526,7 +90526,7 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.declaredShortName": [ @@ -90534,7 +90534,7 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.documentation": [ @@ -90542,11 +90542,11 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.isImplied": [ - 33, + 35, 0, 0, 0, @@ -90554,7 +90554,7 @@ 0 ], "ViewRenderingMembership.isImpliedIncluded": [ - 33, + 35, 0, 0, 0, @@ -90564,13 +90564,13 @@ "ViewRenderingMembership.isLibraryElement": [ 0, 0, - 33, + 35, 0, 0, 0 ], "ViewRenderingMembership.memberElement": [ - 31, + 33, 2, 0, 0, @@ -90580,7 +90580,7 @@ "ViewRenderingMembership.memberElementId": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90588,13 +90588,13 @@ "ViewRenderingMembership.memberName": [ 0, 0, - 31, + 33, 0, 0, 0 ], "ViewRenderingMembership.membershipOwningNamespace": [ - 33, + 35, 0, 0, 0, @@ -90606,7 +90606,7 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.ownedElement": [ @@ -90614,11 +90614,11 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.ownedMemberElement": [ - 31, + 33, 2, 0, 0, @@ -90628,13 +90628,13 @@ "ViewRenderingMembership.ownedMemberElementId": [ 0, 0, - 33, + 35, 0, 0, 0 ], "ViewRenderingMembership.ownedMemberFeature": [ - 31, + 33, 2, 0, 0, @@ -90644,13 +90644,13 @@ "ViewRenderingMembership.ownedMemberName": [ 0, 0, - 31, + 33, 0, 0, 0 ], "ViewRenderingMembership.ownedRelatedElement": [ - 31, + 33, 2, 0, 0, @@ -90662,11 +90662,11 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.ownedRendering": [ - 31, + 33, 2, 0, 0, @@ -90677,12 +90677,12 @@ 0, 0, 0, - 33, + 35, 0, 0 ], "ViewRenderingMembership.owningRelatedElement": [ - 33, + 35, 0, 0, 0, @@ -90694,11 +90694,11 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.owningType": [ - 33, + 35, 0, 0, 0, @@ -90708,7 +90708,7 @@ "ViewRenderingMembership.referencedRendering": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90716,7 +90716,7 @@ "ViewRenderingMembership.relatedElement": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90724,7 +90724,7 @@ "ViewRenderingMembership.source": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90732,7 +90732,7 @@ "ViewRenderingMembership.target": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90742,13 +90742,13 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewRenderingMembership.visibility": [ 0, 0, - 33, + 35, 0, 0, 0 @@ -90758,7 +90758,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.chainingFeature": [ @@ -90766,11 +90766,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.declaredName": [ - 97, + 99, 0, 0, 0, @@ -90782,13 +90782,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.definition": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90798,7 +90798,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.directedFeature": [ @@ -90806,7 +90806,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.directedUsage": [ @@ -90814,7 +90814,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.direction": [ @@ -90822,13 +90822,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.documentation": [ 0, 0, - 21, + 23, 0, 78, 0 @@ -90838,13 +90838,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.exposedElement": [ 0, 0, - 85, + 87, 0, 14, 0 @@ -90852,7 +90852,7 @@ "ViewUsage.feature": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90860,7 +90860,7 @@ "ViewUsage.featureMembership": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90868,7 +90868,7 @@ "ViewUsage.featureTarget": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90878,13 +90878,13 @@ 0, 11, 0, - 88, + 90, 0 ], "ViewUsage.importedMembership": [ 0, 0, - 88, + 90, 0, 11, 0 @@ -90892,7 +90892,7 @@ "ViewUsage.inheritedFeature": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90900,7 +90900,7 @@ "ViewUsage.inheritedMembership": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -90910,7 +90910,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.intersectingType": [ @@ -90918,11 +90918,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.isAbstract": [ - 99, + 101, 0, 0, 0, @@ -90930,7 +90930,7 @@ 0 ], "ViewUsage.isComposite": [ - 99, + 101, 0, 0, 0, @@ -90940,13 +90940,13 @@ "ViewUsage.isConjugated": [ 0, 0, - 99, + 101, 0, 0, 0 ], "ViewUsage.isConstant": [ - 99, + 101, 0, 0, 0, @@ -90954,7 +90954,7 @@ 0 ], "ViewUsage.isDerived": [ - 99, + 101, 0, 0, 0, @@ -90962,7 +90962,7 @@ 0 ], "ViewUsage.isEnd": [ - 99, + 101, 0, 0, 0, @@ -90970,7 +90970,7 @@ 0 ], "ViewUsage.isImpliedIncluded": [ - 99, + 101, 0, 0, 0, @@ -90978,7 +90978,7 @@ 0 ], "ViewUsage.isIndividual": [ - 99, + 101, 0, 0, 0, @@ -90988,13 +90988,13 @@ "ViewUsage.isLibraryElement": [ 0, 0, - 99, + 101, 0, 0, 0 ], "ViewUsage.isOrdered": [ - 99, + 101, 0, 0, 0, @@ -91002,7 +91002,7 @@ 0 ], "ViewUsage.isPortion": [ - 99, + 101, 0, 0, 0, @@ -91012,13 +91012,13 @@ "ViewUsage.isReference": [ 1, 0, - 98, + 100, 0, 0, 0 ], "ViewUsage.isSufficient": [ - 99, + 101, 0, 0, 0, @@ -91026,7 +91026,7 @@ 0 ], "ViewUsage.isUnique": [ - 99, + 101, 0, 0, 0, @@ -91038,11 +91038,11 @@ 0, 11, 0, - 88, + 90, 0 ], "ViewUsage.isVariation": [ - 99, + 101, 0, 0, 0, @@ -91052,7 +91052,7 @@ "ViewUsage.itemDefinition": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91068,7 +91068,7 @@ "ViewUsage.mayTimeVary": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91076,7 +91076,7 @@ "ViewUsage.member": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91084,7 +91084,7 @@ "ViewUsage.membership": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91100,7 +91100,7 @@ "ViewUsage.name": [ 2, 0, - 97, + 99, 0, 0, 0 @@ -91110,7 +91110,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedAllocation": [ @@ -91118,7 +91118,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedAnalysisCase": [ @@ -91126,7 +91126,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedAttribute": [ @@ -91134,7 +91134,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedCalculation": [ @@ -91142,7 +91142,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedCase": [ @@ -91150,7 +91150,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedConcern": [ @@ -91158,7 +91158,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedConnection": [ @@ -91166,7 +91166,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedConstraint": [ @@ -91174,7 +91174,7 @@ 0, 7, 0, - 92, + 94, 0 ], "ViewUsage.nestedEnumeration": [ @@ -91182,7 +91182,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedFlow": [ @@ -91190,7 +91190,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedInterface": [ @@ -91198,13 +91198,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedItem": [ 0, 0, - 34, + 36, 0, 65, 0 @@ -91214,13 +91214,13 @@ 0, 29, 0, - 70, + 72, 0 ], "ViewUsage.nestedOccurrence": [ 0, 0, - 37, + 39, 0, 62, 0 @@ -91228,7 +91228,7 @@ "ViewUsage.nestedPart": [ 0, 0, - 34, + 36, 0, 65, 0 @@ -91238,7 +91238,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedReference": [ @@ -91246,13 +91246,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedRendering": [ 0, 0, - 29, + 31, 0, 70, 0 @@ -91262,7 +91262,7 @@ 0, 7, 0, - 92, + 94, 0 ], "ViewUsage.nestedState": [ @@ -91270,7 +91270,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedTransition": [ @@ -91278,13 +91278,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedUsage": [ 0, 0, - 37, + 39, 0, 62, 0 @@ -91294,7 +91294,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedVerificationCase": [ @@ -91302,7 +91302,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.nestedView": [ @@ -91310,7 +91310,7 @@ 0, 4, 0, - 95, + 97, 0 ], "ViewUsage.nestedViewpoint": [ @@ -91318,13 +91318,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.occurrenceDefinition": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91334,7 +91334,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedAnnotation": [ @@ -91342,7 +91342,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedDifferencing": [ @@ -91350,7 +91350,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedDisjoining": [ @@ -91358,13 +91358,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedElement": [ 0, 0, - 68, + 70, 0, 31, 0 @@ -91374,11 +91374,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedFeature": [ - 35, + 37, 2, 0, 0, @@ -91390,7 +91390,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedFeatureInverting": [ @@ -91398,11 +91398,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedFeatureMembership": [ - 37, + 39, 0, 0, 0, @@ -91410,7 +91410,7 @@ 0 ], "ViewUsage.ownedImport": [ - 88, + 90, 0, 0, 0, @@ -91422,11 +91422,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedMember": [ - 40, + 42, 9, 9, 0, @@ -91434,7 +91434,7 @@ 0 ], "ViewUsage.ownedMembership": [ - 51, + 53, 2, 5, 0, @@ -91446,11 +91446,11 @@ 0, 0, 0, - 97, + 99, 0 ], "ViewUsage.ownedRelationship": [ - 92, + 94, 7, 0, 0, @@ -91462,7 +91462,7 @@ 0, 0, 0, - 33, + 35, 0 ], "ViewUsage.ownedSubsetting": [ @@ -91470,7 +91470,7 @@ 0, 0, 0, - 90, + 92, 0 ], "ViewUsage.ownedTypeFeaturing": [ @@ -91478,7 +91478,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.ownedTyping": [ @@ -91486,7 +91486,7 @@ 0, 0, 0, - 42, + 44, 0 ], "ViewUsage.ownedUnioning": [ @@ -91494,11 +91494,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.owner": [ - 99, + 101, 0, 0, 0, @@ -91522,7 +91522,7 @@ 0 ], "ViewUsage.owningMembership": [ - 98, + 100, 1, 0, 0, @@ -91530,7 +91530,7 @@ 0 ], "ViewUsage.owningNamespace": [ - 99, + 101, 0, 0, 0, @@ -91538,7 +91538,7 @@ 0 ], "ViewUsage.owningRelationship": [ - 98, + 100, 1, 0, 0, @@ -91564,7 +91564,7 @@ "ViewUsage.partDefinition": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91574,11 +91574,11 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.qualifiedName": [ - 99, + 101, 0, 0, 0, @@ -91598,7 +91598,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.subsets": [ @@ -91614,13 +91614,13 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.type": [ 9, 0, - 45, + 47, 0, 0, 45 @@ -91630,7 +91630,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.upperBound": [ @@ -91644,7 +91644,7 @@ "ViewUsage.usage": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91654,7 +91654,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.variantMembership": [ @@ -91662,7 +91662,7 @@ 0, 0, 0, - 99, + 101, 0 ], "ViewUsage.viewCondition": [ @@ -91670,13 +91670,13 @@ 0, 7, 0, - 92, + 94, 0 ], "ViewUsage.viewDefinition": [ 0, 0, - 99, + 101, 0, 0, 0 @@ -91684,7 +91684,7 @@ "ViewUsage.viewRendering": [ 0, 0, - 29, + 31, 0, 0, 0 diff --git a/docs/project/api-json-differential.md b/docs/project/api-json-differential.md index f8ba16b141..cd364b6074 100644 --- a/docs/project/api-json-differential.md +++ b/docs/project/api-json-differential.md @@ -190,21 +190,21 @@ The pinned pilot's verdict on the probe (`validate-sysml-batch`): clean. ## Results (pilot `2026-08`, 924 files) -**Scorecard:** 930 files; 91870 elements matched (18396 ours-only, 37363 pilot-only, 0 of them implied); properties: 1114347 present-equal, 27130 present-different, 1067384 ours-missing, 67792 pilot-missing, 1960337 absent-both, 26061 indeterminate. +**Scorecard:** 931 files; 92666 elements matched (18486 ours-only, 37659 pilot-only, 0 of them implied); properties: 1124221 present-equal, 27397 present-different, 1076605 ours-missing, 68432 pilot-missing, 1978268 absent-both, 26434 indeterminate. The pilot's export failed on 56 files (`pilotFailed`: its own export throws on an element without a resource, 52 of them specification examples and 4 test fixtures; the files are named in the run's text report), ours refused 36 (all of them specification examples the parser could not read whole), left the pilot's 56 failed files out and converted 26 documents alone for declaring an element another document of their root declares (`oursColliding`); no root fell back to per-document conversion. 11730 (metaclass, property) rows carry a comparison; 111008 references compared through the unkeyed sentinel, 158907 of our `sysx:` annotations were left out, and 285/347 elements (ours/pilot) were dropped for ambiguous keys, 16850/31316 for having none. | root | files | matched | ours-only | pilot-only | present-equal | present-different | ours-missing | pilot-missing | |---|---:|---:|---:|---:|---:|---:|---:|---:| -| `examples/sysml-v2-training` | 100 | 7391 | 1150 | 2769 | 53381 | 1811 | 88043 | 5126 | -| `examples/pilot-corpora/sysml-examples` | 99 | 26739 | 6157 | 9527 | 193152 | 7517 | 318686 | 19458 | -| `examples/pilot-corpora/sysml-validation` | 56 | 9377 | 1882 | 3210 | 67082 | 3118 | 110547 | 6811 | -| `examples/pilot-corpora/kerml-examples` | 58 | 6399 | 1166 | 1842 | 44577 | 2504 | 63934 | 5065 | -| `examples/spec-examples` | 511 | 7074 | 990 | 2634 | 47298 | 1484 | 75012 | 5041 | -| `tests/testdata` | 36 | 1414 | 171 | 495 | 9277 | 401 | 15672 | 997 | -| `examples` | 52 | 26254 | 5956 | 14776 | 186183 | 7989 | 318978 | 19327 | -| `tools/referee/diff/testdata` | 4 | 53 | 0 | 0 | 362 | 1 | 462 | 41 | -| `docs/manual/examples` | 8 | 7020 | 920 | 2082 | 48509 | 1982 | 88453 | 4679 | +| `examples/sysml-v2-training` | 100 | 7391 | 1150 | 2769 | 90298 | 1839 | 86637 | 5126 | +| `examples/pilot-corpora/sysml-examples` | 99 | 26739 | 6157 | 9527 | 330426 | 7635 | 314326 | 19458 | +| `examples/pilot-corpora/sysml-validation` | 56 | 9377 | 1882 | 3210 | 114030 | 3138 | 108866 | 6811 | +| `examples/pilot-corpora/kerml-examples` | 58 | 6399 | 1166 | 1842 | 73725 | 2504 | 63927 | 5784 | +| `examples/spec-examples` | 511 | 7074 | 990 | 2634 | 76419 | 1552 | 74025 | 5295 | +| `tests/testdata` | 40 | 1460 | 175 | 511 | 16445 | 428 | 15857 | 1042 | +| `examples` | 52 | 26982 | 6046 | 15058 | 333619 | 8295 | 323002 | 20063 | +| `tools/referee/diff/testdata` | 4 | 53 | 0 | 0 | 555 | 1 | 454 | 41 | +| `docs/manual/examples` | 11 | 7191 | 920 | 2108 | 88704 | 2005 | 89511 | 4812 | The scorecard is mostly **ours-missing**: this repository's writer emits a subset of the metamodel's properties, and the referee now measures which, per metaclass. The full ranked scorecard with one concrete example per differing row is `build/pilot-apijson-diff/pilot-apijson-diff.txt` after a run; the baseline keeps every row's five counts. @@ -371,48 +371,48 @@ The (metaclass, property) rows ranked by the corpus elements on which the pilot | # | metaclass | property | ours-missing | present-different | in-flight overlap | derivation clause | |---:|---|---|---:|---:|---|---| -| 1 | `FeatureMembership` | `isLibraryElement` | 10855 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 2 | `FeatureMembership` | `memberElementId` | 10855 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | -| 3 | `FeatureMembership` | `ownedMemberElementId` | 10855 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | -| 4 | `FeatureMembership` | `relatedElement` | 10855 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | -| 5 | `FeatureMembership` | `source` | 10855 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | -| 6 | `FeatureMembership` | `target` | 10855 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | -| 7 | `FeatureMembership` | `visibility` | 10791 | 1 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | -| 8 | `Feature` | `featureTarget` | 10156 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::featureTarget`: the last `chainingFeature`, else the feature itself (KerML 8.3.3.3, deriveFeatureFeatureTarget; KERML11-1 crossFeature) | -| 9 | `Feature` | `inheritedFeature` | 10156 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::inheritedFeature = inheritedMembership.memberElement->selectByKind(Feature)` (KerML 8.3.3.1, deriveTypeInheritedFeature) | -| 10 | `Feature` | `inheritedMembership` | 10156 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::inheritedMembership = inheritedMemberships(excluded)` over the supertypes (KerML 8.3.3.1, deriveTypeInheritedMembership) | -| 11 | `Feature` | `isConjugated` | 10156 | 0 | none found | `Type::isConjugated = ownedConjugator <> null` (KerML 8.3.3.1 Type; a derived attribute without a named derive constraint); the pilot writes `false` on every type | -| 12 | `Feature` | `isLibraryElement` | 10156 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 13 | `Feature` | `member` | 10156 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Namespace::member = membership.memberElement` (KerML 8.3.2.4, deriveNamespaceMember) | -| 14 | `Feature` | `membership` | 10156 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Namespace::membership = ownedMembership->union(importedMembership)`, and for a Type also `inheritedMembership` (KerML 8.3.2.4, 8.3.3.1) | -| 15 | `Feature` | `feature` | 10150 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::feature = featureMembership.ownedMemberFeature` (KerML 8.3.3.1, deriveTypeFeature) | -| 16 | `Feature` | `featureMembership` | 10150 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::featureMembership = ownedFeatureMembership->union(inheritedMembership->selectByKind(FeatureMembership))` (KerML 8.3.3.1; KERML11-191 restricts the inherited part to the supertypes) | -| 17 | `Feature` | `featuringType` | 9854 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::featuringType = typeFeaturing.featuringType`, plus the owning type of an owned feature (KerML 8.3.3.3, deriveFeatureFeaturingType; KERML11-3/4 multiplicity featuring) | -| 18 | `Feature` | `type` | 9623 | 14 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::type = typing.type` with the types inherited through chaining and redefinition (KerML 8.3.3.3, deriveFeatureType) | -| 19 | `OwningMembership` | `isLibraryElement` | 9628 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 20 | `OwningMembership` | `relatedElement` | 9628 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | -| 21 | `OwningMembership` | `source` | 9628 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | -| 22 | `OwningMembership` | `memberElementId` | 9625 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | -| 23 | `OwningMembership` | `ownedMemberElementId` | 9625 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | -| 24 | `OwningMembership` | `target` | 9625 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | -| 25 | `OwningMembership` | `visibility` | 9603 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | -| 26 | `Feature` | `name` | 9546 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Element::name = effectiveName()`: the declared name, or for a feature the name of the feature it redefines (KerML 8.3.2.1, deriveElementName) | -| 27 | `Feature` | `owningFeatureMembership` | 9505 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningFeatureMembership = owningMembership->selectByKind(FeatureMembership)` (KerML 8.3.3.3) | -| 28 | `Feature` | `owningType` | 9505 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | -| 29 | `FeatureMembership` | `memberName` | 9306 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberName = memberElement.name` (KerML 8.3.2.3.5, deriveMembershipMemberName) | -| 30 | `FeatureMembership` | `ownedMemberName` | 9306 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberName = ownedMemberElement.name` (KerML 8.3.2.3.6) | -| 31 | `Feature` | `owningNamespace` | 8765 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Element::owningNamespace = owningMembership.membershipOwningNamespace` (KerML 8.3.2.1, deriveElementOwningNamespace) | -| 32 | `FeatureValue` | `isLibraryElement` | 7091 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 33 | `FeatureValue` | `memberElementId` | 7091 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | -| 34 | `FeatureValue` | `ownedMemberElementId` | 7091 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | -| 35 | `FeatureValue` | `relatedElement` | 7091 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | -| 36 | `FeatureValue` | `source` | 7091 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | -| 37 | `FeatureValue` | `target` | 7091 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | -| 38 | `FeatureValue` | `visibility` | 7091 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | -| 39 | `FeatureTyping` | `isLibraryElement` | 5998 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | -| 40 | `FeatureTyping` | `owningType` | 5994 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | +| 1 | `FeatureMembership` | `isLibraryElement` | 10976 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 2 | `FeatureMembership` | `memberElementId` | 10976 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | +| 3 | `FeatureMembership` | `ownedMemberElementId` | 10976 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | +| 4 | `FeatureMembership` | `relatedElement` | 10976 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | +| 5 | `FeatureMembership` | `source` | 10976 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | +| 6 | `FeatureMembership` | `target` | 10976 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | +| 7 | `FeatureMembership` | `visibility` | 10912 | 1 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | +| 8 | `Feature` | `featureTarget` | 10196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::featureTarget`: the last `chainingFeature`, else the feature itself (KerML 8.3.3.3, deriveFeatureFeatureTarget; KERML11-1 crossFeature) | +| 9 | `Feature` | `inheritedFeature` | 10196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::inheritedFeature = inheritedMembership.memberElement->selectByKind(Feature)` (KerML 8.3.3.1, deriveTypeInheritedFeature) | +| 10 | `Feature` | `inheritedMembership` | 10196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::inheritedMembership = inheritedMemberships(excluded)` over the supertypes (KerML 8.3.3.1, deriveTypeInheritedMembership) | +| 11 | `Feature` | `isConjugated` | 10196 | 0 | none found | `Type::isConjugated = ownedConjugator <> null` (KerML 8.3.3.1 Type; a derived attribute without a named derive constraint); the pilot writes `false` on every type | +| 12 | `Feature` | `isLibraryElement` | 10196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 13 | `Feature` | `member` | 10196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Namespace::member = membership.memberElement` (KerML 8.3.2.4, deriveNamespaceMember) | +| 14 | `Feature` | `membership` | 10196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Namespace::membership = ownedMembership->union(importedMembership)`, and for a Type also `inheritedMembership` (KerML 8.3.2.4, 8.3.3.1) | +| 15 | `Feature` | `feature` | 10190 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::feature = featureMembership.ownedMemberFeature` (KerML 8.3.3.1, deriveTypeFeature) | +| 16 | `Feature` | `featureMembership` | 10190 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Type::featureMembership = ownedFeatureMembership->union(inheritedMembership->selectByKind(FeatureMembership))` (KerML 8.3.3.1; KERML11-191 restricts the inherited part to the supertypes) | +| 17 | `Feature` | `featuringType` | 9894 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::featuringType = typeFeaturing.featuringType`, plus the owning type of an owned feature (KerML 8.3.3.3, deriveFeatureFeaturingType; KERML11-3/4 multiplicity featuring) | +| 18 | `Feature` | `type` | 9663 | 14 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::type = typing.type` with the types inherited through chaining and redefinition (KerML 8.3.3.3, deriveFeatureType) | +| 19 | `OwningMembership` | `isLibraryElement` | 9675 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 20 | `OwningMembership` | `relatedElement` | 9675 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | +| 21 | `OwningMembership` | `source` | 9675 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | +| 22 | `OwningMembership` | `memberElementId` | 9672 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | +| 23 | `OwningMembership` | `ownedMemberElementId` | 9672 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | +| 24 | `OwningMembership` | `target` | 9672 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | +| 25 | `OwningMembership` | `visibility` | 9650 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | +| 26 | `Feature` | `name` | 9586 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Element::name = effectiveName()`: the declared name, or for a feature the name of the feature it redefines (KerML 8.3.2.1, deriveElementName) | +| 27 | `Feature` | `owningFeatureMembership` | 9545 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningFeatureMembership = owningMembership->selectByKind(FeatureMembership)` (KerML 8.3.3.3) | +| 28 | `Feature` | `owningType` | 9545 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | +| 29 | `FeatureMembership` | `memberName` | 9425 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberName = memberElement.name` (KerML 8.3.2.3.5, deriveMembershipMemberName) | +| 30 | `FeatureMembership` | `ownedMemberName` | 9425 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberName = ownedMemberElement.name` (KerML 8.3.2.3.6) | +| 31 | `Feature` | `owningNamespace` | 8805 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Element::owningNamespace = owningMembership.membershipOwningNamespace` (KerML 8.3.2.1, deriveElementOwningNamespace) | +| 32 | `FeatureValue` | `isLibraryElement` | 7196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 33 | `FeatureValue` | `memberElementId` | 7196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Membership::memberElementId = memberElement.elementId` (KerML 8.3.2.3.5, deriveMembershipMemberElementId) | +| 34 | `FeatureValue` | `ownedMemberElementId` | 7196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `OwningMembership::ownedMemberElementId = ownedMemberElement.elementId` (KerML 8.3.2.3.6) | +| 35 | `FeatureValue` | `relatedElement` | 7196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::relatedElement = source->union(target)`, ordered (KerML 8.3.2.5.2, deriveRelationshipRelatedElement) | +| 36 | `FeatureValue` | `source` | 7196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::source`, which Membership redefines as `[membershipOwningNamespace]` (KerML 8.3.2.3.5) | +| 37 | `FeatureValue` | `target` | 7196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Relationship::target`, which Membership redefines as `[memberElement]` (KerML 8.3.2.3.5) | +| 38 | `FeatureValue` | `visibility` | 7196 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | owned attribute `Membership::visibility : VisibilityKind`, default `public` (KerML 8.3.2.3.5); not derived | +| 39 | `FeatureTyping` | `isLibraryElement` | 6086 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`; writes `true` on library elements only, never `false`) | `Element::isLibraryElement = libraryNamespace() <> null` (KerML 8.3.2.1, deriveElementIsLibraryElement); the pilot writes `false` on every user element | +| 40 | `FeatureTyping` | `owningType` | 6082 | 0 | PR #1232 (`feature/api-json-derived-properties-layered`) | `Feature::owningType = owningFeatureMembership.owningType` (KerML 8.3.3.3, deriveFeatureOwningType) | | 41 | `Redefinition` | `redefinedFeature` | 52 | 20 | closed for this repository's libraries (above) | `Redefinition::redefinedFeature : Feature` (KerML 8.3.3.3.8) is an element reference, and every `Element` carries an `elementId` (KerML 8.3.2.1.2) the API's JSON refers to it by; the 330 redefinitions of a feature of this repository's libraries once spelled as a name, `{"@ref": "caption"}`, now link by the element's fixed id — the same movement for `FeatureTyping::type`, `MetadataUsage::type`, `FeatureReferenceExpression::referent` and `ReferenceSubsetting::referencedFeature` into those libraries — and the 58 left are redefinitions of a feature inherited within the model itself that the writer spells as a name (`vehicle_b_1::providePower`) | -| 42 | `AttributeUsage` | `ownedRelationship` | 36 | 1202 | none found | `Element::ownedRelationship : Relationship [0..*] {ordered}` (KerML 8.3.2.1.2), in the order the notation adds them (KerML 8.2.1 Table 3; `FeatureSpecializationPart`, then `ValuePart`, then the body): a head's typings, specializations and multiplicity as spelled, then its `FeatureValue`, then its members. The writer seated the materialized relationships last, in a fixed kind order; it now owns them as spelled, which moved 4861 properties over 101 rows (67 `ownedRelationship`, 22 `ownedSpecialization`, 12 `ownedSubsetting`) from present-different to present-equal, no other bucket touched (this row 2332 → 1197, `PartDefinition` 215 → 20, `PartUsage` 1554 → 1004, `Feature` 1802 → 1401). What remains (1202) is a different shape: on a usage that writes no multiplicity part (`attribute cargoMass : MassValue;`) the pilot owns an `OwningMembership` of a `Multiplicity`, not implied, after the `FeatureTyping`; ours states none | +| 42 | `AttributeUsage` | `ownedRelationship` | 36 | 1247 | none found | `Element::ownedRelationship : Relationship [0..*] {ordered}` (KerML 8.3.2.1.2), in the order the notation adds them (KerML 8.2.1 Table 3; `FeatureSpecializationPart`, then `ValuePart`, then the body): a head's typings, specializations and multiplicity as spelled, then its `FeatureValue`, then its members. The writer seated the materialized relationships last, in a fixed kind order; it now owns them as spelled, which moved 4861 properties over 101 rows (67 `ownedRelationship`, 22 `ownedSpecialization`, 12 `ownedSubsetting`) from present-different to present-equal, no other bucket touched (this row 2332 → 1197, `PartDefinition` 215 → 20, `PartUsage` 1554 → 1004, `Feature` 1802 → 1401). What remains (1202) is a different shape: on a usage that writes no multiplicity part (`attribute cargoMass : MassValue;`) the pilot owns an `OwningMembership` of a `Multiplicity`, not implied, after the `FeatureTyping`; ours states none | | 43 | `FeatureReferenceExpression` | `ownedMembership` | 0 | 7 | the writer owns the `Membership` (`export/rdf_expr.go` `featureReferent`); the 7 left are the `FunctionReferenceMember` shape, a `FeatureMembership` owning an `Expression` typed by the named function (KerML 8.2.5.8.3), which ours writes as a `Membership` of the function | `FeatureReferenceExpression::referent` is the `memberElement` of the first `ownedMembership` that is not a `ParameterMembership` (KerML 8.3.4.8.5, deriveFeatureReferenceExpressionReferent); the notation maps a feature reference to that owned `Membership` (8.2.5.8.3, `FeatureReferenceMember`) | Rows an evaluator rule in PR #1232 (`internal/semantic/metamodel/rules.go`) already names are marked; that PR adds a lazy metamodel evaluator and layers its derived values into the API-JSON writer, so its merge is expected to move those rows from ours-missing to present-equal or present-different, and this referee is how that movement is measured.